architecture-decision-records

Write and manage Architecture Decision Records capturing technical decisions, context, and consequences.

1|Updated May 21, 2026
One-click install
npx skills add https://github.com/vnovakovits/claude-skills --skill architecture-decision-records-vnovakovits
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: architecture-decision-records
Source: https://github.com/vnovakovits/claude-skills/tree/main/plugins/engineering-practices/skills/architecture-decision-records
Command: npx skills add https://github.com/vnovakovits/claude-skills --skill architecture-decision-records-vnovakovits

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Teams lose the reasoning behind significant technical decisions as people leave and time passes, leaving future engineers asking "why was it built this way?" with no answer. This Skill applies Michael Nygard's Architecture Decision Records (ADRs) to capture decisions, their context, and their consequences as lightweight, version-controlled Markdown documents. ## Core Features & Use Cases - Nygard's Classic Format: Structures ADRs with Title, Status, Context, Decision, and Consequences fields, plus optional alternatives and stakeholder sections. - Status Lifecycle Management: Guides Proposed, Accepted, Deprecated, and Superseded-by transitions while keeping accepted ADRs immutable to preserve decision history. - Significance Heuristics: Provides concrete rules for when a decision warrants an ADR versus when it does not, plus variants like MADR, Y-Statements, and lightweight ADRs. - Use Case: When choosing PostgreSQL over MySQL for a new service, draft a Proposed ADR in docs/adr/, let the team comment on it, then mark it Accepted so future joiners understand the trade-offs six months later. ## Quick Start Ask Claude to draft an ADR for a significant technical decision you are currently making, including the context, alternatives considered, and honest consequences.

Frequently Asked Questions about architecture-decision-records

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

FAQPage Schema
How do I write an Architecture Decision Record?▼

Write an ADR as a short Markdown file with five fields: a numbered specific title, a Status (Proposed or Accepted), the Context describing forces and constraints, the Decision in active voice, and honest Consequences covering positive, negative, and neutral outcomes. Keep it to one or two pages and store it in the repository, for example under docs/adr/.

When should I write an ADR?▼

Write an ADR for architecturally significant decisions: language, framework, or database choices, architectural style selections, cross-team interface contracts, explicit no-go decisions, and trade-offs that took substantial discussion. Skip ADRs for code-level patterns, easily reversible choices, and anything future readers will not question.

What is the difference between Nygard ADR format and MADR?▼

Nygard's classic format uses minimal fields: Title, Status, Context, Decision, and Consequences. MADR is a more structured variant with explicit Decision Drivers, Considered Options, Decision Outcome, and Pros and Cons sections, which suits decisions with many alternatives but is heavier for simple ones.

Should I edit an accepted ADR when the decision changes?▼

No, accepted ADRs are immutable. When circumstances change, write a new ADR that supersedes the old one, update the original's status to "Superseded by ADR-NNNN", and link the two. Preserving the original record keeps the history of how and why decisions evolved.

Where should ADRs be stored in a project?▼

Store ADRs in the repository alongside the code, typically under docs/adr/, an adr/ root folder, or architecture/decisions/. They should be version-controlled, have stable URLs, be discoverable through a README index, and be linked from PRs and code comments.