adr
Skill0 starsChanged 12 months agoMITView on GitHub
Create Architecture Decision Records (ADRs) following project standards. Guides template usage, process, and best practices for documenting architecturally significant decisions.
We split this skill into the rules it gives an agent
13 rules. 0 are common, 10 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 65 edited versions we read keep these.
10
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 23
Check existing ADRs in docs/adrs/ directory
- Very specific: line 29
Use the template at .claude/skills/adr/templates/adr-template.md
- Distinctive: line 36
Run the TOC update script:
- Very specific: line 42
Add entry to docs/adrs/README.md table
- Distinctive: line 50
Update CLAUDE.md if the decision affects AI context
- Distinctive: line 51
Update README.md if the decision affects users/contributors
- Distinctive: line 61
Acknowledge Trade-offs: Every decision has costs and benefits
- Distinctive: line 62
Write Before/During Implementation: Don't wait until after
- Distinctive: line 70
Not updating status when decisions change
- Distinctive: line 75
When a decision changes:
- Distinctive: line 76
Create a new ADR documenting the new decision
- Distinctive: line 77
Update the old ADR's status to "Superseded by ADR-XXXX"
- Distinctive: line 79
Don't delete or heavily modify old ADRs (history matters)
“Common” is measured: kept by at least 6 in 10 of the 65 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
ADR Creation Skill
Guides the creation of Architecture Decision Records (ADRs) following project standards. Provides template, process guidance, and best practices for documenting architecturally significant decisions.
When to Use This Skill
Invoke this skill when:
- Making decisions that affect system structure, quality attributes, or dependencies
- Choosing between competing technical approaches with long-term implications
- Establishing patterns or conventions for the project
- Resolving technical uncertainty or debate
- Making decisions that are expensive to change later
ADR Creation Process
Step 1: Determine Next ADR Number
- Check existing ADRs in
docs/adrs/directory - Find the highest numbered ADR (e.g.,
adr-0005-...) - Increment by 1 and zero-pad to 4 digits (e.g.,
adr-0006)
Step 2: Create ADR File
- Use the template at
.claude/skills/adr/templates/adr-template.md - Name the file:
adr-NNNN-brief-descriptive-title.md - Place in:
docs/adrs/
Step 3: Update ADR Table of Contents
Option A (Automated - Preferred): Run the TOC update script:
.claude/skills/adr/scripts/update-adr-toc.pyOption B (Manual):
- Add entry to
docs/adrs/README.mdtable - Include: ADR number, title (linked), and status
- Maintain sequential order
The automated script saves tokens by handling mechanical TOC updates without AI assistance.
Step 4: Reference from Other Docs (if needed)
- Update CLAUDE.md if the decision affects AI context
- Update README.md if the decision affects users/contributors
Best Practices
Writing Good ADRs
- Be Concise: ADRs should be readable in 5-10 minutes
- Focus on "Why": Explain rationale, not just "what" was decided
- Capture Context: Future readers won't have the conversation context
- Include Alternatives: Briefly mention options considered and why they were rejected
- Acknowledge Trade-offs: Every decision has costs and benefits
- Write Before/During Implementation: Don't wait until after
- Keep Immutable: Rarely edit after acceptance; supersede instead
Common Pitfalls to Avoid
- Writing ADRs after decisions are implemented (loses context)
- Being too verbose (ADRs are not architecture documentation)
- Omitting alternatives considered (loses decision rationale)
- Not updating status when decisions change
- Creating ADRs for trivial decisions (use judgment)
Updating and Superseding ADRs
When a decision changes:
- Create a new ADR documenting the new decision
- Update the old ADR's status to "Superseded by ADR-XXXX"
- Link between related ADRs
- Don't delete or heavily modify old ADRs (history matters)
Example Prompts for Common ADR Types
Technology Selection
Create an ADR for choosing [Technology X] over [Technology Y] for [purpose].
Context includes:
- Current requirements: [list]
- Evaluation criteria: [performance, community, licensing, etc.]
- Alternatives considered: [list]
- Key trade-offs: [describe]Pattern Adoption
Create an ADR for adopting [Pattern Name] pattern for [specific use case].
Context includes:
- Problem it solves: [describe]
- Where it applies: [scope]
- Alternatives considered: [list]
- Migration strategy: [if applicable]Deprecation Decision
Create an ADR for deprecating [feature/component/approach].
Context includes:
- Current state and limitations: [describe]
- Replacement approach: [describe]
- Migration path: [describe]
- Timeline: [if applicable]Architectural Boundary
Create an ADR for establishing [boundary/interface/contract].
Context includes:
- Components involved: [list]
- Interaction patterns: [describe]
- Stability requirements: [describe]
- Evolution strategy: [describe]Tooling or Process
Create an ADR for introducing [tool/process] to address [problem].
Context includes:
- Current pain points: [describe]
- How it addresses the problem: [describe]
- Integration approach: [describe]
- Evolution path: [if phased]Evolution of This Skill
This skill is part of a phased approach to ADR tooling (see ADR-0001):
- Phase 1 (Current): Skill provides template and process guidance
- Phase 2 (Future):
/adr-newslash command for quick invocation - Phase 3 (Future): Haiku sub-agent for drafting boilerplate
- Phase 4 (Future): Hooks to detect architecture changes without ADRs
Status updates will be reflected in ADR-0001.
Usage Example
User: "I want to document the decision to use Context7 MCP for documentation access"
Claude (using this skill):
- Checks
docs/adrs/for existing ADRs (finds ADR-0000, ADR-0001) - Determines next number: ADR-0002
- Creates
docs/adrs/adr-0002-use-context7-mcp-for-documentation-access.md - Fills template with provided context
- Updates
docs/adrs/README.mdtable of contents - Confirms completion with user
Other versions78 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 78
- CrowdDotDev/crowd.dev★ 3.4ksame name
- chattocorp/chatto★ 2.8ksame name
- Cosmian/kms★ 362same name
- linuxfoundation/insights★ 283same name
- sd0xdev/sd0x-dev-flow★ 192same name
- sd0xdev/sd0x-harness★ 192same name
- irahardianto/awesome-agv★ 157same name
- jellydn/my-ai-tools★ 126same name
- EmeaAppGbb/spec2cloud★ 100same name
- theagentplane/tokenops★ 85same name
68 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.
Used alongsideProjects with it also use product-spec, threat-model 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.
vndeeSkillproduct-spec
Use when starting a new feature, product, or project — before any architecture or code, to define what to build and why
Also in 3 projects that use this
OpenAISkillthreat-model
Use when Codex is already in the threat-modeling phase of a security scan, the user explicitly invokes $threat-model, or the user explicitly asks to create, update, or persist a repository threat model. Do not use as the primary trigger for full PR, commit, branch, patch, or repository scans.
Also in 7 projects that use this
petestewartSkilltest-review
Review unit tests for quality, coverage, consistency, and adherence to existing codebase patterns. Use when the user says "/test-review", "review my tests", "check my test coverage", "are my tests good", or needs feedback on test quality and patterns.
Also in 4 projects that use this
montymiSkilltech-spec
Parse and review Technical Specification documents for completeness, consistency, and implementation readiness
Also in 3 projects that use this
drewdrewthisSkillsweep
Search for similar patterns, anti-patterns, or issues elsewhere in the codebase after a fix or feature. Use after implementing a fix to catch the same bug in other places, or proactively to audit for a known pattern.
Also in 3 projects that use this
AnthropicSkillrunbook
Create or update an operational runbook for a recurring task or procedure. Use when documenting a task that on-call or ops needs to run repeatably, turning tribal knowledge into exact step-by-step commands, adding troubleshooting and rollback steps to an existing procedure, or writing escalation paths for when things go wrong.
Also in 3 projects that use this
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.

