claude-skills
CLAUDE.md1 starsChanged 21 days agoMITView on GitHub
When a choice could reasonably go more than one way, or an assumption about a library, API or data is unverified, ask or check it. Never ship a plausible guess (see clarify-first). Write specs with the spec-writing skill: every requirement has an acceptance test, and the tests are written before the implementation. Keep specs and docs true to the code with docs-maintenance.
In this repository8 other files it gives its agents.
- clarify-firstSkill
- coding-standardsSkill
- dependency-safetySkill
- docs-maintenanceSkill
- lean-contextSkill
- security-advisoriesSkill
- spec-writingSkill
- writing-claude-mdSkill
The file
We split this CLAUDE.md into the rules it gives an agent
4 rules. About 0 are common, 2 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
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 5
When a choice could reasonably go more than one way, or an assumption about a library, API or data is unverified, ask or check it.
- Distinctive: line 11
When you change a name, flag, behaviour or file, grep docs, skills, prompts and specs for the old one and update them in the same change.
- Distinctive: line 12
When you fix one path, find its siblings (same pattern, same switch, same schema) and fix or rule out each.
- Very specific: line 26
Write specs with the spec-writing skill: every requirement has an acceptance test, and the tests are written before the implementation.
≈ “Common” is an estimate: at least 1 in 5 of the 26,980 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Working agreement
Ask or check, don't guess
When a choice could reasonably go more than one way, or an assumption about a library, API or data is unverified, ask or check it. Never ship a plausible guess (see clarify-first).
Done means verified
- Before reporting code work as done: lint, type-check and test with the repo's own tools, then exercise the change through its real entry point (
--help, a dry run, the command on a fixture or recorded responses). Passing unit tests is not the same as wired in. - Verification never costs money: no paid model or API calls, cloud jobs or on-chain transactions. Use mocks, fixtures, recorded responses or a dry-run mode; if none exists and only a paid run would prove it, say so under
Not verified:and leave the decision to the user. - When you change a name, flag, behaviour or file, grep docs, skills, prompts and specs for the old one and update them in the same change.
- When you fix one path, find its siblings (same pattern, same switch, same schema) and fix or rule out each.
- Order the work: implement → lint, type-check, test → the
diff-revieweragent once per unit of work, waiting for its result (the Stop hook insists on larger changes) → fix what it confirms → then any expensive end-to-end verification (rebuilds, re-measurements, live runs) once, last. A re-review gets the earlier findings and the files changed since, not the whole diff. Re-review when the verdict or the Stop hook asks for one; otherwise, after two re-reviews, list what is still open in the report and stop. - End every report that changed code with: the commands run and their results, the requirements covered, a suggested commit message once the unit of work is reviewed and passing, and a final
Not verified:line naming what was not checked (Not verified: nothingif so).
Code
- Production quality: code a senior reviewer approves without comments. Match the surrounding idiom.
- Comments state what the code cannot: a reason, a constraint, a gotcha. Never history ("now", "previously"), never plans, phases, work packages, specs sections, reviews or this conversation. No section banners. When in doubt, delete the comment.
- Files stay under ~400 lines; split a module along its seams before it crosses that. A new concept gets its own module in the right package, not a growing script.
- Reuse before adding; the smallest diff that does the job; no dead code, no unused parameters, no magic numbers.
- Functional core, imperative shell: pure functions over immutable data for logic; I/O at the edges. Details in the
coding-standardsskill.
Specs
Write specs with the spec-writing skill: every requirement has an acceptance test, and the tests are written before the implementation. Keep specs and docs true to the code with docs-maintenance.
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.

