plugins/documentation-standards/skills/create-adr/SKILL.md
Create a new Architecture Decision Record. Use when documenting significant technical decisions with context, options, and rationale.
npx skillsauth add melodic-software/claude-code-plugins create-adrInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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:
development
Search Milan Jovanovic's .NET blog for Clean Architecture, DDD, CQRS, EF Core, and ASP.NET Core patterns. Use for finding applicable patterns, code examples, and architecture guidance. Invoke when working with .NET projects that could benefit from proven architectural patterns.
tools
Install and configure Data API Builder (DAB) for production SQL Server MCP access with RBAC
tools
Manage MssqlMcp servers - status, rebuild, and upstream updates
tools
Developer environment setup guides for Windows, macOS, Linux, and WSL. Use when setting up development machines, installing tools, configuring environments, or following platform-specific setup guides. Covers package management, shell/terminal, code editors, AI tooling, containerization, databases, and more.