npx claudepluginhub b-open-io/claude-plugins --plugin linear-syncDefined in hooks/hooks.json
{
"PreToolUse": [
{
"hooks": [
{
"type": "command",
"command": "bash ${CLAUDE_PLUGIN_ROOT}/hooks/scripts/linear-commit-guard.sh",
"timeout": 5
},
{
"type": "command",
"command": "bash ${CLAUDE_PLUGIN_ROOT}/hooks/scripts/linear-api-allow.sh",
"timeout": 5
}
],
"matcher": "Bash"
},
{
"hooks": [
{
"type": "command",
"command": "bash ${CLAUDE_PLUGIN_ROOT}/hooks/scripts/linear-state-allow.sh",
"timeout": 5
}
],
"matcher": "Read|Write|Edit|MultiEdit"
}
],
"PostToolUse": [
{
"hooks": [
{
"type": "command",
"command": "bash ${CLAUDE_PLUGIN_ROOT}/hooks/scripts/linear-post-push-sync.sh",
"timeout": 30
}
],
"matcher": "Bash"
}
],
"SessionStart": [
{
"hooks": [
{
"type": "command",
"command": "bash ${CLAUDE_PLUGIN_ROOT}/hooks/scripts/linear-session-start.sh",
"timeout": 15
}
],
"matcher": "startup|clear|compact"
}
],
"UserPromptSubmit": [
{
"hooks": [
{
"type": "command",
"command": "bash ${CLAUDE_PLUGIN_ROOT}/hooks/scripts/linear-prompt-check.sh",
"timeout": 5
}
]
}
]
}"{\"riskFlags\": {\"touchesBash\": true, \"matchAllTools\": false, \"touchesFileWrites\": true}, \"typeStats\": {\"command\": 6}, \"eventStats\": {\"PreToolUse\": 3, \"PostToolUse\": 1, \"SessionStart\": 1, \"UserPromptSubmit\": 1}, \"originCounts\": {\"absolutePaths\": 0, \"pluginScripts\": 6, \"projectScripts\": 0}, \"timeoutStats\": {\"commandsWithoutTimeout\": 0}}"