npx claudepluginhub cardinalconseils/claude-starter --plugin cksDefined in hooks/hooks.json
{
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "bash ${CLAUDE_PLUGIN_ROOT}/hooks/handlers/stop.sh"
},
{
"type": "command",
"command": "bash ${CLAUDE_PLUGIN_ROOT}/hooks/handlers/session-learnings.sh"
}
]
}
],
"PreToolUse": [
{
"hooks": [
{
"type": "command",
"command": "bash ${CLAUDE_PLUGIN_ROOT}/hooks/handlers/pre-commit-guard.sh"
},
{
"type": "command",
"command": "bash ${CLAUDE_PLUGIN_ROOT}/hooks/handlers/merge-guard.sh"
},
{
"type": "command",
"command": "bash ${CLAUDE_PLUGIN_ROOT}/hooks/handlers/integrity-check.sh"
}
],
"matcher": "tool == \"Bash\" && tool_input.command matches \"git commit\""
}
],
"PostToolUse": [
{
"hooks": [
{
"type": "command",
"command": "bash ${CLAUDE_PLUGIN_ROOT}/hooks/handlers/post-edit-guard.sh \"${tool_input.file_path}\""
},
{
"type": "command",
"command": "bash ${CLAUDE_PLUGIN_ROOT}/hooks/handlers/design-md-guard.sh \"${tool_input.file_path}\""
}
],
"matcher": "tool == \"Edit\" || tool == \"Write\""
}
],
"SessionStart": [
{
"hooks": [
{
"type": "command",
"command": "bash ${CLAUDE_PLUGIN_ROOT}/hooks/handlers/session-start.sh"
}
]
}
],
"SubagentStop": [
{
"hooks": [
{
"type": "command",
"command": "bash ${CLAUDE_PLUGIN_ROOT}/hooks/handlers/kickstart-phase-complete.sh"
},
{
"type": "command",
"command": "bash ${CLAUDE_PLUGIN_ROOT}/hooks/handlers/ideation-complete.sh"
},
{
"type": "command",
"command": "bash ${CLAUDE_PLUGIN_ROOT}/hooks/handlers/design-system-complete.sh"
}
]
}
]
}"{\"riskFlags\": {\"touchesBash\": true, \"matchAllTools\": false, \"touchesFileWrites\": true}, \"typeStats\": {\"command\": 11}, \"eventStats\": {\"Stop\": 2, \"PreToolUse\": 3, \"PostToolUse\": 2, \"SessionStart\": 1, \"SubagentStop\": 3}, \"originCounts\": {\"absolutePaths\": 0, \"pluginScripts\": 11, \"projectScripts\": 0}, \"timeoutStats\": {\"commandsWithoutTimeout\": 11}}"