# Hook Development

> 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".

- Skill: `kanevry/hook-development-2` (Agent Skill)
- Install (CLI): `npx skillmds@latest add kanevry/hook-development-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kanevry/hook-development-2/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Security
- Author: Kanevry (https://skillmd.com/u/kanevry)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/kanevry/hook-development-2

---


# hook-development

Canonical skill: `skills/hook-development/SKILL.md`

Read that file and follow it exactly. Resolve relative links against `skills/hook-development/`, not this wrapper.

Cursor has no Skill tool. Treat "invoke the hook-development skill" as: Read `skills/hook-development/SKILL.md`.

