Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when documenting an architecture or technology decision that has already been made, for a repo's docs or a team knowledge base: structure it as a MADR record with Context and Problem Statement, Decision Drivers, Considered Options, a Chosen-option sentence, and Good/Bad consequence bullets. Do NOT use for meeting minutes, status updates, or for weighing a decision that has not been made yet.
.claude/skills/madr-decision-records/SKILL.md| Model | Eval pass | Runs |
|---|---|---|
| gemini-3.6-flash | 100% | 16 |
| Model | Lift | Δ tokens | Δ turns | Cases | Verified |
|---|---|---|---|---|---|
| gemini-3.6-flashbest | +59% | +20% | 0% | 22 | 54d ago |
| gemini-3.5-flash | pending re-run | — | |||
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-15 | ✗→✓ | ▲ Improved | — | — |
| case-13 | ✗→✓ | ▲ Improved | — | — |
| case-22 | ✗→✓ | ▲ Improved | — | — |
| case-11 | ✗→✓ | ▲ Improved | — | — |
| case-04 | ✗→✓ | ▲ Improved | — | — |
Enforces the MADR template on every write-up of a decision that has been made: fixed headings, the exact Chosen-option sentence, and Good/Bad consequence bullets. Apply when documenting an architectural or technology choice for the record; not for meeting minutes or for analyzing a still-open choice.
with its own title and full section set — never one combined document.
heading: # Store user sessions in the relational database. Never a full sentence, never a question, never a bare topic like "Sessions".
## Context and Problem Statement — two to four sentences framing the situation and theproblem; it may end by stating the problem as a question.
## Decision Drivers — a bullet list of the concerns and criteria that mattered, onedriver per bullet (* <driver>).
## Considered Options — a bullet list of ALL candidate options, the chosen oneincluded. Each entry is a short option title, not a paragraph of analysis.
## Decision Outcome — see rule 4. Chosen option: "<option title>", because <justification>.
The option title is quoted and must match one entry from Considered Options verbatim. The justification names the driver(s) that settled it (e.g. "only option that meets driver X").
### Consequences heading inside the DecisionOutcome section:
Include at least one Good, because and at least one honest Bad, because bullet — every real decision has a cost.
## Pros and Cons of the Options section after the outcome, one ### <option title> subsection each — never mixed into the Considered Options list.
BEFORE (free prose)
We talked it over and decided to describe our architecture diagrams as text
and render them in CI, since exported images kept going stale and could not
be reviewed in diffs. We also looked at a paid whiteboard tool.
AFTER (conforming record)
# Render architecture diagrams from text kept in the repo
## Context and Problem Statement
Exported diagram images go stale and cannot be meaningfully reviewed in a
diff. How do we keep architecture diagrams accurate and reviewable?
## Decision Drivers
* Diagram changes must be reviewable in pull requests
* Low effort to keep diagrams current
* No per-seat licensing cost
## Considered Options
* Text-based diagrams rendered in CI
* Exported images from a whiteboard tool
* A paid collaborative diagramming service
## Decision Outcome
Chosen option: "Text-based diagrams rendered in CI", because it is the only
option that makes diagram changes reviewable in a diff while adding no
per-seat cost.
### Consequences
* Good, because diagram edits show up in review like any other change
* Good, because CI re-rendering keeps published diagrams current
* Bad, because complex layouts are harder to fine-tune than in a visual tool→ two records. Each stands alone with its own title, drivers, options, and outcome.
with "Do nothing" as the second option) and still write the Chosen-option sentence.
question the decision answers.
decided it must appear in the Decision Drivers list.
effort). A record with zero Bad, because bullets reads as advocacy, not a record.
Context and Problem Statement, Decision Drivers, ConsideredOptions, Decision Outcome. Don't substitute ad-hoc headings like "Background" or "Rationale".
Chosen option: "<option>", because .... Don't bury the choice ina paragraph.
Good, because / Bad, because bullets. Don't write a proseconsequences paragraph.
template's exact headings.
Chosen option: "...", because ... sentence.# + short noun phrase (problem + solution).Decision Outcome (+ ### Consequences).
Chosen option: "<option>", because <justification>. — option verbatimfrom the list.
* Good, because ... and one * Bad, because ....| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-15 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-13 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-22 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-11 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-04 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-18 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-08 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-17 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-19 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-05 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-06 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-09 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-01 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-21 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-03 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-10 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-12 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-07 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-02 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-14 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-16 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-20 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +59 percentage points is the difference between those two pass rates over the 22 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
The per-case answers from this run were removed by the retention sweep, so the case table below shows the verdicts without the text either arm produced. The counts above were recorded at the time and are unaffected. Answers are now kept for 180 days.
| Model | Method | Date | Lift |
|---|---|---|---|
| gemini-3.5-flash | verified | 7/10/2026 | +82% |
Other measured skills in the registry, with their headline benchmark lift.