| name | source-command-new-adr |
| description | Create a new ADR (Architecture Decision Record). Use BEFORE implementing a big decision. |
source-command-new-adr
Use this skill when the user asks to run the migrated source command new-adr.
Command Template
Create a new Architecture Decision Record for: $ARGUMENTS
- Check for an existing decision first [ADR-0027]: run
node contextkit/tools/scripts/adr-digest.mjs --search "<key terms from the title>".
If an ADR already covers this, extend or supersede it rather than create a duplicate.
0b. Deliberation gate [ADR-0070]: a strategic/architectural decision should be
argued before it hardens. Resolve the decision-deliberation area
(resolveAutonomy('decision-deliberation', config)): at grade ≥ 3 with
deliberations.active, this is debate mode — run /debate "<the decision question>" FIRST and use its synthesis as this ADR's Context (the debate offers a
pre-filled draft). At grade ≤ 2 it is a suggestion, not a block. Skip only for a
trivial/mechanical decision (no real tension). Writing the ADR itself stays
manual at every grade — the deliberation precedes the write, never authorizes it.
-
Find the next ADR number: list contextkit/memory/decisions/, take the highest NNNN + 1
(zero-padded to 4 digits). The 0000 meta-ADR and _TEMPLATE.md do not count as the latest
numbered decision beyond their own number.
-
Copy the structure from contextkit/memory/decisions/_TEMPLATE.md into a new file
contextkit/memory/decisions/<NNNN>-<kebab-slug>.md.
-
Fill in:
- Status:
Proposed (the user accepts it later).
- Context: the forces at play — why a decision is needed now.
- Decision: what we will do, stated plainly.
- Consequences: trade-offs, what becomes easier/harder, follow-ups.
- If this supersedes an earlier ADR, note
Supersedes ADR-XXXX and update the old one's status
to Superseded by ADR-<NNNN>.
-
Show the user the draft and ask for confirmation before marking it Accepted.
-
Generate the backlog from the decision [ADR-0034] — a decision with no tasks is
decorative. Once Accepted, preview the work it implies and create it:
node contextkit/tools/scripts/adr-tasks.mjs <NNNN> # preview (dry-run)
node contextkit/tools/scripts/adr-tasks.mjs <NNNN> --write # create, tagged source: adr:NNNN
It parses the Decision points into backlog tasks (auto-classified, ADR-tagged).
Review the preview, prune/merge as needed, then --write. The tasks then flow
through the pipeline (/pipeline start → working → conclusion on accepted criteria).
ADRs are immutable once Accepted — to change a decision, write a new ADR that supersedes it.
Never delete or rewrite an accepted ADR.