create-adr
Skill34 starsChanged 51 days agoMITView on GitHub
Interactively create an architecture decision record (ADR). Use
16 other projects use a version of this.
Adopted by
Most recently taken up by
- pandazki/pneuma-skillstheir own version, first seen Nov 6, 2026
- tovrleaf/openkatatheir own version, first seen Nov 1, 2026
- pitimon/claude-governancetheir own version, first seen Nov 1, 2026
- codenamev/ai-software-architecttheir own version, first seen Oct 21, 2026
- fiedlrob/agent-skillstheir own version, first seen Oct 20, 2026
- Ronnasayd/aipptheir own version, first seen Oct 20, 2026
Other versions16 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 16
- microsoft/fhir-server★ 1.4ksame name
- pandazki/pneuma-skills★ 161same name
- codenamev/ai-software-architect★ 79same name
- emiliosheinz/agent-skills★ 20same name
- pitimon/claude-governance★ 4same name
- adolfoaranaes12/BMAD-ENHANCED★ 2same name
- JAXTech-Labs/claude-code-template★ 2same name
- ReStartAllKill/skills★ 2same name
- broneq/bdk★ 1same name
- Ronnasayd/aipp★ 1same name
6 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository38 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- hooks/CLAUDE.mdCLAUDE.md
- tasks/CLAUDE.mdCLAUDE.md
- clean-commentsSkill
- raise-prSkill
- configureSkill
- initSkill
- migrateSkill
- pathsSkill
- extract-adrsSkill
- review-adrSkill
- analyse-design-gapsSkill
- inventory-designSkill
- describe-prSkill
- respond-to-prSkill
- review-prSkill
- create-noteSkill
- create-planSkill
- implement-planSkill
- review-planSkill
- stress-test-planSkill
- validate-planSkill
- conduct-spikeSkill
- research-codebaseSkill
- research-issueSkill
- research-topicSkill
- commitSkill
- visualiseSkill
- create-work-itemSkill
- extract-work-itemsSkill
- list-work-itemsSkill
- refine-work-itemSkill
- rekey-work-itemsSkill
- review-work-itemSkill
- stress-test-work-itemSkill
- sync-work-items-recoverySkill
- sync-work-itemsSkill
- update-work-itemSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
36 rules. 0 are common, 27 are distinctive, and 9 are very specific to this project.
0
Common
Most of the 13 edited versions we read keep these.
27
Distinctive
This author's own choices. Worth a look.
9
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 20
If no "Agent Names" section appears above, use these defaults: accelerator:reviewer, accelerator:codebase-locator, …
- Distinctive: line 34
When this command is invoked:
- Distinctive: line 38
If a topic/description was provided, proceed directly to context gathering
- Very specific: line 39
If --supersedes ADR-NNNN was provided, note the supersession target
- Distinctive: line 40
If no parameters provided, respond with:
- Distinctive: line 57
Run the corpus CLI to get the next ADR number:
- Very specific: line 63
If --supersedes ADR-NNNN was specified:
- Distinctive: line 65
Verify exactly one file matches the glob pattern (error if zero or multiple matches)
- Distinctive: line 67
Read the target ADR's status using the corpus CLI:
- Very specific: line 71
Verify the target ADR is in accepted status (only accepted ADRs can be superseded).
- Very specific: line 74
If not accepted, inform the user and ask how to proceed
- Distinctive: line 80
Use {documents locator agent} to find related research, plans, and existing ADRs in the configured document directories
- Distinctive: line 82
Use {codebase locator agent} to find relevant code related to the decision topic
- Distinctive: line 106
If context gathering finds nothing relevant (e.g., first ADR in a new project), skip the context sections and present:
- Distinctive: line 119
Wait for user input before proceeding.
- Very specific: line 135
Use the AskUserQuestion tool with two options:
- Distinctive: line 140
Wait for the user's answer before writing.
- Distinctive: line 147
Create the configured decisions directory if it doesn't exist
- Distinctive: line 149
Populate frontmatter: before writing the artifact file, substitute the unified base fields into the template's frontmatter block, using the …
- Distinctive: line 157
Substitute: every field below with the indicated value:
- Very specific: line 189
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
- Distinctive: line 193
If this supersedes an existing ADR:
- Very specific: line 194
Read the superseded ADR's current status to confirm it's accepted
- Distinctive: line 195
Update ONLY the superseded ADR's frontmatter:
- Very specific: line 197
Add superseded_by: ADR-MMMM (where MMMM is the new ADR number)
- Distinctive: line 198
Do NOT modify any other content in the superseded ADR
- Distinctive: line 215
Validate the frontmatter: after writing the ADR, run
- Distinctive: line 221
If it exits non-zero, the document violates the canonical frontmatter standard.
- Distinctive: line 227
Use this exact template structure when generating ADRs:
- Distinctive: line 233
When drafting ADRs, follow these principles:
- Distinctive: line 236
Assertive: Use active voice ("We will...", "We chose...")
- Distinctive: line 239
Honest options: Only include options that were genuinely considered.
- Distinctive: line 248
Fairy Tale: Only listing positive consequences
- Distinctive: line 259
Only modify existing ADRs to update status fields during supersession
- Distinctive: line 261
Use {documents locator agent} and {codebase locator agent} agents for context, not deep file reads in the main context
- Distinctive: line 268
Before writing a new ADR file, verify the target path does not already exist to prevent accidental overwrites from concurrent invocations
“Common” is measured: kept by at least 6 in 10 of the 13 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Create Architecture Decision Record
!accelerator config context --skill create-adr --fail-safe
!accelerator config agents --fail-safe
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: !accelerator config path decisions --fail-safe
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.
Initial Setup
When this command is invoked:
- Check if parameters were provided:
- If a topic/description was provided, proceed directly to context gathering
- If
--supersedes ADR-NNNNwas provided, note the supersession target - If no parameters provided, respond with:
I'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.
Process Steps
Step 1: Determine ADR Number
Run the corpus CLI to get the next ADR number:
accelerator corpus adr next-number- If
--supersedes ADR-NNNNwas specified:- Find the target ADR file by matching
{decisions directory}/ADR-NNNN-*.md - Verify exactly one file matches the glob pattern (error if zero or multiple matches)
- Read the target ADR's status using the corpus CLI:
accelerator corpus adr read-status <resolved-path> - Verify the target ADR is in
acceptedstatus (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. - If not
accepted, inform the user and ask how to proceed
- Find the target ADR file by matching
Step 2: Gather Context
- Spawn agents to gather relevant context (in parallel):
- Use {documents locator agent} to find related research, plans, and existing ADRs in the configured document directories
- Use {codebase locator agent} to find relevant code related to the decision topic
- Read 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.
Step 3: Draft the ADR
- Gather metadata by running
accelerator corpus metadata derive. - Draft the ADR using the template below and present it to the user for review:
Here's my draft ADR:
[draft content]Use the AskUserQuestion tool with two options:
- Yes, write to disk — save the ADR as shown
- No, revise first — make changes before saving
Wait for the user's answer before writing.
- Iterate on the draft based on user feedback. Only proceed to writing when the user approves.
Step 4: Write the ADR
- 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 fromaccelerator corpus metadata deriveis the source fordate:andlast_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 identifierADR-NNNNfrom Step 1, always quoted as a YAML string (e.g.id: "ADR-0042")title:← the ADR title (without theADR-NNNN:prefix)date:← theCurrent Date/Time (UTC):valueauthor:← the author resolved per the standard chain (config → VCS user → prompt)producer:←create-adrstatus:←proposedlast_updated:← the sameCurrent Date/Time (UTC):valuelast_updated_by:← the same value resolved forauthorschema_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.
- The
- Write the ADR to:
{decisions directory}/ADR-NNNN-description.mdwhere NNNN is the number from Step 1 and description is a kebab-case summary - If this supersedes an existing ADR:
- Read the superseded ADR's current status to confirm it's
accepted - Update ONLY the superseded ADR's frontmatter:
- Change
status: acceptedtostatus: superseded - Add
superseded_by: ADR-MMMM(where MMMM is the new ADR number)
- Change
- Do NOT modify any other content in the superseded ADR
- Append the new ADR's typed-linkage ref to the new ADR's
supersedes:list (e.g.["adr:ADR-0017"])
- Read the superseded ADR's current status to confirm it's
- 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 rejectValidate the frontmatter: after writing the ADR, run
accelerator corpus frontmatter validate --file {decisions directory}/ADR-NNNN-description.mdIf it exits non-zero, the document violates the canonical frontmatter standard; report the emitted violation and fix the frontmatter before completing.
ADR Template
Use this exact template structure when generating ADRs:
!accelerator config template adr --fail-safe
Quality Guidelines
When drafting ADRs, follow these principles:
- Concise: One to two pages maximum. Match length to problem complexity.
- Assertive: Use active voice ("We will...", "We chose...")
- Balanced: Include genuine pros AND cons. Avoid the "Fairy Tale" pattern (only pros, no cons)
- Honest options: Only include options that were genuinely considered. Avoid "Dummy Alternatives" (non-viable options to make preferred choice look good)
- Focused: Each ADR captures ONE decision. If you find multiple decisions, suggest creating separate ADRs.
- Context-rich: Explain WHY, not just WHAT. Future readers need to understand the forces at play.
Anti-Patterns to Avoid
- Fairy Tale: Only listing positive consequences
- Dummy Alternative: Including obviously non-viable options
- Mega-ADR: Multi-page documents crammed with implementation detail
- Blueprint in Disguise: Reads like a cookbook, not a decision journal
- Missing context: Decision without the forces that drove it
Important Notes
- New ADRs ALWAYS start with status
proposed - ADR numbers are NEVER reused — always increment from the highest existing
- File naming is
ADR-NNNN-description.md(e.g.,ADR-0001-use-jujutsu.md) - Only modify existing ADRs to update status fields during supersession
- Cross-reference related documents in the References section
- Use {documents locator agent} and {codebase locator agent} agents for context, not deep file reads in the main context
- Dual status fields: The template includes status in both YAML frontmatter
(
status: proposed) and the body (**Status**: Proposed). The frontmatter is the authoritative source of truth —accelerator corpus adr read-statusreads only frontmatter. The body line is for human readability. When updating status, ALWAYS update both locations. - Before writing a new ADR file, verify the target path does not already exist to prevent accidental overwrites from concurrent invocations
!accelerator config instructions create-adr --fail-safe
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

