explain-plan
Skill4 starsChanged 18 days agoMITView on GitHub
Present a technical proposal so that it can be decided on: what changes, what was checked to get there, what breaks if it is a mistake, which alternatives were discarded and what remains unresolved, and which failures no test would catch. When an agent builds it, a fresh reader checks it first. Includes when to use a table, when a diagram and when prose. Use before implementing something non-trivial, when there are several reasonable ways to do it, or when whoever decides is not the one who will write the code.
4 other projects use a version of this.
Adopted by
Most recently taken up by
- mdaneshjoo/skillstheir own version, first seen Nov 8, 2026
- rhawk117/cc-terraform-harnesstheir own version, first seen Oct 25, 2026
- hass-energy/haeotheir own version, first seen Oct 8, 2026
- datafusion-contrib/datafusion-skillstheir own version, first seen Mar 21, 2026
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 4
- hass-energy/haeo★ 77same name
- datafusion-contrib/datafusion-skills★ 14same name
- rhawk117/cc-terraform-harness★ 1same name
- mdaneshjoo/skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository46 other files it gives its agents.
- AGENTS.mdAGENTS.md
- add-repo-to-docsSkill
- adrSkill
- auth-bypass-localSkill
- before-afterSkill
- bug-huntSkill
- carry-envSkill
- code-healthSkill
- crux-doctorSkill
- crux-initSkill
- css-to-componentsSkill
- deploy-fallbackSkill
- deploy-watchSkill
- device-loopSkill
- drive-browserSkill
- e2eSkill
- end-sessionSkill
- eval-fixturesSkill
- flowSkill
- grillSkill
- merge-conflictsSkill
- motion-videoSkill
- oauth-reauthorizeSkill
- prod-signalsSkill
- promote-to-docsSkill
- prose-checkSkill
- read-documentSkill
- render-loopSkill
- repo-mapSkill
- review-prSkill
- root-causeSkill
- runbookSkill
- security-auditSkill
- share-localSkill
- shipSkill
- skill-auditSkill
- skill-creatorSkill
- teachSkill
- ui-behaviourSkill
- ui-tellsSkill
- visual-diffSkill
- visual-testSkill
- wizardSkill
- workspaceSkill
- write-testsSkill
- x-postsSkill
The file
We split this skill into the rules it gives an agent
7 rules. 0 are common, 7 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 4 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 12
Use: before implementing something that touches more than one module or that cannot be undone in five minutes, when there are several …
- Distinctive: line 23
Why this way: the trace: Not the conclusion, but what you checked to get to it: what you looked at, what you found, what ruled out the …
- Distinctive: line 34
Every plan ends with it, unlike the sections above, which can be dropped: the failures most likely to get through that no test would catch, …
- Distinctive: line 39
If you cannot name one, the plan has not yet been thought through against reality.
- Distinctive: line 44
Builder check: When it will be built from the text alone (an agent or a session that did not see the conversation), before presenting it a …
- Distinctive: line 51
Interfaces, only if the work is split: When several agents build parts at the same time, each part says what it consumes and what it …
- Distinctive: line 76
When finished, the plan receives a status header: what is done, with which commit and, above all, what turned out different from what was …
“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
explain-plan
A plan is written so that someone can stop it in time: it is measured by how
long it takes the reader to see that it is wrong. The reason behind each
section: <this-skill-directory>/references/why.md.
Use before implementing something that touches more than one module or that
cannot be undone in five minutes, when there are several reasonable ways, or
when someone who does not write the code decides. Do not use on bounded and
obvious changes, nor with the work already done (then /adr).
The five sections
None out of habit: if one adds nothing, it is dropped.
- What changes. One sentence and the real scope: what is touched and what stays out. It goes on top because it is the first thing discussed.
- Why this way: the trace. Not the conclusion, but what you checked to get to it: what you looked at, what you found, what ruled out the obvious path. Write "I checked X and it turned out Y".
- What breaks if I am wrong. The reverse and its cost. If it is undone with
a
git revert, say so; if it involves migrating data, say it louder. - Discarded alternatives, with the reason. "X was discarded" is no use; "X was discarded because it forces maintaining two formats in parallel" is.
- What I do not know. The open questions, explicit.
Review focus
Every plan ends with it, unlike the sections above, which can be dropped: the
failures most likely to get through that no test would catch, five at most,
each with where it would show. Under the heading Review focus (or Foco de
revisión), crux workspace finish copies it into the proposal and /review-pr
checks it first, before the rest.
If you cannot name one, the plan has not yet been thought through against
reality.
When an agent builds it
Builder check. When it will be built from the text alone (an agent or a session that did not see the conversation), before presenting it a context that has not seen the conversation reads the plan as if it had to build it and lists what it would still ask. Each question is answered in the plan or goes to "What I do not know". You do not see your own gaps because you fill them from memory; the one who builds only has the text.
Interfaces, only if the work is split. When several agents build parts at the same time, each part says what it consumes and what it produces, with the exact signatures, because they will not talk to each other until the end. With a single builder it is not written: the signature goes in the code.
The form
| Content | Form |
| Comparing options | Table |
| Flow with several actors or steps | Sequence diagram |
| Dependencies between pieces | Graph |
| States and transitions | State diagram |
| The why, the tradeoffs, the risks | Prose |
| Figures and measurements | In the text |
Draw only what is not seen by reading.
Where it stays
Once approved, it goes to the task log: crux task plan <file> saves it and
marks the task as planned; the steps that come out of it, with crux task add.
It closes when it is executed
When finished, the plan receives a status header: what is done, with which commit and, above all, what turned out different from what was planned and why. A plan that keeps describing as pending something already done lies like outdated documentation. Closing is not archiving: it stays as the why.
Anti-patterns
- The decorative diagram of four obvious boxes.
- The plan that is a list of steps without a why: it cannot be rejected.
- The full template out of habit.
- Implementation detail: variable names and signatures go in the code, except the interfaces between agents working in parallel.
- Presenting only the conclusion, without the trace.
- The orphan plan, which nobody closes.
- The plan longer than the code it describes: you have written the code. Go back to the why.
Related
/adr— record what is already decided/ship— the gate that reviews the plan's implementation
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.

