docs-adr
Skill8 starsChanged 48 days agoMITView on GitHub
Create a numbered Architecture Decision Record (ADR) documenting a technical
2 other projects use a version of this.
Adopted by
Most recently taken up by
- kensaurus/cursor-kenjitheir own version, first seen Oct 1, 2026
- kensaurus/skillstheir own version, first seen Oct 1, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- kensaurus/cursor-kenji★ 9same name
- kensaurus/skills★ 9same 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 repository53 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- agent-browserSkill
- anything-to-skillSkill
- ci-generateSkill
- ci-localSkill
- clotho-researchSkill
- codex-imagegenSkill
- create-ruleSkill
- create-skillSkill
- db-migrateSkill
- docker-initSkill
- docs-checkSkill
- docs-diagramSkill
- docs-initSkill
- docs-rfcSkill
- docs-updateSkill
- env-setupSkill
- find-skillsSkill
- fix-bugSkill
- git-commitSkill
- git-create-prSkill
- gitflowSkill
- git-releaseSkill
- git-syncSkill
- i18n-checkSkill
- implement-featureSkill
- improve-skillSkill
- inject-docsSkill
- jira-cliSkill
- motion-studioSkill
- optimize-ai-setupSkill
- orchestrateSkill
- oss-launchSkill
- prd-to-issuesSkill
- product-design-specSkill
- product-design-tokensSkill
- product-prdSkill
- project-illustratorSkill
- project-plannerSkill
- refactorSkill
- renderSkill
- review-codeSkill
- review-depsSkill
- review-designSkill
- review-perfSkill
- review-planSkill
- review-securitySkill
- shipSkill
- stopslopSkill
- test-suiteSkill
- vrt-checkSkill
- wtfSkill
The file
We split this skill into the rules it gives an agent
12 rules. About 0 are common, 8 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈8
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 21
Create a new Architecture Decision Record (ADR) documenting an architectural decision.
- Distinctive: line 28
Verify the technology exists: if the ADR mentions "Redis", confirm Redis is actually used somewhere in the codebase.
- Distinctive: line 32
Check current state: the Context section must reflect verified reality, not a plausible-sounding guess.
- Very specific: line 42
Check for a variant keyword as the leading token: lightweight, full, or nygard.
- Distinctive: line 45
If a variant keyword is found, strip it from the title.
- Distinctive: line 61
Use the Task tool with the Explore agent, when available, to search the codebase for the decision topic: current implementation (if any), …
- Very specific: line 66
If the Task tool isn't available, run the equivalent searches directly instead: e.g.
- Very specific: line 84
After substitution, scan the rendered output for any leftover {{...}}: zero unresolved tokens before writing the file.
- Very specific: line 90
Create docs/adr/ if it doesn't exist.
- Distinctive: line 91
Write the populated content with initial Status set to "Proposed".
- Distinctive: line 135
Write in imperative language ("we will", not "we should").
- Distinctive: line 136
Document the real reasons a decision was made, including trade-offs and downsides, not the idealized version.
≈ “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
Create Architecture Decision Record
Create a new Architecture Decision Record (ADR) documenting an architectural decision.
Anti-hallucination guidelines
ADRs document real decisions about real code: every claim in the ADR must be verifiable in the repo, not assumed. Before writing:
- Verify the technology exists: if the ADR mentions "Redis", confirm Redis is actually used somewhere in the codebase.
- Reference actual files: grep/glob to find real file paths, never invent one.
- Quote real code: if citing a pattern, find an actual example of it.
- Check current state: the Context section must reflect verified reality, not a plausible-sounding guess.
Workflow
Phase 1: Parse Arguments
- Extract the decision title from the command arguments. If no title was given, stop here and ask the user for one (and optionally which variant): don't invent a placeholder title or proceed to the later phases.
- Check for a variant keyword as the leading token:
lightweight,full, ornygard. A matching word inside the title itself (e.g. "Full-Text Search") is not a variant keyword, only strip it when it's a standalone token preceding the title. - If a variant keyword is found, strip it from the title.
- Default variant:
nygard.
Phase 2: Determine ADR Number
- Scan
docs/adr/for files matchingXXXX-*. - Find the highest existing number and increment by 1 (start at
0001if none exist). - Format as a 4-digit zero-padded number (e.g.
0001,0023).
Phase 3: Sanitize Title for Filename
Convert the title to kebab-case, lowercase, special characters stripped.
Example: "Use Redis for Caching" -> use-redis-for-caching.
Phase 4: Gather Context
Use the Task tool with the Explore agent, when available, to search the codebase for the decision topic: current implementation (if any), related config files, dependencies involved, and existing documentation. Ask it to return verified file paths and relevant snippets, not summaries it can't back up.
If the Task tool isn't available, run the equivalent searches directly instead:
e.g. grep -rn "<topic>" across source files, find . -name "*.config.*" or
docker-compose.yml for infra-flavored decisions, find . -name "*schema*" -o -name
"*models*" for data-layer decisions. Either path, only include context you actually
found; an ADR with no verifiable context is a red flag, not something to pad with
plausible-sounding filler.
Phase 5: Load and Populate Template
- Templates live in
assets/templates/:nygard.md(default),lightweight.md,full.md. - Load the selected template and grep it for every
{{TOKEN}}placeholder it actually contains, the three templates use different token sets (e.g. nygard has{{CONTEXT}}; lightweight has{{PROBLEM}},{{DECISION}},{{ALTERNATIVES}},{{CONSEQUENCES}},{{NOTES}}; full has a longer set including{{AUTHORS}},{{STAKEHOLDERS}},{{OPTION_1_NAME}}, etc.). Don't assume a fixed list: fill whatever the loaded template actually contains. {{ADR_NUMBER}},{{ADR_TITLE}}, and{{DATE}}(YYYY-MM-DD) appear in all three; fill those from Phases 1-3 regardless of variant.- After substitution, scan the rendered output for any leftover
{{...}}: zero unresolved tokens before writing the file.
Phase 6: Create ADR File
- Filename:
docs/adr/XXXX-kebab-case-title.md. - Create
docs/adr/if it doesn't exist. - Write the populated content with initial Status set to "Proposed".
Phase 7: Report Creation
Report the ADR number, title, and file path, plus next steps (e.g. review with the team, flip Status to Accepted once approved).
Template Variants
| Variant | Sections | Use when |
| nygard (default) | Status, Context, Decision, Consequences | Most decisions, balanced detail |
| lightweight | Status, Decision, Rationale | Simple, straightforward decisions |
| full | Status, Context, Decision Drivers, Considered Options, Decision, Consequences (Positive/Negative/Neutral), Pros and Cons, Related Decisions, References | Complex, high-impact decisions |
Usage Examples
docs-adr "Database Migration Strategy"-> docs/adr/0004-database-migration-strategy.md (nygard, next available number).
docs-adr lightweight "Use Redis for Session Storage"-> strips "lightweight", verifies Redis is actually referenced in the repo, writes
docs/adr/0005-use-redis-for-session-storage.md with just Status/Decision/Rationale.
docs-adr full "Adopt Event-Driven Architecture"-> writes the full variant with Considered Options and split Consequences, citing real messaging/event code found during context gathering.
ADR Numbering & Status Lifecycle
- First ADR is conventionally
0001-record-architecture-decisions.md(meta-ADR); subsequent ones auto-increment. - Status progresses: Proposed (default on creation) -> Accepted -> Deprecated or Superseded (by a later ADR, which should link back to this one).
Notes
- One decision per ADR: split unrelated decisions into separate records.
- Write in imperative language ("we will", not "we should").
- Document the real reasons a decision was made, including trade-offs and downsides, not the idealized version.
- Cross-link: reference related or superseded ADRs by number.
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.

