/plugin marketplace add duongdev/ccpm/plugin install ccpm@duongdev-ccpm-marketplaceDefined in hooks/hooks.json
{
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/hooks/scripts/guard-commit.cjs",
"timeout": 5000,
"description": "Guard commit: Warns about uncommitted changes when session ends to prevent work loss"
}
]
}
],
"PreToolUse": [
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/hooks/scripts/scout-block.cjs",
"timeout": 1000,
"description": "Scout block: Pre-filters tool calls to avoid wasted tokens (30-50% savings)"
}
],
"matcher": "Read|WebFetch|Task"
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/hooks/scripts/delegation-enforcer.cjs",
"timeout": 500,
"description": "Delegation enforcer: Warns when Edit/Write used during /ccpm:work AI mode"
}
],
"matcher": "Edit|Write"
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/hooks/scripts/context-capture.cjs",
"timeout": 500,
"description": "Context capture: Auto-logs file changes, task completions, and decisions for subagent context"
}
],
"matcher": "Write|Edit|Task|Bash"
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/hooks/scripts/linear-param-fixer.sh",
"timeout": 2000,
"description": "Linear parameter fixer: Catches issueId vs id mistakes before they fail"
}
],
"matcher": "mcp__agent-mcp-gateway__execute_tool"
}
],
"SessionStart": [
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/hooks/scripts/session-init.cjs",
"timeout": 5000,
"description": "Initializes CCPM session: detects project, git state, CLAUDE.md files, persists state"
}
],
"matcher": "startup|resume|clear|compact"
}
],
"UserPromptSubmit": [
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/hooks/scripts/smart-agent-selector.sh",
"timeout": 5000,
"description": "Smart agent selector: Dynamically discovers and scores all available agents"
}
]
}
]
}{
"riskFlags": {
"touchesBash": true,
"matchAllTools": false,
"touchesFileWrites": true
},
"typeStats": {
"command": 7
},
"eventStats": {
"Stop": 1,
"PreToolUse": 4,
"SessionStart": 1,
"UserPromptSubmit": 1
},
"originCounts": {
"absolutePaths": 0,
"pluginScripts": 7,
"projectScripts": 0
},
"timeoutStats": {
"commandsWithoutTimeout": 0
}
}