adr

Records architecture decisions as numbered, append-only markdown ADR files in a repository.

1|1|Updated Jul 6, 2026
One-click install
npx skills add https://github.com/muhammaddadu/ai-skill-collection --skill adr-muhammaddadu
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: adr
Source: https://github.com/muhammaddadu/ai-skill-collection/tree/main/2-discovery/adr
Command: npx skills add https://github.com/muhammaddadu/ai-skill-collection --skill adr-muhammaddadu

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Engineering teams lose the reasoning behind significant technical choices, causing future developers to relitigate settled decisions or accidentally reverse them. This Skill captures each architecture decision—context, options, choice, and consequences—as a durable, numbered record in the repo. ## Core Features & Use Cases - Append-only ADR log: Creates docs/adr/NNNN-<slug>.md files with a MADR-flavored template (context, decision drivers, options, decision, consequences) plus a README index table. - Convention detection: Adopts an existing ADR directory's numbering, headings, and status vocabulary instead of imposing a new format. - Decision discipline: Applies a three-question litmus test (expensive to undo, cross-cutting, surprising) to decide whether a choice warrants a record, and enforces honest trade-offs for every option. - Use Case: After choosing Postgres over DynamoDB for workflow state, record the decision as ADR-0003 with the rejected options' rationale, so future engineers understand why without reopening the debate. ## Quick Start Use the adr skill to record our decision to adopt event sourcing for the billing service as a new ADR in this repo.

Frequently Asked Questions about adr

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write an architecture decision record?

State the decision as one question, capture the context and ranked decision drivers, list 2-4 real options with honest pros and cons, record the choice with why losers lost, and list consequences including costs. Save it as docs/adr/NNNN-slug.md and add a row to the README index.

When should I create an ADR versus a tech spec?

Create an ADR for a single decision that is hard to reverse, cross-cutting, or surprising. Use a tech spec when exploring a whole system design with many open decisions; the spec then spawns one ADR per significant decision it settles.

What decisions do not deserve an ADR?

Skip ADRs for reversible local choices like variable names, one module's internal structure, or a library a one-line diff could swap. If reversing costs minutes rather than days and affects only one module, a commit message or code comment is enough.

Can I edit or delete an accepted ADR when the decision changes?

No, accepted ADRs are append-only. Write a new ADR explaining what changed and why, mark it as superseding the old one, and update the old ADR's status line to superseded by ADR-NNNN, which is the only edit it ever receives.

Does this work with repos that already have ADRs?

Yes, the workflow first detects existing directories like docs/adr, docs/adrs, or an .adr-dir file and adopts their numbering, filename style, headings, and status vocabulary wholesale rather than imposing a new template.