Skip to content

joey114132/fable-workflow-skill

Repository files navigation

Fable Workflow

Fable Workflow

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 · 한국어

MIT SKILL.md models


What this is

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 one idea

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.

The loop

  1. Unhobble — reach for tools, not memory. Counting/enumeration/lookup → write a script, don't recall.
  2. Find the unknowns — before building: blind-spot pass, interview-me, N variants for taste calls, references-as-maps.
  3. Build, logging deviations — keep a running ASSUMPTIONS / NOTES list of every unknown it hits.
  4. 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.

Install

Claude Code — plugin (recommended)

/plugin marketplace add joey114132/fable-workflow-skill
/plugin install fable-workflow

Claude Code — manual copy

git clone https://github.com/joey114132/fable-workflow-skill.git
./fable-workflow-skill/install.sh ~/your-project/.claude/skills

Or 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.

Cursor

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.

Antigravity · Codex · Aider · Zed & other AGENTS.md agents

Copy the portable rule to your project root:

cp fable-workflow-skill/integrations/AGENTS.md ./AGENTS.md

Antigravity also accepts it in .agents/rules/, or ~/.gemini/GEMINI.md for global rules.

All adapters and per-tool details: integrations/.

Enforcement (Claude Code plugin)

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; set FABLE_STRICT=1 to 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. The Stop hook blocks stopping while goals stay open. See completion-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.

Benchmark

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:

benchmark

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.

Repo layout

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        # 한국어

Notes

This repo packages a working method as a skill. It is not an official Anthropic release.

License

MIT

About

Fable Workflow — a portable Claude Code / Cursor agent skill that makes any model (Opus, Sonnet, Haiku, Fable) find the unknowns before building, not after.

Topics

Resources

License

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors