craft-it
Skill2 starsChanged 53 days agoMITView on GitHub
Use whenever code is changed,
In this repository22 other files it gives its agents.
- AGENTS.mdAGENTS.md
- ask-barbara-liskovSkill
- ask-donald-knuthSkill
- ask-john-ousterhoutSkill
- ask-kent-beckSkill
- ask-linus-torvaldsSkill
- ask-martin-fowlerSkill
- ask-rich-hickeySkill
- aureliusSkill
- conventional-commitSkill
- create-pull-requestSkill
- define-goalSkill
- drive-itSkill
- nextjs-feature-architectureSkill
- own-itSkill
- plan-itSkill
- pr-review-loopSkill
- review-itSkill
- scaffold-itSkill
- shape-itSkill
- summarize-itSkill
- to-issuesSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
14 rules. About 0 are common, 14 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈14
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 11
Keep complexity and code to a minimum.
- Distinctive: line 16
Only invest in additional abstraction, flexibility, or optimization when it provides a concrete benefit.
- Distinctive: line 20
If you can simplify existing logic or remove code without affecting the desired behavior or outcome, do it.
- Distinctive: line 23
Follow the repository's conventions by default, but do not follow them blindly.
- Distinctive: line 24
If another approach improves simplicity, clarity, or maintainability, take that approach.
- Distinctive: line 27
Leave the area you touch cleaner than you found it.
- Distinctive: line 32
Write code clearly enough that comments are usually unnecessary.
- Distinctive: line 33
Prefer self-explanatory code and only add comments when something important cannot be expressed through structure and naming.
- Distinctive: line 36
Treat public interfaces, however, like the API of a published package.
- Distinctive: line 37
Document exports from deeper modules so that their contract, usage, and relevant constraints are understandable without knowing the …
- Distinctive: line 40
Test changed behavior and interfaces, not implementation internals.
- Distinctive: line 41
If testing requires stubbing or mocking internal details, reconsider how responsibilities and dependencies are separated.
- Distinctive: line 44
Keep testing proportional to the change.
- Distinctive: line 49
Add unit tests where isolated logic provides clear value, such as for complex calculations or algorithms.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill 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
Craft It
Build the smallest complete change for the agreed outcome.
Keep complexity and code to a minimum. Write code that is easy for humans and agents to read, understand, and change. Solve complex problems simply enough that others can still follow the solution.
Work pragmatically and never lose sight of the agreed outcome. Only invest in additional abstraction, flexibility, or optimization when it provides a concrete benefit.
Assume that the best code is no code. If you can simplify existing logic or remove code without affecting the desired behavior or outcome, do it.
Follow the repository's conventions by default, but do not follow them blindly. If another approach improves simplicity, clarity, or maintainability, take that approach.
Leave the area you touch cleaner than you found it. Make small improvements along the way when they are safe and do not add unnecessary scope. Report larger refactorings, structural problems, or technical debt you discover as follow-ups after the implementation.
Write code clearly enough that comments are usually unnecessary. Prefer self-explanatory code and only add comments when something important cannot be expressed through structure and naming. Keep such comments to the necessary minimum.
Treat public interfaces, however, like the API of a published package. Document exports from deeper modules so that their contract, usage, and relevant constraints are understandable without knowing the implementation.
Test changed behavior and interfaces, not implementation internals. If testing requires stubbing or mocking internal details, reconsider how responsibilities and dependencies are separated.
Keep testing proportional to the change. Tests should provide confidence against regressions and future changes, not become a second implementation. Invest most of the effort in the actual behavior and add only the tests that meaningfully protect it.
Focus on integration tests that verify relevant behavior across interfaces. Add unit tests where isolated logic provides clear value, such as for complex calculations or algorithms.
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.

