Skip to content
Decision Recorder (ADR) cover

Decision Recorder (ADR)

Preserve WHY a decision was made and which alternatives were rejected — append-only ADRs so the reasoning survives the team.

v1.0.0 · ~625 tokens · ⬇ 0 · Updated July 6, 2026

What it does

Captures a technical/architectural decision as a durable ADR: title/status, the context and forces at the time (so it can be re-judged later), the decision, the alternatives considered WITH why each was rejected (stops re-litigation and zombie revivals), and honest consequences (what it makes easier AND harder). Append-only — supersede, never edit — one decision per record, stored with the code.

Example uses

Record a framework choice

The team just picked a stack after a long debate, and the reasoning will evaporate by next quarter unless it is written down.

Write an ADR for our decision to use Postgres full-text search instead of Elasticsearch. Context: 50,000 documents, one search feature, a two-person team. We rejected Elasticsearch for its operational overhead and Algolia for cost at our query volume. Name honestly what this makes harder — relevance tuning has a lower ceiling.

Document a rejected option

You evaluated a big change, walked away from it, and want the next person to know why before they re-litigate it.

Record a decision: we evaluated moving to a monorepo and decided against it for now. Capture the context (three repos, five engineers, limited CI budget), the alternatives we weighed (Nx, Turborepo, status quo), why each was rejected, and the conditions under which this should be revisited.

Supersede an outdated decision

A past decision no longer holds, and you need a record of the reversal instead of quietly rewriting history.

Our ADR-007 chose server-side rendering for everything; we're now moving the dashboard to client-side rendering because it sits behind auth and SEO is irrelevant there. Write a new ADR that supersedes ADR-007, links back to it, and records what changed in the context since it was written.

Install

# 1. Create the skill folder in your Claude setup
mkdir -p ~/.claude/skills/decision-recorder

# 2. Download SKILL.md into it (or move the file you just downloaded)
#    → ~/.claude/skills/decision-recorder/SKILL.md

# 3. Claude Code auto-discovers it on next launch.

Inside the skill

SKILL.md
---
name: decision-recorder
description: Capture a technical or architectural decision as a clear, durable record (ADR) so the reasoning survives. Use after making a non-trivial choice (framework, pattern, trade-off), or asked "write an ADR", "document this decision", "record why we chose X". Captures the WHY and the alternatives, not just the what.
---

# Decision Recorder (ADR)

The most expensive lost information in a codebase is WHY a decision was made. Six months
later someone asks "why is it like this?" and no one remembers — so they either cargo-cult it
or break it. An ADR (Architecture Decision Record) preserves the reasoning.

## Capture what actually matters

A decision is only useful with its context and its alternatives. Record:

- **Title + status**: what was decided, in a phrase; status (proposed / accepted / superseded).
- **Context**: the situation and forces that made a decision necessary — the constraints,
  requirements, and problem at the time. (Decisions are right or wrong relative to their context;
  without it, the future reader can't judge whether it still holds.)
- **Decision**: what was chosen, stated plainly.
- **Alternatives considered**: the other real options and WHY they were rejected. This is the
  highest-value part — it stops the future team from re-litigating the same options, or reviving
  a rejected one without knowing it was already weighed.
- **Consequences**: what this makes easier AND harder — the trade-off accepted, the new
  constraints, what to watch for. Every decision has a cost; name it honestly.

## Keep it durable

- **Immutable + append-only**: don't rewrite history. If a decision is reversed, write a NEW
  record that supersedes the old one (and link them). The trail of how thinking evolved is itself valuable.
- Short and specific — one decision per record. A vague ADR helps no one.
- Store it with the code (a `docs/adr/` folder), dated, numbered.

## Rules

- The WHY and the rejected alternatives are the point — the "what" is visible in the code already.
- Record the context of the moment; a decision without its constraints can't be re-evaluated later.
- Name the trade-off honestly; a decision with only upsides listed is a sales pitch, not a record.
- Supersede, don't edit; the evolution of the reasoning is history worth keeping.

## Output

The ADR (title/status/context/decision/alternatives-with-rejection-reasons/consequences), ready
to drop into the repo. One decision, dated, with the trade-off named.

Changelog

  • v1.0.02026-07-03Initial clean-room write.

Frequently asked questions

Is Decision Recorder (ADR) free?

Yes. Decision Recorder (ADR) is free to download and MIT-licensed.

Where do I install Decision Recorder (ADR)?

Place the SKILL.md file in ~/.claude/skills/decision-recorder/ and Claude Code auto-discovers it on next launch.

How many tokens does Decision Recorder (ADR) use?

About 625 tokens — it is designed to be token-lean.

Anthony M. — Founder & Lead Reviewer
Anthony M.Verified Builder

We're developers and SaaS builders who use these tools daily in production. Every review comes from hands-on experience building real products — DealPropFirm, ThePlanetIndicator, PropFirmsCodes, and many more. We don't just review tools — we build and ship with them every day.

Written and tested by developers who build with these tools daily.