fable-execute
Skill6 starsChanged 3 months agoMITView on GitHub
Implement one accepted, bounded work card with immediate local verification, invariant preservation, and zero scope drift. Use when executing a planned work card, applying a well-defined code change, implementing an isolated function, or performing targeted single-scope edits — even if the user does not explicitly say \"fable-execute\" (e.g. \"implement this card\", \"write the code for this step\", \"apply the agreed changes\", \"build this component\"). Do NOT use when new architectural decisions are required (use fable-plan) or when tests are repeatedly failing (use fable-recover).
In this repository55 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .codex/AGENTS.mdAGENTS.md
- docs/AGENTS.mdAGENTS.md
- skills/fable-tend/AGENTS.mdAGENTS.md
- skills/fable-wise/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- skills/fable-tend/CLAUDE.mdCLAUDE.md
- skills/fable-tend/site/CLAUDE.mdCLAUDE.md
- skills/fable-wise/CLAUDE.mdCLAUDE.md
- public/llms.txtllms.txt
- get-fableSkill
- typesafe-aiSkill
- get-fableSkill
- get-fableSkill
- fable-architectureSkill
- fable-artifactSkill
- fable-configSkill
- fable-context-thriftSkill
- fable-councilSkill
- fable-coworkSkill
- fable-datavizSkill
- fable-delegateSkill
- fable-discoverSkill
- fable-domainSkill
- fable-ecoSkill
- fable-evalSkill
- fable-finish-your-turnSkill
- fable-handoffSkill
- fable-healSkill
- fable-judgeSkill
- fable-learningSkill
- fable-loopSkill
- fable-memorySkill
- fable-methodSkill
- fable-native-codeSkill
- fable-outcome-firstSkill
- fable-planSkill
- fable-prove-itSkill
- fable-recoverSkill
- fable-redteamSkill
- fable-releaseSkill
- fable-researchSkill
- fable-reviewSkill
- fable-runSkill
- fable-scope-disciplineSkill
- fable-securitySkill
- fable-simplifySkill
- fable-simulatorSkill
- fable-skill-creatorSkill
- fable-sparkSkill
- fable-tddSkill
- fable-tendSkill
- fable-verifySkill
- fable-wiseSkill
- get-fableSkill
The file
We split this skill into the rules it gives an agent
11 rules. About 0 are common, 10 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈10
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 54
Before editing, classify the card:
- Distinctive: line 78
If the workspace changed since planning in a way that invalidates assumptions, stop and replan rather than force the old card through.
- Very specific: line 81
Read the exact target code and its immediate contracts/callers/tests.
- Distinctive: line 100
If an edit crosses card boundaries, pause and explain why before continuing.
- Distinctive: line 103
Run the narrowest meaningful acceptance evidence as soon as the coherent mutation exists.
- Distinctive: line 115
Only make another mutation if the failure provides new information that justifies it.
- Distinctive: line 119
remove debug output/dead experiments.
- Distinctive: line 121
verify no unrelated file changed.
- Distinctive: line 148
Every meaningful mutation makes prior verification stale.
- Distinctive: line 149
No unrelated cleanup is bundled into a repair unless required for correctness.
- Distinctive: line 166
Check passes without exercising the change.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Fable Execute
Implement one accepted change without turning a bounded card into an unreviewable wandering session.
Mission
Execution owns implementation, not architecture discovery. The agent should make the smallest coherent change that satisfies the accepted card, keep invariants visible, validate immediately, and stop when new facts invalidate the plan.
"Minimal" means minimal behaviorally complete diff, not necessarily the fewest changed lines.
Activate When
- scope and acceptance are explicit;
- load-bearing architecture/external facts are settled;
- the card can be implemented without inventing a new public contract;
- the task is a bounded static/config/docs change where TDD adds no meaningful proof;
- a TDD Skill has already established RED and implementation is ready.
Do Not Activate When
- a behavior change still needs a valid RED (
fable-tdd); - implementation reveals a new architecture decision (
fable-plan); - a repeated failure needs diagnosis (
fable-recover); - the task is to independently verify or review an existing diff (
fable-verify/fable-review).
Change Classification
Before editing, classify the card:
| Change | Execution concern |
| Local behavior | preserve surrounding contract |
| Config/manifest | precedence, generated source, packaging |
| Public API/CLI | compatibility and caller impact |
| Data/persistence | transaction/migration invariant |
| Generated output | edit source/generator, regenerate once |
| Dependency wiring | lifecycle/cleanup/error propagation |
| Repair after TDD | satisfy RED without widening behavior |
| Repair after review | fix only grounded finding + affected proof |
Protocol
Stage 1 — Re-read the card against current workspace
Confirm:
- objective;
- owned scope;
- prohibited scope;
- dependencies/assumptions;
- acceptance evidence;
- current git/workspace state.
If the workspace changed since planning in a way that invalidates assumptions, stop and replan rather than force the old card through.
Stage 2 — Inspect before mutation
Read the exact target code and its immediate contracts/callers/tests. Avoid broad rediscovery, but do not edit from stale memory.
Identify invariants that must stay true during the change.
Stage 3 — Choose the smallest coherent mutation
Prefer:
- existing repository patterns;
- source-of-truth over generated output;
- local compatibility over speculative abstractions;
- reversible changes when uncertainty remains;
- one behavior change at a time.
Stage 4 — Mutate and record impact
Track:
- files/surfaces changed;
- new/changed contract;
- generated artifacts affected;
- acceptance command required after this mutation.
If an edit crosses card boundaries, pause and explain why before continuing.
Stage 5 — Immediate acceptance check
Run the narrowest meaningful acceptance evidence as soon as the coherent mutation exists.
A command exit code alone is insufficient if it does not exercise the changed behavior.
Stage 6 — Classify failure before another edit
On failure ask:
- expected RED from ongoing TDD?
- typo/compile issue introduced by current edit?
- incorrect implementation hypothesis?
- stale/build/config/harness problem?
- hidden dependency/architecture change?
Only make another mutation if the failure provides new information that justifies it.
Stage 7 — Clean the diff
Before handoff:
- remove debug output/dead experiments;
- inspect accidental formatting or generated noise;
- verify no unrelated file changed;
- regenerate deterministic outputs from source when required;
- preserve user-owned concurrent changes.
Stage 8 — Handoff for independent verification
Send fable-verify:
- card objective;
- diff/touched surfaces;
- acceptance command/result;
- invariants considered;
- generated/config impacts;
- residual risk and unverified surfaces.
Decision Rules
- New load-bearing unknown → stop and route to discover/research/plan.
- New architecture/public contract decision →
fable-plan; do not hide it as implementation detail. - Behavior change with no valid regression test where one is feasible →
fable-tdd. - Generated file requested → locate generator/source and mutate source; regenerate output afterward.
- Existing user/unrelated changes in target file → preserve them and make the smallest contextual edit; do not reset/overwrite wholesale.
- Acceptance fails for a clearly introduced syntax/type error → repair directly, rerun, and keep scope bounded.
- Similar implementation hypothesis fails repeatedly →
fable-recover; arbitrary "try again" loops are forbidden. - Acceptance command passes but does not exercise the changed path → do not claim card completion; strengthen acceptance or hand off with that gap explicit.
Invariants
- Card scope does not expand silently.
- User/unrelated changes are preserved.
- Source-of-truth is edited instead of derived output when applicable.
- Every meaningful mutation makes prior verification stale.
- No unrelated cleanup is bundled into a repair unless required for correctness.
- Acceptance evidence corresponds to the changed behavior.
Failure Taxonomy
Local implementation defect
Current edit causes a direct syntax/type/assertion failure. Fix within card.
Hypothesis failure
Code is valid but behavior remains wrong. Revise hypothesis; repeated similar failures route to recovery.
Hidden dependency
Correct behavior requires a component/contract outside the accepted card. Stop and replan scope.
Harness/artifact mismatch
Commands execute stale build, wrong env, wrong branch, or generated artifact. Route to recovery when this obscures causal evidence.
Acceptance weakness
Check passes without exercising the change. Strengthen proof before completion.
Concurrent-work conflict
Target contains legitimate changes not owned by this card. Preserve them, narrow edit, or coordinate ownership; never overwrite for convenience.
Anti-Patterns
- "while I'm here" refactors;
- editing generated files directly;
- broad search/architecture work after execution starts;
- retrying the same patch with superficial syntax changes;
- replacing an entire user-modified file for a small fix;
- accepting a build pass as functional proof when behavior is not exercised;
- adding abstraction/configurability not required by the card;
- hiding an architecture decision inside implementation.
Execution Packet
Card:
Owned scope:
Files/surfaces changed:
Behavior/contract delta:
Acceptance command/result:
Invariants checked:
Generated/config impacts:
Unexpected facts:
Residual risk:
Recommended verify scope:Completion Criteria
Execution completes when:
- the accepted behavior is implemented within explicit scope;
- immediate acceptance evidence is green or any proof gap is explicitly handed off;
- diff contains no accidental/unrelated mutation;
- new architecture decisions have not been smuggled into implementation;
- the verification specialist has a precise map of what changed and what remains to falsify.
Progressive Resources
- Deep containment guide:
references/bounded-mutation-and-failure-classification.md - Existing containment reference:
references/mutation-containment.md - Example:
examples/bounded-card-execution.md
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

