Executes bash commands and modifies files before, after, or instead of specific tool uses and user prompts.
npx claudepluginhub marcel-bich/marcel-bich-claude-marketplaceDefined in hooks/hooks.json
{
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/version-sync-check.sh",
"timeout": 5,
"description": "Check for version mismatches across version files"
}
]
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/lint-on-stop.sh",
"timeout": 30,
"description": "Run prettier check when task completes (ENV: CLAUDE_MB_DOGMA_LINT_ON_STOP=true)"
}
]
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/checklist-reminder.sh",
"timeout": 5,
"description": "Remind about incomplete checklist items before stopping"
}
]
}
],
"PreToolUse": [
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/token-protection.sh",
"timeout": 5,
"description": "Block reading credential/secrets files"
}
],
"matcher": "Read"
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/token-protection.sh",
"timeout": 5,
"description": "Block searching in sensitive files (.env, credentials, keys, secrets)"
}
],
"matcher": "Grep"
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/token-protection.sh",
"timeout": 5,
"description": "Block commands that could expose tokens/credentials (env, git remote -v, etc.)"
}
],
"matcher": "Bash"
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/git-add-protection.sh",
"timeout": 5,
"description": "Block git add for AI files and secret files"
}
],
"matcher": "Bash"
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/git-permissions.sh",
"timeout": 5,
"description": "Enforce git permissions from CLAUDE.git.md"
}
],
"matcher": "Bash"
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/file-protection.sh",
"timeout": 5,
"description": "Block destructive file operations (rm, del, git clean)"
}
],
"matcher": "Bash"
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/dependency-verification.sh",
"timeout": 10,
"description": "Ask user if they want to search for security risks before installing packages"
}
],
"matcher": "Bash"
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/pre-commit-lint.sh",
"timeout": 5,
"description": "Block git commit until /dogma:lint has been run (ENV: CLAUDE_MB_DOGMA_PRE_COMMIT_LINT=true)"
}
],
"matcher": "Bash"
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/git-pull-before-push.sh",
"timeout": 15,
"description": "Block git push if local branch is behind remote (ENV: CLAUDE_MB_DOGMA_PULL_BEFORE_PUSH=true)"
}
],
"matcher": "Bash"
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/subagent-enforcement.sh Bash",
"timeout": 5,
"description": "Block if no subagent delegation (only first direct op without Task/Skill)"
}
],
"matcher": "Bash"
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/secrets-detection.sh",
"timeout": 5,
"description": "Block writing secrets (API keys, tokens, passwords) to files"
}
],
"matcher": "Write"
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/write-edit-reminder.sh",
"timeout": 5,
"description": "Remind of language and AI-traces rules with @-references"
}
],
"matcher": "Write"
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/subagent-enforcement.sh Write",
"timeout": 5,
"description": "Block if no subagent delegation (only first direct op without Task/Skill)"
}
],
"matcher": "Write"
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/secrets-detection.sh",
"timeout": 5,
"description": "Block writing secrets (API keys, tokens, passwords) to files"
}
],
"matcher": "Edit"
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/write-edit-reminder.sh",
"timeout": 5,
"description": "Remind of language and AI-traces rules with @-references"
}
],
"matcher": "Edit"
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/subagent-enforcement.sh Edit",
"timeout": 5,
"description": "Block if no subagent delegation (only first direct op without Task/Skill)"
}
],
"matcher": "Edit"
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/subagent-enforcement.sh Task",
"timeout": 5,
"description": "Track subagent usage to reset direct work warning"
}
],
"matcher": "Task"
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/subagent-context.sh",
"timeout": 5,
"description": "Remind about subagent context rules (CLAUDE.md, no push, etc.)"
}
],
"matcher": "Task"
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/enforce-model-policy.sh",
"timeout": 5,
"description": "Enforce model policy for subagents (parent model inheritance, downgrade protection)"
}
],
"matcher": "Task"
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/subagent-enforcement.sh Skill",
"timeout": 5,
"description": "Track skill usage to reset direct work warning"
}
],
"matcher": "Skill"
}
],
"PostToolUse": [
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/post-write-validate.sh",
"timeout": 5,
"description": "Validate written content for AI traces (curly quotes, em-dashes, etc.)"
}
],
"matcher": "Write"
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/review-trigger.sh",
"timeout": 5,
"description": "Remind to spawn reviewer when review is configured in DOGMA-PERMISSIONS.md"
}
],
"matcher": "Write"
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/post-write-validate.sh",
"timeout": 5,
"description": "Validate written content for AI traces (curly quotes, em-dashes, etc.)"
}
],
"matcher": "Edit"
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/review-trigger.sh",
"timeout": 5,
"description": "Remind to spawn reviewer when review is configured in DOGMA-PERMISSIONS.md"
}
],
"matcher": "Edit"
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/prompt-injection.sh",
"timeout": 10,
"description": "Detect prompt injection in fetched content"
}
],
"matcher": "WebFetch"
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/prompt-injection.sh",
"timeout": 10,
"description": "Detect prompt injection in search results"
}
],
"matcher": "WebSearch"
}
],
"UserPromptSubmit": [
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/subagent-suggestion.sh",
"timeout": 5,
"description": "Suggest using subagents based on DOGMA-PERMISSIONS.md workflow settings"
}
]
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/user-prompt-submit.sh",
"timeout": 5,
"description": "Remind of rules at every prompt (Honesty, Planning, Philosophy, Language)"
}
]
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/prompt-intervention-reminder.sh",
"timeout": 5,
"description": "Suggest skills/MCPs when relevant to the task"
}
]
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/checklist-tracking.sh",
"timeout": 5,
"description": "Scan for open checklists in PLAN.md, TODO.md, etc."
}
]
}
]
}{
"riskFlags": {
"touchesBash": true,
"matchAllTools": false,
"touchesFileWrites": true
},
"typeStats": {
"command": 33
},
"eventStats": {
"Stop": 3,
"PreToolUse": 20,
"PostToolUse": 6,
"UserPromptSubmit": 4
},
"originCounts": {
"absolutePaths": 0,
"pluginScripts": 33,
"projectScripts": 0
},
"timeoutStats": {
"commandsWithoutTimeout": 0
}
}