Agent Skills: Create Architecture Decision Record

Create a new Architecture Decision Record. Use when documenting significant technical decisions with context, options, and rationale.

UncategorizedID: melodic-software/claude-code-plugins/create-adr

Install this agent skill to your local

pnpm dlx add-skill https://github.com/melodic-software/claude-code-plugins/tree/HEAD/plugins/documentation-standards/skills/create-adr

Skill Files

Browse the full folder contents for create-adr.

Download Skill

Loading file tree…

plugins/documentation-standards/skills/create-adr/SKILL.md

Skill Metadata

Name
create-adr
Description
Create a new Architecture Decision Record. Use when documenting significant technical decisions with context, options, and rationale.

Create Architecture Decision Record

Create a new ADR documenting a significant technical decision.

Process

1. Parse Arguments

Extract from user input:

  • Title: Decision topic (required) - e.g., "Use PostgreSQL for primary database"
  • Status: proposed, accepted, deprecated, superseded (default: proposed)
  • Template: basic (Nygard), madr, or extended (default: madr)

2. Determine ADR Number

  1. Find existing ADRs in the project:

    Look in: docs/decisions/, docs/adr/
    Pattern: ADR-*.md, [0-9][0-9][0-9][0-9]-*.md
    
  2. Calculate next number:

    • If no ADRs exist, start at 001
    • Otherwise, increment highest existing number

3. Gather Context

If context is not provided, prompt for or infer:

  1. Problem Statement: What issue motivated this decision?
  2. Constraints: What limitations affect the decision?
  3. Options Considered: What alternatives exist?
  4. Decision Drivers: What factors are most important?

4. Load Skill and Generate

  1. Load the enterprise-architecture:adr-management skill for templates and guidance
  2. Select template based on template argument
  3. Generate ADR content with:
    • Proper frontmatter/header
    • All required sections
    • Placeholder guidance for sections needing human input

5. Create File

Determine 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

6. Update Index

If an ADR index/registry exists, add entry:

  • Add to ADR-INDEX.md or README.md in decisions folder
  • Include: number, title, status, date

Output Content

Basic Template (Nygard)

# 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?]

MADR Template

# 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]

Extended Template

Include additional sections:

  • Executive Summary
  • Constraints and Assumptions
  • Trade-offs table
  • Implementation action items
  • Validation criteria
  • Related decisions
  • References

Example Invocations

/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

Post-Creation Guidance

After creating the ADR, remind user to:

  1. Fill in placeholders marked with [brackets]
  2. Add specific options with pros/cons
  3. Document the actual decision once made
  4. Link related ADRs if applicable
  5. Update status when decision is finalized
  6. Get review from stakeholders

Quality Criteria

Generated ADR must:

  • [ ] Have unique, sequential number
  • [ ] Follow project's ADR location conventions
  • [ ] Include all required sections for template type
  • [ ] Have clear placeholder guidance
  • [ ] Be linked from ADR index (if exists)
  • [ ] Use consistent date format (ISO 8601)