Creates Architecture Decision Records (ADRs) with title, status, and MADR/basic/extended templates. Auto-numbers sequentially, prompts for context/options/rationale, writes to docs/decisions/ or docs/adr/.
npx claudepluginhub melodic-software/claude-code-plugins --plugin documentation-standardsThis skill is limited to using the following tools:
Create a new ADR documenting a significant technical decision.
Generates Architectural Decision Records (ADRs) in MADR, Nygard, Alexandrian, or project formats. Researches directory for conventions, gathers context, numbers sequentially, validates, and saves. Use for documenting technical decisions.
Interactively create an architecture decision record (ADR) guiding through context gathering, options analysis, and consequence documentation for tech choices and design decisions.
Share bugs, ideas, or general feedback.
Create a new ADR documenting a significant technical decision.
Extract from user input:
proposed, accepted, deprecated, superseded (default: proposed)basic (Nygard), madr, or extended (default: madr)Find existing ADRs in the project:
Look in: docs/decisions/, docs/adr/
Pattern: ADR-*.md, [0-9][0-9][0-9][0-9]-*.md
Calculate next number:
If context is not provided, prompt for or infer:
enterprise-architecture:adr-management skill for templates and guidancetemplate argumentDetermine file location based on project conventions:
Priority order:
1. docs/decisions/ADR-{number}-{slug}.md (if docs/decisions/ exists)
2. docs/adr/ADR-{number}-{slug}.md (if docs/adr/ exists)
4. docs/decisions/ADR-{number}-{slug}.md (create directory)
Slug format: lowercase, hyphens, from title
Example: "Use PostgreSQL" → ADR-001-use-postgresql.md
If an ADR index/registry exists, add entry:
# ADR-{NUMBER}: {TITLE}
## Status
{STATUS}
## Context
[What is the issue that we're seeing that is motivating this decision?]
## Decision
[What is the change that we're proposing and/or doing?]
## Consequences
[What becomes easier or more difficult to do because of this change?]
# ADR-{NUMBER}: {TITLE}
## Status
{STATUS}
Date: {YYYY-MM-DD}
## Context and Problem Statement
[Describe the context and problem statement]
## Decision Drivers
* [Driver 1]
* [Driver 2]
## Considered Options
1. [Option 1]
2. [Option 2]
3. [Option 3]
## Decision Outcome
**Chosen option:** "[Option X]", because [justification].
### Consequences
**Good:**
* [Positive consequence]
**Bad:**
* [Negative consequence]
## Pros and Cons of Options
### [Option 1]
* Good, because [argument]
* Bad, because [argument]
### [Option 2]
* Good, because [argument]
* Bad, because [argument]
Include additional sections:
/create-adr "Use PostgreSQL for primary database"
→ Creates ADR-XXX-use-postgresql.md with MADR template, status=proposed
/create-adr "Switch to event sourcing" status=accepted template=extended
→ Creates ADR-XXX-switch-to-event-sourcing.md with extended template
/create-adr "Deprecate REST API v1" status=deprecated
→ Creates ADR-XXX-deprecate-rest-api-v1.md marking v1 as deprecated
After creating the ADR, remind user to:
[brackets]Generated ADR must: