From dev-team
Create and manage Architecture Decision Records using the npryce adr-tools CLI. Use when the user asks to "add an ADR", "record this decision", "create an ADR", "supersede ADR N", "link ADRs", "generate the ADR table of contents", or any request involving the `adr` command. Pairs with the adr-author agent — this skill is the mechanics (commands, files, links); adr-author is the decision framework (when an ADR is warranted) and the prose authoring.
How this skill is triggered — by the user, by Claude, or both
Slash command
/dev-team:adr-toolsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Mechanics for working with [npryce/adr-tools](https://github.com/npryce/adr-tools) — the `adr` CLI that creates numbered Architecture Decision Records. Pairs with the [`adr-author`](../../agents/adr-author.md) agent: that agent decides *whether* an ADR is warranted and writes the prose; this skill drives the CLI correctly.
Mechanics for working with npryce/adr-tools — the adr CLI that creates numbered Architecture Decision Records. Pairs with the adr-author agent: that agent decides whether an ADR is warranted and writes the prose; this skill drives the CLI correctly.
command -v adr || echo "adr-tools not installed — see https://github.com/npryce/adr-tools"
cat .adr-dir 2>/dev/null # project's configured ADR directory
ls "$(cat .adr-dir 2>/dev/null || echo docs/adr)/" 2>/dev/null | head -3
If the pre-flight reports adr missing, run /project-init to set up this repo's tooling — it installs the adr CLI as a capability tool (see its ${CLAUDE_PLUGIN_ROOT}/skills/project-init/references/capability-tools.md) — or install it directly: see npryce/adr-tools (the CLI link is the fallback).
Project convention is docs/adr/. adr-tools stores the directory in .adr-dir at the project root — adr reads that file to find the ADRs no matter what subdirectory you're in. If .adr-dir is missing, run adr init docs/adr once. Do not init silently into a different path — confirm with the user if existing ADRs live somewhere unexpected.
adr new opens $VISUAL or $EDITOR (defaulting to vi). In a Claude Code shell this hangs the command and exits non-zero — the file is created but empty. Two workarounds:
Preferred — bypass the editor. Run with a no-op editor, then write the body with the Write tool:
EDITOR=true VISUAL=true adr new "<title>"
The command prints the new file path to stdout. Read it, then replace the template Context/Decision/Consequences sections with the real content via Edit or Write.
Fallback — let it fail, then fill in. adr new "<title>" will create the templated file and exit non-zero from the editor failure. Read the new file (it lives at <adr-dir>/NNNN-<slugified-title>.md — typically docs/adr/) and fill it in.
The skill always prefers workaround 1.
EDITOR=true VISUAL=true adr new "<title in plain words>"
Then Edit the generated file to fill in:
Accepted (default) is fine for decisions already made. Use Proposed only if there is genuine open debate.Commit the new ADR in the same commit (or PR) as the implementation it justifies.
EDITOR=true VISUAL=true adr new -s <N> "<new title>"
adr-tools automatically:
Do not delete the old ADR. Its history is the point.
adr link <SOURCE> "<LINK>" <TARGET> "<REVERSE-LINK>"
Example: adr link 12 "Amends" 10 "Amended by". Use this for relationships like Amends/Refines/Constrains. Multiple links are normal.
adr list
Returns sorted file paths. Pipe through xargs head -1 for a quick title scan.
adr generate toc > docs/adr/README.md
Run this after creating or superseding any ADR, then commit the regenerated TOC alongside the ADR change. Without this, the index drifts.
adr generate graph | dot -Tpng > docs/adr/graph.png
Optional but useful when supersede/link chains get deep. Requires Graphviz (dot).
adr-tools assigns sequential numbers; references in commits, PRs, and other ADRs depend on them being stable. If a number is wrong, supersede; never renumber.adr new -s <N> so the bidirectional link is automatic and consistent.Accepted status.adr-author decision framework.This skill handles the CLI mechanics. Use the adr-author agent when:
adr generate toc produces.A typical flow: the user asks "should we ADR this?" → adr-author decides yes/no and drafts the body → this skill runs the adr new / adr link commands and regenerates the TOC.
npx claudepluginhub bdfinst/agentic-dev-team --plugin dev-teamGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Enforces test-driven development: write failing test first, then minimal code to pass. Use when implementing features or bugfixes.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.