agentleFS
pkhamrepkhamre/skills/skills/continuity/decision-log/SKILL.md

decision-log

Skill1 starsChanged 3 months agoMITView on GitHub

Capture why a technical or product decision was made, not just what changed, so the reasoning survives. Use this skill when a decision is being made or revisited — choosing an approach, rejecting an alternative, a scope call, an architecture or design choice, a dependency or tool pick, or a reopened debate where the original tradeoffs have been forgotten. It records the decision in docs/DECISIONS.md along with the options considered, the tradeoffs, the chosen path, the rejected alternatives, and what would change the decision. Trigger when the user says "log this decision", "record why we chose X", "why did we decide Y", "re-litigating this", or when a durable decision is reached in conversation. Do NOT trigger on every operational or trivial choice — only durable decisions that shape future work.

48 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use product-brief, pre-mortem and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • erik-kroonSkill

    product-brief

    Turn conversation context, codebase findings, and product intent into a PRD-style brief without assuming a specific issue tracker. Use when the user wants a PRD, product brief, feature spec, or implementation-ready product artifact.

    Also in 3 projects that use this

  • Ingramradical235Skill

    pre-mortem

    Pre-mortem analysis, scenario planning, future state narratives, and contingency frameworks. Use before finalizing any Strategy Kernel, when planning major initiatives, or when preparing Plan B triggers.

    Also in 3 projects that use this

  • MicrosoftSkill

    retrospective

    Review how work went and improve the next round. USE WHEN asked for a retro, delays, or process lessons. DO NOT USE for code review or transcript replay.

    Also in 4 projects that use this

  • OpenAISkill

    meeting-prep

    Use when creating Public Equity Investing meeting prep briefs. Do not use for private diligence, IB, FP&A, legal, or scheduling-only tasks.

    Also in 3 projects that use this

  • Microsoft AzureSkill

    test

    Also in 3 projects that use this

  • HashiCorpSkill

    changelog

    Add a `.changelog/<PR_NUMBER>.txt` entry for a GitHub Pull Request, commit, and push.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

4 rules. 0 are common, 3 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 41 edited versions we read keep these.

  • 3

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Do not treat this as paperwork.

    line 32
  2. Distinctive:

    Write the entry as you'd explain it to a sharp engineer who was not in the room.

    line 52
  3. Distinctive:

    if the decision was contested, record the strongest counterargument — a log that only contains the winning side's reasons is a press …

    line 57
  4. Very specific:

    Use references/templates.md for the exact decision-record format.

    line 65

“Common” is measured: kept by at least 6 in 10 of the 41 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Decision Log

A skill that records why a decision was made, not just what changed. The point is to preserve the reasoning so that three months later, when the details have blurred, nobody has to re-litigate the same architecture debate because the tradeoffs were never written down.

Why this matters

The "what" of a decision lives in the code, the config, the design. The "why" does not. Once the why is gone, the only way to recover it is to reconstruct the debate from memory — and memory is selective. Two people rarely remember the same tradeoffs, and the person who argued for the losing option often remembers the downside of the winner most vividly. A written decision log fixes that. It turns "why did we do this?" from an open argument into a lookup.

Decisions that get logged:

  • a chosen approach over a rejected one
  • a scope call (what's in, what's deferred)
  • a dependency, library, or tool selection
  • an architecture or design choice
  • a tradeoff the team explicitly accepted

Decisions that do not get logged:

  • routine operational picks with no lasting consequence
  • micro-choices that don't shape future work
  • anything that could be changed back in minutes with no loss

When to record

Record when the decision is made, not later. A decision is durable if it will shape future work: it commits to a path, rejects an alternative, or sets a boundary. That's the test. If you're unsure, the safe call is to record it — a short entry costs little, and an absent entry is why the debate gets reopened.

Do not treat this as paperwork. The value is in capturing the reasoning while it's fresh and honest, before hindsight smooths the edges.

Where decisions live

Decisions are recorded in docs/DECISIONS.md, one entry per decision, newest appended. This is the same file the session-handoff skill reads for context, so keeping the format stable matters — see references/templates.md.

How to capture a decision

Walk through these in order. Not every field needs a full paragraph, but the reasoning must be real — do not pad a thin decision with generic justifications.

  1. State the decision plainly. One sentence: what was chosen. If it's a scope call, say what's in and what's deferred.
  2. Give the context. One or two sentences on why the decision was on the table at all — the problem, constraint, or pressure that forced it.
  3. List the options considered. Name the real alternatives, not straw men. If there was only one workable option, say so.
  4. Record the tradeoffs. What each option bought and cost. Be specific: performance, complexity, maintainability, risk, team familiarity, timeline.
  5. Note the rejected alternatives and why. Brief. The rejected-options section is often the most valuable later, because it prevents someone from proposing the same losing option again.
  6. Capture what would change the decision. This is the hard part and the most useful. Under what condition would you flip? A scale threshold, a new requirement, a failure mode, new information. If nothing would change it, say "none known" honestly.
  7. Add follow-up, if any. A revisit date, a condition to re-check, a consequence to watch.

Tone and honesty

Write the entry as you'd explain it to a sharp engineer who was not in the room. Assume they'll read it cold and should walk away understanding the reasoning without you there. That means:

  • be specific about numbers and constraints, don't gesture at them
  • say what the decision does NOT do, not just what it does
  • name the real tradeoff you accepted, including the painful one
  • if the decision was contested, record the strongest counterargument — a log that only contains the winning side's reasons is a press release, not a record

When a decision is revisited

If a decision is reopened, read the existing entry first. Use it to ground the new debate: state whether the original tradeoffs still hold, whether the condition-that-would-change-it has been met, and what's new since. Revisit means the reasoning gets re-examined, not ignored. If the decision genuinely changes, append a new entry dated now rather than editing the old one — keep the history intact.

Templates

Use references/templates.md for the exact decision-record format.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.