architecture-decision-records · wshobson — Claude Code skill: ADRs and setup
Create and maintain Architecture Decision Records that capture a decision's context, choice, and consequences. Useful when a team needs a record of why its architecture changed.
/plugin marketplace add wshobson/agents
/plugin install documentation-generation@claude-code-workflowsWhat architecture-decision-records does
The skill helps decide when an ADR is warranted and how to document a significant technical choice. Each record captures context, the decision, and its consequences. Examples include adopting a framework, choosing a database, and setting security architecture; bug fixes and routine version upgrades are listed as cases to skip.
The material covers a docs/adr/ directory, an index, decision statuses, and a review checklist. It also points to templates and describes using adr-tools to create records, link related decisions, and generate a table of contents. Check that the referenced templates are available before drafting. Install this skill if your team needs to preserve the reasoning behind architectural choices; it adds little for routine code changes.
What it helps with
- record why the team chose a database
- document trade-offs in a framework adoption
- link a new decision to related ADRs
- review an ADR before submission
- mark a decision that has been replaced
Example prompts for the agent
- Draft an ADR for choosing PostgreSQL, including the context, decision, and consequences.
- Review this ADR against the checklist and point out undocumented trade-offs.
- Create an ADR that supersedes decision 3, then update the index.
How to install architecture-decision-records
1Plugin marketplace
/plugin marketplace add wshobson/agents/plugin install documentation-generation@claude-code-workflowsThis installs the whole documentation-generation plugin with all its skills
2Skills CLI (Vercel)
npx skills add wshobson/agents --skill architecture-decision-records -a claude-code3Manually: put the files in place
~/.claude/skills/architecture-decision-records/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/architecture-decision-records/
1Skills CLI (Vercel)
npx skills add wshobson/agents --skill architecture-decision-records -a codex2Manually: put the files in place
.agents/skills/architecture-decision-records/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add wshobson/agents --skill architecture-decision-records -a cursor2Manually: put the files in place
.cursor/skills/architecture-decision-records/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install wshobson/agents architecture-decision-records2Manually: put the files in place
.github/skills/architecture-decision-records/SKILL.mdPlatform CLI
gemini skills install https://github.com/wshobson/agents --path plugins/documentation-generation/skills/architecture-decision-recordsManually: put the files in place
.devin/skills/architecture-decision-records/SKILL.mdThe legacy .windsurf/skills/ path still works
Claude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set213
The whole set →Other versions of architecture-decision-records
Similar
Questions about architecture-decision-records
How do I install architecture-decision-records in Claude Code?
Run npx skills add wshobson/agents --skill architecture-decision-records -a claude-code. The input also lists /plugin marketplace add wshobson/agents and /plugin install documentation-generation@claude-code-workflows for marketplace installation.
What does architecture-decision-records do?
It helps create and maintain ADRs that record context, decisions, and consequences. It also covers lifecycle statuses and review.
When should I write an ADR?
Use one for significant choices such as adopting a framework, selecting a database, or setting security architecture. The examples say to skip ADRs for bug fixes and routine version upgrades.
Source text
SKILL.md · MIT
---
name: architecture-decision-records
description: Write and maintain Architecture Decision Records (ADRs) following best practices for technical decision documentation. Use when documenting significant technical decisions, reviewing past architectural choices, or establishing decision processes.
---
# Architecture Decision Records
Comprehensive patterns for creating, maintaining, and managing Architecture Decision Records (ADRs) that capture the context and rationale behind significant technical decisions.
## When to Use This Skill
- Making significant architectural decisions
- Documenting technology choices
- Recording design trade-offs
- Onboarding new team members
- Reviewing historical decisions
- Establishing decision-making processes
## Core Concepts
### 1. What is an ADR?
An Architecture Decision Record captures:
- **Context**: Why we needed to make a decision
- **Decision**: What we decided
- **Consequences**: What happens as a result
### 2. When to Write an ADR
| Write ADR | Skip ADR |
| -------------------------- | ---------------------- |
| New framework adoption | Minor version upgrades |
| Database technology choice | Bug fixes |
| API design patterns | Implementation details |
| Security architecture | Routine maintenance |
| Integration patterns | Configuration changes |
### 3. ADR Lifecycle
```
Proposed → Accepted → Deprecated → Superseded
↓
Rejected
```
Before drafting a standard, lightweight, or Y-statement ADR, read [decision templates](references/decision-templates.md).
Before drafting a deprecation ADR or RFC, read [deprecation and RFC templates](references/deprecation-rfc-templates.md).
## ADR Management
### Directory Structure
```
docs/
├── adr/
│ ├── README.md # Index and guidelines
│ ├── template.md # Team's ADR template
│ ├── 0001-use-postgresql.md
│ ├── 0002-caching-strategy.md
│ ├── 0003-mongodb-user-profiles.md # [DEPRECATED]
│ └── 0020-deprecate-mongodb.md # Supersedes 0003
```
### ADR Index (README.md)
```markdown
# Architecture Decision Records
This directory contains Architecture Decision Records (ADRs) for [Project Name].
## Index
| ADR | Title | Status | Date |
| ------------------------------------- | ---------------------------------- | ---------- | ---------- |
| [0001](0001-use-postgresql.md) | Use PostgreSQL as Primary Database | Accepted | 2024-01-10 |
| [0002](0002-caching-strategy.md) | Caching Strategy with Redis | Accepted | 2024-01-12 |
| [0003](0003-mongodb-user-profiles.md) | MongoDB for User Profiles | Deprecated | 2023-06-15 |
| [0020](0020-deprecate-mongodb.md) | Deprecate MongoDB | Accepted | 2024-01-15 |
## Creating a New ADR
1. Copy `template.md` to `NNNN-title-with-dashes.md`
2. Fill in the template
3. Submit PR for review
4. Update this index after approval
## ADR Status
- **Proposed**: Under discussion
- **Accepted**: Decision made, implementing
- **Deprecated**: No longer relevant
- **Superseded**: Replaced by another ADR
- **Rejected**: Considered but not adopted
```
### Automation (adr-tools)
```bash
# Install adr-tools
brew install adr-tools
# Initialize ADR directory
adr init docs/adr
# Create new ADR
adr new "Use PostgreSQL as Primary Database"
# Supersede an ADR
adr new -s 3 "Deprecate MongoDB in Favor of PostgreSQL"
# Generate table of contents (to a separate file, so the hand-written
# index and guidelines in README.md are not overwritten)
adr generate toc > docs/adr/toc.md
# Link related ADRs
adr link 2 "Complements" 1 "Is complemented by"
```
## Review Process
```markdown
## ADR Review Checklist
### Before Submission
- [ ] Context clearly explains the problem
- [ ] All viable options considered
- [ ] Pros/cons balanced and honest
- [ ] Consequences (positive and negative) documented
- [ ] Related ADRs linked
### During Review
- [ ] At least 2 senior engineers reviewed
- [ ] Affected teams consulted
- [ ] Security implications considered
- [ ] Cost implications documented
- [ ] Reversibility assessed
### After Acceptance
- [ ] ADR index updated
- [ ] Team notified
- [ ] Implementation tickets created
- [ ] Related documentation updated
```
## Best Practices
### Do's
- **Write ADRs early** - Before implementation starts
- **Keep them short** - 1-2 pages maximum
- **Be honest about trade-offs** - Include real cons
- **Link related decisions** - Build decision graph
- **Update status** - Deprecate when superseded
### Don'ts
- **Don't change accepted ADRs** - Write new ones to supersede
- **Don't skip context** - Future readers need background
- **Don't hide failures** - Rejected decisions are valuable
- **Don't be vague** - Specific decisions, specific consequences
- **Don't forget implementation** - ADR without action is waste
© Seth Hobson · MIT · wshobson/agents