How mrtooher/fable-mode works
1. This repository is a small collection of Claude “skills” written as Markdown prompt packages, not an application runtime. The architecture is documentation-driven: each skill directory is a deployable unit that Claude loads by name from its skills path.
2. The central subsystem is fable-mode/, which defines the default skill. Its job is procedural: force staged execution on complex tasks, require a written plan, require verifiable checks per stage, and add a skeptical self-review before final output.
3. README.md is the top-level architecture guide. It explains the shared operating loop, the intended use cases, and the boundaries of what the skill can and cannot do. It also defines the family relationship between the default skill and the variants.
4. SKILL.md at the repository root is the canonical implementation of the default fable-mode behavior. In architectural terms, this is the policy layer that shapes how the model works on a task, rather than a functional subsystem that produces domain-specific outputs.
5. fable-sonnet/ and fable-haiku/ are model-pinned variants of the same core workflow. They reuse the same stage planning, verification, and self-review discipline, but route work through a subagent pinned to a specific model tier.
6. The key boundary between variants is runtime capability. fable-sonnet and fable-haiku require a host runtime with an Agent tool, because they delegate the task to a spawned subagent. fable-mode stays inline on the current model and does not require that extra orchestration layer.
7. The primary data flow is procedural rather than data-centric: task request enters a skill, the skill emits a stage plan, stages are executed, each stage is checked against a failure-capable verification step, then the result is self-critiqued before delivery.
8. EXAMPLE.md serves as the behavioral test case and reference artifact. Its role is to show why the verification step matters: it demonstrates an error that would survive a one-shot attempt but gets caught by the staged process.
9. writing-jokes/ appears to be a separate skill package in the same repository family. Since its contents are not described in the top-level README, it should be treated as an adjacent, standalone capability rather than part of the fable-mode core.
10. The main deployment boundary is the Claude skills directory. Installation is file-system based: each skill folder is placed where the Claude environment scans for skills, and the folder name must match the skill’s frontmatter name field.
11. From an architecture-diagram perspective, the important nodes are: the repository docs, the default skill package, the two model-specific variant packages, the example artifact, and the host Claude runtime that loads and optionally delegates to subagents.
Main entry points: SKILL.md SKILL.md · README.md README.md · fable-sonnet/SKILL.md fable-sonnet · fable-haiku/SKILL.md fable-haiku
Components 13
Docs
Top-level repository guide and behavior example
- README.md · Architecture and usage guide for the skill family
README.md - EXAMPLE.md · Behavioral reference showing why staged verification matters
EXAMPLE.md
Default skill
Canonical inline fable-mode workflow
- SKILL.md · Canonical default fable-mode behavior implemented as a prompt package
SKILL.md - Plan stages · Forces complex work into explicit staged execution
- Verify stage · Requires a failure-capable check after each stage
- Self-review · Adds skeptical final review before output
Variants
Model-pinned skill packages
- fable-sonnet · Sonnet-pinned variant that delegates work to a subagent
fable-sonnet/SKILL.md - Sonnet subagent · Worker agent pinned to the Sonnet tier
- fable-haiku · Haiku-pinned variant that delegates work to a subagent
fable-haiku/SKILL.md - Haiku subagent · Worker agent pinned to the Haiku tier
Host runtime
Claude environment that loads skills and can spawn subagents
- Skill loader · Claude scans the skills directory and loads packages by name
- Agent tool · Host capability required for spawning delegated subagents
Adjacent skill
Separate capability in the same repository family
- writing-jokes · Separate skill package in the same repository family
writing-jokes/SKILL.md
Connections 18
- README.md → SKILL.md: describes · Explains the default workflow and its boundaries
- README.md → fable-sonnet: families · Documents the model-pinned variants
- README.md → fable-haiku: families · Documents the model-pinned variants
- README.md → writing-jokes: adjacent · Mentions another skill package in the repository
- EXAMPLE.md → Verify stage: demonstrates · Shows the value of staged verification
- SKILL.md → Plan stages: requires · Task execution starts with an explicit stage plan
- SKILL.md → Verify stage: requires · Every stage must be checked against failure
- SKILL.md → Self-review: requires · Final output must pass skeptical self-review
- Plan stages → Verify stage: feeds · Each planned stage is verified after execution
- Verify stage → Self-review: precedes · Successful checks lead into final critique
- Skill loader → SKILL.md: loads · Loads the canonical skill package inline
- Skill loader → fable-sonnet: loads · Loads the variant package by name
- Skill loader → fable-haiku: loads · Loads the variant package by name
- Skill loader → writing-jokes: loads · Loads the adjacent skill package by name
- fable-sonnet → Sonnet subagent: delegates · Routes work through a pinned subagent
- fable-haiku → Haiku subagent: delegates · Routes work through a pinned subagent
- Sonnet subagent → Agent tool: needs · Subagent spawning depends on the Agent tool
- Haiku subagent → Agent tool: needs · Subagent spawning depends on the Agent tool