From accelerator
Interactively create an architecture decision record (ADR) to document architectural decisions, technology choices, or design decisions with context, options, and consequences.
How this skill is triggered — by the user, by Claude, or both
Slash command
/accelerator:create-adr [topic or description] [--supersedes ADR-NNNN][topic or description] [--supersedes ADR-NNNN]This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
!`${CLAUDE_PLUGIN_ROOT}/scripts/config-read-context.sh`
!${CLAUDE_PLUGIN_ROOT}/scripts/config-read-context.sh
!${CLAUDE_PLUGIN_ROOT}/scripts/config-read-skill-context.sh create-adr
!${CLAUDE_PLUGIN_ROOT}/scripts/config-read-agents.sh
If no "Agent Names" section appears above, use these defaults: accelerator:reviewer, accelerator:codebase-locator, accelerator:codebase-analyser, accelerator:codebase-pattern-finder, accelerator:documents-locator, accelerator:documents-analyser, accelerator:web-search-researcher.
Decisions directory: !${CLAUDE_PLUGIN_ROOT}/scripts/config-read-path.sh decisions
You are tasked with guiding the user through creating an architecture decision record (ADR) — a concise document capturing a significant architectural decision, its context, the options considered, and the consequences.
When this command is invoked:
--supersedes ADR-NNNN was provided, note the supersession targetI'll help you create an architecture decision record. Please provide:
1. The topic or decision to document (e.g., "use PostgreSQL for user data")
2. Any relevant context or constraints
You can also specify if this supersedes an existing ADR:
`/accelerator:create-adr use Redis for caching --supersedes ADR-0003`
Then wait for the user's input.
${CLAUDE_PLUGIN_ROOT}/skills/decisions/scripts/adr-next-number.sh
--supersedes ADR-NNNN was specified:
{decisions directory}/ADR-NNNN-*.md${CLAUDE_PLUGIN_ROOT}/skills/decisions/scripts/adr-read-status.sh <resolved-path>
accepted status (only accepted ADRs can be
superseded). This is an early-fail check to avoid wasted effort — the
status will be re-verified before writing in Step 4.accepted, inform the user and ask how to proceedRead any directly mentioned files fully
Present gathered context and ask clarifying questions:
Based on my research, here's what I found relevant to this decision:
**Related documents:**
- [list of relevant meta documents]
**Related code:**
- [list of relevant code areas]
**Existing ADRs on related topics:**
- [list of related ADRs, if any]
Before I draft the ADR, I'd like to understand:
1. What forces or constraints are driving this decision?
2. What alternatives have you considered?
3. Are there specific tradeoffs you want to highlight?
If context gathering finds nothing relevant (e.g., first ADR in a new project), skip the context sections and present:
No existing documents or ADRs found related to this topic. I'll draft the ADR
based on the information you provide.
Before I draft, I'd like to understand:
1. What forces or constraints are driving this decision?
2. What alternatives have you considered?
3. Are there specific tradeoffs you want to highlight?
Wait for user input before proceeding.
Gather metadata by running
${CLAUDE_PLUGIN_ROOT}/scripts/artifact-derive-metadata.sh. Run the bare path
directly as an executable; never prefix it with bash/sh/env (a wrapper
prefix escapes the skill's allowed-tools permission and forces an unnecessary
prompt).
Draft the ADR using the template below and present it to the user for review:
Here's my draft ADR. Please review and let me know if you'd like any changes
before I write it to disk:
[draft content]
Wait for user approval or revision requests before writing.
Create the configured decisions directory if it doesn't exist
Populate frontmatter: before writing the artifact file, substitute the unified base fields into the template's frontmatter block, using the metadata captured in Step 3.
The Current Date/Time (UTC): value from
artifact-derive-metadata.sh is the source for date: and
last_updated:. Repository identity is not part of the ADR
provenance bundle (ADRs are not code-state-anchored).
Substitute every field below with the indicated value:
type: ← adrid: ← the ADR identifier ADR-NNNN from Step 1, always
quoted as a YAML string (e.g. id: "ADR-0042")title: ← the ADR title (without the ADR-NNNN: prefix)date: ← the Current Date/Time (UTC): valueauthor: ← the author resolved per the standard chain
(config → VCS user → prompt)producer: ← create-adrstatus: ← proposedlast_updated: ← the same Current Date/Time (UTC): valuelast_updated_by: ← the same value resolved for authorschema_version: ← 1 (bare integer)Optional linkage / decision-maker keys are omit-by-default:
the template shows each as ""/[], but write a key
into the artifact only when it has a value, and omit it
entirely otherwise (do not carry the empty placeholder through).
parent: ← the owning work item as a typed-linkage ref
("work-item:NNNN"). Fill when the ADR is owned by a work item;
otherwise omit the key.supersedes: ← a YAML list of typed-linkage refs of the form
"adr:ADR-NNNN" to the ADR(s) this one replaces. Fill when this
ADR supersedes another; otherwise omit the key.relates_to: ← list of typed-linkage refs to loosely related
ADRs (["adr:ADR-NNNN", ...]). Fill when related decisions are
explicit; otherwise omit the key.decision_makers: ← a YAML list of the people who agreed to the
decision. Fill when decision-makers are captured; otherwise omit
the key.Write the ADR to:
{decisions directory}/ADR-NNNN-description.md
where NNNN is the number from Step 1 and description is a kebab-case summary
If this supersedes an existing ADR:
acceptedstatus: accepted to status: supersededsuperseded_by: ADR-MMMM (where MMMM is the new ADR number)supersedes: list (e.g. ["adr:ADR-0017"])Present the result:
ADR created: `{decisions directory}/ADR-NNNN-description.md`
Status: proposed
[If supersession]: Updated ADR-XXXX status to "superseded"
Next steps:
- Review and refine while in "proposed" status
- When ready, use `/accelerator:review-adr` to accept or reject
Use this exact template structure when generating ADRs:
!${CLAUDE_PLUGIN_ROOT}/scripts/config-read-template.sh adr
When drafting ADRs, follow these principles:
proposedADR-NNNN-description.md (e.g., ADR-0001-use-jujutsu.md)status: proposed) and the body (**Status**: Proposed). The frontmatter
is the authoritative source of truth — adr-read-status.sh reads only
frontmatter. The body line is for human readability. When updating status,
ALWAYS update both locations.!${CLAUDE_PLUGIN_ROOT}/scripts/config-read-skill-instructions.sh create-adr
npx claudepluginhub atomicinnovation/accelerator --plugin acceleratorGenerates Architectural Decision Records (ADRs) by detecting project template conventions, assigning sequential numbers, supporting MADR/Nygard/Alexandrian formats, and saving markdown files. Use for documenting technical decisions.
Creates new Architectural Decision Records (ADRs) for documenting specific architectural decisions, technology choices, patterns, or approaches. Use for requests like 'Create ADR for [topic]' or 'Document decision about [topic]' (140 characters).
Creates Architecture Decision Records (ADRs) documenting technical decisions, context, alternatives considered, and consequences. Use for architectural choices, library/framework selections, or system component designs.