Hooks
What fable-mode runs automatically, and when. A hook is a command Claude Code fires at a fixed moment, without you asking for it.
$ npx -y skills add rennf93/opus-fable-playbook --agent claude-codeShips with fable-mode. 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".
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 prompt-nudge.sh".
Stop
- Runs stop-gate.sh".
SubagentStop
- Runs subagent.
PreToolUse
- Runs bash-discipline.sh".
PostToolUse
- Runs honesty-nudge.sh".
PreCompact
- Runs precompact.sh".
Where it lives
- hooks/bash-discipline.shGitHub
- hooks/honesty-nudge.shGitHub
- hooks/precompact.shGitHub
- hooks/prompt-nudge.shGitHub
- hooks/session-start.shGitHub
- hooks/stop-gate.shGitHub
Read the script before you install anything that runs on your machine. This is the one part of a plugin that acts without being asked.
Make Claude Opus 4.8 in Claude Code behave as much like Claude Fable 5 as possible. The doctrine was transcribed by Fable 5 itself; hooks enforce it at the harness level; an eval loop measures convergence against golden Fable transcripts.

