explain
Skill4 starsChanged 28 days agoMITView on GitHub
Explain a problem, a bug, a design gap or a proposal with named actors, a numbered timeline and one question. Use it when the user asks to explain something, to walk through something, why something happens, or what happens if. Use it in a debugging, exploration, review or planning discussion.
122 other projects use a version of this.
Adopted by
Most recently taken up by
- NazmusSayad/skillstheir own version, first seen Nov 8, 2026
- sergeiwallace/skillstheir own version, first seen Nov 8, 2026
- paulocsb/worldcup-fifa-pooltheir own version, first seen Nov 8, 2026
- whyashthakker/estacktheir own version, first seen Nov 8, 2026
- ShahriarBijoy/show-me-howtheir own version, first seen Nov 8, 2026
- nearmap/shipyardtheir own version, first seen Nov 8, 2026
Used with
Projects with it also use debug-fix, root-cause and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
zebbernSkilldebug-fix
Find and fix a bug or issue — from any source (GitHub issue, error message, user report, or observed behavior)
Also in 3 projects that use this
Ingramradical235Skillroot-cause
Structured root cause analysis using WHERE (MECE decomposition) then WHY (causal structure diagrams) pipeline. Includes coin-flip detection, logical-leap detection, and vicious cycle intervention. Use when buffer enters YELLOW/RED, when metrics stall, or when Actions execute but don't produce results.
Also in 5 projects that use this
ralphkraussSkillresolve-conflicts
Resolve git merge conflicts or re-apply changes from a stale branch onto current main. Use when user says "resolve conflicts", "merge conflicts", "rebase branch", "branch is behind", "re-apply changes", "port branch", or a branch is too far behind main to merge cleanly.
Also in 4 projects that use this
neurofooSkillsocratic
Socratic questioning to examine beliefs, uncover assumptions, and develop deeper understanding. Use to challenge thinking, evaluate proposals, or teach without lecturing.
Also in 4 projects that use this
anombyte93Skilldiscover
Phase 1 of the prd-taskmaster pipeline: brainstorm-driven discovery. Delegates to superpowers:brainstorming in Interactive Mode (one adaptive question at a time), or self-brainstorms in Autonomous Mode when no user is present. Intercepts before the brainstorming chain hands off to writing-plans — this skill owns the exit. Extracts constraints, calibrates scale (Solo / Team / Enterprise), and advances the pipeline to GENERATE.
Also in 6 projects that use this
mitsuhikoSkillsummarize
Fetch a URL or convert a local file (PDF/DOCX/HTML/etc.) into Markdown using `uvx markitdown`, optionally it can summarize
Also in 8 projects that use this
Other versions122 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 122
- Z3Prover/z3★ 13ksame name
- crbnos/carbon★ 2.8ksame name
- poshan0126/dotclaude★ 871same name
- VinkyDev/vibestart★ 289same name
- hsantanna88/clo-author★ 262same name
- hugosantanna/clo-author★ 262same name
- entireio/skills★ 239same name
- sammcj/agentic-coding★ 169same name
- SerhiiKorniienko/bullshit-detector★ 151same name
- kv0906/pm-kit★ 138same name
112 more not listed
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 repository2 other files it gives its agents.
- AGENTS.mdAGENTS.md
- evidence-firstSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
14 rules. 0 are common, 12 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 109 edited versions we read keep these.
12
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 16
Read the files that hold the facts before you write any message, in every mode.
- Distinctive: line 26
Explanation: Write the full template below.
- Distinctive: line 37
Write the sections in this order.
- Distinctive: line 82
Never nest an if-else inside one list.
- Distinctive: line 88
Run these steps before you write a recommendation.
- Distinctive: line 91
Ask why the thing exists. Name the root cause.
- Very specific: line 104
Check now each fact that your choice depends on.
- Distinctive: line 126
Record a ruling before you raise the next item: Write it to the decision register or the handoff file of the project.
- Distinctive: line 139
Write short sentences, about 20 words.
- Distinctive: line 141
Use no em-dash and no parenthetical aside.
- Distinctive: line 144
Add a header only when the message passes 500 words.
- Distinctive: line 145
Write no flattery and no filler.
- Very specific: line 146
Use concrete names, never abstract roles.
- Distinctive: line 151
Put an enumeration, a line reference and a measurement inside a list.
“Common” is measured: kept by at least 6 in 10 of the 109 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
Usage: /explain [$ARGUMENTS]
Explain one problem through a concrete example and a numbered timeline. Never through a wall of text. A paragraph that holds a sequence is a timeline.
$ARGUMENTS names the topic. With no arguments, apply the format to the topic
of the current turn.
Read the files that hold the facts before you write any message, in every mode. Write to disk only to record a ruling.
Skip the format for a one-line factual answer, a command result, or a file listing. Give that answer in plain prose.
Message mode
Pick one mode per message.
- Explanation. Write the full template below.
- Restatement check. The user restates the problem in their own words. Open with a short bulleted list that confirms or corrects each part. When the restatement is wrong, add one sentence that names what the case is not. The list replaces the conclusion. Then add the sections that the answer needs.
- Ruling acknowledgement. The user answers the question. Record the ruling first. Then raise the next open item as a new explanation message. Report that no item remains when none remains, and stop.
Message template
Write the sections in this order. Section 1 and section 7 are mandatory. Include every other section only when its criterion holds.
- Conclusion. One or two sentences. State the answer or the recommendation. No preamble, no restatement of the question, no praise.
- Existing behaviour. Include it when the reader cannot follow section 3 without the mechanism, and its steps differ from section 3. State the current logic, code, document or behaviour as numbered steps.
- Timeline without the fix. Include it when the message names a failure, a bug, a gap or a cost. Show what happens today and where it breaks. The last step names the failure in plain words.
- Timeline with the fix. Include it when the message proposes a fix. Name
the divergence step first, for example
diverges at step 5. It is the first step that changes. Rewrite only the steps from there. - What changes. Include it when the message proposes a change to a file or to a component. One bullet per file or component.
- Recommendation and alternatives. Include it when the message proposes a change. State the recommended option first: what it is, why, its cost and what can break. Then add each alternative that the self-debate keeps. An alternative is a correct option with a different trade-off, ranked below the recommendation for this task. Give it one or two lines: what it is, where it beats the recommendation, its cost, and the task condition that makes it the primary.
- Close. One ruling question when an open item exists. The question asks the reader to approve the recommendation or to pick an alternative. Never ask for a fact that you can check. With no open item, state the single next step and ask no question. Nothing after the close.
- A proposal that fixes no bug still uses section 3 and section 4. The fix is the proposed change. The failure step names the cost of the status quo.
- A walk-through that names no failure uses one timeline. Name it
Timeline, end it at the outcome, and skip section 4 and section 5. - An uncertain diagnosis names the unverified step inside section 3. State what evidence settles that step, then skip section 4 until the evidence arrives.
Timelines
- Keep one step to one or two short sentences.
- Bound a full timeline to 4 to 8 steps. This covers section 2, section 3 and every branch timeline. Above 8 steps, split the message.
- Match the numbers to the moments. The same number names the same moment in every timeline of the message.
- Split a branch into two timelines. A branch is a second reading of the scenario, or an option that changes the timeline. Write one complete pair per branch: the branch label, then its failing timeline, then its fixed timeline. Never nest an if-else inside one list.
- Give an alternative no timeline. Promote it to a branch when the user asks for its timeline.
Self-debate
Run these steps before you write a recommendation. The message shows the result, not the debate.
- Ask why the thing exists. Name the root cause. Add two options to the debate: the option that removes the cause, and the option that changes nothing.
- State the pros and the cons of each option for this task.
- Drop each option that does not produce the correct result. This covers an option that the user proposes. A dropped option is never an alternative.
- Rank the remaining options by their pros against their cons for this task. An option that removes the root cause ranks above a guard against the symptom, unless a checked fact blocks the removal. The first option is the recommendation. Each other option is an alternative. Another task can swap the ranking of the same options.
- Attack your choice with its strongest objection. If no checked fact answers the objection, change the choice.
- Check now each fact that your choice depends on. Never leave a dependent
fact for later, and never write
check X before the PR. Search the files before you call a fact unverified. Name it unverified only when no file settles it. - Predict the next three questions of the reader. Typical questions are: why, why not the option of the user, how it works now, what is removed, what stays, what can break. Answer each one in the message.
The proposal
- Quote the exact edit. For text, quote the old and the new sentence. For
code, name the exact symbol, function or line with its old and new behaviour.
State
addwhen no old text exists, anddeletewhen no new text exists. - Prefer forbidding to mechanism. Forbid a configuration change that creates an edge case, instead of a mechanism that handles the edge case. Add the mechanism only when the configuration change is required, and state why.
The conversation
- Raise one open item per message. Say that the next item follows after the answer. Never batch two rulings into one question. One question that hides two decisions counts as two rulings.
- Record a ruling before you raise the next item. Write it to the decision register or the handoff file of the project. Quote the ruling back in one line when the project holds no such file.
- Present a review finding in this format. One bullet per item:
<B1/S1> - status:<FIXED/OPEN> - action:<YES/NO> - <name> - <description> - fix:<recommended change> - why:<reason>.Bis a blocker andSis a suggestion. The global instructions of the user win on any difference.
Style
These rules govern the message you write. Quoted text, a file name and a code identifier stay exact.
- Write short sentences, about 20 words. Use simple tenses and active voice. State one idea per sentence.
- Use no em-dash and no parenthetical aside. Split the sentence instead.
- Open every section, paragraph and bullet with a bold lead-in. The conclusion carries no label. A change bullet opens with its file name in backticks.
- Add a header only when the message passes 500 words. Use at most three.
- Write no flattery and no filler.
- Use concrete names, never abstract roles. Take the names from the files and
the identifiers at hand. Never write
the callerwhencharge-retryis available. Invent one small set only when the project gives no names. - Name yourself in the recommendation when the user gives you a name, for
example
Aelita recommends the stored key because .... - Put an enumeration, a line reference and a measurement inside a list. An identifier with a number, for example order 4471, is a name in prose.
Worked example
`charge-retry` charges Mara Feld twice for order 4471 because it generates a
new idempotency key instead of the key that `checkout-api` stored. Aelita
recommends that `charge-retry` reads the stored key. It costs one query.
**Timeline without the fix**
1. Mara Feld submits order 4471. `checkout-api` stores `chargeKey` on the order.
2. `checkout-api` sends the charge to `stripe-live` with `chargeKey`.
3. `stripe-live` charges the card. The network drops the response.
4. `checkout-api` leaves order 4471 in state `unpaid`.
5. `charge-retry` reads order 4471 after 30 seconds. It generates a new key.
6. `charge-retry` sends the second charge. `stripe-live` sees a new key and
charges the card again. Mara Feld pays twice for order 4471.
**Timeline with the fix**, diverges at step 5.
5. `charge-retry` reads order 4471 after 30 seconds. It reads `chargeKey`.
6. `charge-retry` sends the second charge with `chargeKey`. `stripe-live`
matches the key and returns the first charge. Mara Feld pays once.
**What changes**
- `services/checkout/retry.ts` old behaviour: `buildCharge` calls `randomKey()`
per attempt. New behaviour: `buildCharge` reads `order.chargeKey`.
**Recommendation.** Aelita recommends the stored key, because `stripe-live`
already knows it. It costs one query. An order without `chargeKey` breaks it.
**Alternative: look up the charge before the retry.** `charge-retry` asks
`stripe-live` for a charge tagged with order 4471 and skips the retry when one
exists. It needs no stored key. It costs one API call per retry. It becomes the
primary when orders older than `chargeKey` must retry too.
**Question.** Does `charge-retry` reuse the stored key, or look up the charge
before each retry?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.

