From claude-config
Use when the user says /adr, "create an ADR", "new decision record", "document this decision", or "supersede ADR". Also triggers when a technical decision needs formal documentation with status tracking and lifecycle management.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-config:adrThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Creates and manages ADRs following the format established in `~/repos/system-design-records/`.
Creates and manages ADRs following the format established in ~/repos/system-design-records/.
new <title> — Create a new ADRlist — List all existing ADRssupersede <number> <new-title> — Create a new ADR that supersedes an existing oneSearch for ADRs in this order:
adrs/ (matches system-design-records global convention)domains/{Domain}/{System}/ (domain-scoped convention)docs/adr/ or docs/adrs/adr/ or adrs/NNNN-*.md ADR naming patternIf no ADR directory exists, ask the user:
adrs/domains/{Domain}/{System}/new)Determine the next number: Scan existing ADRs, find the highest number, increment by 1. Pad to 4 digits (e.g., 0001, 0012). Support sub-numbers like 0008.1 when creating a related decision — ask if this is a sub-decision of an existing ADR.
Generate the filename: NNNN-<kebab-case-title>.md
Gather metadata from the user:
Create the ADR using this template:
# ADR #NNNN: <Title, a short present tense phrase>
Date: <today's date, YYYY-MM-DD>
## Responsible Architect
<name>
## Author
<name>
## Contributors
* <names>
## Lifecycle
<POC | Pilot | Beta | GA | Sunset>
## Status
Proposed
## Context
<!-- Describe the forces at play — technological, political, social, project-local. -->
<!-- These forces are probably in tension. Language should be value-neutral — just facts. -->
## Decision
<!-- Our response to these forces. Stated in full sentences, active voice. "We will ..." -->
## Consequences
<!-- What becomes easier or more difficult because of this decision. -->
<!-- List all consequences — positive, negative, and neutral. -->
Open the file for the user and tell them to fill in Context, Decision, and Consequences.
Glossary hooks (end-of-skill). After the ADR body is filled (Context / Decision / Consequences), fire two hooks against ./CONTEXT.md. Both fire once at end-of-skill (not per-section) per the 2026-05-22 decision and the contract in references/CALLER-HOOKS.md § adr. Read hook runs first so its findings can inform what the write-offer surfaces as new terms.
a. Read hook (advisory). If ./CONTEXT.md exists and parses cleanly, parse the ## Language section, build the _Avoid_: alias set, scan the Context / Decision / Consequences sections (plus any Alternatives subsection if the project's ADR template adds one), and surface one advisory line per match — only when an ADR term hits an _Avoid_ alias (only-on-conflict). NEVER substitute silently in either direction — CONTEXT.md is a candidate, not authority. Surface candidates for user judgment per rules/memory-discipline.md (verify before assert). Silent no-op if ./CONTEXT.md is absent or malformed.
b. Write-offer hook. Scan Context / Decision / Consequences (and Alternatives if present) for project-specific nouns that recurred ≥2× and lack a ./CONTEXT.md entry (option names, system names, decision-context vocabulary). Invoke /glossary --offer-from-caller=adr --candidate-terms=<...> — offer never auto-write. Skip if every candidate is already canonical.
Both hooks are advisory, not blocking. Promotion to blocking is gated by Phase B eval signal per the decision doc rollback trigger.
supersede)Supersedes [ADR #NNNN](./NNNN-<old-title>.md).Superseded by [ADR #MMMM](./MMMM-<new-title>.md)list)Display a markdown table:
| # | Title | Status | Lifecycle | Responsible Architect | Date |
|---|-------|--------|-----------|----------------------|------|
Parse the number from the filename, the title from the H1, and extract Status, Lifecycle, and Responsible Architect from the document body.
/tenet-exception instead/tech-radar insteadThe system-design-records repo has additional templates for larger decisions:
If the user's decision seems larger than an ADR (e.g., "design a new system", "evaluate a new tool"), suggest the appropriate template instead and point them to ~/repos/system-design-records/templates/.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub chriscantu/claude-config --plugin claude-config