why
Skill4 starsChanged 59 days agoMITView on GitHub
Answer why a line of code is the way it is.
112 other projects use a version of this.
Adopted by
Most recently taken up by
- Yeachan-Heo/oh-my-claude-sisyphustheir own version, first seen Nov 8, 2026
- Loner1024/skillstheir own version, first seen Nov 8, 2026
- caidanw/skillstheir own version, first seen Nov 8, 2026
- Yeachan-Heo/oh-my-claudecodetheir own version, first seen Nov 8, 2026
- endqwerty/endstacktheir own version, first seen Nov 8, 2026
- tristanphvn/keeltheir own version, first seen Nov 8, 2026
Used with
Projects with it also use addskill, apply-firmware 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.
ryanportfolioSkilladdskill
Create, import, update, or install repo or personal skills: runtime ownership, resources, discovery checks.
Also in 6 projects that use this
ryanportfolioSkillapply-firmware
Bring current folder (plain folder, existing repo, old or partial firmware copy) up to full Harness Firmware in place. Mirror external repo → adopt-repo.
Also in 6 projects that use this
- +10 more from ryanportfolio
Other versions112 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 112
- Yeachan-Heo/oh-my-claude-sisyphus★ 41ksame name
- Yeachan-Heo/oh-my-claudecode★ 41ksame name
- backnotprop/pstack★ 3.8ksame name
- moeru-ai/xsai★ 667same name
- jtaroreh/agystack★ 128same name
- uzairansaruzi/p3-stack★ 126same name
- Dimon94/dverity★ 107same name
- Dimon94/skills★ 107same name
- dsebban/skills★ 71same name
- Anuj7411/sipcode★ 46same name
102 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 repository9 other files it gives its agents.
- commitSkill
- commit-splitSkill
- csSkill
- finalize-squashSkill
- handoffSkill
- planSkill
- reviewSkill
- start-taskSkill
- wrap-upSkill
The file
We split this skill into the rules it gives an agent
3 rules. 0 are common, 1 is distinctive, and 2 are very specific to this project.
0
Common
Most of the 106 edited versions we read keep these.
1
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
- Very specific: line 34
Never re-implement the blame → note → log chain by hand.
- Distinctive: line 42
If the linked log is a squash summary and does not answer the question, select the relevant source log from its index.
- Very specific: line 49
Mechanical blame hit?: If the blamed commit is clearly formatting, a rename, or a sweep, the reason lives deeper: git log …
“Common” is measured: kept by at least 6 in 10 of the 106 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
Why (/why FILE:LINE)
The user points at code and asks why it is the way it is. Do not speculate from the code — pull the case file.
Input — $ARGUMENTS
FILE:LINE— the primary form (e.g./why src/auth.ts:120).- A bare
FILEplus a quoted snippet or symbol: locate the line first (rg -n), then proceed. If the location stays ambiguous, ask instead of guessing.
Workflow
Run the CLI to retrieve the linked log:
casefile why FILE:LINEIt blames the line, resolves the commit, and prints the linked task log — via git note in casefile mode; in home mode via the co-committed log or, for a later commit of a task that landed as a series (
/commit-split), via thetask-N:subject and the log in that commit's tree. Use--head Nonly when the log is very long. Never re-implement the blame → note → log chain by hand; ifcasefileis not on PATH, stop and point at the kit's installer.Read what it printed. The answer usually lives in
### Key Decisions(what was decided, why, and what was rejected),### Root Cause(fix-lane logs), or the one-line### Tasksummary.If the linked log is a squash summary and does not answer the question, select the relevant source log from its index. Resolve relative links from the summary's directory and read only the logs needed for this question. Cite the additional hop:
FILE:LINE → squash → summary → source log, including the source section. If the source is missing or inconclusive, state that limit.- Mechanical blame hit? If the blamed commit is clearly
formatting, a rename, or a sweep, the reason lives deeper:
git log -L<LINE>,<LINE>:<FILE>walks the line's history and shows each commit's note (tasklog:pointer) inline — follow the first substantive commit's log instead. - No linked log (
no note and no co-committed task log): fall back honestly —git log -1 <sha>for the commit message,casefile search '<term>'for related logs in casefile mode. Say explicitly that no log is linked; do not dress a guess up as provenance.
Output shape
Keep it compact:
- Answer: 1–3 sentences — the reason, sourced from the log or commit, not inferred from the code.
- Evidence: the chain
FILE:LINE → <sha> (<subject>) → <log path>, plus the log section(s) the answer rests on. - Caveat — only when needed: the line changed after the log was written, the log contradicts the current code, or no log exists.
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.

