Creates Architecture Decision Records (ADRs). Activates when asked to create, write, or draft an ADR, document an architecture decision, or record a technical decision.
Activate when asked to: create/write/draft an ADR, document an architecture decision, record a technical decision.
If not already provided, ask before starting:
[pending review])Herberto / [pending review]YYYY-MM-DDDo not ask for information inferable from the codebase. Research first.
Explore the codebase for:
List files in .ai/local/ADRs/. New number = highest ADR-NNN + 1, zero-padded to three digits.
Pattern: ADR-{NNN}-{kebab-case-title}.md
Title: short, present-tense imperative phrase, <50 chars, lowercase kebab-case, no articles unless essential.
Example: .ai/local/ADRs/ADR-015-enforce-cursor-based-pagination.md
Use the template at ./_template.md. Match the style of existing ADRs, if any.
Header:
# {Title}
Created by: Herberto
Created time: {Month DD, YYYY H:MM AM/PM}
Last edited by: Herberto
Last updated time: {Month DD, YYYY H:MM AM/PM}
Summary — structured paragraph:
**In the context of** {use case}
**facing**
- {concern}
**we decided for** {chosen option}
**to achieve**
- {quality/benefit}
**accepting** {key downside/trade-off}.
Context — 3-5 paragraphs: current state, why decision is needed, anti-patterns/failure modes, what ADR establishes. Do not name the chosen option here.
Options — at least two, mark chosen with (decided):
### Option N — {Name} (decided)
{Description}
**Pros**
- {argument}
**Cons**
- {argument}
Decision — opens with "We adopt Option N: ...", explains why, uses comparison tables when applicable.
Design Constraints — each constraint: ### Heading + paragraph. Ends with ### Rationale numbered list (bold titles + explanation paragraphs).
Consequences and Follow-Up Work — opens with "To implement this decision, we need to:", followed by actionable tasks. Ends with:
### Proponents: {name(s)}
### Deciders: {name(s) or [pending review]}
### Date: {YYYY-MM-DD}
Write to .ai/local/ADRs/{filename}.md. Confirm file path and title to the user.
ADR-{NNN}-{kebab-case-title}.md(decided)## for top-level sections, ### for sub-sections.