Loading...
Loading...
Generates Architecture Decision Records (ADRs) capturing context, decision rationale, alternatives considered, and projected consequences. Produces numbered, status-tracked documents following the standard ADR format with proper metadata lifecycle. Triggers on: "write an ADR", "document this decision", "architecture decision record", "why did we choose", "capture this decision", "record the decision", "ADR for", "document the architecture", "decision record", "design decision", "technical decision". Use this skill when an architectural or technical decision needs to be documented.
npx skill4agent add mathews-tom/praxis-skills adr-writer| File | Contents | Load When |
|---|---|---|
| Standard ADR template with field explanations and examples | Always |
| Status transitions, supersession rules, deprecation process | ADR references existing decisions |
| Techniques for eliciting and documenting decision context | Complex or multi-stakeholder decision |
| Framework for evaluating and documenting rejected alternatives | Multiple options being considered |
docs/adr/docs/decisions/# ADR-{NNN}: {Descriptive Title}
**Status:** {Proposed | Accepted | Deprecated | Superseded by ADR-XXX}
**Date:** {YYYY-MM-DD}
**Author:** {name}
**Supersedes:** {ADR-XXX (if applicable)}
## Context
{What situation requires a decision? What constraints exist? What forces are at play?
Write in present tense — describe the situation as it exists at decision time.}
## Decision
{State the decision clearly and concisely. "We will use X for Y because Z."
One to three sentences. The reader should understand the decision without reading
the rest of the document.}
## Alternatives Considered
### {Alternative 1 Name}
- **Pros:** {specific benefits}
- **Cons:** {specific drawbacks}
- **Rejected because:** {concrete, specific reason tied to context}
### {Alternative 2 Name}
- **Pros:** {specific benefits}
- **Cons:** {specific drawbacks}
- **Rejected because:** {concrete, specific reason tied to context}
## Consequences
### Positive
- {Concrete benefit 1}
- {Concrete benefit 2}
### Negative
- {Concrete tradeoff 1 — acknowledged and accepted}
- {Technical debt incurred — with plan to address if applicable}
### Neutral
- {Side effect that is neither positive nor negative}
## References
- {Link to related issue, discussion, document, or prior ADR}| Problem | Resolution |
|---|---|
| User cannot articulate alternatives | Help them brainstorm by asking: "What else could you have done? What did you consider and reject?" |
| Decision is trivial (no real alternatives) | Suggest it doesn't need an ADR. ADRs are for non-obvious decisions with tradeoffs. |
| Decision already made, no context remembered | Reconstruct context from code, PRs, commit history. Note reconstructed context as "best available." |
| Existing ADR numbering scheme unknown | Check |
| Decision scope is too broad | Split into multiple focused ADRs. One for the database choice, one for the caching strategy, etc. |