SKILL
decision-log✓ APPROVED

Stop re-litigating decisions you already made.

A running log where each entry captures the decision, the context, the options, the why, and when to revisit.

Inside: The five-field entry, searchable records, and revisit triggers.

01 / HOW TO USE

Install it in one line, or paste it in.

1
In Claude Code (one command)
Copy the install line, paste it into your terminal, and restart Claude Code. The skill installs itself to ~/.claude/skills/ and runs automatically when it is relevant.
2
In Claude, ChatGPT, or a Project (no terminal)
Open the file, then upload it to your chat or paste its contents in. A skill is just a markdown file of instructions, so any capable AI can follow it.
New to skills? A skill is a plain-text file that teaches your AI a workflow. Point any capable assistant at it and it follows the steps, on your data.
02 / MAKE IT YOURS

Connect your context. Set it to your motion.

CONNECT YOUR CONTEXT · AND WHY IT HELPS
a repo

it appends entries as numbered markdown files you can grep, diff, and review.

a notes or wiki tool

the log lives where the rest of the project context lives.

a context pack or handoff

decisions logged here feed straight into orientation for the next session.

SET IT TO YOUR MOTION

This was built for an operator who makes real calls and hates re-arguing them. Set these to your setup:

The five fields are fixed. Where the log lives and how entries are numbered are yours.

Set thisWhat it isDefault / Example
LOG_HOMEwhere entries livea git repo/decisions; a notes tool
ENTRY_FORMATone file per entry, or one running docnumbered markdown files
ID_SCHEMEhow entries are numbered00010002... (zero-padded)
STATUS_SETthe states an entry can holdproposedacceptedsuperseded
REVISIT_DEFAULTdefault revisit trigger"revisit if the constraint changes"
SUPERSEDE_LINKhow a reversal points backnew entry links the one it replaces
03 / THE FULL SKILL

Everything the skill does, in full.

WHAT THIS DOES

Captures a decision the moment it is made, in a form future-you can search and trust. Each entry names the decision, the context that made it necessary, the options on the table, the reason one won, and the condition that should make you revisit it. Six months from now, when someone asks "why is it built this way," the answer is one grep away instead of a debate. It writes one entry at a time and never touches the log without your go-ahead.

THE METHOD
  1. 1
    The five-field entry (fixed)

    Every entry carries exactly these, in order.

    1. Decision what was decided, in one sentence, stated as done.
    2. Context the situation and constraint that forced a choice.
    3. Options considered the real alternatives, including the one you rejected and why.
    4. Why the reason this option won over the others.
    5. Revisit when the condition that should reopen this, a date, a threshold, an event.
  2. 2
    One entry at a time

    Each call gets its own entry. The skill does not batch a week of decisions into one blob. One decision, one greppable record, one number.

  3. 3
    Greppable by design

    Plain markdown, consistent headings, a stable ID. So grep routing across the log finds every decision that ever touched routing, in seconds, forever.

  4. 4
    Supersede, never erase

    When a decision is reversed, you do not delete the old entry. You write a new one that links back and marks the old one superseded. The trail of why-we-changed-our-mind is as valuable as the decisions themselves.

  5. 5
    Revisit triggers

    Every entry ends with a condition to revisit, not a vague "someday." "Revisit when volume passes 10k/day" is a trigger. "Revisit later" is not.

QUALITY GATES
  • Nothing is written to the log without your explicit approval. The skill drafts the entry and shows it; you decide if it lands.
  • No entry ships without all five fields. An entry with no "options considered" is not a decision record, it is a note.
  • A superseded decision is linked, never deleted. History stays intact.
  • The revisit condition is concrete, an event or a threshold, not "later."
OUTPUT (EXAMPLE)
EXAMPLE OUTPUT
DECISION 0007 · Route onboarding by company size · status: accepted

DECISION
  New signups are routed to an owner by company-size band, not by persona.

CONTEXT
  Persona routing mis-assigned ~1 in 3 signups. The team lost trust in the
  queue and started hand-sorting, which defeated the automation.

OPTIONS CONSIDERED
  - Persona match (rejected: too noisy, data was sparse on new signups).
  - Company-size band (chosen).
  - Round-robin (rejected: ignores fit entirely).

WHY
  Size band is reliably present on a fresh signup; persona is not. Fewer
  inputs, fewer ways to be wrong.

REVISIT WHEN
  Persona data coverage on new signups passes ~80%, or volume passes 10k/day.

(draft, not saved. approve to append as 0007 in the log)
EXAMPLE CHAT
EXAMPLE CHAT
You
Log this: we just decided to route onboarding by company size instead of persona.
CLAUDE
Drafted the five-field entry. DECISION 0007 · Route onboarding by company size · status: accepted CONTEXT: Persona routing mis-assigned ~1 in 3 signups. OPTIONS: Persona match (rejected), Company-size band (chosen), Round-robin (rejected) REVISIT WHEN: Persona data coverage passes ~80%, or volume passes 10k/day. (draft, not saved. approve to append as 0007) The thing this catches: without a stated revisit-when, this decision sits unexamined forever, or gets re-litigated from scratch in six months with nobody remembering why persona routing got dropped.
You
Approved, append it.
CLAUDE
Appended as 0007 in the log. It does not supersede anything yet, so no link needed. One sharpener: connect the repo so I can append directly and keep the ID numbering straight instead of you copy-pasting it in.
04 / GO FURTHER

Where an operator takes this next.

The read is step one. Here is where an operator takes it once the manual version proves out.

The log is only useful if it gets read back. Automate the reading, not just the writing.

01
Append straight to the repo

Connect a GitHub repo so approved entries write as numbered markdown files automatically, no copy-paste step.

02
Surface stale decisions on their own

Schedule a Claude task to grep the log monthly for any entry whose revisit condition has likely been met, and flag it in Slack.

03
Hand it to the next session automatically

Wire the decision log into a context-pack or handoff so a new session opens already knowing what was decided and why.

05 / PART OF A BIGGER PLAY

One skill is the on-ramp.

GET NEW SKILLS IN YOUR INBOX

One operator-built skill a week. Free.