architecture-decision-records

Comprehensive patterns for creating, maintaining, and managing Architecture Decision Records (ADRs) that capture the context and rationale behind significant technical decisions.

By sickn33 · 852 installs

npx skills add sickn33/agentic-awesome-skills --skill architecture-decision-records

Source repository · Upstream listing

Architecture Decision Records Comprehensive patterns for creating, maintaining, and managing Architecture Decision Records (ADRs) that capture the context and rationale behind significant technical decisions. Use this skill when Making significant architectural decisions Documenting technology choices Recording design trade offs Onboarding new team members Reviewing historical decisions Establishing decision making processes Do not use this skill when You only need to document small implementation details The change is a minor patch or routine maintenance There is no architectural decision to capture Instructions 1. Capture the decision context, constraints, and drivers. 2. Document considered options with tradeoffs. 3. Record the decision, rationale, and consequences. 4. Link related ADRs and update status over time. Core Concepts 1. What is an ADR? An Architecture Decision Record captures: Context : Why we needed to make a decision Decision : What we decided Consequences : What happens as a result 2. When to Write an ADR Write ADR Skip ADR New framework adoption Minor version upgrades Database technology choice Bug fixes API design patterns Implementation details Security architecture Routine maintenance Integration patterns Configuration changes 3. ADR Lifecycle Templates Template 1: Standard ADR (MADR Format) Template 2: Lightweight ADR Template 3: Y Statement Format Template 4: ADR for Deprecation Template 5: Request for Comments (RFC) Style OrderCreated { orderId, customerId, items[], timestamp } OrderItemAdded { orderId, item, timestamp } OrderItemRemoved { orderId, itemId, timestamp } PaymentReceived { orderId, amount, paymentId, timestamp } OrderShipped { orderId, trackingNumber, timestamp } ADR Management Directory Structure ADR Index (README.md) Automation (adr tools) Review Process Best Practices Do's Write ADRs early Before implementation starts Keep them short 1 2 pages maximum Be honest about trade offs Include real cons Link related decisions Build decision graph Update status Deprecate when superseded Don'ts Don't change accepted ADRs Write new ones to supersede Don't skip context Future readers need background Don't hide failures Rejected decisions are valuable Don't be vague Specific decisions, specific consequences Don't forget implementation ADR without action is waste Resources [Documenting Architecture Decisions (Michael Nygard)](https://cognitect.com/blog/2011/11/15/documenting architecture decisions) [MADR Template](https://adr.github.io/madr/) [ADR GitHub Organization](https://adr.github.io/) [adr tools](https://github.com/npryce/adr tools) Limitations Use this skill only when the task clearly matches the scope described above. Do not treat the output as a substitute for environment specific validation, testing, or expert review. Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.