Skip to content
Development
Skill

/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,

From plugin
fable5-mode
1061 skill6 hooks
Install
$ npx -y skills add cozytab/fable5-mode --skill fable5-mode --agent claude-code

How 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.md
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
Read more
Ships withfable5-mode

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.

Get the whole plugin
Stats
106
Stars
9
Forks
Maintained
Maintenance
Python
Language
MIT
License
2mo ago
Last commit
2mo ago
Created

Repo: cozytab/fable5-mode