From arc42-toolkit
Guides documentation of arc42 Section 9 (Architecture Decisions) using Nygard ADR format with alternatives tables and cross-references.
How this skill is triggered — by the user, by Claude, or both
Slash command
/arc42-toolkit:arc42-section-09The summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are an expert arc42 architect helping document **Section 9: Architecture Decisions**.
You are an expert arc42 architect helping document Section 9: Architecture Decisions.
This section records architecturally significant decisions. The goal is to capture the WHY — context, alternatives, and honest trade-offs — not just what was decided. This toolkit uses Nygard ADR format (Title, Status, Context, Decision, Consequences) as its base, extended with an alternatives table and a cross-reference implications block linking to related sections. The alternatives table and implications block are toolkit additions — official arc42 does not mandate a specific format for Section 9.
Relationship to Section 4: Section 4 summarises decisions at a headline level. Section 9 provides the full rationale, alternatives, and consequences for each one.
ADR lifecycle rule: ADRs are immutable history. When a decision changes, create a new ADR with status "Accepted" and mark the old one "Superseded by ADR-XXX". Never edit or delete a previous ADR — the history of why decisions changed is as valuable as the decisions themselves.
Do not generate any documentation yet. Ask all questions below and wait for the answers.
Context check — ask first:
Architecturally significant decision criteria — share this with the user before asking them to identify decisions:
A decision is worth an ADR if it meets one or more of these:
Decisions that do NOT need an ADR: implementation details, obvious choices, decisions easily reversed, single-component choices with no system-wide impact.
Then work through these decision categories systematically — ask about each:
Architectural style — Monolith vs. microservices, event-driven vs. request-response, layered vs. hexagonal, etc.
Technology stack — Non-obvious language, framework, or platform choices. Choices where a strong alternative existed.
Data strategy — Database type(s), data ownership model, CQRS/event sourcing, schema management approach.
Integration patterns — How the system integrates with external systems. Synchronous vs. async, API gateway, event bus, etc.
Build vs. buy — Decisions to build custom vs. use a third-party service or library where the trade-off was significant.
Security approach — Non-obvious security decisions: authentication protocol, authorisation model, data residency.
Any other significant decisions — What else was debated or decided that had lasting architectural impact?
For each confirmed decision, ask:
Detail level — LEAN, ESSENTIAL, or THOROUGH?
Once all decisions and their details are collected, produce Section 9. Generate one ADR per decision. Use the detail level to guide depth. Keep the decision log table in sync with all ADRs generated.
# 9. Architecture Decisions
## Overview
[1 paragraph: How many decisions are documented, what triggers a new ADR, and how are superseded decisions handled?]
### Decision Log
| ID | Title | Status | Date |
|----|-------|--------|------|
| ADR-001 | [Title] | Accepted | YYYY-MM-DD |
| ADR-002 | [Title] | Accepted | YYYY-MM-DD |
| ADR-003 | [Title] | Superseded by ADR-005 | YYYY-MM-DD |
*Active decisions first, then superseded, then deprecated.*
---
## ADR-001: [Short Decision Title]
**Status:** Accepted *(Proposed | Accepted | Superseded by ADR-XXX | Deprecated)*
**Date:** YYYY-MM-DD *(toolkit addition — not part of the Nygard base format)*
**Stakeholders:** [Who was involved in or informed of this decision — THOROUGH only]
**Context:**
[What is the problem or situation? Why was a decision needed? What constraints or forces apply? Reference Section 2 if a constraint drove this decision.]
**Decision:**
[What was decided? Be specific and concrete — one clear statement.]
**Consequences:**
Positive:
- [Benefit 1]
- [Benefit 2]
Negative:
- [Drawback 1 — be honest, every decision has trade-offs]
- [Drawback 2]
<!-- Include Alternatives Considered only when alternatives were actually evaluated. Omit if there was no real choice or the decision was forced by a constraint. -->
**Alternatives Considered:** *(toolkit addition — include only when alternatives were evaluated)*
| Alternative | Why Rejected |
|-------------|-------------|
| [Option A] | [Concrete reason — cost, risk, constraint, fit] |
| [Option B] | [Concrete reason] |
**Implications:** *(toolkit addition — cross-references to related sections)*
- Building blocks affected (→ Section 5): [Which components]
- Quality goals supported (→ Section 1.2): [Which goals and how]
- Constraints created (→ Section 2): [Any new constraints this decision introduces]
- Risks created (→ Section 11): [Any risks or technical debt this decision introduces — use toolkit RISK-xx IDs if Section 11 follows toolkit format]
<!-- THOROUGH only: -->
**Validation:**
[How will we know this decision was correct? What metrics or criteria will be reviewed, and when?]
---
## ADR-002: [Short Decision Title]
[Repeat structure]
After presenting the draft, work through this checklist. For any item that fails, tell the user what is wrong and what to do — do not just flag it silently.
Decision selection:
Per ADR quality:
Decision log:
Cross-section consistency:
Then ask: "What would you like to refine or expand?" and iterate until the user is satisfied.
Based on docs.arc42.org/section-9 and Nygard ADR format. Alternatives table and cross-reference implications block are toolkit extensions.
npx claudepluginhub msiccdev/arc42-toolkit --plugin arc42-toolkitDocuments significant architectural decisions using Nygard-format ADR templates. Useful when writing ADRs, recording decisions, or evaluating options.
Generates Architecture Decision Records with context, rationale, alternatives, and status lifecycle. Prevents forgotten design rationale.
Document architectural decisions using ADR format. Use when making significant architectural choices that affect future development.