adr-writer

Creates Architecture Decision Records documenting key technical decisions with context, alternatives considered, tradeoffs, consequences, and decision owners. Use when documenting "architecture decisions", "technical choices", "design decisions", or "ADRs".

patricio0312rev/skills237 installsMITSynced Aug 26

Works with

Claude CodeCursorCodex CLIGitHub CopilotGemini CLI
---
name: adr-writer
description: Creates Architecture Decision Records documenting key technical decisions with context, alternatives considered, tradeoffs, consequences, and decision owners. Use when documenting "architecture decisions", "technical choices", "design decisions", or "ADRs".
license: MIT
---

# ADR Writer

Document architecture decisions with clear context, alternatives, and consequences.

## ADR Template

```markdown
# ADR-001: [Title of Decision]

**Status:** Proposed | Accepted | Deprecated | Superseded by ADR-XXX
**Date:** 2024-01-15
**Deciders:** Alice (Tech Lead), Bob (Principal Engineer)
**Owner:** Alice

## Context

What is the issue we're facing? What factors are driving this decision?

We need to choose a database for our new analytics service. Current
requirements:

- 10M+ events per day
- Complex aggregation queries
- Real-time dashboards
- Budget: $5k/month
- Team familiar with SQL

## Decision

We will use PostgreSQL with TimescaleDB extension.

## Alternatives Considered

### Option 1: PostgreSQL + TimescaleDB (CHOSEN)

**Pros:**

- Team already knows PostgreSQL
- Time-series optimization for analytics
- Reliable and proven
- Good query performance
- Reasonable cost (~$3k/month)

**Cons:**

- Requires manual scaling effort
- Not purpose-built for analytics

### Option 2: ClickHouse

**Pros:**

- Excellent query performance for analytics
- Built for analytics workloads
- Column-oriented storage

**Cons:**

- Team unfamiliar with ClickHouse
- Steeper learning curve
- Different query syntax

### Option 3: BigQuery

**Pros:**

- Fully managed
- Excellent for analytics
- Scales automatically

**Cons:**

- Higher cost (~$8k/month for our volume)
- Vendor lock-in to GCP
- Less control over optimization

## Tradeoffs

**What we're optimizing for:**

- Team velocity (familiar tech)
- Cost efficiency
- Good enough performance

**What we're sacrificing:**

- Peak analytical performance (vs ClickHouse)
- Fully managed experience (vs BigQuery)

## Consequences

### Positive

- Development can start immediately (no learning curve)
- Lower operational costs
- Can reuse existing PostgreSQL expertise
- Easy integration with current stack

### Negative

- Will need to manually optimize queries
- May need to revisit if we scale 10x
- Requires more operational work than BigQuery

### Risks

- Performance may degrade at 100M+ events/day
- **Mitigation:** Monitor query performance, plan migration at 50M events/day

## Implementation Notes

- Use TimescaleDB hypertables for event storage
- Implement continuous aggregates for common queries
- Set up read replicas for dashboard queries
- Document scaling runbook at 50M events/day

## Follow-up Actions

- [ ] Provision PostgreSQL + TimescaleDB cluster (Alice, by 2024-01-20)
- [ ] Create migration script from MySQL (Bob, by 2024-01-22)
- [ ] Set up monitoring dashboards (Alice, by 2024-01-25)
- [ ] Document scaling thresholds (Alice, by 2024-01-30)

## References

- [TimescaleDB Benchmarks](https://example.com)
- [Cost Analysis Spreadsheet](https://docs.google.com/...)
- [Team Survey Results](https://example.com)

## Revision History

- 2024-01-15: Initial draft (Alice)
- 2024-01-16: Added cost analysis (Bob)
- 2024-01-17: Accepted by architecture review board
```

## ADR Numbering

```
ADR-001: Initial System Architecture
ADR-002: Database Selection for Analytics
ADR-003: Authentication Strategy
...
```

## Status Workflow

```
Proposed → Accepted → Implemented
    ↓
Rejected

Accepted → Deprecated → Superseded by ADR-XXX
```

## Common Decision Types

**Technology Selection:**

- Database choice
- Framework selection
- Cloud provider
- Programming language

**Architecture Patterns:**

- Microservices vs Monolith
- Event-driven vs Request-response
- Sync vs Async communication

**Infrastructure:**

- Deployment strategy
- Monitoring approach
- Scaling strategy

**Security:**

- Authentication method
- Data encryption approach
- Access control model

## Quick Start Guide

```bash
# 1. Create new ADR
cp templates/adr-template.md docs/adr/ADR-042-title.md

# 2. Fill in sections
# - Context: Why are we making this decision?
# - Decision: What did we decide?
# - Alternatives: What else did we consider?
# - Consequences: What are the impacts?

# 3. Review with team
# - Share in architecture channel
# - Get feedback from stakeholders
# - Iterate on alternatives

# 4. Update status to "Accepted"
# 5. Link from main architecture docs
```

## Best Practices

1. **Write ADRs for significant decisions**: Not every choice needs an ADR
2. **Document alternatives**: Show you considered options
3. **Be honest about tradeoffs**: Every decision has downsides
4. **Keep it concise**: 1-2 pages maximum
5. **Update status**: Mark deprecated/superseded ADRs
6. **Link related ADRs**: Create decision trails
7. **Include follow-ups**: Action items with owners

## Anti-Patterns

❌ **Too detailed**: 10-page ADRs nobody reads
❌ **No alternatives**: Looks like decision was predetermined
❌ **Missing consequences**: Ignoring downsides
❌ **No owner**: Nobody accountable
❌ **Outdated status**: Old ADRs marked "Proposed"

## Review Checklist

- [ ] Clear problem statement in Context
- [ ] Decision is stated explicitly
- [ ] 2+ alternatives considered
- [ ] Tradeoffs honestly assessed
- [ ] Consequences (positive and negative) documented
- [ ] Risks identified with mitigations
- [ ] Decision owner assigned
- [ ] Follow-up actions with deadlines
- [ ] Status is current

## Output Checklist

- [ ] ADR document created
- [ ] Context explains the problem
- [ ] Decision clearly stated
- [ ] 2-3 alternatives documented
- [ ] Tradeoffs section filled
- [ ] Consequences listed (positive & negative)
- [ ] Risks identified with mitigations
- [ ] Decision date and owners
- [ ] Follow-up actions assigned
- [ ] Status is set

More Architecture skills

← All Architecture skills

Check your AI visibility

One URL in, a 0–100 score and the exact fixes out.

RUN THE CHECK

Browse all the tools

15 tools across six categories
13 of them never send your data anywhere

Free · No signup · No trial clock

SEE THE DIRECTORY