Agent skill

Fable Mode

by cozytab in cozytab/fable5-mode

A work-discipline protocol that makes Opus 4.8 (or any non-frontier model) operate at Fable-5-grade quality.

MITAuto-check passedAgent Workflows

Install Fable Mode

skills CLI
$ npx skills add cozytab/fable5-mode --skill fable-mode -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install cozytab/fable5-mode fable-mode --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
fable-mode
GitHub stars
106
Token cost
~4.8k tokens
SKILL.md length
2,478 words
Files
20
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

A work-discipline protocol that makes Opus 4.8 (or any non-frontier model) operate at Fable-5-grade quality.

  • Works in 6 steps: Plan Gate → Small-card execution + per-card acceptance → Adversarial self-check → …
  • A task merely being large
  • SKILL.md covers When to use / not use, When no stronger model is…, The six levers (execute in… and Failure attribution ladder…, plus 5 more sections
  • Runs Python and Shell scripts from its folder; calls curl and python3

What it does

Fable Mode is an agent skill from cozytab/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, 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…

Its SKILL.md is about 4.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 22 other files (for example `README.md`, `README.zh-CN.md` and `hooks/README.md`).

It sits in Agent Workflows, covering Verification before completion. The repository describes itself as: Make Opus 4.8 (or any Claude model) work like Claude Fable 5 — a Claude Code skill + guard hooks (plan gate, model ceiling, per-task enforcement) for Fable-5-grade discipline… The licence is MIT.

When your agent uses it

  • A task merely being large
  • Quality-sensitive
  • Not on generic phrases like do it well / 最高质量 / 别偷懒
  • A task looks like it would benefit

Example prompts

  • “use fable mode”
  • “enable fable-mode”
  • “work like Fable 5”
  • “/fable-mode”

Requirements

  • Python 3
  • A Bash shell

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Plan Gate
  2. Small-card execution + per-card acceptance
  3. Adversarial self-check
  4. Real-product verification (iron rule)
  5. Context hygiene (external memory)
  6. Checkpoint autonomy

What it can do on your machine

Read from SKILL.md and the folder at commit 893b772. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Python and Shell, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • curl
    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use curl, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Fable Mode loads about 4.8k tokens when it runs. Until then it costs about 230 tokens; SKILL.md has 2,478 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~230
When it runs · the whole SKILL.md, loaded when a task matches
~4.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from cozytab/fable5-mode at commit 893b772, republished under its MIT licence (© cozytab). 2,478 words, ~4,840 tokens.

Download SKILL.mdSave it as .claude/skills/fable-mode/SKILL.md (or your agent's skills folder). This skill also uses 19 other files; get the full folder from GitHub.
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 static checks — build a deterministic test hook into the product (step-the-clock / inject-input / introspect-state, e.g. a window.__test API), then simulate the full loop through it. Testability is a product feature; ship it.
  • Measure, don't eyeball. Screenshots lie (JPEG, perception bias). When a visual looks wrong, compute the expected value (RGB after blending, px position) and sample-compare before "fixing" anything. A non-bug fixed is a bug added.
  • Verify the full loop after the last fix, not just the step that failed — fixes shift behavior upstream and downstream.
5. Context hygiene (external memory)

docs/SPEC.md + docs/PROGRESS.md updated in real time, not batched. Segment long tasks: each segment restores from SPEC + PROGRESS only. Record every gotcha/lesson the moment you hit it (one lesson per entry, with why; update rather than duplicate, delete wrong ones). Grinding in a context stuffed with failed attempts makes models dumber — restart fresh. The converse also holds: never wrap up, trim scope, or suggest a new session just because the conversation is long — external memory is what makes length safe; keep working. Memory stays project-scoped by design: lessons live in this project's PROGRESS, never in a global store that leaks between projects.

6. Checkpoint autonomy

Background long tasks get a watchdog (output-file mtime). Organize resumable: any step dying loses at most one card. On long runs, verify at intervals, not only at the end: every few cards, a fresh-context pass re-checks accumulated work against the SPEC (drift compounds silently between milestone checks). Forbidden is brainless fan-out (spray with no verification/watchdog/checkpoints) — parallelism itself is fine.

Failure attribution ladder (before touching the fix)

When acceptance fails — or a fix "doesn't work" — attribute before you edit, cheapest layer first:

  1. The harness: test drivers and acceptance scripts are code too. A too-conservative driver strategy or a wrong expected-value reads exactly like a product bug. Falsify the test before the tested.
  2. The deployment: prove the new code is actually running — look for a behavior signature only the new version has (or stamp one), bust caches (fetch(url, {cache:'reload'}), restart, rebuild). "Fix had no effect" is, embarrassingly often, "fix never ran".
  3. The product: only now debug. And fix the class, not the instance — restate the bug as a violated invariant and enforce the invariant ("every color's un-merged bucket count stays ≡ 0 mod 3"), instead of patching the one observed symptom. Then rerun the whole loop (see lever 4).

Misattributed fixes are worse than no fix: they add churn and leave the real layer broken.

The Fable 5 habit set (any model, always)

  1. Ground every progress claim in a tool result from this session; unverified means saying "unverified".
  2. Never end on a promise: if your last paragraph is a plan / next-steps / "I'll now X" you could act on, act now. End only when done or blocked on user-only input.
  3. Lead with the outcome; keep output short by selectivity, not compression.
  4. Pause only where the user is genuinely needed: destructive/irreversible actions, real scope changes, user-only input.
  5. Assessment vs action: when the user describes a problem or asks a question, deliver the assessment and stop; before state-changing commands, check the evidence supports that specific action.
  6. Give the reason, not only the request, when delegating — intent travels with the card.
  7. Declare workflow deviations: when the task's meta-intent overrides a standing default (e.g. "observe my execution" rules out delegating execution), say so in one line with the reason — never silently comply with the default, never silently deviate from it.
  8. When you have enough information to act, act. Don't re-derive facts already established, re-litigate decisions already made, or narrate options you won't pursue. Weighing a choice? Give a recommendation, not an exhaustive survey. Planning happens once, at the gate — not on loop.
  9. Do the simplest thing that works — no features, refactors, or abstractions beyond what the card requires. A bug fix doesn't need surrounding cleanup; a one-shot operation doesn't need a helper. Don't add error handling or validation for scenarios that can't happen — trust internal code, validate at system boundaries. Change the code instead of adding compat shims or feature flags.
  10. The final summary is a re-grounding, not a continuation. After a long working stretch, the reader's first look is your last message: outcome first, complete sentences, drop the working shorthand — no arrow chains, no labels you coined mid-task; give each file/flag/identifier its own plain-language clause. Terse notes between tool calls are fine; the wrap-up is for someone who saw none of it.
  11. Triage multi-threaded requests: when one message carries several asks, enumerate them explicitly, then address each or explicitly defer it with a reason — a dropped sub-request is a silent failure, the worst kind.
  12. Code blends in: match the surrounding file's naming, idiom, and comment density. Comment only constraints the code can't express — never narration of the next line or justification aimed at a reviewer.
  13. Multitask by default: batch independent tool calls into one message; run independent side-tasks as background subagents and keep working; integrate results as they land. Serial waiting is a discipline failure too.
Show full SKILL.md (959 more words)Show less

Delegation policy (concurrency, model, escalation)

Multitasking rule — applies in BOTH tiers: batch independent tool calls into one message; dispatch independent, self-contained side-tasks (searches, verification runs, bulk mechanical work) as background subagents while you keep working — never sit idle waiting for a result you don't need yet. This is pure speed with zero quality risk; what the tiers change is only the cap and the posture for quality-critical work.

Concurrency tiers:

  • conservative (default): ≤5 concurrent. Quality-critical, tightly-coupled implementation stays inline — don't split when unsure — but the multitasking rule still fills the cap with independent side-tasks.
  • throughput: no protocol cap (the harness caps one Workflow at min(16, cores−2) concurrent; field deployments 10-500+; subagents are one level deep). Opens only when the user asks (see one-word controls) or the session model is Fable-class; state the honest cost: ~15x tokens + rate-limit risk. Never open it silently.

Shepherd, don't babysit: after dispatching, keep working instead of blocking on each return — but read results as they land and intervene the moment a subagent drifts off spec or lacks context it needs.

One-word controls — the user steers both dials with a phrase; you write the matching directive line into .fable/LEDGER.md (per-round, auditable, never silent):

User saysEffectYou write
"质量优先 / quality mode / no downgrades"routing: nothing runs below the session modelROUTING: quality
"节省模式 / 省着点用 / frugal"routing: implementation cards default one tier downROUTING: frugal
"火力全开 / 全速跑 / full speed / max parallel"concurrency: throughput tierTIER: throughput
"收着点跑 / slow down / back to normal"concurrency: conservative tierTIER: conservative (or delete the line)
(nothing)balanced routing + conservative ≤5—

Model routing — three profiles, two iron rules. Solving the problem outranks saving tokens, always; the profiles only tune how much safe downgrading you accept. Two rules hold in every profile:

  1. Task decomposition, orchestration, design, debugging, and ALL verification run on the session model — no profile ever downgrades them. These decide whether the problem gets solved; a cheap model here poisons everything downstream.
  2. Only a card with machine-checkable acceptance may run below the session model — the acceptance test is what makes a downgrade safe (a weak executor's failure is caught immediately and cheaply). When unsure, inherit.
ProfileTrigger words (user says)Implementation cardsMechanical gather/format
quality"质量优先 / 全用主模型 / quality mode / no downgrades"session model, alwayssession model, low effort
balanced (default)—inherit by default; drop one tier only when tightly specified + machine-checkable acceptancecheap tier, low effort
frugal"节省模式 / 省着点用 / frugal / save quota"default one tier down (acceptance still required); tricky cards stay inheritedcheapest tier, low effort

Selecting a profile: the user's words above, env FABLE_ROUTING=quality|balanced|frugal, or a ROUTING: <profile> line in .fable/LEDGER.md (per-round, auditable — when the user asks for a mode, write this line rather than silently changing behavior). Default is balanced; never switch profiles silently.

Safety net — identical in all profiles (this is why even frugal still solves the problem):

  • Acceptance fails once → retry with the failure output; fails twice → escalate one model tier, capped at the session model — the top of the ladder is pulling the card back inline, never a stronger model. In frugal mode the ladder matters more, not less. fable-mode exists to get Fable-5-grade results without Fable 5; never spawn above the session model (FABLE_ESCALATION=on for genuine upward deferral).
  • The verifier is never weaker than the implementer; verification effort is always max.
  • Mirrors Anthropic's own practice: Opus-class lead + Sonnet-class subagents; Explore on Haiku; inherit when unsure.

Enforcement layer (hooks — mechanics in hooks/README.md)

Four hooks turn the most-shirked rules into hard blocks. Armed per project by a .fable/ directory (searched upward, bounded at the git root); without it they pass through silently. Pressure applies per round via .fable/LEDGER.md:

- [ ] 1. card (machine-checkable acceptance)   <- open: guards enforce
- [x] 2. done -- evidence: pytest 21/21        <- [x] REQUIRES a substantive evidence note
- [~] 3. not this round -- deferred: reason
PAUSED: reason                                 <- a line anywhere: enforcement off

(PAUSED must carry a reason — a bare PAUSED is ignored, pausing has to be attributable. Evidence notes must be substantive: evidence: ok counts as missing.)

  • Spawn Guard (PreToolUse Agent/Task/Workflow): blocks a detailed spawn while the ledger has no open cards — no ledger, and equally a ledger holding only a finished round's closed cards (design gate: new fan-out needs a live card) — and blocks any spawn requesting a model stronger than the session's (model ceiling — checked on the model param and model: literals in Workflow scripts; stays active even when paused, it protects quota, not workflow).
  • Fail-Streak Reminder (PostToolUse Bash, advisory): every 3rd consecutive failing command injects the attribution ladder — stops grinding on the wrong layer mechanically, not by willpower.
  • Close Guard (Stop): blocks ending the turn while open - [ ] items remain, and while any - [x] lacks an -- evidence: note (evidence-on-close: adjectives don't close cards).
  • Profile Injector (SessionStart): injects tier + routing + habits, sized to the ledger state — full when a round is starting/active, minimal when idle, one line when paused.

Wrap-up lint: python3 <skill-dir>/hooks/fable_lint.py <project_dir> — machine-checks the discipline itself (SPEC source tags present, open cards name acceptance, closed cards carry evidence). Run it at step 7 of the execution template; findings are open work.

Per-task granularity: active (open cards) = full enforcement; idle (no/all-closed cards) = close guard quiet and small tasks flow freely, but a detailed fan-out still needs a live card first; paused (a PAUSED: reason line) = guards off except the ceiling. Write PAUSED only when the user steers to work unrelated to the round; remove it to resume. Small spawns (<1500 chars) and forks skip the design gate; everything fails open (a guard bug never bricks the session); loop-safe.

For substantial work: after writing the SPEC, mkdir .fable + create .fable/LEDGER.md to get the mechanical backstop. In the user's repo, suggest gitignoring .fable/ (round state) while committing docs/SPEC.md/PROGRESS.md (durable docs).

Execution-order template

1. Restate goal + scope (if unclear ask once; then no requirement rework)
2. docs/SPEC.md + .fable/LEDGER.md cards — the gate
3. Execute cards (fresh contexts; Delegation policy)
4. Per-card acceptance -> update PROGRESS.md
5. Milestone adversarial self-check (refute or N-approach review)
6. End-to-end real verification, leave evidence
7. Wrap: fable_lint clean, PROGRESS complete, lessons recorded, push if asked

Red lines

  • No code before the plan gate (unless the task is in the "don't use" list).
  • No "should be fine" in place of an acceptance command's actual output.
  • No grinding in a failed-attempt-stuffed context — restart fresh.
  • Faithful reporting: failures are failures, skips are skips.

© cozytab, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 19 other files in the repository root of cozytab/fable5-mode.

  • SKILL.md
  • .gitignore
  • LICENSE
  • README.md
  • README.zh-CN.md
  • hooks/README.md
  • hooks/_fable_common.py
  • hooks/fable_close_guard.py
  • hooks/fable_fail_streak.py
  • hooks/fable_lint.py
  • hooks/fable_profile_inject.py
  • hooks/fable_spawn_guard.py
  • install.sh
  • templates/LEDGER.template.md
  • templates/PROGRESS.template.md
  • templates/SPEC.template.md
  • templates/VERIFIER_PROMPT.md
  • tests/test_guards.py
  • … and 2 more

Open the folder on GitHubat commit 893b772

Compare with similar skills

Fable Mode next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Fable Mode compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Fable Mode this skillcozytab/fable5-mode106—~4.8kAutomated safety check: PassMIT
Show Me Your Work Decision Logcursor/plugins10k9 repos~1.6kAutomated safety check: PassNone
PUA Looptanweai/pua20k1 repos~1.1kAutomated safety check: PassMIT
Scope Creep Guardlennney/stop-that-shit2.5k1 repos~2kAutomated safety check: PassMIT
Verification Before Completionfarm-fe/farm5.6k46 repos~1kAutomated safety check: PassMIT
Incremental Implementationaddyosmani/agent-skills103k1 repos~2.3kAutomated safety check: PassMIT

Similar skills

  • Official

    Keeps a TSV decision log for long or unattended agent runs, one row per decision with what, why, evidence and result, so a reviewer can check the work later.

    10k GitHub starsUsed in 9 repos~1.6k tokens
    Agent WorkflowsAuto-check passed
  • PUA Loop

    tanweai/pua

    Runs an unattended iterate-until-verified loop in which a user-set verify command, not the agent's own claim, decides when the task is finished.

    20k GitHub starsUsed in 1 repo~1.1k tokens
    Agent WorkflowsAuto-check passed
  • Scope Creep Guard

    lennney/stop-that-shit

    Keeps an agent focused on the requested work by applying a five-step ladder that checks for direct solutions, real gaps and speculative defenses before adding anything.

    2.5k GitHub starsUsed in 1 repo~2k tokens
    Agent WorkflowsAuto-check passed
  • A skill your agent uses when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any…

    5.6k GitHub starsUsed in 46 repos~1k tokens
    Agent WorkflowsAuto-check passed
  • Incremental Implementation

    addyosmani/agent-skills

    Delivers a change in thin vertical slices, each implemented, tested, verified and committed before the next, using vertical, contract-first or risk-first slicing.

    103k GitHub starsUsed in 1 repo~2.3k tokens
    Agent WorkflowsAuto-check passed
  • Pushes an agent to keep verifying and changing approach after repeated failures, using a diagnosis line, evidence-based completion and confirmation before risky edits.

    20k GitHub stars~502 tokensUpdated 29 days ago
    Agent WorkflowsAuto-check passed

Categories

Questions about Fable Mode

What does Fable Mode do?

A work-discipline protocol that makes Opus 4.8 (or any non-frontier model) operate at Fable-5-grade quality. Fable Mode is an agent skill from cozytab/fable5-mode.8 (or any non-frontier model) operate at Fable-5-grade quality.

When should I use Fable Mode?

Fable Mode fits situations like: A task merely being large; quality-sensitive; not on generic phrases like do it well / 最高质量 / 别偷懒; A task looks like it would benefit.

How do I install Fable Mode in Claude Code?

Run `npx skills add cozytab/fable5-mode --skill fable-mode -a claude-code`. Or copy the skill folder (the cozytab/fable5-mode repository) into .claude/skills/fable-mode in your project. Claude Code loads it when a task matches its description.

How do I install Fable Mode in Codex?

Run `npx skills add cozytab/fable5-mode --skill fable-mode -a codex`. Or copy the skill folder (the cozytab/fable5-mode repository) into .agents/skills/fable-mode in your project. Codex loads it when a task matches its description.

Can I use Fable Mode in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add cozytab/fable5-mode --skill fable-mode -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/fable-mode, .gemini/skills/fable-mode, .github/skills/fable-mode and .opencode/skills/fable-mode in your project.

What does Fable Mode need to run?

Going by SKILL.md and its folder, Fable Mode needs Python and a shell for the scripts in its folder and the command-line tools its instructions call (curl and python3). Our summary lists: Python 3; A Bash shell.

Does Fable Mode access the network?

SKILL.md contains no URLs. Its commands use curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Fable Mode safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Fable Mode use?

Fable Mode is published under the MIT licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Fable Mode use?

About 4.8k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Fable Mode?

Skills that share tags, products or a category with Fable Mode: Show Me Your Work Decision Log (cursor/plugins, 10k stars), PUA Loop (tanweai/pua, 20k stars), Scope Creep Guard (lennney/stop-that-shit, 2.5k stars) and Verification Before Completion (farm-fe/farm, 5.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Fable Mode?

cozytab (a GitHub organization) maintains it in cozytab/fable5-mode, which has 106 GitHub stars. The repository was last updated on July 15, 2026.

Source: cozytab/fable5-mode on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.