architecture-decision-records · spencerpauly — Claude Code skill: ADRs and setup
Turn a technical choice into an Architecture Decision Record with its context, alternatives, rationale, and consequences. Useful when a decision is hard to reverse or affects several parts of a system.
npx skills add spencerpauly/awesome-cursor-skills --skill architecture-decision-records -a claude-codeWhat architecture-decision-records does
This skill guides an agent through recording significant technical choices as Architecture Decision Records. An ADR sets out the problem and constraints, weighs the available options, explains the selected path, and notes its consequences. The record gives future maintainers the reasoning behind a choice, not just its outcome.
The suggested locations are docs/decisions/ and adr/, with files numbered in sequence. The template has sections for status, date, context, options, decision, and consequences. The workflow also calls for team review and, where relevant, a code comment pointing to the ADR. These records capture decisions; they are not full design documents.
The examples cover choices such as a database, framework, authentication approach, API structure, or build tool. The guidance recommends keeping an ADR to 1–2 pages. When a later record replaces an earlier one, link the old record to its successor rather than deleting it.
What it helps with
- record why a database was selected
- weigh alternatives before adopting a framework
- document the effects of changing an authentication strategy
- link a technical decision from a code comment
Example prompts for the agent
- Write an ADR for our database choice and save it under
docs/decisions/. - Compare options for changing the authentication strategy, then record the context and consequences.
- Draft a numbered ADR about restructuring the API.
How to install architecture-decision-records
1Skills CLI (Vercel)
npx skills add spencerpauly/awesome-cursor-skills --skill architecture-decision-records -a claude-code2Manually: 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 spencerpauly/awesome-cursor-skills --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 spencerpauly/awesome-cursor-skills --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 spencerpauly/awesome-cursor-skills architecture-decision-records2Manually: put the files in place
.github/skills/architecture-decision-records/SKILL.md1Skills CLI (Vercel)
npx skills add spencerpauly/awesome-cursor-skills --skill architecture-decision-records -a gemini-cli2Platform CLI
gemini skills install https://github.com/spencerpauly/awesome-cursor-skills --path resources/architecture-decision-recordsManually: put the files in place
.devin/skills/architecture-decision-records/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add spencerpauly/awesome-cursor-skills --skill architecture-decision-records -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about architecture-decision-records
How do I install architecture-decision-records in Claude Code?
Run npx skills add spencerpauly/awesome-cursor-skills --skill architecture-decision-records -a claude-code. The skill file is at ~/.claude/skills/architecture-decision-records/SKILL.md.
What does architecture-decision-records do?
It guides the agent in documenting a technical decision, including the situation, alternatives, rationale, and consequences.
Where should I keep ADR files, and what goes in the template?
The suggested directories are docs/decisions/ and adr/, with sequential filenames. The template covers status, date, context, options, the decision, and its consequences.
Source text
SKILL.md · CC0-1.0
---
name: architecture-decision-records
description: Document technical decisions as Architecture Decision Records (ADRs) with context, options considered, and rationale.
user-invocable: true
---
# Architecture Decision Records
Document significant technical decisions so future you (and your team) understands why choices were made.
## When to Write an ADR
Write one when you're making a decision that:
- Is hard to reverse later
- Affects multiple parts of the system
- Involves tradeoffs between valid options
- Will be questioned by someone in 6 months
Examples: choosing a database, adopting a framework, changing auth strategy, restructuring the API, adding a build tool.
## Template
Create files in `docs/decisions/` (or `adr/`) with sequential numbering:
```markdown
# ADR-001: Use PostgreSQL for primary database
## Status
Accepted | Proposed | Deprecated | Superseded by ADR-XXX
## Date
2026-04-10
## Context
What is the problem or situation that requires a decision?
Include constraints, requirements, and forces at play.
## Options Considered
### Option A: PostgreSQL
- Pros: ACID compliance, JSON support, mature ecosystem, free
- Cons: Requires managing connections, vertical scaling limits
### Option B: MongoDB
- Pros: Flexible schema, horizontal scaling
- Cons: No transactions across collections, eventual consistency issues
### Option C: PlanetScale (MySQL)
- Pros: Serverless, branching, managed
- Cons: Vendor lock-in, no foreign keys in their branching model
## Decision
We chose **PostgreSQL** because:
1. Our data is relational — users, teams, projects with clear relationships
2. We need ACID transactions for billing operations
3. JSON columns give us schema flexibility where needed
4. Prisma/Drizzle have excellent Postgres support
## Consequences
- We need to manage connection pooling (use PgBouncer or Prisma's built-in pool)
- Migrations must be backwards-compatible for zero-downtime deploys
- We accept vertical scaling limits and will shard later if needed
```
## Workflow
1. **Identify** the decision being made
2. **Research** the options (at least 2-3 alternatives)
3. **Write** the ADR using the template
4. **Review** with the team (PR or discussion)
5. **Merge** as accepted
6. **Reference** from code comments when relevant: `// See ADR-001`
## File Naming
```
docs/decisions/
├── 001-use-postgresql.md
├── 002-adopt-trpc-over-rest.md
├── 003-switch-to-pnpm.md
└── template.md
```
## Tips
- Keep ADRs short — 1-2 pages max
- Write them in the present tense ("We choose X" not "We chose X")
- It's OK to write an ADR after the fact if you forgot to write one during the decision
- Superseded ADRs should link to their replacement, not be deleted
- ADRs are not design docs — they capture the decision, not the full design
© spencerpauly · CC0-1.0 · spencerpauly/awesome-cursor-skills
Similar skills
SKILL.md skills catalog →architecture-decision-records by other authors comes first.