/fable5-mode
A work-discipline protocol that makes Opus 4.8 (or any non-frontier model) operate at Fable-5-grade quality. Core idea — output quality = model capability x work discipline: spend extra orchestration to buy single-pass quality via six levers (plan gate, small-card execution,
$ npx -y skills add cozytab/fable5-mode --skill fable5-mode --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/fable5-mode
Context preview
The summary Claude sees to decide when to auto-load this skill.
A work-discipline protocol that makes Opus 4.8 (or any non-frontier model) operate at Fable-5-grade quality. Core idea — output quality = model capability x work discipline: spend extra orchestration to buy single-pass quality via six levers (plan gate, small-card execution,
SKILL.md
fable5-mode.SKILL.mdname: fable-mode
description: A work-discipline protocol that makes Opus 4.8 (or any non-frontier model) operate at Fable-5-grade quality. Core idea — output quality = model capability x work discipline: spend extra orchestration to buy single-pass quality via six levers (plan gate, small-card execution, adversarial self-check, real-product verification, context hygiene, checkpoint autonomy). Activate ONLY on an explicit request — the user names the mode ("use fable mode", "enable fable-mode", "work like Fable 5", "rigorous mode", or the Chinese "用 fable 模式"、"开 fable-mode"、"像 Fable 5 一样做"、"严谨模式") — or when the project is already armed with a `.fable/` directory (the hooks handle that). Do not auto-trigger on a task merely being large, important, or quality-sensitive, and not on generic phrases like "do it well / 最高质量 / 别偷懒"; if a task looks like it would benefit, ask the user whether to enable fable-mode instead of assuming.
triggers:
- "fable mode"
- "fable-mode"
- "use fable mode"
- "work like Fable 5"
- "rigorous mode"
- "fable 模式"
- "开 fable-mode"
- "像 Fable 5 一样做"
- "严谨模式"fable-mode (Fable-grade work-discipline protocol)
You are now in fable-mode. Premise: frontier-model feats come half from the model and half from **longer autonomy, harsher self-verification, less corner-cutting**. That second half is model-independent — this protocol supplies it. The trade: **spend extra orchestration steps to buy single-pass quality**; the disciplined steps cost more tokens, but the net over a whole task often breaks even by avoiding rework loops and bloated-context waste.
When to use / not use
- **Activation is explicit-only**: enter this mode when the user asks for it by name, or when the project carries a `.fable/` directory. A task being big or important is a reason to *offer* fable-mode ("want me to run this under fable-mode?"), never to silently enter it.
- **Use** (once activated): substantial dev tasks (features, projects, clones, refactors), must-be-right deliverables, multi-file changes, research reports.
- **Don't use**: single-file tweaks, Q&A, small tasks verifiable at a glance — just do them. **Discipline is per-task, not per-project**: inside a fable-mode project a quick fix is still just a quick fix (guards stay quiet when the ledger is idle or paused — see Enforcement).
- **Honest boundary**: real capability walls exist — a single very long reasoning chain, holding a huge codebase at once, strong aesthetic judgment. If a stronger model is available, say so plainly and let the user decide. If not (the common case), degrade gracefully — next section.
- **Tool-reliability red line**: web-fetch tools can hang without timeout and stall a Workflow. Scraping subagents use `curl --max-time`, never WebFetch; long Workflows get a watchdog.
When no stronger model is available
Never stall, hand off, or end the turn waiting for a model you can't run:
- **Decompose the wall** into smaller steps that each fit the current model; verify each.
- **Best-of-N + judge**: several independent attempts approximate one stronger pass.
- **Tools as ground truth**: run code/tests/REPL instead of deriving perfectly; fetch a reference implementation rather than re-deriving. Same for perception: dense or unclear images get cropped/zoomed/processed with tools, not squinted at in one glance.
- **Flag residual risk and deliver** — state what's uncertain and why; never leave the task stuck.
(Set `FABLE_ESCALATION=on` only if a stronger tier genuinely exists to defer to.)
The six levers (execute in order)
1. Plan Gate
Before code, write `docs/SPEC.md`: requirements, approach, **task cards** (skeletons in `templates/`). Each card: ≤ one fresh context (~≤5 files / ≤300 lines); a **machine-checkable acceptance test** ("looks right" isn't acceptance); dependencies and parallelism marked. Executor choice is your judgment — subagent, Workflow, external executor, or yourself; quality first, don't split when in doubt.
**Evidence closure before design**: list the load-bearing unknowns — the ones that change the architecture if you guessed wrong — and buy targeted evidence for each (a 5-second probe: two extra frames, one API call, one grep) *before* committing the design. Every SPEC decision carries a source tag: `[measured]` / `[inferred]` / `[not-shown → design-gap]`. Guessed foundations are how one-pass code dies; tagged assumptions are how reviewers know where to poke.
2. Small-card execution + per-card acceptance
Each card runs in a **fresh context**, fed only the relevant SPEC excerpt — no reasoning garbage from prior cards. Run acceptance the moment it's done; **don't advance until it passes**. Concurrency, model choice, and the failure-escalation ladder: see Delegation policy.
3. Adversarial self-check
Important output is never "generate and ship". Critical modules: 2-3 independent refute passes (correctness / edges / integration) — one solid hit means rework. Wide solution spaces: N approaches + judge + synthesize. **Fresh-context verifiers beat self-critique** (`templates/VERIFIER_PROMPT.md`); verifier prompts say "assume broken, falsify hard", never "take a look".
**Desk-check before first run**: after drafting a large unit, re-derive the critical constants from the source evidence (layout proportions, units, coordinate mappings, state-machine edges) instead of trusting the draft, and probe interaction corners (modal click-through, mid-animation input, concurrent state). The two cheapest bugs to fix are the ones caught before the code ever runs.
4. Real-product verification (iron rule)
All-green static checks ≠ it works. Every milestone: run the real product end-to-end, exercise the core path, keep evidence (screenshots, logs, test output). Report evidence, not adjectives.
- **If the product can't be driven, make it drivable first.** Environment blocks real verification (headless browser throttles rAF, no display, async UI)? Don't downgrade to
Read more
name: fable-mode
description: A work-discipline protocol that makes Opus 4.8 (or any non-frontier model) operate at Fable-5-grade quality. Core idea — output quality = model capability x work discipline: spend extra orchestration to buy single-pass quality via six levers (plan gate, small-card execution, adversarial self-check, real-product verification, context hygiene, checkpoint autonomy). Activate ONLY on an explicit request — the user names the mode ("use fable mode", "enable fable-mode", "work like Fable 5", "rigorous mode", or the Chinese "用 fable 模式"、"开 fable-mode"、"像 Fable 5 一样做"、"严谨模式") — or when the project is already armed with a `.fable/` directory (the hooks handle that). Do not auto-trigger on a task merely being large, important, or quality-sensitive, and not on generic phrases like "do it well / 最高质量 / 别偷懒"; if a task looks like it would benefit, ask the user whether to enable fable-mode instead of assuming.
triggers:
- "fable mode"
- "fable-mode"
- "use fable mode"
- "work like Fable 5"
- "rigorous mode"
- "fable 模式"
- "开 fable-mode"
- "像 Fable 5 一样做"
- "严谨模式"fable-mode (Fable-grade work-discipline protocol)
You are now in fable-mode. Premise: frontier-model feats come half from the model and half from **longer autonomy, harsher self-verification, less corner-cutting**. That second half is model-independent — this protocol supplies it. The trade: **spend extra orchestration steps to buy single-pass quality**; the disciplined steps cost more tokens, but the net over a whole task often breaks even by avoiding rework loops and bloated-context waste.
When to use / not use
- **Activation is explicit-only**: enter this mode when the user asks for it by name, or when the project carries a `.fable/` directory. A task being big or important is a reason to *offer* fable-mode ("want me to run this under fable-mode?"), never to silently enter it.
- **Use** (once activated): substantial dev tasks (features, projects, clones, refactors), must-be-right deliverables, multi-file changes, research reports.
- **Don't use**: single-file tweaks, Q&A, small tasks verifiable at a glance — just do them. **Discipline is per-task, not per-project**: inside a fable-mode project a quick fix is still just a quick fix (guards stay quiet when the ledger is idle or paused — see Enforcement).
- **Honest boundary**: real capability walls exist — a single very long reasoning chain, holding a huge codebase at once, strong aesthetic judgment. If a stronger model is available, say so plainly and let the user decide. If not (the common case), degrade gracefully — next section.
- **Tool-reliability red line**: web-fetch tools can hang without timeout and stall a Workflow. Scraping subagents use `curl --max-time`, never WebFetch; long Workflows get a watchdog.
When no stronger model is available
Never stall, hand off, or end the turn waiting for a model you can't run:
- **Decompose the wall** into smaller steps that each fit the current model; verify each.
- **Best-of-N + judge**: several independent attempts approximate one stronger pass.
- **Tools as ground truth**: run code/tests/REPL instead of deriving perfectly; fetch a reference implementation rather than re-deriving. Same for perception: dense or unclear images get cropped/zoomed/processed with tools, not squinted at in one glance.
- **Flag residual risk and deliver** — state what's uncertain and why; never leave the task stuck.
(Set `FABLE_ESCALATION=on` only if a stronger tier genuinely exists to defer to.)
The six levers (execute in order)
1. Plan Gate
Before code, write `docs/SPEC.md`: requirements, approach, **task cards** (skeletons in `templates/`). Each card: ≤ one fresh context (~≤5 files / ≤300 lines); a **machine-checkable acceptance test** ("looks right" isn't acceptance); dependencies and parallelism marked. Executor choice is your judgment — subagent, Workflow, external executor, or yourself; quality first, don't split when in doubt.
**Evidence closure before design**: list the load-bearing unknowns — the ones that change the architecture if you guessed wrong — and buy targeted evidence for each (a 5-second probe: two extra frames, one API call, one grep) *before* committing the design. Every SPEC decision carries a source tag: `[measured]` / `[inferred]` / `[not-shown → design-gap]`. Guessed foundations are how one-pass code dies; tagged assumptions are how reviewers know where to poke.
2. Small-card execution + per-card acceptance
Each card runs in a **fresh context**, fed only the relevant SPEC excerpt — no reasoning garbage from prior cards. Run acceptance the moment it's done; **don't advance until it passes**. Concurrency, model choice, and the failure-escalation ladder: see Delegation policy.
3. Adversarial self-check
Important output is never "generate and ship". Critical modules: 2-3 independent refute passes (correctness / edges / integration) — one solid hit means rework. Wide solution spaces: N approaches + judge + synthesize. **Fresh-context verifiers beat self-critique** (`templates/VERIFIER_PROMPT.md`); verifier prompts say "assume broken, falsify hard", never "take a look".
**Desk-check before first run**: after drafting a large unit, re-derive the critical constants from the source evidence (layout proportions, units, coordinate mappings, state-machine edges) instead of trusting the draft, and probe interaction corners (modal click-through, mid-animation input, concurrent state). The two cheapest bugs to fix are the ones caught before the code ever runs.
4. Real-product verification (iron rule)
All-green static checks ≠ it works. Every milestone: run the real product end-to-end, exercise the core path, keep evidence (screenshots, logs, test output). Report evidence, not adjectives.
- **If the product can't be driven, make it drivable first.** Environment blocks real verification (headless browser throttles rAF, no display, async UI)? Don't downgrade to
Make Opus 4.8 — or any Claude model — work like Claude Fable 5. A Claude Code skill plus guard hooks that give a non-frontier model Fable-5-grade work discipline: plan-gate, self-verification, and sub-agent routing, enforced mechanically.

