decision-log

Capture decision rationale in commit trailers, project notes, and promoted ADRs.

Updated Jun 24, 2026
One-click install
npx skills add https://github.com/kashman001/ai-workspace-template --skill decision-log-kashman001
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: decision-log
Source: https://github.com/kashman001/ai-workspace-template/tree/main/skills/decision-log
Command: npx skills add https://github.com/kashman001/ai-workspace-template --skill decision-log-kashman001

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Code records what exists but never why — the reasoning, rejected alternatives, and constraints behind a choice evaporate unless written down at the moment of deciding. This Skill captures that intent at the cheapest tier that fits, so decisions survive context compaction and remain recoverable later. ## Core Features & Use Cases - Three-tier capture: a one-line Decision: commit trailer (always), an append-only decision note in work/<project>/decisions.md for any choice with a rejected alternative, and a promoted ADR under docs/adr/ only for decisions that are hard to reverse, surprising, and real trade-offs. - Promotion workflow: converts flagged notes into numbered ADRs with provenance, supersedes links, and index updates, then flips the source note to done → ADR-NNNN. - Graph integration: commit Refs: trailers and ADR provenance lines become edges so graphify query can answer "why does X work this way?". - Use Case: While implementing a feature you choose optimistic locking over pessimistic locking; the Skill appends a dated note with the rejected alternative and blast radius, adds a Decision: trailer to the commit, and later promotes it to ADR-0007 at checkpoint. ## Quick Start Ask the agent to log the decision you just made, including the chosen approach, the reason, and the rejected alternatives, as a note in the project's decisions file.

Frequently Asked Questions about decision-log

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I record why a code decision was made?▼

Append a dated note to work/<project>/decisions.md with the chosen approach, the reason, rejected alternatives, and blast radius. Also add a one-line Decision: trailer to the implementing commit so the rationale stays attached to the change.

When should a decision note become an ADR?▼

Promote a note to an ADR only when the decision passes the AND test: hard to reverse, surprising, and a real trade-off. Most notes never become ADRs; reversible choices like picking a formatting library stay as commit trailers at most.

Does this work in a workspace without git commits?▼

Yes. In a no-git workspace the Tier-1 commit trailer is not applicable, and capture starts at Tier 2 with dated notes in the project's decisions.md file. The append-only note workflow and ADR promotion remain unchanged.

What happens when the decisions file grows too large?▼

When decisions.md passes roughly 16KB, settled notes marked no or done are moved to a decisions-archive.md file beside it. Open maybe or yes notes stay in place regardless of size, keeping the live file cheap to consult.

How do ADRs connect to code for later queries?▼

ADR Provenance, Supersedes, and Refs lines plus commit Refs: trailers form edges in a context graph. Running graphify update after adding an ADR lets queries traverse from a code symbol to its commit, ADR, and rejected alternatives.