implementation-standards
Skill3 starsChanged 20 days agoMITView on GitHub
Engineering criteria for implementation: SOLID, Clean Code, patterns, comment anchors, quality signals and simplification-first debt.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- attilaszasz/sdd-pilottheir own version, first seen Oct 20, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- attilaszasz/sdd-pilot★ 98same name
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 repository18 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- architectural-decision-recordsSkill
- conventional-commitsSkill
- gherkin-specsSkill
- git-workflowSkill
- grillingSkill
- openspec-apply-changeSkill
- openspec-archive-changeSkill
- openspec-exploreSkill
- openspec-proposeSkill
- openspec-sync-specsSkill
- openspec-workflowSkill
- session-endSkill
- session-startupSkill
- test-driven-developmentSkill
- update-harnessSkill
- using-git-worktreesSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
13 rules. About 0 are common, 12 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈12
Distinctive · estimate
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
- Distinctive: line 33
No dead, commented-out or unrefactored code.
- Distinctive: line 42
If no ADR anchors the decision, the comment is self-contained: decision and reason, here and now.
- Distinctive: line 49
If it does not fit, the detail belongs in an ADR or functional documentation.
- Distinctive: line 54
Do not delete blank lines, split methods without cohesion or add trivial tests to pass a number.
- Distinctive: line 55
Do not raise the CRAP threshold so a change passes.
- Distinctive: line 56
Do not exclude files with real logic from coverage or CRAP.
- Distinctive: line 57
If a touched file has pre-existing lint violations, resolve them.
- Distinctive: line 59
If a limit is close, refactor or document why in the commit.
- Distinctive: line 63
When a file/method size, complexity or CRAP threshold fires: first remove duplication (repeated boilerplate for logging, transactions or …
- Very specific: line 70
If the refactor was not planned in design.md, declare it in the change report (and in design.md if structural).
- Distinctive: line 81
Do not mask a complex method with tests that only cover the happy path.
- Distinctive: line 85
Test behavior, not implementation details.
- Distinctive: line 86
No disabled tests, magic sleeps or trivial assertions.
≈ “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
Implementation standards
Load this skill before writing or reviewing code. It is the source of engineering criteria;
.atlas/agents/engineer.mdis only a summary.
SOLID
- S — one reason to change per class; one use case per application service.
- O — extend through composition, polymorphism and dependency injection before inheritance.
- L — subtypes must be substitutable without breaking invariants; prefer composition.
- I — keep interfaces small and specific to their consumer; no god interfaces.
- D — dependencies point toward the domain; high-level modules do not depend on low-level ones.
- Supporting concepts: cohesion, low coupling, encapsulation.
Design patterns
- Apply them only when the problem justifies it and they reduce complexity.
- Premature abstraction is debt, just like duplication.
- Common: Factory, Strategy, Repository, Specification, Observer, Builder.
Clean Code
- Meaningful names that reveal intent; no cryptic abbreviations.
- Small functions that do one thing.
- No dead, commented-out or unrefactored code.
- DRY with judgment: do not abstract for the sake of abstracting.
Comment anchor (mandatory)
- Comments explain why, never what or how.
- Reference an ADR (
adr/NNNN-...) or functional documentation. - Never reference
openspec/specs/(they are deltas that get archived). - Never reference roadmaps, planning documents or other projects as the justification.
- If no ADR anchors the decision, the comment is self-contained: decision and reason, here and now.
- Limits: doc comment ≤ 3 lines; inline comment ≤ 2; decision block ≤ 6 and links to the ADR or document that holds the detail.
- Do not repeat: the same doc comment in N methods is duplication. Document it once on the class or the collaborator that owns the behavior.
- Do not describe the "what": the name and types already say it. No signature or change history (git owns that).
- If it does not fit, the detail belongs in an ADR or functional documentation; the comment references it.
- A comment does not justify a lint threshold or a degraded design.
Quality controls are signals, not goals
- Do not delete blank lines, split methods without cohesion or add trivial tests to pass a number.
- Do not raise the CRAP threshold so a change passes.
- Do not exclude files with real logic from coverage or CRAP.
- If a touched file has pre-existing lint violations, resolve them; do not leave debt "because it was not mine".
- If a limit is close, refactor or document why in the commit.
Thresholds are analysis triggers, not a design excuse
- When a file/method size, complexity or CRAP threshold fires: first remove duplication (repeated boilerplate for logging, transactions or instrumentation is the usual cause), then extract cohesive, typed collaborators, and finally split responsibilities. A documented suppression is the last resort.
- Do not introduce bare strings, booleans or magic numbers to carry semantics (names, modes, kinds). Model them with an enum, value object or interface in its own file; that type also counts toward size.
- If the refactor was not planned in
design.md, declare it in the change report (and indesign.mdif structural). No invisible refactors.
Technical debt: simplification first
- Extract Method / Extract Class.
- Decompose Conditional / Replace Conditional with Polymorphism.
- Introduce Parameter Object / Preserve Whole Object.
- Protected by the existing tests (green before and after).
- Additional tests are a complement, not a substitute for reducing complexity.
- Do not mask a complex method with tests that only cover the happy path.
Tests
- Test behavior, not implementation details.
- No disabled tests, magic sleeps or trivial assertions.
- Cover error paths and business rules, not only the happy path.
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.

