decision-log-entry
Skill2 starsChanged 5 months agoMITView on GitHub
Transcribe a free-form decision from the principal into a structured entry in the project's decision-log, preserving verbatim rationale, inferring type/decider/linked specs, and proposing a review date. Atomic skill — works on any project that has a decision-log.md.
In this repository24 other files it gives its agents.
- AGENTS.mdAGENTS.md
- control-plane/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- control-plane/CLAUDE.mdCLAUDE.md
- agentic-os-reference-syncSkill
- branch-cleanupSkill
- capture-triageSkill
- darwin-housekeepingSkill
- darwin-path-modeSkill
- eodSkill
- expert-interview-guideSkill
- feedback-intakeSkill
- harness-onboardingSkill
- ingest-contentSkill
- meeting-to-work-itemsSkill
- memory-consolidateSkill
- morning-briefSkill
- os-bootstrap-extendSkill
- os-bootstrapSkill
- pr-reviewSkill
- scheduleSkill
- spec-cross-checkSkill
- ux-critiqueSkill
- weekly-retroSkill
The file
We split this skill into the rules it gives an agent
11 rules. About 0 are common, 5 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 49
Default path: control-plane/memory/decisions/decision-log.md (this template's canonical location).
- Distinctive: line 52
If the path does not exist, ask the principal where to create it before proceeding.
- Distinctive: line 86
If the raw contains quotes or a characteristic expression from the principal or stakeholder:
- Very specific: line 87
Keep literal with > "phrase" or "phrase" in the Decision or Canonical quote field.
- Distinctive: line 102
If there is a canonical quote:
- Distinctive: line 117
If OK, write to the file. Otherwise adjust based on feedback.
- Distinctive: line 121
Always close with 1-2 concrete questions:
- Very specific: line 122
If type == spec-approved: "Also update decisions-locked?"
- Very specific: line 123
If type == architecture + impacts team: "Worth communicating to the team via a doc PR?"
- Very specific: line 124
If type == override-proposed: "Who needs to approve before this becomes locked?"
- Very specific: line 125
If type == stakeholder: "Update the stakeholder map too?"
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Skill: decision-log-entry
Preconditions
control-plane/memory/decisions/decision-log.mdexists (or the project supplies an alternate path via theprojectinput). If neither, the skill asks the principal where to create it before writing.- The principal's raw decision text is available verbatim.
When to use
The principal just made a decision (methodological, architectural, stakeholder, override) and wants it recorded in the decision-log before it slips. They usually speak free-form; this skill formats.
NOT for:
- Substantive spec amendment → escalate to
pr-review+ spec edit. - Open premise → goes in
OPEN_QUESTIONS.md, not the decision-log. - Generic note capture → use
parse-capture.
Inputs
raw(required) — free-form text of the decision, ideally verbatim from the principal.project(optional) — defaults to the OS root. Determines the path of the decision-log.type(optional) — if not stated, infer from the canonical categories:spec-approved· spec approved for executionspec-amended· mid-sprint spec changeoverride-proposed/override-approved· change to decisions-lockedmethodology· methodological decisionarchitecture· architecture / contract decisionstakeholder· decision about a person / relationshippending· still open, will be locked when resolved
Sequence
Step 1 — Locate the decision-log
Default path: control-plane/memory/decisions/decision-log.md (this template's canonical location).
For project-specific decision-logs: <project>/docs/harness/decision-log.md or wherever the project's harness defines.
If the path does not exist, ask the principal where to create it before proceeding.
Step 2 — Determine next D-NNN
grep -E "^## D-[0-9]+|^\| D-[0-9]+" <decision-log.md> | tail -1Take the highest number used and add 1. Format: D-NNN, zero-padded to 3 digits.
Step 3 — Parse raw into entry fields
Required fields:
| Field | How to infer |
id | Next D-NNN |
date | Today in YYYY-MM-DD (unless the principal cites another date explicitly) |
type | From the canonical list. Infer if not stated. |
short title | < 50 chars, imperative. Do not invent — extract from raw. |
Decider | The principal by default. Others if cited (team lead, stakeholder, committee). |
Context | Why the decision had to be made. Verbatim when possible. |
Decision | WHAT was decided. Verbatim when there is a literal quote — do not paraphrase. |
Rationale | Why this decision. Verbatim or minimal synthesis of raw. |
Linked | Cited spec, decisions-locked entry, PR. List refs found in raw. |
Optional but recommended:
| Field | How to infer |
Review (target N days) | Default 7 business days. Type methodology or architecture → 14d. Type stakeholder → 30d. |
Step 4 — Preserve verbatim (paraphrase antidote)
If the raw contains quotes or a characteristic expression from the principal or stakeholder:
- Keep literal with
> "phrase"or**"phrase"**in theDecisionorCanonical quotefield. - Do not paraphrase. Paraphrasing is the #1 failure mode of harness execution — "polished nonsense".
Step 5 — Canonical format
## D-NNN · YYYY-MM-DD · <type> · <short title>
- **Decider:** <who>
- **Context:** <why the decision was needed>
- **Decision:** <what was decided — verbatim when possible>
- **Rationale:** <why this decision>
- **Linked:** <refs: spec / decisions-locked / PR>
- **Review (target YYYY-MM-DD):** pendingIf there is a canonical quote:
- **Canonical quote:** > "<literal phrase>"Step 6 — Append + confirm
- Append the entry to the end of
decision-log.md. - Show the principal the formatted entry before saving:
Adding this entry to the decision-log: <entry> OK? - If OK, write to the file. Otherwise adjust based on feedback.
Step 7 — Suggest the next action
Always close with 1-2 concrete questions:
- If
type == spec-approved: "Also update decisions-locked?" - If
type == architecture+ impacts team: "Worth communicating to the team via a doc PR?" - If
type == override-proposed: "Who needs to approve before this becomes locked?" - If
type == stakeholder: "Update the stakeholder map too?"
Anti-patterns
- Paraphrase when there's a literal quote — verbatim or nothing.
- Invent a field — if raw has no explicit rationale, leave
Rationale: <pending>and ask the principal. - Infer decider without evidence — do not assume the principal if context suggests a committee or specific stakeholder.
- Skip review date — entries without a review get forgotten. Always propose a target.
- Save without confirming — always show the principal before writing to the file.
Example
Principal (free-form):
"Record this — we decided in the steering committee that the X module stays separate from the Y module. Mixing them in schema or UI kills adoption."
Output:
Adding this entry to the decision-log:
## D-NNN · YYYY-MM-DD · architecture · X and Y modules stay separate
- **Decider:** Steering committee
- **Context:** Risk of label confusion between X and Y modules — adoption killer.
- **Decision:** Modules separated with isolated namespaces. Schema and UI must
explicitly distinguish `module_x` ≠ `module_y`.
- **Rationale:** > "Label confusion kills adoption" — different iteration cycle,
different risk profile, different tooling.
- **Linked:** specs/module-x.md, specs/module-y.md
- **Review (target YYYY-MM-DD):** pending
OK to save?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
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.

