Hook Development

Guidance for writing Claude Code plugin hooks across all nine event types

Tested · Works

Test report

Verdict
Tested · Works
Score
8.4/10
Tested
Jul 21, 2026
Environment
Claude Code 2.x (agent harness)

This skill is no longer available upstream. Our re-check on Aug 10, 2026 couldn't find it any more (SKILL.md not found in repo tree). The test below is what we measured on Jul 21, 2026 and we're leaving it up as a record — but there is nothing left to install, so we've removed the command.

Cloned the repo and wrote two hooks.json artifacts for the same task (validate writes on PreToolUse + check completion on Stop). Baseline (my own knowledge) produced a Stop hook the repo's own validate-hook-schema.sh flagged as "Missing 'matcher' field", with a relative ./hooks/ path and no timeouts; the skill-guided version added matcher, ${CLAUDE_PLUGIN_ROOT} portable paths, timeouts, and a prompt-based Stop — a concrete portability/completeness gain. Spot-checked 3 referenced files (validate-write.sh, validate-hook-schema.sh, patterns.md) all HTTP 200, no security smells. Observed a real inconsistency: the plugin wrapper format the skill itself recommends breaks the skill's own validator (jq error), which only handles the direct settings format; and the skill mandates a matcher on Stop hooks, which official Claude Code hooks do not use.

Scored on four weighted criteria — install, triggering, output vs. baseline, docs. How scoring works

  • Installs cleanly 5/5
  • Triggers reliably 5/5
  • Output vs. baseline 7/10
  • Docs & honesty 4/5

What Hook Development does

Provides reference guidance for authoring Claude Code plugin hooks, covering all nine hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification), prompt-based vs command hooks, matchers, and the plugin hooks.json vs settings.json formats. Triggers when the user asks to create a hook, block dangerous commands, validate tool use, use ${CLAUDE_PLUGIN_ROOT}, or set up event-driven automation. Ships example scripts and a hooks.json schema validator.

How to install Hook Development

Nothing to install: the source repository no longer has this skill. If the author brings it back, our daily re-check will pick it up and the command will reappear here.

Commands — how to trigger Hook Development

  • /hook-development Guidance for writing Claude Code plugin hooks across all nine event types

It also activates on plain-language prompts like these:

  • Create a PreToolUse hook that blocks rm -rf
  • Add a Stop hook for event-driven automation
  • Write a prompt-based hook for this plugin

Frequently asked questions

Is the Hook Development skill free?
Yes. The skill itself is free from tzachbon/smart-ralph. SkillProof publishes the install command and an independent test verdict at no cost.
Does Hook Development work with Claude Code?
We tested it with Claude Code 2.x (agent harness) on Jul 21, 2026. Verdict: Tested · Works. Cloned the repo and wrote two hooks.json artifacts for the same task (validate writes on PreToolUse + check completion on Stop). Baseline (my own knowledge) produced a Stop hook the repo's own validate-hook-schema.sh flagged as "Missing 'matcher' field", with a relative ./hooks/ path and no timeouts; the skill-guided version added matcher, ${CLAUDE_PLUGIN_ROOT} portable paths, timeouts, and a prompt-based Stop — a concrete portability/completeness gain. Spot-checked 3 referenced files (validate-write.sh, validate-hook-schema.sh, patterns.md) all HTTP 200, no security smells. Observed a real inconsistency: the plugin wrapper format the skill itself recommends breaks the skill's own validator (jq error), which only handles the direct settings format; and the skill mandates a matcher on Stop hooks, which official Claude Code hooks do not use.
What is the Hook Development SkillProof Score?
8.4/10 — installs cleanly 5/5, triggers reliably 5/5, output vs. baseline 7/10, docs & honesty 4/5.
How do I install Hook Development?
Copy the install command from this page, run it in your terminal, and restart Claude Code. Skills live in ~/.claude/skills/ (global) or .claude/skills/ inside a project.
Can I use Hook Development with Cursor, Copilot, Gemini CLI, Codex or other AI tools?
The SKILL.md format is native to Claude (Claude Code, Desktop, claude.ai). The instructions inside adapt to other assistants: Cursor rules, GitHub Copilot instructions, Windsurf rules, Custom GPTs, AGENTS.md for OpenAI Codex, and GEMINI.md for Google Gemini CLI — our conversion guides cover each, and the free converter on the tools page does the wrapping for you.