mcpField
C
create-adr

create-adr

github.com/emiliosheinzDevelopment2039 installsUpdated 2w ago
Repository

About create-adr

create-adr is a workflow skill for recording decisions that have already been made as Architecture Decision Records. It guides users through field validation, format and number selection, drafting, and review while preserving ADRs as historical records.

Key features

  1. 01Validates mandatory ADR fields
  2. 02Supports MADR, Nygard, and Y-Statement
  3. 03Assigns sequential document numbers
  4. 04Checks trade-offs and document quality
  5. 05Requires confirmation before writing

Use cases

  1. 01Document a finalized architecture decision
  2. 02Choose an ADR format for a team record
  3. 03Supersede an outdated decision with a new ADR

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/emiliosheinz/agent-skills --skill create-adr

After installing, type/create-adrin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

README.md
references/
formats.md
numbering.md
process.md
quality.md
templates/
adr-madr.md
adr-nygard.md
adr-y-statement.md

Details

From the project README

Create ADR

Produce one ADR per invocation. An ADR records a decision that has already been made; if the decision is still open, use /create-rfc. Follow the five-step process in order: Step 2 validates the mandatory fields, and drafting starts once every one of them is present.

Hard rules

  • Never invent facts. If a mandatory field is missing, ask. Never fill Context, Decision, or Consequences with plausible-sounding filler.
  • Never edit an existing ADR to change the decision. Supersede with a new ADR and link back. ADRs are historical records.
  • Never skip trade-offs. Consequences must be honest — include what becomes harder, not just what becomes easier.
  • Write in the user's language — the one they are using in this session, every section of the document included.

Dispatch

Run the process in order. Read the matching reference file fully before acting — it is the playbook for that step.

StepReadPurpose
1 — Gather contextreferences/process.mdAsk for decision, format, status, supersedes
2 — Validate mandatory fieldsreferences/process.mdEnsure title, date, status, context, decision, consequences are present
3 — Pick formatreferences/formats.mdMADR (default) / Nygard / Y-Statement
4 — Assign numberreferences/numbering.mdScan directory, assign next sequential number
5 — Generate + placereferences/process.md + one of templates/adr-{madr,nygard,y-statement}.mdFill template, run quality checklist, confirm file location

Run the quality checklist (references/quality.md) before finalizing — titles, honest trade-offs, options actually compared, naming convention.

Templates

Pure markdown scaffolds; load only the one for the chosen format:

FormatTemplate
MADR (default)templates/adr-madr.md
Nygardtemplates/adr-nygard.md
Y-Statementtemplates/adr-y-statement.md

Universal rules

  1. Honesty. Record trade-offs, unknowns, and open questions honestly. Never cover a gap with an invented answer. If a field cannot be filled, ask or leave an italicized placeholder (*to be confirmed*).
  2. Immutability. ADRs are historical records. Never edit the decision after the fact — supersede with a new ADR and link Superseded by ADR-{NNN} on the old one.
  3. Short is better. 200–500 words is ideal. If longer, move detail to a linked design doc or RFC.
  4. Date everything. What seems obvious now will not be in three years.
  5. Confirm before writing. Suggest the file path in Step 5; write only after the user confirms placement.

Sibling skills

Reach for these at any point in the flow:

  • /create-rfc — the decision has not been made yet. Use RFC to propose options, gather feedback, and drive alignment. Once the decision is made, come back to /create-adr to record it.
  • /forge — spec-driven implementation. Use /forge specify | design | plan | execute when the ADR is decided and you need to build the thing. An ADR often lands as a link in a forge design.md.

Attribution

Based on create-adr by Tech Leads Club, licensed under CC-BY-4.0. Changes have been made to the original.

Comments

Markdown supported