Hook Development
Vägledning för att skriva Claude Code plugin-hooks över alla nio händelsetyper
Testad · Fungerar
Vad den gör
Ger referensvägledning för att skapa Claude Code plugin-hooks, som täcker alla nio hook-händelser (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification), prompt-baserade vs kommando-hooks, matchers, och plugin hooks.json vs settings.json-formaten. Utlöses när användaren ber att skapa en hook, blockera farliga kommandon, validera verktygsanvändning, använda ${CLAUDE_PLUGIN_ROOT}, eller ställa in händelsestyrd automation. Levereras med exempel-skript och en hooks.json schema-validator.
Testrapport
Klonade repot och skrev två hooks.json-artefakter för samma uppgift (validera skrivningar på PreToolUse + kontrollera slutförande på Stop). Baslinjen (min egen kunskap) producerade en Stop-hook som repots egen validate-hook-schema.sh flaggade som "Missing 'matcher' field", med en relativ ./hooks/-sökväg och inga timeouts; den färdighetsstyrda versionen lade till matcher, ${CLAUDE_PLUGIN_ROOT} portabla sökvägar, timeouts och en prompt-baserad Stop — en konkret portabilitets-/kompletthetsvinst. Punktkontrollerade 3 refererade filer (validate-write.sh, validate-hook-schema.sh, patterns.md) alla HTTP 200, inga säkerhetsbrister. Observerade en verklig inkonsekvens: plugin-wrapper-formatet som färdigheten själv rekommenderar bryter färdighetens egen validator (jq-fel), som endast hanterar det direkta inställningsformatet; och färdigheten kräver en matcher på Stop-hooks, vilket officiella Claude Code-hooks inte använder.
Testad: 2026-07-21 · Claude Code 2.x (agent harness)
Installation
git clone --depth 1 https://github.com/tzachbon/smart-ralph.git /tmp/hook-development-src
mkdir -p ~/.claude/skills
cp -R "/tmp/hook-development-src/.agents/skills/Hook Development" ~/.claude/skills/hook-development
# SKILL.md lands at ~/.claude/skills/hook-development/SKILL.md
# Utility scripts (scripts/validate-hook-schema.sh, test-hook.sh, hook-linter.sh) require `jq` on PATH.
# Note: the validator parses the DIRECT settings-format hooks.json, not the {"hooks":{...}} plugin
# wrapper the SKILL recommends — feed it the inner events object, or it errors with a jq index error. Kommandon och exempelprompter
/hook-developmentVägledning för att skriva Claude Code plugin-hooks över alla nio händelsetyper
Skills triggas av vanliga förfrågningar — inga kommandon att memorera. Efter installationen aktiverar prompter som dessa skillen (på engelska):
Create a PreToolUse hook that blocks rm -rfAdd a Stop hook for event-driven automationWrite a prompt-based hook for this plugin