/plugin marketplace add brianclaridge/claude-control-freak/plugin install brianclaridge-control-freak@brianclaridge/claude-control-freakDefined in ./hooks/hooks.json
{
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "uv run ${CLAUDE_PLUGIN_ROOT}/hooks/wrapper.py stop",
"timeout": 5000
}
],
"matcher": "*"
}
],
"PreToolUse": [
{
"hooks": [
{
"type": "command",
"command": "uv run ${CLAUDE_PLUGIN_ROOT}/hooks/wrapper.py pre_exit_plan",
"timeout": 5000
}
],
"matcher": "ExitPlanMode"
},
{
"hooks": [
{
"type": "command",
"command": "uv run ${CLAUDE_PLUGIN_ROOT}/hooks/wrapper.py pre_skill",
"timeout": 5000
}
],
"matcher": "Skill"
}
],
"PostToolUse": [
{
"hooks": [
{
"type": "command",
"command": "uv run ${CLAUDE_PLUGIN_ROOT}/hooks/wrapper.py post_skill",
"timeout": 5000
}
],
"matcher": "Skill"
},
{
"hooks": [
{
"type": "command",
"command": "uv run ${CLAUDE_PLUGIN_ROOT}/hooks/wrapper.py post_todo",
"timeout": 5000
}
],
"matcher": "TodoWrite"
}
]
}{
"riskFlags": {
"touchesBash": false,
"matchAllTools": false,
"touchesFileWrites": true
},
"typeStats": {
"command": 5
},
"eventStats": {
"Stop": 1,
"PreToolUse": 2,
"PostToolUse": 2
},
"originCounts": {
"absolutePaths": 0,
"pluginScripts": 5,
"projectScripts": 0
},
"timeoutStats": {
"commandsWithoutTimeout": 0
}
}