Skip to content
Development
Skill

/decision-diary

Use when a user wants to record why one world won over the others, as a decision-diary entry. Not for remote, credential, publish, deploy, or irreversible changes.

From plugin
odin-claude-plugin
36200 skills
Install
$ npx -y skills add OutlineDriven/odin-claude-plugin --skill decision-diary --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/decision-diary

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use when a user wants to record why one world won over the others, as a decision-diary entry. Not for remote, credential, publish, deploy, or irreversible changes.

SKILL.md

decision-diary.SKILL.md
name: decision-diary
description: 'Use when a user wants to record why one world won over the others, as a decision-diary entry. Not for remote, credential, publish, deploy, or irreversible changes.'
disable-model-invocation: true

Decision diary

Contract

| Field | Bound contract | |---|---| | Trigger | User wants to record why one world won over the others. | | Authority | Reversible local: writes only one decision-diary entry at the agreed diary location; rollback is version control. No remote mutation. | | Side effect | A decision-diary entry documenting why one world won. | | Done | The decision and its rationale are recorded in the decision diary. |

Inputs

Winning decision: the world or option that won. Required. Considered worlds: every option that was on the field, including the winner. Required. Rationale: why the winning world won and why each rejected world lost. Required. Decision-diary location: the local file path where the entry is appended. Required; if no location is established, the user must supply it. Optional inputs: date, surrounding context, human opinions, agent doubts, and obvious assumptions that shaped the choice.

Procedure

1. Confirm the winning decision and the full set of considered worlds from the user. Do not infer a winner or invent options that were not on the field. Done when: the winning decision and all considered worlds are confirmed from the user. 2. Capture why the winning world won, using the user's terms. Done when: the winning rationale is recorded in the user's own terms. 3. Capture, for each rejected world, the reason it lost. Done when: every rejected world has a loss reason recorded. 4. Record any human opinions, agent doubts, and obvious assumptions the user names as load-bearing for the choice. Omit this section when the user names none; do not fabricate doubts or assumptions. Done when: named opinions, doubts, and assumptions are recorded, or the section is omitted because the user named none. 5. Compose one diary entry containing the winning decision, the considered worlds, the winning rationale, the per-rejected-world loss reasons, and any named opinions, doubts, or assumptions. Done when: the entry contains all five elements. 6. Append the entry to the decision-diary file at the agreed location. Create the file only if the user confirms it does not yet exist and names this path as its home. Done when: the entry is appended to the diary file at the agreed location. 7. Read the entry back from the diary and confirm it is persisted and readable. Done when: the entry is read back and confirmed persisted and readable.

Failure and recovery

Missing rationale: if the user cannot state why the winning world won, stop and ask for it. Do not invent or paraphrase a rationale the user did not supply. Missing diary location: if no decision-diary path is established and the user does not supply one, stop. Do not write to an arbitrary or guessed file. Partial write: if the entry cannot be written in full, no partial entry is committed. The diary file is left unchanged. Blocked result: return the missing input and the unfinished entry text. Never report done when no complete, readable entry is persisted in the diary.

Output

One appended decision-diary entry at the agreed location, containing in order: winning decision, considered worlds, winning rationale, per-rejected-world loss reasons, named opinions or doubts.

Read more
Ships withodin-claude-plugin

Formerly the ODIN Claude Plugin. The repository URL is unchanged. Outline-Driven Development, nicknamed ODIN, is a highly opinionated code-agent skill library: principles-first engineering, surgical editing, and workflow automation, published as installable

Get the whole plugin
Stats
36
Stars
0
Forks
Active
Maintenance
Python
Language
Apache-2.0
License
3d ago
Last commit
10mo ago
Created

Repo: OutlineDriven/odin-claude-plugin

Other skills on odin-claude-plugin.