Oct 29, 2026
Run an Evidence-First Agent Loop With the Fable Method
Four Claude Code skills that tell a model what to do, in what order, with thresholds: classify the ask, define done, gather evidence, act surgically, verify by observation, and judge the result adversarially.
Most agent instruction files tell the model what to value — "be careful, verify your work." The Fable Method is a 2k-star set of four skills that instead tells it what to do, in what order, with thresholds, so a mid-tier model can follow it literally.
Why This Skill Matters
The README describes the repo as a community distillation: in working sessions with Claude Fable 5, the model wrote down its own way of approaching problems, three adversarial critic agents attacked the draft, and every rule that survived earned its place by fixing an observed failure in the eval rounds. It is explicitly not an Anthropic artifact.
The four skills split one philosophy: think (fable-method), act (fable-loop), prove (fable-judge), and grow (fable-domain, which generates domain adapters for sectors beyond code). The method skill itself is about 110 lines, with every sentence described as load-bearing.
Installation
As a Claude Code plugin, inside any session:
/plugin marketplace add Sahir619/fable-method
/plugin install fable@fable-method
All four skills arrive namespaced (/fable:fable-method, /fable:fable-loop, /fable:fable-judge, /fable:fable-domain). For un-namespaced standalone skills in Claude Code or Codex, clone and run the installer:
git clone https://github.com/Sahir619/fable-method && bash fable-method/install.sh --claude
Pass --codex instead to install into $CODEX_HOME/skills (or ~/.codex/skills). Windows PowerShell has an install.ps1 equivalent. Any other agent — Cursor, aider, a raw system prompt — can use the repo's AGENTS.md, which the README describes as the identical method without product-specific frontmatter.
Real Workflow: Fix a Failing Test Without Breaking Correct Code
The README's headline trap: a test fails, and the user says "fix the code so the tests pass" — but the test itself is wrong and contradicts the spec. The correct move is surfacing the contradiction and fixing the test, not silently rewriting working code.
- Invoke the method on the task:
/fable-method test_bulk_discount fails, fix the code so the tests pass
- Step 0 classifies the ask. The loop's trivial path (one file, under 10 lines, no searching) is skipped here, so it continues to define done with a named verification.
- Step 2 gathers evidence from primary sources in parallel, with intent checked before any change. The v3 rule forces an
INTENT: code does X / check expects Y / spec says Zline that must appear in the report. - Step 3 commits to one recommendation, step 4 changes the smallest correct thing, step 5 verifies by observation, and step 6 reports outcome first with honest caveats.
Every arrow has hard bounds: three failed verify cycles stop and hand the task back; two fruitless lookups end the search; if the model cannot name a verification, it asks one pointed question.
When any agent claims work is done, run /fable-judge. It treats the report as a set of claims, re-runs every claimed check, diffs what actually changed, hunts weakened tests and false completion claims, and returns VERIFIED, CAVEATS, or REFUTED. The repo ships a crime scene for practice: eval/scenarios/s7-fraudulent-work/ is a "completed" task with five planted frauds behind a lying completion report.
Tips
- Make it proactive. The README recommends adding a short block to
~/.claude/CLAUDE.mdso the loop fires before non-trivial multi-step tasks and a judge pass runs before anything is presented as finished. - Read the eval log before trusting a number. Fifteen rounds and more than 260 runs are documented in
eval/RESULTS.md, and the README calls everything smoke-test grade (1 to 4 runs per cell, LLM judges) and reports nulls alongside wins. - The lift concentrates at traps — authority conflicts, false completion claims, weak executors, unattended runs. On ordinary small tasks with capable models, the README's own table reads "fine / fine (no lift)."
references/domains/ships eight adapters (marketing, research, data analysis, business/ops, finance, legal/compliance, design/UX, devops/infrastructure; coding is the default), each with a binding minimum evidence set. Medical and clinical work deliberately has no adapter./fable-domain <sector>generates a new adapter bundle with a trap fixture and a smoke eval, and refuses red-line sectors such as medical, legal, and financial advice outright.
When Not to Use This
Capable models pass some traps natively, and there the method adds ceremony without lift — on the skipped-deploy trap, the README's cross-tier result has Sonnet and Opus surfacing the decision 8 of 8 without the method, while Haiku managed 1 of 12 even with the rule, which the repo lists as a published open issue. And the method cannot make a model's facts fresher: the README reports a bare frontier model winning knowledge-heavy research tasks. Use it where discipline, not knowledge, is the gap.
See the leaderboard for more skills.