explain
Skill3 starsChanged 30 days agoMITView on GitHub
Explain code with educational depth. Generates Mermaid diagrams for architecture and data flow, traces data through the codebase, explains design decisions with rationale, identifies patterns, and suggests improvements. Use when user says "explain", "explain this code", "how does this work", "walk me through", "what does this do", "trace the data flow", or wants to understand a file, directory, or system with educational depth. For code review, use /review; for debugging, use /investigate; for architecture assessment, use /assessment.
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 8 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 repository42 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- asideSkill
- assessmentSkill
- auditSkill
- benchmarkSkill
- brainSkill
- checkpointSkill
- cleanupSkill
- concise-modeSkill
- cross-modelSkill
- deploySkill
- designSkill
- fix-issueSkill
- ganSkill
- guardSkill
- hotfixSkill
- incidentSkill
- infraSkill
- interview-meSkill
- investigateSkill
- migrateSkill
- module-auditSkill
- morningSkill
- onboardSkill
- planSkill
- profileSkill
- pr-summarySkill
- readmeSkill
- refactorSkill
- researchSkill
- resolveSkill
- respondSkill
- retroSkill
- reviewSkill
- session-logSkill
- setupSkill
- shipSkill
- skill-newSkill
- spikeSkill
- tddSkill
- testSkill
- zoom-outSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
23 rules. 0 are common, 15 are distinctive, and 8 are very specific to this project.
0
Common
Most of the 109 edited versions we read keep these.
15
Distinctive
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 14
Run when the goal is understanding a file, directory, or flow.
- Very specific: line 25
If no --depth is specified, default to deep.
- Distinctive: line 32
If no argument: use the most recently discussed file or ask for clarification.
- Distinctive: line 33
If a file path: read the file.
- Distinctive: line 34
If a directory path: read the directory listing, then read key files to understand the module.
- Distinctive: line 36
High-level overview: Start with what the code does in plain language:
- Very specific: line 45
Use graph TD for hierarchical relationships, sequenceDiagram for request flows, classDiagram for type hierarchies.
- Distinctive: line 47
Data flow trace: Follow data through the code:
- Distinctive: line 75
Improvement suggestions: If the code has issues, note them:
- Distinctive: line 76
Only suggest improvements that are concrete and actionable.
- Distinctive: line 78
Do not suggest improvements for code that is already well-structured.
- Very specific: line 82
When --depth shallow is specified, run only steps 1-3.
- Distinctive: line 120
Every Mermaid diagram must be valid syntax.
- Distinctive: line 121
Never fabricate design rationale.
- Distinctive: line 122
Do not explain language syntax unless the user appears to be learning the language.
- Distinctive: line 123
When explaining a directory, focus on the module's public API and responsibilities.
- Distinctive: line 136
Stop and ask which code to explain when there is no argument and no file was discussed.
- Distinctive: line 137
Stop and re-read the source when a diagram node names a function or module that Grep cannot find.
- Distinctive: line 138
Stop and mark the decision as unclear when no comment, commit message, or ADR supports a stated rationale.
- Very specific: line 139
Stop at step 3 when --depth shallow was passed.
- Very specific: line 144
Every file:line in the Patterns and Improvements tables opens to the cited code.
- Very specific: line 145
Every Mermaid block starts with a valid diagram type such as graph TD, sequenceDiagram, flowchart, or classDiagram.
- Very specific: line 146
Every improvement row names a file under rules/, or the table holds the single "No improvements needed." row.
“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
Overview
Code explanation skill with educational depth. Analyzes code structure, traces data flow, identifies patterns, and produces Mermaid diagrams to make complex systems understandable.
When to Use
Run when the goal is understanding a file, directory, or flow. Pick --depth shallow for a quick orientation and the default deep when the reader will change the code next.
Invocation
| Invocation | Action |
/explain | Explain the current file or most recently discussed code |
/explain <path> | Explain a specific file or directory |
/explain --depth shallow | High-level overview only |
/explain --depth deep | Full analysis with data flow tracing and pattern identification |
If no --depth is specified, default to deep.
Steps
- Identify the target. Determine what to explain:
- If no argument: use the most recently discussed file or ask for clarification.
- If a file path: read the file.
- If a directory path: read the directory listing, then read key files to understand the module.
- High-level overview. Start with what the code does in plain language:
- Purpose: what problem does this code solve?
- Scope: what is included and what is delegated elsewhere?
- Entry points: where does execution start?
- Dependencies: what does this code depend on?
- Architecture diagram. Generate a Mermaid diagram showing the component relationships:
- For a single file: show the file's imports, exports, and how it connects to the rest of the system.
- For a directory: show module boundaries, dependencies between modules, and data flow.
- Use
graph TDfor hierarchical relationships,sequenceDiagramfor request flows,classDiagramfor type hierarchies.
- Data flow trace. Follow data through the code:
- Where does data enter the system?
- What transformations happen at each step?
- Where does data exit the system?
- Generate a Mermaid
sequenceDiagramorflowchartshowing the data path.
Pattern identification. Identify design patterns used in the code:
Pattern What to look for Repository Data access abstraction layer Strategy Interchangeable algorithms behind a common interface Factory Object creation delegated to a specialized function or class Observer Event emitters, listeners, pub/sub Decorator Wrapping behavior around existing functions or classes Middleware Pipeline of functions processing a request sequentially State machine Explicit state transitions with defined valid moves CQRS Separate read and write models Dependency injection Dependencies provided externally rather than created internally For each pattern found, explain why it was chosen and what alternative would look like.
- Design decision analysis. For non-obvious design choices in the code:
- What trade-off was made?
- What would the alternative approach look like?
- Why was this approach likely chosen?
- Reference comments, commit messages, or ADRs if they exist.
- Improvement suggestions. If the code has issues, note them:
- Only suggest improvements that are concrete and actionable.
- Reference the specific rule from
../../rules/that applies. - Do not suggest improvements for code that is already well-structured. "No improvements needed" is valid output.
Shallow mode
When --depth shallow is specified, run only steps 1-3. Skip data flow tracing, pattern identification, design decision analysis, and improvement suggestions.
Output
## Explanation: <file or directory name>
### Purpose
<Plain-language description of what this code does and why it exists>
### Architecture
```mermaid
<component diagram>Data Flow
<data flow diagram>Patterns
| Pattern | Location | Rationale |
<name> | file:line | <why this pattern was chosen> |
Design Decisions
<Decision>:<explanation of the trade-off and reasoning>
Improvements
| File | Line | Suggestion | Rule |
<path> | <line> | <what to change> | <rule reference> |
| No improvements needed. |
## Rules
- Explain for the reader's level. If the code is simple, keep the explanation short. If the code is complex, go deeper.
- Every Mermaid diagram must be valid syntax. Test by reading it back.
- Never fabricate design rationale. If the reason for a decision is unclear, say so.
- Do not explain language syntax unless the user appears to be learning the language.
- When explaining a directory, focus on the module's public API and responsibilities. Do not explain every internal helper.
- Improvements must reference specific rules. "This could be better" is not actionable.
## Common Rationalizations
- "The name says Strategy, so it is the Strategy pattern": a pattern claim needs the interface and its implementations in view. Cite the `file:line` that shows it.
- "The rationale is obvious, I will state it": invented rationale reads as fact. Cite a comment, commit, or ADR, or say the reason is unclear.
- "The diagram looks right": Mermaid that fails to parse renders nothing. Read it back and check every node and edge against the code.
- "Every helper deserves a line": a directory explanation covers the public API and responsibilities. Internal helpers stay out.
- "An improvement section looks thorough": "No improvements needed" is valid. Each suggestion names a rule.
## Red Flags
- Stop and ask which code to explain when there is no argument and no file was discussed.
- Stop and re-read the source when a diagram node names a function or module that Grep cannot find.
- Stop and mark the decision as unclear when no comment, commit message, or ADR supports a stated rationale.
- Stop at step 3 when `--depth shallow` was passed.
## Verification
- The output follows the Output template with Purpose, Architecture, and, in deep mode, every remaining section.
- Every `file:line` in the Patterns and Improvements tables opens to the cited code.
- Every Mermaid block starts with a valid diagram type such as `graph TD`, `sequenceDiagram`, `flowchart`, or `classDiagram`.
- Every improvement row names a file under [`rules/`](../../rules), or the table holds the single "No improvements needed." row.
## Related skills
- `/review` -- Review code for issues rather than explain it.
- `/assessment` -- Architecture completeness audit.
- `/investigate` -- Debug a specific problem in the code.
- `/plan` -- Plan changes to the code after understanding it.Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
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.

