Architecture Decision Record (ADR) Skill

Create an Architecture Decision Record (ADR) for any technical decision.

Architecture Decision Record (ADR) Skill — The Skill Playground: pick the Executive Update skill, fill in a few notes, hit run, and watch a structured executive… (from the mohitagw15856/pm-claude-skills README)

From the mohitagw15856/pm-claude-skills README — shows the whole collection, not only this skill. · view on GitHub

How to use it

Claude Code
  1. Run the line below. It pulls the whole folder into ~/.claude/skills/architecture-decision-record.
  2. Describe your job in plain words. Claude Code follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit mohitagw15856/pm-claude-skills/skills/architecture-decision-record#main ~/.claude/skills/architecture-decision-record

For one project only, change the path to .claude/skills/architecture-decision-record.

Claude (web or desktop app)
  1. On this page open ⋯ → Download .md.
  2. Save it as SKILL.md in a folder, zip the folder, then Customize → Skills → + → Create skill → Upload a skill.
  3. Pick the file and Save. Claude shows the name and description and runs a security scan.
  4. Check the skill is switched on.
  5. Start a new chat and describe your job in plain words. The AI follows the skill from there.
ChatGPT or another app
  1. ChatGPT: make a Project and paste it into Instructions.
  2. Neither? Paste it at the top of a new chat — it works for that chat.
Not working?
  • Check which app you pasted it into — the steps above name the right one.
  • Some skills need the paid tier of Claude or ChatGPT.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Source of Architecture Decision Record (ADR) Skill

Show the full text146 lines
namedescription
architecture-decision-recordCreate an Architecture Decision Record (ADR) for any technical decision. Use when asked to document a technical decision, write an ADR, record an architecture choice, or capture why a technology or approach was selected. Produces a structured ADR with context, decision, consequences, and tradeoffs.

Architecture Decision Record (ADR) Skill

This skill produces a complete Architecture Decision Record (ADR) following the Nygard format — the most widely adopted standard. ADRs document the reasoning behind significant technical decisions so future team members understand not just what was decided, but why.

Required Inputs

Ask the user for these if not provided:

  • ADR number (sequential number in your ADR registry — e.g. 012; or "next available" if unknown)
  • Decision title (brief, e.g. "Use PostgreSQL as primary datastore")
  • Context (what situation led to this decision needing to be made?)
  • Options considered (at least 2; if only 1 is given, prompt for alternatives that were considered or ruled out)
  • Decision made (which option was chosen)
  • Reason for choice
  • Status (Proposed / Accepted / Deprecated / Superseded)
  • Author and date
  • Team context (optional — team size, relevant experience, org constraints; helps calibrate formality and depth of the Context section)

Output Format


ADR-[NNN]: [Decision Title]

Date: [YYYY-MM-DD] Status: [Proposed / Accepted / Deprecated / Superseded by ADR-NNN] Author(s): [Name(s)] Deciders: [Who had final say — individual or team]


Context

[3–6 sentences. Describe the situation, constraints, and forces at play that made this decision necessary. Include: the problem being solved, relevant system state, team constraints, timeline pressures, or non-negotiable requirements. Write as if explaining to someone joining the team 18 months from now who has no prior context.]

Key constraints:

  • [Constraint 1: e.g. "Must be deployable on-premise for enterprise customers"]
  • [Constraint 2: e.g. "Team has no prior Go experience"]
  • [Add as many as are relevant]

Options Considered

For each option, produce:

Option [N]: [Name]

Description: [What this option is — 1–3 sentences]

Pros:

  • [Pro 1]
  • [Pro 2]

Cons:

  • [Con 1]
  • [Con 2]

Why this was ruled out (if not chosen): [Honest reason]


Decision

We will [chosen option].

[2–4 sentences explaining the decision in plain language. This should be readable in isolation — someone should understand the decision from this paragraph alone without reading the full document.]


Consequences

Positive Consequences
  • [What this decision enables or improves]
  • [What risk it mitigates]
