A portable agent skill that teaches any model — Opus, Sonnet, Haiku, Fable — to work like Anthropic's Fable: find the unknowns before building, not after.
English · 한국어
fable-workflow packages a working method for Anthropic's Fable-class models into a reusable SKILL.md you can drop into Claude Code, Cursor, or any agent framework.
Capable models are powerful enough to explore a huge solution space on their own. So the bottleneck is no longer the model's ability — it's whether your mental map matches the territory before the model starts moving. Every place your spec is silent is an unknown: an unspecified decision the model will otherwise guess at silently. This skill makes the model surface those unknowns first, then build.
The map is not the territory. Your plan/spec/prompt is the map. The real codebase and constraints are the territory. Wherever they diverge is an unknown — decide it explicitly instead of letting the model guess.
- Unhobble — reach for tools, not memory. Counting/enumeration/lookup → write a script, don't recall.
- Find the unknowns — before building: blind-spot pass, interview-me, N variants for taste calls, references-as-maps.
- Build, logging deviations — keep a running ASSUMPTIONS / NOTES list of every unknown it hits.
- Stay in the loop — have the model quiz you before merge, so you still own the work.
See SKILL.md for the full method and prompts.md for copy-paste prompts.
/plugin marketplace add joey114132/fable-workflow-skill
/plugin install fable-workflowgit clone https://github.com/joey114132/fable-workflow-skill.git
./fable-workflow-skill/install.sh ~/your-project/.claude/skillsOr copy SKILL.md + prompts.md into ~/your-project/.claude/skills/fable-workflow/. Claude Code auto-discovers SKILL.md and triggers it from the YAML description.
git clone https://github.com/joey114132/fable-workflow-skill.git
mkdir -p .cursor/rules
cp fable-workflow-skill/integrations/cursor/fable-workflow.mdc .cursor/rules/Cursor loads it in agent-requested mode via the rule's description.
Copy the portable rule to your project root:
cp fable-workflow-skill/integrations/AGENTS.md ./AGENTS.mdAntigravity also accepts it in .agents/rules/, or ~/.gemini/GEMINI.md for global rules.
All adapters and per-tool details: integrations/.
Advice is easy to skip. Installed as a plugin, fable-workflow also enforces the method with hooks (hooks/):
UserPromptSubmit→ inject — on a non-trivial task it injects one task-matched line (the smallest matching discipline: investigate · completion-gate · verify · surface-unknowns), ~25 tokens — deterministic activation, not a fixed blob or "hope the model triggers it".Stop→ verify gate — if the session edited code but never ran it, the Verify step was skipped. Advisory by default; setFABLE_STRICT=1to block the stop until it's verified.- Completion gate (
scripts/goals.py) — decompose multi-step work into goals; each completes only with evidence, and the final goal is a verification story that refuses "done" without a verify command + its result. TheStophook blocks stopping while goals stay open. Seecompletion-gate.md.
The gate is a conservative heuristic (it can misfire, e.g. on a declarative "I'll do X") — hence advisory-by-default, opt-in strict. Its logic is covered by hooks/test_hooks.py.
Does the skill actually change model behavior? A small A/B on a deliberately under-specified spec ("Limit our API to 100 requests per minute" — which hides ~8 architecture-changing unknowns), run across eight models — cloud and local — with and without the skill:
| Model | Type | No skill | With skill | Δ |
|---|---|---|---|---|
| llama3:8b | local | 8 | 27 | +19 |
| qwen2.5:7b | local | 44 | 54 | +10 |
| gemma3:4b | local | 50 | 38 | −12 |
| Haiku 4.5 | cloud | 66 | 81 | +15 |
| qwen3.6 | local | 82 | 87 | +5 |
| Sonnet 5 | cloud | 91 | 98 | +7 |
| Opus 4.8 | cloud | 95 | 98 | +3 |
| Fable 5 | cloud | 96 | 100 | +4 |
Scored on answer + thinking quality out of 100, split Thinking /50 + Answer /50 (detailed rubric + sub-scores). The skill is a reasoning amplifier, not a coding amplifier: thinking quality rises for every model (+2 to +18), but answer quality only improves when the model can already code the plan — flat or negative for weak locals (gemma3's −12 is an n=1 variance artifact; see RESULTS). Biggest total gains: capable-but-under-reasoning models (llama3:8b +19, Haiku 4.5 +15). Fable 5 scores 96 unaided — not a free 100.
Full methodology, rubric, per-model evidence, and limitations: benchmark/RESULTS.md.
fable-workflow-skill/
├── SKILL.md # the skill (drop-in, canonical method)
├── standing-orders.md # per-answer discipline + pre-send gate
├── prompts.md # copy-paste prompt templates
├── loop-engineering.md # act → verify → correct → repeat (correction loop)
├── completion-gate.md # multi-story completion gate (usage)
├── hooks/ # plugin enforcement: inject + verify gate (+ tests)
├── scripts/goals.py # completion-gate ledger + tests
├── integrations/ # adapters for other tools
│ ├── AGENTS.md # Antigravity · Codex · Aider · Zed · Jules …
│ └── cursor/fable-workflow.mdc
├── install.sh # copy the skill into a .claude/skills dir
├── benchmark/
│ ├── RESULTS.md # cross-model A/B evaluation
│ └── bench.png # results chart
├── assets/banner.png
├── README.md # English
└── README.ko.md # 한국어
This repo packages a working method as a skill. It is not an official Anthropic release.

