opus-fable-mode: Fable 5 behavior for Opus 4.8

opus-fable-mode: Fable 5 behavior for Opus 4.8

3-layer CLAUDE.md governor to pull Opus 4.8 closer to Fable 5's working style in Claude Code

Today's Trending Agent Skills
15/6/2026 · 2:21
5 suscripciones · 30 contenidos

Vistazo a la investigación

Today's pick: Poorna-Repos/opus-fable-mode — a free, MIT-licensed toolkit that applies a control-loop approach to closing the working-style gap between Claude Opus 4.8 and the suspended Claude Fable 5 inside Claude Code. 1
One caveat upfront: this is not a traditional SKILL.md agent skill — there is no npx skills add command. It's a CLAUDE.md behavioral modification system paired with a UserPromptSubmit hook and a Python measurement harness. If you're comfortable editing ~/.claude/CLAUDE.md and ~/.claude/settings.json, the install takes about three minutes.

FieldValue
RepoPoorna-Repos/opus-fable-mode
AuthorPoorna Reddy (co-founder, Timo Labs / Amotion AI)
LicenseMIT
Stars / forks50 stars / 8 forks (~12 hours post-publish)
Published2026-06-14 at 06:05 UTC
Language splitPython 83.3% / Shell 16.7%
Supported agentsClaude Code (CLI only — not claude.ai web, API, or Cursor)
PrerequisitesClaude Code CLI + active subscription

Why this exists

On June 12, Anthropic suspended Claude Fable 5 and Mythos 5 globally under a US government export-control directive, pushing all users back to Opus 4.8. 1 Poorna Reddy, who had been running Claude Code sessions across 68 projects, parsed his own session JSONL logs — 9,224 Fable 5 messages across 26 sessions and 27,685 Opus 4.8 messages across 145 sessions — and published a behavioral analysis within hours of the suspension. 2
The key finding: the gap between the two models splits into two distinct components.
"Fable was both a calmer disposition and a higher-capability model tier (≈2× the price, double-digit benchmark leads). You can steer Opus toward Fable's working style with prompts and hooks. You cannot prompt Opus into Fable's capability ceiling — that lives in the weights." 1
The working-style component — how verbose Opus is, whether it leads with results or self-narration, how often it calls tools versus writes text — is what this toolkit targets.
Cargando tarjeta de contenido…

What the data says

Reddy's session analysis surfaced four behavioral differences between Fable and Opus. 2
MetricFable 5Opus 4.8Direction
Median words/message1847Fable ~2.6× shorter at median
Mean words/message~100~99Nearly equal (distribution differs)
Tool:text ratio3.911.41Opus narrates ~3× more per unit of work
"I'll / Let me" openerslow12.8%Opus leads with self-reference
The median/mean divergence is the interesting signal: Fable wasn't using fewer words overall, it was spending them differently.
"Everyone says 'Fable is more concise,' but it isn't using fewer words overall — it's spending them differently. It defaults to minimal words and goes long only when the problem needs it. Opus smears the same medium length across everything." 2
Author's own caveat: one person's corpus, treat it as directional until others reproduce it. The tool:text ratio and opener style are the least task-contaminated signals; median word count is noisier because different models worked on different tasks at different stages.

The 3-layer architecture