Negative Consequences / Accepted Tradeoffs
  • [What we're giving up or taking on as a result of this decision]
  • [Technical debt or limitations introduced]
  • [What must now be true for this decision to remain valid]
Risks
  • [What could cause this decision to be wrong in hindsight]
  • [What would trigger us to revisit this decision]

Implementation Notes

[Include if the decision has non-obvious implementation gotchas, or if there are related tickets/RFCs implementers will need. Skip only if the decision is purely tooling selection with no implementation ambiguity.]


Review Date

[Include unless the decision is permanent or self-evidently final. State a specific trigger condition — e.g. "Review if team grows beyond 20 engineers or traffic exceeds 10M requests/day" — not just "should be reviewed periodically".]


Deeper Materials

This skill ships with support files — use them when they are available:

  • references/decision-scoping.md — What Deserves an ADR (and What "Context" Must Contain). Apply it while producing the output; it carries the calibration and judgment calls the method summary above compresses.
  • templates/adr.md — a fill-in version of the deliverable with the quality gates inline. Offer it when the user wants to work the document themselves rather than have it generated.

Scoring Rubric (0–40)

Score any output of this skill before handing it over; 32+ is ship-quality.

Dimension 0 5 10
Context reconstruction Assumes the reader already knows the problem and the pressures Problem stated, but the forces (team constraints, scale, deadline, forcing event) are missing A reader two years later could guess the decision from the Context section alone
Options honesty Only the chosen option, or rejected options written as strawmen ≥2 options, but rejection reasons are circular ("didn't meet requirements") Every rejected option has genuine strengths and a specific losing constraint tied to a context pressure
Consequence balance All consequences are positive Token negatives with no operational specifics Negatives name real debts, new operational burdens, and what must stay true for the decision to hold
Revisit triggers No risks or review conditions stated "Review periodically" — no measurable condition Specific, measurable trigger conditions that would invalidate the decision, with an owner

Quality Checks

  • Context explains the why — not just the what
  • At least 2 options are documented (including the rejected ones)
  • Rejected options include honest reasons for rejection
  • Consequences include negative consequences — no decision is consequence-free
  • Decision is stated in plain language in the Decision section
  • Risks section identifies what would invalidate this decision
  • Context section states the problem explicitly in its first 1–2 sentences (does not assume the reader knows what problem the team was solving)
  • Each rejected option's "Why ruled out" explanation names a specific constraint or trade-off (not a circular statement like "didn't meet our requirements")

Anti-Patterns

  • Do not write an ADR after the decision has already been fully implemented and the team has moved on — ADRs written retrospectively often omit the real reasons and alternatives
  • Do not list only the chosen option — rejected options with honest reasons are the most valuable part of an ADR for future readers
  • Do not write consequences that are all positive — every architectural decision involves trade-offs; an ADR with no negative consequences was not scrutinised honestly
  • Do not leave the status as "Proposed" indefinitely — an ADR that no one has approved is not guiding anyone's decisions
  • Do not write context that assumes the reader already knows what problem was being solved — the context section exists precisely for readers who lack that background

Usage Examples

  • "Write an ADR for using [technology]"
  • "Document our decision to [architectural choice]"
  • "Create an architecture decision record for [topic]"
  • "Help me write up why we chose [option] over [alternative]"
1---
2name: architecture-decision-record
3description: "Create an Architecture Decision Record (ADR) for any technical decision. Use when asked to document a technical decision, write an ADR, record an architecture choice, or capture why a technology or approach was selected. Produces a structured ADR with context, decision, consequences, and tradeoffs."
4---
5 
6# Architecture Decision Record (ADR) Skill
7 
8This skill produces a complete Architecture Decision Record (ADR) following the Nygard format — the most widely adopted standard. ADRs document the reasoning behind significant technical decisions so future team members understand not just *what* was decided, but *why*.
9 
10## Required Inputs
11 
12Ask the user for these if not provided:
13- **ADR number** (sequential number in your ADR registry — e.g. 012; or "next available" if unknown)
14- **Decision title** (brief, e.g. "Use PostgreSQL as primary datastore")
15- **Context** (what situation led to this decision needing to be made?)
16- **Options considered** (at least 2; if only 1 is given, prompt for alternatives that were considered or ruled out)
17- **Decision made** (which option was chosen)
18- **Reason for choice**
19- **Status** (Proposed / Accepted / Deprecated / Superseded)
20- **Author and date**
21- **Team context** (optional — team size, relevant experience, org constraints; helps calibrate formality and depth of the Context section)
22 
23## Output Format
24 
25---
26 
27# ADR-[NNN]: [Decision Title]
28 
29**Date:** [YYYY-MM-DD]
30**Status:** [Proposed / Accepted / Deprecated / Superseded by ADR-NNN]
31**Author(s):** [Name(s)]
32**Deciders:** [Who had final say — individual or team]
33 
34---
35 
36## Context
37 
38[3–6 sentences. Describe the situation, constraints, and forces at play that made this decision necessary. Include: the problem being solved, relevant system state, team constraints, timeline pressures, or non-negotiable requirements. Write as if explaining to someone joining the team 18 months from now who has no prior context.]
39 
40**Key constraints:**
41- [Constraint 1: e.g. "Must be deployable on-premise for enterprise customers"]
42- [Constraint 2: e.g. "Team has no prior Go experience"]
43- [Add as many as are relevant]
44 
45---
46 
47## Options Considered
48 
49For each option, produce:
50 
51### Option [N]: [Name]
52 
53**Description:** [What this option is — 1–3 sentences]
54 
55**Pros:**
56- [Pro 1]
57- [Pro 2]
58 
59**Cons:**
60- [Con 1]
61- [Con 2]
62 
63**Why this was ruled out (if not chosen):** [Honest reason]
64 
65---
66 
67## Decision
68 
69**We will [chosen option].**
70 
71[2–4 sentences explaining the decision in plain language. This should be readable in isolation — someone should understand the decision from this paragraph alone without reading the full document.]
72 
73---
74 
75## Consequences
76 
77### Positive Consequences
78- [What this decision enables or improves]
79- [What risk it mitigates]
80 
81### Negative Consequences / Accepted Tradeoffs
82- [What we're giving up or taking on as a result of this decision]
83- [Technical debt or limitations introduced]
84- [What must now be true for this decision to remain valid]
85 
86### Risks
87- [What could cause this decision to be wrong in hindsight]
88- [What would trigger us to revisit this decision]
89 
90---
91 
92## Implementation Notes
93 
94[Include if the decision has non-obvious implementation gotchas, or if there are related tickets/RFCs implementers will need. Skip only if the decision is purely tooling selection with no implementation ambiguity.]
95 
96---
97 
98## Review Date
99 
100[Include unless the decision is permanent or self-evidently final. State a specific trigger condition — e.g. "Review if team grows beyond 20 engineers or traffic exceeds 10M requests/day" — not just "should be reviewed periodically".]
101 
102---
103 
104## Deeper Materials
105 
106This skill ships with support files — use them when they are available:
107 
108- **`references/decision-scoping.md`** — What Deserves an ADR (and What "Context" Must Contain). Apply it while producing the output; it carries the calibration and judgment calls the method summary above compresses.
109- **`templates/adr.md`** — a fill-in version of the deliverable with the quality gates inline. Offer it when the user wants to work the document themselves rather than have it generated.
110 
111## Scoring Rubric (0–40)
112 
113Score any output of this skill before handing it over; 32+ is ship-quality.
114 
115| Dimension | 0 | 5 | 10 |
116|---|---|---|---|
117| **Context reconstruction** | Assumes the reader already knows the problem and the pressures | Problem stated, but the forces (team constraints, scale, deadline, forcing event) are missing | A reader two years later could guess the decision from the Context section alone |
118| **Options honesty** | Only the chosen option, or rejected options written as strawmen | ≥2 options, but rejection reasons are circular ("didn't meet requirements") | Every rejected option has genuine strengths and a specific losing constraint tied to a context pressure |
119| **Consequence balance** | All consequences are positive | Token negatives with no operational specifics | Negatives name real debts, new operational burdens, and what must stay true for the decision to hold |
120| **Revisit triggers** | No risks or review conditions stated | "Review periodically" — no measurable condition | Specific, measurable trigger conditions that would invalidate the decision, with an owner |
121 
122## Quality Checks
123 
124- [ ] Context explains the *why* — not just the *what*
125- [ ] At least 2 options are documented (including the rejected ones)
126- [ ] Rejected options include honest reasons for rejection
127- [ ] Consequences include *negative* consequences — no decision is consequence-free
128- [ ] Decision is stated in plain language in the Decision section
129- [ ] Risks section identifies what would invalidate this decision
130- [ ] Context section states the problem explicitly in its first 1–2 sentences (does not assume the reader knows what problem the team was solving)
131- [ ] Each rejected option's "Why ruled out" explanation names a specific constraint or trade-off (not a circular statement like "didn't meet our requirements")
132 
133## Anti-Patterns
134 
135- [ ] Do not write an ADR after the decision has already been fully implemented and the team has moved on — ADRs written retrospectively often omit the real reasons and alternatives
136- [ ] Do not list only the chosen option — rejected options with honest reasons are the most valuable part of an ADR for future readers
137- [ ] Do not write consequences that are all positive — every architectural decision involves trade-offs; an ADR with no negative consequences was not scrutinised honestly
138- [ ] Do not leave the status as "Proposed" indefinitely — an ADR that no one has approved is not guiding anyone's decisions
139- [ ] Do not write context that assumes the reader already knows what problem was being solved — the context section exists precisely for readers who lack that background
140 
141## Usage Examples
142- "Write an ADR for using [technology]"
143- "Document our decision to [architectural choice]"
144- "Create an architecture decision record for [topic]"
145- "Help me write up why we chose [option] over [alternative]"
146 

Discussion

Alternatives

Also in Decision checksSee all 277 in Product →