From adr
Write an Architecture Decision Record (ADR), advise on ADR-worthiness, or update an existing ADR's status (accept, supersede, deprecate). Use when the user says "write an ADR", "is this ADR-worthy?", "mark ADR NNNN superseded", or is making a choice affecting structure, dependencies, interfaces, or construction techniques.
How this skill is triggered — by the user, by Claude, or both
Slash command
/adr:adrThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
An Architecture Decision Record captures **why** a significant decision was made, in the context it was made in. This skill helps author ADRs that are useful to a future reader (often future-them) trying to answer: *Was this a conscious decision? Why is it this way? Can it change?*
An Architecture Decision Record captures why a significant decision was made, in the context it was made in. This skill helps author ADRs that are useful to a future reader (often future-them) trying to answer: Was this a conscious decision? Why is it this way? Can it change?
Only for architecturally significant decisions — ones that affect the structure, non-functional characteristics, dependencies, interfaces, or construction techniques of the system. Not every decision.
Good candidates:
Not ADR-worthy (don't write one):
If the user asks for an ADR on something that isn't architecturally significant, push back gently: "This looks more like an implementation detail than an architecture decision — want me to write it anyway, or drop a comment in the code instead?"
Sometimes the user isn't asking for a draft — they're asking whether a decision is ADR-worthy in the first place ("Is this ADR-worthy?", "Should we write an ADR for the auth switch?"). Handle these directly instead of jumping to drafting:
Advisory mode shares the criteria with the drafting path — don't restate them, point back to them. If the user follows up with "okay, write it," drop into the normal drafting process.
Default locations, in order of preference:
docs/adr/ (most common)doc/adr/architecture/decisions/Always check the repo for an existing ADR directory before assuming a path. Use Glob for **/adr/*.md or **/decisions/*.md.
ADRs are numbered sequentially with a 4-digit zero-padded prefix: 0001-, 0002-, etc.
To pick the next number:
Gotcha: duplicate numbers happen when branches are merged out of order. If you find two files with the same number already in the tree, note it to the user but don't try to renumber — renumbering breaks inbound links. Just use the next unused number.
NNNN-kebab-case-title.md — short, descriptive, derived from the title. Keep it under ~60 characters. Strip articles (a, the), drop punctuation, lowercase.
Examples:
0008-tour-data-sync.md0015-inventory-calculation-modes.md0018-product-stats-date-filter-route-date.mdMatch the style of existing ADRs in the repo if any exist — read one or two first to pick up conventions (heading level for the title, date format, status vocabulary, whether pros/cons are bulleted or prose). The template below is the minimal Nygard-style baseline; conform to the house style when there is one.
# ADR NNNN: Title in Title Case
**Date:** YYYY-MM-DD
**Status:** Proposed | Accepted | Superseded by ADR NNNN | Deprecated
## Context
What is the situation that forced this decision? What constraints, prior
decisions, incidents, or requirements apply? What options were considered?
Why did a decision need to be made at all?
Be specific. A reader who has never seen this system should understand
*why you were in the position of needing to decide something*.
## Decision
What did you decide? State it plainly and specifically. Name the thing.
If it's a technical choice, name the version, the library, the pattern.
Avoid hedging language — "we will use X" not "we might consider X".
Unless the decision is very clear with no significant trade-offs, include
an `### Options` subsection listing the alternatives considered, with pros
and cons for each. No more than 3 options.
## Consequences
What does this make easier, harder, or impossible? Separate positive,
neutral, and negative consequences so the trade-offs are visible.
- **Positive:** ...
- **Neutral:** ...
- **Negative:** ...
A decision with no negative consequences is suspicious — keep looking.
If one of the negatives turns out to be unacceptable, that's a signal
to revisit the decision before writing the ADR.
Optional sections, only when they carry weight:
## Schema changes — migrations, index additions, column changes## Alternatives considered — when the road not taken is itself instructive## References — links to prior ADRs, external docs, incident reports, PRsWhen invoked:
Proposed. Fill every section with real content — don't leave placeholders. If you don't know something, ask the user before drafting rather than guessing. Only use Accepted for decisions that are already in use or being backfilled historically.adr-refine skill on the file you just wrote. The draft is not done until it has survived a critique pass. Do not move on to implementation work between steps 7 and 8 — refinement comes first.Write the ADR as a conversation with a future developer. Use full sentences organized into paragraphs. Bullets are acceptable for visual style — or when explicitly called for, such as pros/cons or consequences — not as an excuse for writing sentence fragments.
The ADR's job is to help a future reader who has only the code and the ADR. Write accordingly:
[ADR 0011](0011-date-range-picker.md).If the user asks to document a decision that was already made:
Accepted if the decision is still in force, Superseded if not.An ADR moves through states:
Only flip Proposed → Accepted once the implementation has validated the decision. Don't accept prematurely just to mark the document "done" — that forfeits the ability to fix the ADR based on what implementation teaches you.
Once an ADR is Accepted, it is effectively immutable. The only edits permitted are:
**Status:** Deprecated (see ADR 23)**Status:** Superseded (see ADR 13)**Status:** Accepted — broadcast mechanism superseded by ADR 0021Anything beyond these belongs in a new ADR, not an edit to the existing one.
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
npx claudepluginhub beflagrant/skills-marketplace --plugin adr