Skip to content
Development
Hook

Hooks

What craft runs automatically, and when. A hook is a command Claude Code fires at a fixed moment, without you asking for it.

Install
$ npx -y skills add drobins25/craft --agent claude-code

Ships with craft. Installing the plugin gets these hooks.

What fires, and when

SessionStart

Fires once when a session begins, and again after a context compaction. It is where a plugin sets up its environment, or restores state the compaction dropped.

  • Runs session-start.sh.

PostToolUseFailure

  • Runs handle-tool-failure.py.

PostToolUse

  • Runs update-progress.py.

PreToolUse

  • Runs check-write-permission.py.

PreCompact

  • Runs export-progress.sh.

UserPromptSubmit

Fires before Claude sees each prompt you send. A plugin can use it to inject context, so the same instruction reaches the model every turn instead of only at session start.

  • Runs inject-craft-context.sh.

Stop

  • Runs stop-hook-guard.sh.
Read hooks/hooks.json
Ships withcraft

Stop Vibing. Start Crafting. Claude Code plugin: guided + controlled development orchestration harness with built-in workflow + state management, for designing + building durable, production-ready software through the entire product lifecycle - new projects

Get the whole plugin, auto-invoked