Install
1
Install the plugin$
npx claudepluginhub werdnum/claude-code-plugins --plugin guardianWant just this hook?
Add to a custom plugin, then install with one command.
Risk Indicators
Executes bash commands
Source
Defined in hooks/hooks.json
Configuration
{
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "/bin/bash ${CLAUDE_PLUGIN_ROOT}/scripts/stop-validation-hook.sh",
"timeout": 300
},
{
"type": "prompt",
"prompt": "You are reviewing whether Claude Code should stop or continue working.\n\nContext: $ARGUMENTS\n\nEvaluate the following criteria:\n1. Has the user's original request been completely fulfilled?\n2. Are there any obvious loose ends or incomplete work?\n3. If tests were run, did they all pass?\n4. If code changes were made, are they properly committed?\n5. Are there any error messages or warnings that need attention?\n\nDecision criteria:\n- Block if there are clear signs the work is incomplete or if critical issues remain unresolved\n- Allow if the request appears to be fulfilled and there are no obvious blockers\n- Be pragmatic: don't block for minor issues or style preferences\n- Trust that the shell-based hook already verified git status, test results, and formatting\n\nYou MUST respond with a JSON object in this exact format:\n- To allow stopping: {\"ok\": true}\n- To block stopping: {\"ok\": false, \"reason\": \"brief specific reason why work is incomplete\"}\n\nRespond ONLY with the JSON object, no other text.",
"timeout": 30
}
]
}
],
"PreToolUse": [
{
"hooks": [
{
"type": "command",
"command": "/bin/bash ${CLAUDE_PLUGIN_ROOT}/scripts/test-verification-hook.sh",
"timeout": 60000
},
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/review-workflow-hook.py",
"timeout": 300000
}
],
"matcher": "Bash"
}
]
}Summary
{
"riskFlags": {
"touchesBash": true,
"matchAllTools": false,
"touchesFileWrites": false
},
"typeStats": {
"prompt": 1,
"command": 3
},
"eventStats": {
"Stop": 2,
"PreToolUse": 2
},
"originCounts": {
"absolutePaths": 0,
"pluginScripts": 3,
"projectScripts": 0
},
"timeoutStats": {
"commandsWithoutTimeout": 0
}
}Stats
Stars0
Forks0
Last CommitFeb 11, 2026
Actions