Help us improve
Share bugs, ideas, or general feedback.
From aidoc-flow
Creates an Architecture Decision Record (ADR) documenting one architectural choice with Context-Decision-Consequences. Use after BDD when an architectural choice needs recording.
npx claudepluginhub vladm3105/aidoc-flow-framework --plugin aidoc-flowHow this skill is triggered — by the user, by Claude, or both
Slash command
/aidoc-flow:doc-adrThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create an **Architecture Decision Record (ADR)** — Layer 5 of the SDD flow.
Generates Architecture Decision Records (ADRs) capturing context, rationale, alternatives, and consequences in numbered status-tracked Markdown format. Useful for documenting architectural decisions with lifecycle management.
Interactively creates an architecture decision record (ADR) with context gathering, options analysis, and consequence documentation.
Generates Architectural Decision Records (ADRs) in MADR, Nygard, Alexandrian, or project formats. Researches directory for conventions, gathers context, numbers sequentially, validates, and saves. Use for documenting technical decisions.
Share bugs, ideas, or general feedback.
Create an Architecture Decision Record (ADR) — Layer 5 of the SDD flow. An ADR records one architecture decision using the Context-Decision- Consequences pattern: why the decision is needed, what was chosen, the alternatives weighed, and the consequences accepted.
Layer: 5 — the decision bridge between Container (PRD) and Component (SPEC); ADR is not itself a C4 level. Upstream: BRD → PRD → EARS → BDD. Downstream: SPEC → TDD → IPLAN → Code.
Each ADR addresses exactly one decision. A new architectural choice gets a
new ADR (ADR-02, ADR-03, …) rather than expanding an existing one; relate
them with @depends: ADR-NN.
Use doc-adr when:
For end-to-end generation from an upstream artifact or a prompt, use
../doc-adr-autopilot/SKILL.md. To plan the set of ADRs a project needs, see
../adr-roadmap/SKILL.md.
ADR is Layer 5, so verify the upstream chain exists and read the spec before writing:
framework/layers/05_ADR/ADR-TEMPLATE.yamlframework/layers/05_ADR/README.mdframework/governance/ID_NAMING_STANDARDS.mdConfirm upstream artifacts: ls docs/0{1,2,3,4}_*/ 2>/dev/null. Reference only
documents that already exist; never invent placeholders like ADR-XXX or cite
SPEC numbers that do not yet exist. Confirm no ID collision:
ls docs/05_ADR/ 2>/dev/null.
ADR uses Proposed → Accepted → Deprecated → Superseded — not Draft/In Review/Approved. The status tracks the SPEC-Ready score:
| Status | SPEC-Ready | Meaning |
|---|---|---|
| Proposed | 70–89% | Decision under evaluation |
| Accepted | ≥90% | Approved, ready for SPEC |
| Deprecated | — | No longer relevant (kept for history) |
| Superseded | — | Replaced by a newer ADR (link it) |
## Document Control comes first (status, date, decision-makers, author,
originating_topic → PRD §14, brd_reference, SPEC-Ready score, revision
history). Then:
See ADR-TEMPLATE.yaml for per-section content and authoring _antipatterns.
ADR.{doc_id}.{section_id}.{hash} (e.g.
ADR.01.03.e5b1; hash = first 4 hex of SHA256 of
"{doc_id}:{section_id}:{title}:{description}", extend to 8 on collision).
There are no numeric type-codes — an element's kind is given by its section.ADR-NN, never as a dotted element ID. The self-tag is @adr: ADR-NN
(e.g. @adr: ADR-033); cross-links use @depends: ADR-NN and
@discoverability: ADR-NN (rationale).@brd @prd @ears @bdd — all four
required, using each upstream's element-ID form (@brd: BRD.01.08.0a13,
@prd: PRD.01.14.0702, @ears: EARS.01.03.5e2a, @bdd: BDD.01.03.8f4c).DEC-XXX, ALT-XXX, CON-XXX, the legacy
3-segment ADR.NN.xxxx, numeric type-code segments, and 3-digit ADR-NNN.ADR-NN (two digits, expand only as needed:
ADR-01, ADR-99, ADR-102).docs/05_ADR/ADR-NN_{slug}/. Monolithic: ADR-NN_{slug}.md inside it;
section-based (>25 KB): ADR-NN.S_{section}.md + index from
framework/layers/05_ADR/ADR-00_index.TEMPLATE.md.@brd @prd @ears @bdd; add the @adr: ADR-NN
self-tag and any @depends: cross-links.docs/05_ADR/ADR-00_index.md in the same change.The framework ships no runtime code — this skill is the validator. Apply the
checklist against framework/layers/05_ADR/README.md and
framework/governance/ID_NAMING_STANDARDS.md.
ADR.NN.SS.xxxx; document refs use dash ADR-NN; no
removed patterns.@brd @prd @ears @bdd present; @adr: ADR-NN self-tag.../charts-flow/SKILL.md); index updated; no broken links.| Code | Meaning | Severity |
|---|---|---|
| XDOC-002 | Missing cumulative tag | error |
| XDOC-006 | Tag format invalid | error |
| XDOC-008 | Broken internal link | error |
| XDOC-009 | Missing traceability section | error |
Quality gate (blocking): SPEC-Ready score ≥ 90/100 before moving on. If issues are found, fix and re-check; if unfixable, log for manual review.
ADR-REF documents (
ADR-REF-NN_{slug}.md, via../doc-ref/SKILL.md) are free-format reference targets — exempt from ready-scores, cumulative tags, and quality gates.
../doc-spec/SKILL.md — the SPEC references this ADR (@adr: ADR-NN), turns the
decision into component interfaces, data models, and behavior contracts, and
inherits the cumulative tag chain.
Before applying defaults, read the project adaptation profile
(.aidoc/profile.yaml). Honor only this skill's declared knobs:
section_toggles (include or omit template-declared optional sections)
and glossary (substitute preferred terms in generated prose). Ignore any
unknown or out-of-surface key; absent a profile, use framework defaults.
Authority: framework/governance/ADAPTATION.md.
framework/layers/05_ADR/ADR-TEMPLATE.yamlframework/layers/05_ADR/README.mdframework/layers/05_ADR/ADR-00_index.TEMPLATE.mdframework/governance/ID_NAMING_STANDARDS.md../doc-adr-audit/SKILL.md · Fixes: ../doc-adr-fixer/SKILL.md../doc-adr-autopilot/SKILL.md../adr-roadmap/SKILL.md| Purpose | Record one architecture decision (Context-Decision-Consequences) |
| Layer | 5 (decision bridge: PRD → SPEC) |
| Upstream tags | @brd @prd @ears @bdd (all four required) |
| Self-reference | dash form @adr: ADR-NN (document-level) |
| Element IDs | ADR.NN.SS.xxxx (internal elements only) |
| Status | Proposed → Accepted → Deprecated → Superseded |
| Must include | Document Control (first), 10 sections, 2–3 alternatives |
| Next | doc-spec |