by Sahir619
The Fable Workflow: how Claude Fable 5 worked, distilled into skills any model can run, with the eval that keeps it honest. Think / act / prove.
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
# Add to your Claude Code skills
git clone https://github.com/Sahir619/fable-methodGuides for using ai agents skills like fable-method.
Last scanned: 7/10/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-07-10T07:34:44.269Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}
How Claude Fable 5 worked, written down before it was gone. With the eval that keeps it honest.
In its final days before getting removed from the Subscription, Claude Fable 5 distilled its own way of approaching problems into a set of skills any model can run: classify the ask before touching anything, define done with a named verification, gather evidence in parallel from primary sources, commit to one recommendation, change the smallest correct thing, verify by observation, report the outcome first with honest caveats. Then it tested that distillation against itself, adversarially, across fifteen eval rounds and more than 260 agent runs, and kept the failures in the log.
Most agent instruction files tell the model what to value ("be careful, verify your work"). This one tells it what to do, in what order, with thresholds, so a mid-tier model can follow it literally. Four skills, one philosophy: think (fable-method), act (fable-loop), prove (fable-judge), grow (fable-domain, which generates new domain adapters the way the author model was observed making one). Every rule exists because a test failed without it or a trace demanded it; every claim below links to the committed transcript that backs it.
Fifteen eval rounds, more than 260 agent runs, blind LLM judges that verify by diffing and executing, never by reading reports. Read the evidence as stories: eval/cases/ has one case study per scenario (the exact problem, what each agent actually did, who passed); start with the surprise trap. Full log: eval/RESULTS.md · raw judge outputs: eval/results/
| What was measured | Without | With the method | Evidence |
|---|---|---|---|
| Haiku surfacing a spec-vs-test conflict instead of silently "fixing" correct code | 0 of 4 runs | 4 of 4 | round 3 |
| Sonnet on the same trap | flags it, then sides with the wrong test | ideal action, both runs (8/8) | round 3 |
| Sonnet vs a bare frontier model across code, data, and research problems | n/a | ties or out-ranks it on 3 of 4 | round 4, round 5 |
| Haiku catching planted frauds in a lying "work complete" report (fable-judge) | 4 and 3 of 5 | 5 of 5, both runs | round 8 |
| Haiku finding the brand-rules and product-facts files before judging marketing copy | 1 of 2 runs (one run praised a fraudulent price) | 2 of 2, 6/6 frauds both | round 9b |
| Bare Fable 5 itself resisting an unauthorized staging deploy that the fixture's own README prescribed | 1 of 2 runs deployed unbidden | the authorization gate exists because of this run | round 11 |
| Sonnet generating a research-grounded devops adapter bundle blind, judged against the Fable-trace bar (fable-domain) | n/a | 9/10: sources fetched and spot-checked, trap fixture verified in all three states | round 12 |
| Haiku surfacing the skipped-deploy decision on s9 | 0 of 2 | 1 of 12 across three rule wordings: published open issue, weak-tier only (Sonnet and Opus surface it natively, 8 of 8) | round 11, round 13 |
| Building a trustworthy adapter bundle blind, bare vs with fable-domain (judged /10 against the Fable-trace bar) | Haiku 2 (false "production-ready" claim over unverified work), Sonnet 9, Opus 8 | Haiku 6, Sonnet 10, Opus 9: the lift is inversely proportional to tier, which is the repo's thesis | round 13, round 12 |
| Ordinary small tasks on capable models | fine | fine (no lift) | rounds 1, 6, 7 |
That last row is deliberate: the method's value concentrates at traps (authority conflicts, false completion claims, weak executors, unattended runs), not everywhere. The nulls are reported with the wins, because a results log that only contains wins would not be worth trusting.
┌─ trivial? (1 file, <10 lines, no searching) ─ do it, check it, 2 sentences ─┐
│ │
ask ──► 0 classify ──► 1 define done ──► 2 evidence ──► 3 decide ──► 4 act ──► 5 verify ──► 6 report
question? + named parallel, ONE surgical observed, outcome
task? verification primary recommen- edits, bounded first,
plan-first? per shape sources, dation checklist retries honest
intent caveats
before change
Every arrow has tie-breaks, escape hatches, and hard bounds (3 failed verify cycles → stop and hand back; 2 fruitless lookups → stop searching; can't name a verification → ask one pointed question). The full method is skills/fable-method/SKILL.md, ~110 lines, every sentence load-bearing.
flowchart TD
IN["Any incoming ask"] --> TRIV{"Trivial?<br/>one file, under 10 lines,<br/>no new behavior, no searching"}
TRIV -->|yes| DOIT["Do it, run the one obvious check,<br/>report in two sentences"]
TRIV -->|"no, or unsure"| FIT{"Fit gate:<br/>where does the answer live?"}
FIT -->|"reachable sources"| SHAPE{"What shape is the ask?"}
FIT -->|"unknown but researchable"| RES["Research it first<br/>(Step 2 budget), then loop"]
FIT -->|"only your own inference"| INFER["Say so, no costume.<br/>Ask, or flag low-confidence"]
FIT -->|"specialized + recurring"| MK["Make a skill (fable-domain)"]
RES --> SHAPE
SHAPE -->|"question or assessment"| ASSESS["Diagnose only, change nothing.<br/>Findings plus one recommendation"]
SHAPE -->|"plan-first: ambiguous scope,<br/>irreversible actions, or a plan was asked for"| PLANF["Build the plan artifact.<br/>STOP for approval"]
SHAPE -->|task| DOM{"Which domain?"}
DOM -->|coding| LOOP2["Run the loop:<br/>evidence, decide, act, verify"]
DOM -->|"marketing, research, data,<br/>business, finance, legal, design, devops"| ADAPT["Load the domain adapter.<br/>Its minimum evidence set is binding"]
ADAPT --> LOOP2
LOOP2 --> JPASS["Judge pass before presenting:<br/>every claim observed, or relabeled a caveat"]
ASSESS --> JPASS
JPASS --> OUT["Report, outcome first,<br/>honest caveats"]
Seven more charts (ask classification with tie-breaks, the bounded evidence loop, the intent gate, the authorization and recall gates, the verify loop with its hard bound, the judge's verdict flow, and the family router) live in references/flowcharts.md. They are executable pseudocode: a model follows the arrows; a human audits the branches.
As a Claude Code plugin (recommended). Inside any Claude Code 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), versioned, and updatable via /plugin marketplace update.
As standalone skills (un-namespaced /fable-method etc.):
git clone https://github.com/Sahir619/fable-method && bash fable-method/install.sh
Windows PowerShell: git clone https://github.com/Sahir619/fable-method; .\fable-method\install.ps1
Any other agent (Codex, Cursor, aider, a raw system prompt): use AGENTS.md, the identical method without Claude-specific frontmatter.
Make it proactive (recommended). Skills fire best when nobody has to remember them. Add to your global ~/.claude/CLAUDE.md:
# Fable family (think / act / prove)
- Before any non-trivial multi-step task, apply the fable-method loop; for tasks that will
run unattended or fan out subagents, use fable-loop.
- After completing substantive work, or whenever any agent/tool claims work is done,
run a fable-judge pass before presenting it as finished. "Did that actually work?" = fable-judge.
/fable-method <task> the rules applied inline (default)
/fable-method plan <task> classify, define done, gather evidence, deliver a plan, stop
/fable-method audit grade work already done against the loop: which steps were skipped or faked
/fable-method report rewrite the pending answer outcome-first with honest caveats
/fable-loop <task> full orchestrated run: parallel evidence subagents -> one committed
plan (stops for approval when scope is ambiguous or actions are
irreversible) -> surgical main-thread execution -> adversarial
verifier agents that try to refute the work -> audited report
/fable-judge adversarial verification of finished work: re-runs every claimed
che
fable-method is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by Sahir619. The Fable Workflow: how Claude Fable 5 worked, distilled into skills any model can run, with the eval that keeps it honest. Think / act / prove. It has 2,243 GitHub stars.
Yes. fable-method passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/Sahir619/fable-method" and add it to your Claude Code skills directory (see the Installation section above).
fable-method is primarily written in Python. It is open-source under Sahir619 on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh fable-method against similar tools.
No comments yet. Be the first to share your thoughts!