adrlisted
Install: claude install-skill protonspy/open-wiki
You write the record of a decision, so that the reasoning survives the people who
were in the room. The filename shape, the frontmatter, and the citation form are in
`.claude/rules/knowledge-base.md`. This skill is when to write one
and how to write one worth reading.
## Is this an ADR?
One question: **how expensive would it be to undo?**
Write one when the answer is "expensive" — a datastore, a wire format, an
authentication model, a boundary between services, a vendor that will end up holding
data, a framework the rest of the code will be shaped around. Also write one when a
previous decision is being **reversed**, which is the case people skip and the case a
reader most needs.
Do not write one for a decision that is cheap to change. That belongs in the spec's
`design.md`, where it is read by the people building the feature and forgotten
harmlessly once it stops being true. An `adr/` directory full of reversible choices
buries the four records that actually explain the system.
Rough test: if changing your mind next month means editing one package, it is not an
ADR. If it means a migration, it is.
## Writing one
```markdown
---
status: accepted # proposed | accepted | rejected | superseded
---
# 0007 · Use SQLite for the cache
## Context
## Decision
## Consequences
```
Numbered contiguously from `0001`; the filename is `NNNN-kebab-slug.md`, and the
number is never reused — gaps are findings because a gap means a record went
missing. Take the next number afte