npx claudepluginhub jrc1883/popkit-ai --plugin popkit-coreDefined in hooks/hooks.json
{
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "python \"${CLAUDE_PLUGIN_ROOT}/hooks/stop.py\"",
"timeout": 5000
}
],
"matcher": ""
}
],
"PreCompact": [
{
"hooks": [
{
"type": "command",
"command": "python \"${CLAUDE_PLUGIN_ROOT}/hooks/pre-compact.py\"",
"timeout": 3000
}
],
"matcher": ""
}
],
"PreToolUse": [
{
"hooks": [
{
"type": "command",
"command": "python \"${CLAUDE_PLUGIN_ROOT}/hooks/pre-tool-use.py\"",
"timeout": 5000
}
],
"matcher": "Bash|Read|Write|Edit|MultiEdit|Grep|Glob|Task|Skill|WebFetch|WebSearch|TodoWrite|NotebookEdit|Settings"
},
{
"hooks": [
{
"type": "command",
"command": "python \"${CLAUDE_PLUGIN_ROOT}/hooks/chain-validator.py\"",
"timeout": 5000
}
],
"matcher": "Task"
}
],
"Elicitation": [
{
"hooks": [
{
"type": "command",
"command": "python \"${CLAUDE_PLUGIN_ROOT}/hooks/elicitation.py\"",
"timeout": 2000
}
],
"matcher": ""
}
],
"PostCompact": [
{
"hooks": [
{
"type": "command",
"command": "python \"${CLAUDE_PLUGIN_ROOT}/hooks/post-compact.py\"",
"timeout": 3000
}
],
"matcher": ""
}
],
"PostToolUse": [
{
"hooks": [
{
"type": "command",
"command": "python \"${CLAUDE_PLUGIN_ROOT}/hooks/post-tool-use.py\"",
"timeout": 5000
},
{
"type": "command",
"command": "python \"${CLAUDE_PLUGIN_ROOT}/hooks/context-monitor.py\"",
"timeout": 3000
}
],
"matcher": "Bash|Read|Write|Edit|MultiEdit|Grep|Glob|Task|Skill|WebFetch|WebSearch|TodoWrite|NotebookEdit|Settings"
},
{
"hooks": [
{
"type": "command",
"command": "python \"${CLAUDE_PLUGIN_ROOT}/hooks/quality-gate.py\"",
"timeout": 180000
},
{
"type": "command",
"command": "python \"${CLAUDE_PLUGIN_ROOT}/hooks/doc-sync.py\"",
"timeout": 3000
}
],
"matcher": "Write|Edit|MultiEdit"
},
{
"hooks": [
{
"type": "command",
"command": "python \"${CLAUDE_PLUGIN_ROOT}/hooks/chain-metrics.py\"",
"timeout": 3000
}
],
"matcher": "Task"
},
{
"hooks": [
{
"type": "command",
"command": "python \"${CLAUDE_PLUGIN_ROOT}/hooks/command-learning-hook.py\"",
"timeout": 5000
}
],
"matcher": "Bash"
},
{
"hooks": [
{
"type": "command",
"command": "python \"${CLAUDE_PLUGIN_ROOT}/hooks/feedback_hook.py\"",
"timeout": 3000
}
],
"matcher": "Task|SlashCommand|Skill"
}
],
"StopFailure": [
{
"hooks": [
{
"type": "command",
"command": "python \"${CLAUDE_PLUGIN_ROOT}/hooks/stop-failure.py\"",
"timeout": 3000
}
],
"matcher": ""
}
],
"Notification": [
{
"hooks": [
{
"type": "command",
"command": "python \"${CLAUDE_PLUGIN_ROOT}/hooks/notification.py\"",
"timeout": 3000
}
],
"matcher": ""
}
],
"SessionStart": [
{
"hooks": [
{
"type": "command",
"command": "python \"${CLAUDE_PLUGIN_ROOT}/hooks/session-start.py\"",
"timeout": 10000
},
{
"type": "command",
"command": "python \"${CLAUDE_PLUGIN_ROOT}/hooks/knowledge-sync.py\"",
"timeout": 10000
}
],
"matcher": ""
}
],
"SubagentStop": [
{
"hooks": [
{
"type": "command",
"command": "python \"${CLAUDE_PLUGIN_ROOT}/hooks/subagent-stop.py\"",
"timeout": 5000
},
{
"type": "command",
"command": "python \"${CLAUDE_PLUGIN_ROOT}/hooks/output-validator.py\"",
"timeout": 5000
}
],
"matcher": ""
}
],
"TeammateIdle": [
{
"hooks": [
{
"type": "command",
"command": "python \"${CLAUDE_PLUGIN_ROOT}/hooks/teammate-idle.py\"",
"timeout": 5000
}
],
"matcher": ""
}
],
"TaskCompleted": [
{
"hooks": [
{
"type": "command",
"command": "python \"${CLAUDE_PLUGIN_ROOT}/hooks/task-completed.py\"",
"timeout": 5000
}
],
"matcher": ""
}
],
"UserPromptSubmit": [
{
"hooks": [
{
"type": "command",
"command": "python \"${CLAUDE_PLUGIN_ROOT}/hooks/user-prompt-submit.py\"",
"timeout": 3000
}
],
"matcher": ""
}
],
"ElicitationResult": [
{
"hooks": [
{
"type": "command",
"command": "python \"${CLAUDE_PLUGIN_ROOT}/hooks/elicitation-result.py\"",
"timeout": 2000
}
],
"matcher": ""
}
]
}"{\"riskFlags\": {\"touchesBash\": true, \"matchAllTools\": false, \"touchesFileWrites\": true}, \"typeStats\": {\"command\": 23}, \"eventStats\": {\"Stop\": 1, \"PreCompact\": 1, \"PreToolUse\": 2, \"Elicitation\": 1, \"PostCompact\": 1, \"PostToolUse\": 7, \"StopFailure\": 1, \"Notification\": 1, \"SessionStart\": 2, \"SubagentStop\": 2, \"TeammateIdle\": 1, \"TaskCompleted\": 1, \"UserPromptSubmit\": 1, \"ElicitationResult\": 1}, \"originCounts\": {\"absolutePaths\": 0, \"pluginScripts\": 23, \"projectScripts\": 0}, \"timeoutStats\": {\"commandsWithoutTimeout\": 0}}"