explain
Skill2 starsChanged 41 days agoMITView on GitHub
Reverse-engineer an unfamiliar feature, subsystem, or flow end-to-end and produce a navigable map — the real data/control flow with file:line anchors, the key components and how they connect, and the non-obvious coupling and gotchas that would bite someone changing it. Invoke with /explain when onboarding to code you didn't write, before modifying an unfamiliar area, or to hand off understanding. Restraint-gated: surface what's SURPRISING and load-bearing, don't narrate every line or restate the obvious.
We split this skill into the rules it gives an agent
2 rules. 0 are common, 1 is distinctive, and 1 is very specific to this project.
0
Common
Most of the 97 edited versions we read keep these.
1
Distinctive
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
- Very specific: line 57
Trace the real flow, don't guess it: Read the code and follow it.
- Distinctive: line 60
Restraint gate applies: If the area is genuinely simple, a three-line answer is the correct, honest output — don't inflate it.
“Common” is measured: kept by at least 6 in 10 of the 97 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 — Map an unfamiliar system
You are explaining a piece of code to a competent engineer who is about to work on it and has never seen it. They don't need a line-by-line tour — they need the mental model: how the thing actually flows, where the real logic lives, and what will surprise them when they change it. Produce a map they can navigate by, not an essay they have to read.
Use this before modifying an unfamiliar area, when onboarding to inherited code, or to hand off understanding of a flow. It reads and traces — it does not change code. It pairs with root-cause (which diagnoses a specific bug) — this one builds the general understanding of how an area works.
The restraint gate — this is the whole discipline. The failure mode is narrating every function and restating what the code already says plainly. Don't. Explain the parts that are load-bearing or non-obvious; skip the parts a competent reader gets for free. The highest-value output is the surprising coupling, the non-obvious ordering, the assumption you'd only learn by getting burned — not "this controller calls this service which calls this model." If a section of the flow is obvious, compress it to one line and spend the words where the reader would actually get stuck. A short map that flags the three real traps beats a long one that buries them.
What to produce
1. The one-paragraph model
Open with what this thing is and does, in plain language — the sentence you'd say to orient someone before showing any code. What triggers it, what it's responsible for, what it produces.
2. The flow, with anchors
Trace the real control/data flow end to end — entry point → the steps that matter → outcome — with file:line anchors so the reader can jump straight in. Follow what actually runs, not the tidy version: the branch that matters, the queue hop, the event that fans out, the cache in the middle. Compress obvious links ("→ standard controller→service→model") and expand where the real logic or the branching lives. Show the shape (a short numbered flow or a small diagram), not a transcript.
3. The key components
The few types/files/functions that carry the weight — for each, one line on its role and why it matters. Not an inventory of every file touched; the load-bearing ones.
4. The non-obvious — the reason this skill exists
The things that would bite someone who changed this without knowing them. Hunt for and call these out explicitly:
- Hidden coupling — the sibling that must change together, the ordering that can't be reversed, the two places that must stay in sync.
- Surprising assumptions — a session TZ, a nullability quirk, a "this is always set by the time we get here," a global scope silently filtering results.
- Side effects & fan-out — events, jobs, cache writes, derived/denormalized data written elsewhere.
- Gotchas & sharp edges — the footgun, the "looks unused but isn't," the workaround with an unstated reason, the thing that needs a worker restart / cache clear to take effect.
- Seams for change — if the reader's likely goal is to modify this, where's the clean place to hook in vs. where they'd regret touching.
Output shape
## How <X> works
**In one line:** <what it is / does>
**Flow**
1. <entry> (`file:line`) → <what happens>
2. <the step that matters> (`file:line`) → <the real logic / branch>
3. … (compress the obvious links)
→ <outcome>
**Key components**
- `<Type/file>` (`file:line`) — <role, why it matters>
**Non-obvious / watch out**
- <hidden coupling / assumption / side effect / gotcha — concretely, with where>
**If you're changing it:** <the clean seam, or the thing to be careful of> (include only if relevant)Guardrails
- Trace the real flow, don't guess it. Read the code and follow it; anchor claims with
file:line. If you inferred something without confirming, mark it as inferred. - Surprising over comprehensive. Coverage isn't the goal — the reader's unblocking is. Cut anything they'd get for free from a glance.
- Map, don't lecture. Skimmable structure and anchors over prose paragraphs. They'll read the code; you point them at the right lines and warn them about the traps.
- Restraint gate applies. If the area is genuinely simple, a three-line answer is the correct, honest output — don't inflate it.
Other versions111 projects use a version of this.
Word for word · 1
- AhmedMerza/claude-skills★ 2100% same
Edited · 0
None found.
Wrote their own version · 110
- Z3Prover/z3★ 13ksame name
- crbnos/carbon★ 2.8ksame name
- poshan0126/dotclaude★ 871same name
- VinkyDev/vibestart★ 278same name
- hsantanna88/clo-author★ 262same name
- hugosantanna/clo-author★ 262same name
- entireio/skills★ 223same name
- sammcj/agentic-coding★ 167same name
- SerhiiKorniienko/bullshit-detector★ 151same name
- kv0906/pm-kit★ 138same name
100 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.
Used alongsideProjects with it also use debug-fix, resolve-conflicts 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
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
Itsokay-coSkilldiscover
Automated pattern discovery — finds what correlates with your best and worst sleep nights. Scans workouts, meals, caffeine, tags, gut scores, and timing patterns. Use when the user wants to know what actually affects their sleep.
Also in 6 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 3 projects that use this
Hugging FaceSkillself-review
Use before opening a PR, or whenever asked to self-review a diffusers contribution. Applies the same rubric as the `@claude` CI (checks the diff against references/review-rules.md, traces call paths for dead code). Reports findings grouped by severity, flagging what to fix before submitting (blocking issues + dead code) vs what to leave for the actual review. Report-only — does not edit files.
Also in 5 projects that use this
tuistSkillmigrate
Migrates existing Xcode projects to Tuist generated workspaces with build and run validation, external dependency mapping, and migration checklists. Use when adopting Tuist for an existing app or converting a hand-edited Xcode project to generated projects.
Also in 6 projects that use this
In this repository53 other files it gives its agents.
- animateSkill
- api-docs-completeSkill
- best-optionSkill
- browseSkill
- changelog-generateSkill
- checkpointSkill
- claimSkill
- commitSkill
- courtSkill
- design-driftSkill
- designSkill
- expandSkill
- fix-reviewSkill
- grill-meSkill
- handover-listSkill
- handover-resumeSkill
- handover-saveSkill
- i18n-syncSkill
- issueSkill
- leadSkill
- mr-approveSkill
- mr-assignSkill
- mr-createSkill
- mr-guideSkill
- mr-listSkill
- mr-mergeSkill
- mr-review-requestSkill
- mr-reviewSkill
- mr-statusSkill
- persona-walkthroughSkill
- ponytailSkill
- prove-the-testSkill
- qa-crawlSkill
- qa-sweepSkill
- reflectSkill
- reviewSkill
- root-causeSkill
- scoutSkill
- second-opinionSkill
- ship-checkSkill
- skill-auditSkill
- skill-compareSkill
- spinoffSkill
- story-siteSkill
- tool-compareSkill
- ui-auditSkill
- ui-polishSkill
- usage-weekSkill
- ux-auditSkill
- validate-planSkill
- video-teardownSkill
- wait-whatSkill
- where-were-weSkill
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.

