adr-authoring
Creates or updates Soonlane architecture decision records under docs/decisions. Use when the user asks for an ADR, decision record, architecture decision, accepted/proposed decision, or when domain-mo
SKILL.md.agents/skills/adr-authoring/SKILL.md
GitHubADR Authoring
Use ADRs for durable architecture decisions, not routine implementation notes.
Related Skills
- Use
domain-modelfirst for module ownership, Effect layering, package boundaries or language-heavy decisions. - Update
UBIQUITOUS_LANGUAGE.md(seedomain-model/GLOSSARY-FORMAT.md) when the ADR introduces or changes domain terms. - Use
.agents/skills/domain-model/ADR-FORMAT.mdfor the ADR format.
When An ADR Qualifies
Create or update an ADR only when all are true:
- The decision is hard to reverse.
- The decision would be surprising without context.
- The decision involved a real trade-off.
Flow
- Read existing ADRs in
docs/decisions. - Read
.agents/skills/domain-model/ADR-FORMAT.md. - Read
.agents/skills/domain-model/CONTEXT-FORMAT.mdwhen the ADR touches context boundaries. - Read
UBIQUITOUS_LANGUAGE.md,PRODUCT.md,ARCHITECTURE.mdand code patterns relevant to the decision. - If
CONTEXT-MAP.mdexists, read it and the relevant context docs it points to. - Choose the next number by scanning all
docs/decisions/*.mdfiles and parsing the leading ADR number. - Use
docs/decisions/NNNN-short-slug.md. - Match the existing repo style: title, status, date, context, decision, consequences, and related links when useful.
- Link to
UBIQUITOUS_LANGUAGE.mdinstead of duplicating large term tables. - Mark new ADRs
Proposedunless the user says the decision is accepted. - Add the ADR to the decision table in
ARCHITECTURE.md.
Rules
- Keep ADRs concise but complete enough for a future agent to understand why.
- Record rejected alternatives when they would otherwise be suggested again.
- Include concrete dates, PRs and affected modules or packages when they clarify scope.
- Use
docs/decisions, not genericdocs/adr. - Decisions already recorded in
PRODUCT.mdare final; an ADR may cite them but never reopens them. - Do not create GitHub issues from an ADR unless the user asks.
- Do not commit ADR changes unless explicitly asked.