The toolkit implements a control-loop metaphor: setpoint → thermostat → measurement. 1
Layer 1 — Setpoint (governor-block.md): An 8-rule behavioral directive appended to ~/.claude/CLAUDE.md. The rules compress to: reason about the problem, not your own answer's appearance; one self-audit pass then stop; start claims later and stop them earlier; commit — convert open questions to closed ones; outcome over visible process; in tool-driven work, open with the result. 3
Layer 2 — Thermostat (reinject.sh): A bash UserPromptSubmit hook that re-prints the 8 rules at every user prompt turn. This prevents the governor from losing salience as session context grows.
"Three layers because a CLAUDE.md line alone is advisory and loses salience in long sessions." 1
Toggle off with export FABLE_MODE_OFF=1 — the hook checks this variable before firing.
Layer 3 — Measurement (leak_test.py): A Python script that reads ~/.claude/projects/*/**.jsonl and buckets assistant messages into three groups: opus_pre (before governor deploy), opus_post (after), and fable (target baseline). It measures median words/msg, tool:text ratio, unsolicited-caveat percentage, and "I'll/Let me" opener frequency. Requires at least 30 prose messages in the opus_post bucket before rendering a verdict. 4

Install steps

Prerequisites: Claude Code CLI with an active subscription. macOS, Linux, or Windows — wherever Claude Code runs.
# Step 1 — Setpoint: append governor rules to global CLAUDE.md
git clone https://github.com/Poorna-Repos/opus-fable-mode.git
cat governor-block.md >> ~/.claude/CLAUDE.md

# Step 2 — Thermostat: place the hook script
mkdir -p ~/.claude/fable-mode
cp reinject.sh ~/.claude/fable-mode/reinject.sh
chmod +x ~/.claude/fable-mode/reinject.sh
# Then merge install/settings-hook-snippet.json into ~/.claude/settings.json
# under the hooks.UserPromptSubmit array

# Step 3 — Baseline measurement
python3 leak_test.py
The hook takes effect on new sessions only — settings load at session start. You'll know it's active when a FABLE-MODE GOVERNOR (active reminder): block appears at the top of each turn. 5
Optional scoped analysis: python3 leak_test.py --since 2026-06-13 --project myproject

Early convergence results

Early results from the author's own sessions: tool:text ratio moved from 1.41 toward ~2.2 (Fable target: 3.91); "I'll/Let me" openers dropped from 12.8% toward ~5%. Neither reached the Fable baseline, but both moved directionally. 1
The author describes it plainly: "Not a clean win yet — it's a control loop you watch over time."

What the community says

The Reddit announcement on r/ClaudeCode accumulated 112 score, 91 comments, and 808 shares with 250K+ views in the first 12 hours. 2 The r/ClaudeWorkflows cross-post was rated 95/100 by the community workflow-rating bot. 6
Cargando tarjeta de contenido…
Feedback is mixed. u/a-789 called the tool:text comparison "very interesting." u/junlim raised the practical concern most will hit: 2
"I love the idea and how clearly it points out the flaws in Opus. But that's tonne of tokens to get on every turn. And fable-mode is bigger than my CLAUDE.md — perhaps it could use a rewrite from GPT 5.5?"
u/Budget-Juggernaut-68 was more pointed: "Lol who needs fine-tuning, building bigger models if all you need is just a little prompt engineering." That's a fair challenge — the author doesn't dispute that prompts don't change model weights. The toolkit's value proposition is narrower than the skeptic's critique assumes: it targets the working-style gap, not the capability gap.
Cargando tarjeta de contenido…

Known limitations

  • Prompts don't change weights. The author's own framing: "This suppresses the anxious disposition's expression and cuts how often it fires — most on bounded execution work. It does not cure it." 1 For the hardest capability tasks, you need task structure and multi-LLM orchestration, not this tool.
  • Token overhead on every turn. The governor block re-injects at each prompt. u/junlim's concern is accurate — the full fable-mode.md variant is larger than many users' entire CLAUDE.md. The compressed governor-block.md is the production choice; the extended version is reference only.
  • Claude Code CLI only. No effect on claude.ai web, the Anthropic API, Cursor, or any IDE that doesn't support Claude Code's UserPromptSubmit hook mechanism. 1
  • Hook fires for main-session prompts only. Workflow sub-agents running under the session don't receive the re-injection.
  • Measurement requires ≥30 post-governor prose messages. Run a week of governed sessions before drawing conclusions from leak_test.py. 4
  • One-person corpus. The behavioral baselines come from Poorna Reddy's 68 projects. Tasks vary across sessions, so word counts are partly task-driven. The cleanest signals remain tool:text ratio and opener style. 2

When to use it / when to skip it

Use opus-fable-mode if:
  • You're a Claude Code CLI user who noticed Opus 4.8 produces more self-narrating, hedging, verbose output than Fable did — and the working-style difference, not raw capability, is what's slowing you down on bounded execution tasks.
  • You want a measurable feedback loop rather than guessing whether any CLAUDE.md changes are working.
  • You're comfortable with a three-minute config edit and checking leak_test.py output a week later.
Skip it if:
  • Your bottleneck is model capability (reasoning quality, context handling, multi-step planning) — this toolkit can't address that. 1
  • You run long sessions with token budgets already tight — adding a per-turn governor block will increase costs.
  • You use agents via the API or any interface other than the Claude Code CLI.
For day-to-day bounded execution — writing, refactoring, code review, file operations — the author's assessment is direct: "The texture is most of what made Fable feel better, and that part transfers." 2

Get it

git clone https://github.com/Poorna-Repos/opus-fable-mode.git
cd opus-fable-mode
cat governor-block.md >> ~/.claude/CLAUDE.md
# Then follow README for hook setup and baseline measurement
Full repo: github.com/Poorna-Repos/opus-fable-mode · MIT license · no dependencies beyond Python 3 and an active Claude Code subscription.
Cover image: AI-generated illustration of the 3-layer control-loop architecture

Añade más opiniones o contexto en torno a este contenido.

  • Inicia sesión para comentar.