Hook Development

Veiledning for å skrive Claude Code plugin-hooks på tvers av alle ni hendelsestyper

av tzachbon · tzachbon/smart-ralph

Bestått ★ 8.4/10

Hook Development — Veiledning for å skrive Claude Code plugin-hooks på tvers av alle ni hendelsestyper

Hva den gjør

Gir referanseveiledning for forfatterskap av Claude Code plugin-hooks, som dekker alle ni hook-hendelser (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification), prompt-baserte vs kommando-hooks, matchers, og plugin hooks.json vs settings.json-formatene. Utløses når brukeren ber om å opprette en hook, blokkere farlige kommandoer, validere verktøybruk, bruke ${CLAUDE_PLUGIN_ROOT}, eller sette opp hendelsesdrevet automatisering. Leveres med eksempel-skript og en hooks.json skjema-validator.

Testrapport

Klonet repoet og skrev to hooks.json-artefakter for samme oppgave (validere skriver på PreToolUse + sjekke fullføring på Stop). Baseline (min egen kunnskap) produserte en Stop-hook som repoets egen validate-hook-schema.sh flagget som "Missing 'matcher' field", med en relativ ./hooks/-sti og ingen tidsavbrudd; den ferdighetsstyrte versjonen la til matcher, ${CLAUDE_PLUGIN_ROOT} bærbare stier, tidsavbrudd, og en prompt-basert Stop – en konkret gevinst i portabilitet/fullstendighet. Stikkprøvekontrollerte 3 refererte filer (validate-write.sh, validate-hook-schema.sh, patterns.md) alle HTTP 200, ingen sikkerhetsbrudd. Observerte en reell inkonsekvens: plugin-wrapper-formatet ferdigheten selv anbefaler bryter ferdighetens egen validator (jq error), som kun håndterer det direkte innstillingsformatet; og ferdigheten krever en matcher på Stop-hooks, som offisielle Claude Code-hooks ikke bruker.

Testet på: 2026-07-21 · Claude Code 2.x (agent harness)

Installer

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.

Kommandoer og eksempelprompter

  • /hook-developmentVeiledning for å skrive Claude Code plugin-hooks på tvers av alle ni hendelsestyper

Skills utløses av vanlige forespørsler — ingen kommandoer å huske. Etter installasjonen aktiverer prompter som disse skillen (på engelsk):

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