Use when creating, modifying, or debugging Claude Code hooks — PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification. Covers the plugin `hooks/hooks.json` wrapper format vs. the user `settings.json` direct format, matchers, security patterns, `$CLAUDE_PLUGIN_ROOT` portability, lifecycle limitations, and debugging. Trigger on "add a hook", "validate tool use", "block dangerous commands", "enforce completion", "hook-based automation".
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
<!-- Generated by scripts/generate-codex-skills.mjs; do not edit. -->
# hook-development
Read [`skills/hook-development/SKILL.md`](../../../skills/hook-development/SKILL.md) in full before taking any action, then follow its complete workflow.
The linked document is authoritative, including its prechecks, argument rules, and stop conditions.
Resolve this link relative to this SKILL.md, not the project working directory. The plugin root is three directories above this file. Resolve package paths such as `skills/` and `scripts/` from that root; resolve relative links inside the canonical document from its own directory. Keep the user’s project as the target of project operations.
Regenerate with `node scripts/generate-codex-skills.mjs`.
The line at the top of this page pins the label git:20261003.c34ec50, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
GET https://markdownregistry.com/api/v1/artifacts/art_y2v2m3uzmqnkfnzo
GET https://markdownregistry.com/api/v1/resolve?ref=kanevry/session-orchestrator/hook-development
GET https://markdownregistry.com/api/v1/blob/f94291f2f2721d8a26c17718b087d53babc1c755e31b5ca7310df830fa4bd0e2
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
kanevry/session-orchestrator · .agents/skills/architecture/SKILL.md · Use when the user asks to improve architecture, find refactoring opportunities, surface deepening opportunities…
kanevry/session-orchestrator · .agents/skills/autopilot/SKILL.md · Use this skill when running an autonomous session-orchestration loop. Chains session-start → session-plan →…
kanevry/session-orchestrator · .agents/skills/bootstrap/SKILL.md · Use this skill when scaffolding the minimum repository structure required by session-orchestrator. Invoked…
kanevry/session-orchestrator · .agents/skills/brainstorm/SKILL.md · Use when you have a feature idea but the scope or UX is still ambiguous — runs a lightweight Socratic design dialogue…
kanevry/session-orchestrator · .agents/skills/claude-md-drift-check/SKILL.md · Use when detecting drift between CLAUDE.md (or AGENTS.md, the Codex CLI alias) / _meta narrative and live repository…
kanevry/session-orchestrator · .agents/skills/debug/SKILL.md · Use when encountering any bug, test failure, build break, or unexpected behavior — runs a 4-phase systematic debugging…
kanevry/session-orchestrator · .agents/skills/deepen/SKILL.md · Make a task deeper, not bigger. Use when the user asks for a deeper or more ambitious version of a task (tiefer, geh…
kanevry/session-orchestrator · .agents/skills/discovery/SKILL.md · Use this skill when running systematic quality discovery and issue detection. Runs modular probes adapted to the…
kanevry/session-orchestrator · .agents/skills/dispatcher/SKILL.md · Use when you want the orchestrator to pick the next repo to work on across your whole portfolio — it enumerates…
kanevry/session-orchestrator · .agents/skills/docs-orchestrator/SKILL.md · Use this skill when orchestrating documentation generation and updates within a session. Maps session scope to…
anthropics/claude-plugins-official · plugins/plugin-dev/skills/hook-development/SKILL.md · This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate…
nota-america/forgecat-agent-profiles · profiles/anthropics/claude-plugins-official/anthropics_claude-plugins-official_plugin-dev/for-forgecat/platforms/codex/.agents/skills/hook-development/SKILL.md · This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate…
nota-america/forgecat-agent-profiles · profiles/anthropics/claude-plugins-official/anthropics_claude-plugins-official_plugin-dev/for-codex/.agents/skills/hook-development/SKILL.md · This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate…
nota-america/forgecat-agent-profiles · profiles/anthropics/claude-plugins-official/anthropics_claude-plugins-official_plugin-dev/for-cursor/.cursor/skills/hook-development/SKILL.md · This skill should be used when the user asks to "create a hook",
nota-america/forgecat-agent-profiles · profiles/anthropics/claude-plugins-official/anthropics_claude-plugins-official_plugin-dev/for-forgecat/platforms/cursor/.cursor/skills/hook-development/SKILL.md · This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate…
nota-america/forgecat-agent-profiles · profiles/anthropics/claude-plugins-official/anthropics_claude-plugins-official_plugin-dev/for-forgecat/skills/hook-development/SKILL.md · This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate…
nota-america/forgecat-agent-profiles · profiles/anthropics/claude-plugins-official/anthropics_claude-plugins-official_plugin-dev/for-claude/.claude/skills/hook-development/SKILL.md · This skill should be used when the user asks to "create a hook",