From addit-harness
Use when the user makes or records a significant architectural or technical decision — choosing a framework, database, protocol, pattern, or trade-off ("we decided to use X instead of Y because..."), or explicitly asks to write an ADR. Captures the decision as a structured MADR-format Architecture Decision Record in docs/adr/.
How this skill is triggered — by the user, by Claude, or both
Slash command
/addit-harness:adr [short decision title] [--full | --minimal][short decision title] [--full | --minimal]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Capture a significant architectural/technical decision as a durable, structured
Capture a significant architectural/technical decision as a durable, structured record in MADR 4.0 format (Markdown Any Decision Records), stored in version control next to the code so future readers understand why, not just what.
Sources / further reading:
ADR-worthy = significant and hard to reverse: technology/framework/database choice, API or integration style, data model, architectural pattern (monolith vs services, sync vs event-driven), security approach, or a notable trade-off. Skip trivial, easily-reversed choices.
--full/--minimal if given; otherwise pick by decision weight.docs/adr/. If it doesn't exist, create
it and a docs/adr/README.md index. If the repo already has an ADR location or
template, follow that instead. Optionally seed the meta-ADR
0001-record-architecture-decisions.md (records the decision to use ADRs).docs/adr/ for the highest NNNN, increment;
4-digit zero-padded starting at 0001.docs/adr/NNNN-kebab-case-title.md using the matching template below.
When the decision involves architecture or flow, embed a mermaid diagram
(component graph/flowchart and/or sequenceDiagram) in Context and Problem
Statement and/or per option — ADRs live as files / on GitHub, so mermaid
renders. Skip it for non-structural decisions.docs/adr/README.md with a row: number, title (link),
status, date.---
status: "proposed"
date: {YYYY-MM-DD}
decision-makers: {who decided}
---
# {short title of the decision}
## Context and Problem Statement
{2–3 sentences, or a short story; optionally phrased as a question. Link issues/
boards if relevant.}
<!-- Optional, when the decision is structural — delete if not applicable -->
## Architecture / Flow
```mermaid
graph TD
A[Component A] --> B[Component B]
Chosen option: "{option 1}", because {justification — resolves the key driver / best trade-off / only viable option}.
## MADR — full template
```markdown
---
status: "proposed | rejected | accepted | deprecated | superseded by ADR-NNNN"
date: {YYYY-MM-DD}
decision-makers: {who decided}
consulted: {subject-matter experts consulted (two-way)}
informed: {kept up to date (one-way)}
---
# {short title of the decision}
## Context and Problem Statement
{2–3 sentences or a short story; optionally a question. Link issues/boards.}
<!-- Optional, when the decision is structural — delete if not applicable -->
## Architecture / Flow
```mermaid
graph TD
A[Component A] --> B[Component B]
Chosen option: "{option 1}", because {justification}.
{How compliance with this decision will be confirmed — e.g. design/code review, or an ArchUnit/fitness-function test.}
{Additional evidence, team agreement, when to revisit, links to related ADRs.}
## Lifecycle & superseding
- Status flow: `proposed → accepted → deprecated | superseded` (use `rejected`
for an option/decision not taken).
- ADRs are immutable once **accepted**. To change a decision, write a **new** ADR,
set the old one's status to `superseded by ADR-NNNN`, and cross-link both ways
(new → what it supersedes; old → its replacement). Never silently edit an
accepted decision's substance.
## Optional external tooling (not required)
The skill writes the markdown directly, so a CLI is usually redundant. If you
outgrow it: `npryce/adr-tools` codified the numbering/superseding conventions
(but is stale, last release 2018 — cite, don't depend); `thomvaill/log4brains`
can publish ADRs as a browsable website.
npx claudepluginhub addit-digital/addit-harness --plugin addit-harnessCreates, edits, and verifies skills using a test-driven development approach with pressure scenarios and subagents.