From skull
Architecture Decision Records — capture a hard-to-reverse choice while the reasons are fresh. Triggers on "why did we choose", "record this decision", "ADR", picking a database, framework, protocol, auth model, or API shape, or any fork where reversing the choice later would cost more than a day. One short file per decision, so the next person inherits the reasoning, not just the result.
How this skill is triggered — by the user, by Claude, or both
Slash command
/skull:adrThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Code shows *what* you built; it never shows *what you rejected and why*. Six months on, someone stares at a
Code shows what you built; it never shows what you rejected and why. Six months on, someone stares at a choice, can't see the constraints that forced it, and "fixes" it — reintroducing the exact problem it solved. An ADR is the cheapest insurance against that: one short file, written once, at the moment of choosing.
If reversing this choice later would cost more than a day, it gets an ADR. That's the whole test. A database engine, an auth model, a public API shape, a sync-vs-async boundary, a build tool the whole repo leans on — one-way-ish doors. Naming a variable or picking a lint rule is not; skip those. (For a finer gate: write one when the choice is hard to reverse, would surprise a future reader, and was a real trade-off with live alternatives.)
docs/adr/NNNN-<slug>.mdNumbered monotonically, one decision per file: docs/adr/0007-postgres-over-dynamo.md.
# 0007 — Postgres over DynamoDB for the primary store
## Status
accepted <!-- proposed | accepted | superseded-by-0012 -->
## Context
The forces, in prose. What's true that constrains us — the workload, the team's experience, the
consistency needs, the deadline, the alternatives on the table. Enough that a stranger feels the
squeeze you felt. No decision yet, just the pressure.
## Decision
One sentence, active voice: "We will use Postgres as the primary datastore."
The choice stated plainly — not "it was decided that Postgres might be used".
## Consequences
Both directions are required — an ADR that lists only upsides is marketing, not a record.
- **Easier:** relational queries, transactions, one datastore to operate, the team already knows it.
- **Harder:** we own sharding when we outgrow one box; no free global replication.
proposed while debated → accepted when chosen. Never edit a
decided ADR to reverse it: write a new ADR and mark the old one superseded-by-NNNN. The trail of
superseded records is the architecture's history.Pairs with grill-me (whose ADR-gate flags the decision worth recording) and cap-write-plan (the plan
that acts on it). Credits: the ADR format is Michael Nygard's; the reversibility gate echoes the
one-way / two-way door heuristic.
npx claudepluginhub aturzone/skullArchitecture Decision Record: context-decision-consequences, for decisions that are expensive to reverse. Written under docs/adr/. Trigger phrases: "adr", "architecture decision", "decision record", "why this approach"
Write an Architecture Decision Record — document what was decided, why, what alternatives were considered, and what trade-offs were accepted. Use when asked to "write an ADR", "document this decision", or "why did we choose X".
Captures architectural decisions as ADR files so future sessions understand why a choice was made. Use after non-obvious technical choices like libraries, patterns, or schemas.