decision-log
Use this skill to maintain a per-project decision + status + session log under `docs/`.
Skill by julianhernandez2155
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/julianhernandez2155-decision-log
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: spreadsheets, security
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/decision-log
What's inside
- Skill name
decision-log- Description
- Use this skill to maintain a per-project decision + status + session log under `docs/`. Four artifacts: `docs/VISION.md` (immutable, versioned charter — the enduring north star that sits above everything; authored once at Init, amended like an ADR), `docs/STATUS.md` (living one-page snapshot), `docs/decisions/NNNN-title.md` (immutable ADRs in MADR format; new ADRs supersede old ones to capture pivots), and `docs/log/YYYY-MM-DD.md` (append-only session logs). Trigger on `/decision-log`, `/log`, `/decide <title>`, `/supersede NNNN`, `/amend-vision`, `/audit-vision`, or explicit status/decision/vision requests: "log this session", "record this decision", "update STATUS", "we changed our minds about X", "I want to pivot on X", "audit/review the vision", "amend the vision". Do NOT trigger on a generic session close-out ("wrap up / end the session") — that goes to `/end`, which triages first and delegates here when STATUS/log/ADR work is warranted. Auto-detect Init Mode vs Update Mode based on whether `docs/STATUS.md` + `docs/decisions/` + `docs/log/` exist.
- License
- MIT
- Instructions
- 558 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- description: longer than 1024 characters
- body: 558 lines (spec recommends under 500)
Files (1)
- SKILL.md
SKILL.md (first lines)
# decision-log Maintains four artifacts in `docs/` for project tracking, layered from most-stable to most-volatile: | File | Lifecycle | Purpose | |---|---|---| | `docs/VISION.md` | Immutable charter (amended only via a dated version bump + changelog, like an ADR) | The enduring **why / north star** that sits *above* STATUS and the ADRs. Authored once at Init; re-loaded every session; governs on conflict. | | `docs/STATUS.md` | Living (rewritten when state changes) | One-page snapshot: current focus, what works, what's next, recent decisions/pivots | | `docs/decisions/NNNN-title.md` | Immutable once accepted (status field can change) | One ADR per decision; new ADR supersedes old one to record pivots | | `docs/log/YYYY-MM-DD.md` | Append-only (one file per session) | Chronological "what happened this session" | **Philosophy:** purpose is stable and stated once (VISION, the north star nothing else may overwrite). Decisions and pivots get first-class storage (ADRs with explicit supersedes chain). Current state is one scannable page (STATUS). History is immutable session snapshots, not an ever-growing single log file. **The VISION/STATUS line.** VISION holds only what would *not* change this quarter — the enduring purpose, who it's for, the non-negotiable principles, and the paths permanently off the table. STATUS holds everything tactical and current. The litmus test for any line: *"would this change this quarter? If yes, it belongs in STATUS, not VISION."* VISION governs on conflict; STATUS and logs may never silently overwrite it. --- ## Step 1 — Detect Mode Check whether `docs/STATUS.md` AND `docs/decisions/` AND `docs/log/` exist at the project root. - **All three exist** → **Update Mode** (Step 3) - **Any missing** → **Init Mode** (Step 2) **VISION backfill (independent of the mode check):** also check whether `docs/VISION.md` exists. If it does **not** — whether this is a fresh Init or a project scaffolded before VISION existed — run the **one-time VISION interview (Step 2f)** before the rest of the flow. VISION is authored exactly once; if it already exists, only *load* it (read it for context) and never silently rewrite it. Amendments go through Step 7 (Amend VISION). Special sub-routines triggered by specific commands (run instead of the default flow): - `/decide <title>` → jump to **Step 4 (New ADR)** - `/supersede NNNN [optional new title]` → jump to **Step 5 (Supersede ADR)** - `/log` → jump to **Step 6 (Session log only)** - `/amend-vision` (or "update/amend the vision") → jump to **Step 7 (Amend VISION)** - `/audit-vision` (or "review/audit the vision", "is my VISION any good") → jump to **Step 8 (Audit VISION)** --- ## Step 2 — Init Mode: Build From Existing Context Goal: produce all three artifacts without interrogating the user. Pull from everything available before asking a single question. ### 2a. Gather context (silent reads, skip if missing) - `README.md` — project overview, setup, architecture - `CLAUDE.md` — project routing, conventions - `HANDOFF.md` — if exists, often has audience-facing status - `pyproject.toml` / `package.json` / `Cargo.toml` — project name + metadata - `git log --oneline -50` — what's been built and when - `git log --format="%H %ad %s" --date=short` — dated history for inferring sessions - Any existing `docs/`, `research/`, `plans/`, or similar directories — prior decision artifacts to fold in - The current working tree state via `git status --short` ### 2b. Detect retroactive decisions Scan the gathered context for **decisions worth ADR-ing retroactively** — *not every choice*, only ones that: - Reflect a deliberate trade-off (chose X over Y for a reason) - Are referenced multiple times in the codebase or docs - Captured an architecture or naming pivot (look for v1/v2/v3 doc pairs, "supersedes" language, "we used to do X but now do Y" notes) - Were strategically load-bearing (mentioned in setup or onboarding) **Cap retroactive ADRs at 5** unless the user asks for more. The point is to seed the pattern, not back-fill the whole project's history. Prefer the most architecturally significant decisions. Pivots especially valuable — if you find an obvious "we changed our minds" pair, capture both: the original as `status: superseded by ADR-NNNN` and the new direction as the superseding ADR. ### 2c. Draft STATUS.md Use the **STATUS.md format** below. Pull current state from HANDOFF.md if it exists, README, recent commits. Be specific. ### 2d. Draft decisions/ Create: - `docs/decisions/README.md` from the **decisions/README.md template** below - `docs/decisions/0001-title.md` ... up to N retroactive ADRs ### 2e. Draft log/ - `docs/log/YYYY-MM-DD.md` for today (use today's date), capturing what's happening in *this* session (creating the decision-log structure itself) - If the conversation history shows substantial prior work that wasn't logged, optionally create one entry for the most recent significant session (e.g., a recent git commit's date) — only if context is rich enough to be specific ### 2f. VISION interview — author the charter once (first-run gate) This runs only when `docs/VISION.md` does **not** exist (per the Step 1 backfill check). It is the single creation trigger for the durable charter — an optional-to-write doc never gets written, so force authorship exactly once here, then load-only forever after. First, try to draft VISION **from existing context** (README, CLAUDE.md, the project's own framing, STATUS's scope) without asking. Only if the enduring purpose isn't already clearly stated somewhere, ask **at most three** targeted questions in one message — don't interrogate: 1. **North star** — in one sentence, what is this project's enduring purpose / end-goal, independent of how it's built? (If the sentence would change this quarter, it's not the north star.) 2. **Who it's for** — who is worse off if this project doesn't exist? 3. **What it must always be** — the 3–7 non-negotiable principles future decisions must honor. Draft `docs/VISION.md` from the answers (or from existing context) using the **VISION.md format** below. Populate the **Out of scope — do NOT revisit** block from any settled exclusions already visible (e.g. STATUS's "Out of scope" section, an ADR that closed a path) — this is what stops the agent from re-deciding things already off the table. Keep it ≤ ~1 page; resist roadmap creep. After this, VISION is never re-interviewed — subsequent sessions only load it, and changes go through Step 7 (Amend VISION). ### 2h. LLMOps eval kernel — AI/LLM builds only (conditional) Run this during the Init interview (alongside 2f, before the 2g draft) **only if the project builds on an LLM/AI API** — detect from deps (`anthropic`, `openai`, `@anthropic-ai/sdk`, `google-genai`, a `Claude API` import) or from the project's own framing. For an AI system, "correct" has to be defined *before* code, not discovered after — so surface this once at Init: 1. **Define "correct" up front.** Ask the user to commit to a small eval set — ~10 known-good cases + ~10 edge/failure cases — that encodes what a correct output looks like. Record it (an `evals/` YAML or a STATUS section) and **gate changes on it**: a change that regresses the eval set is not "done." 2. **Route uncertain outputs to a human.** Decide the confidence/abstain threshold below which the system defers to a person instead of guessing. 3. **Cost tracking.** A CostTracker (tokens + $ per call, logged) belongs in the *project's own code*, not this skill — flag it as a first-task so spend is visible from day one. This is a prompt, not a build: decision-log records the decision (an ADR is a good home — e.g. "How we define and gate 'correct' for `<system>`"), while the eval set and CostTracker live in the project repo. Skip this sub-step entirely for non-AI projects. (It can also fire in Update Mode if an AI build *starts* mid-project — see Step 3b.) ### 2g. Show full draft + wait for approval Present everything before writing: ``` --- Here's what I'll write to docs/ — review and approve before I create the files. ### docs/VISION.md ← only when newly authored this run; omit if it already existed [full draft] ### docs/STATUS.md [full draft] ### docs/decisions/README.md [full draft] ### docs/decisions/0001-<title>.md [full draft]
From julianhernandez2155/claude-code-harness, MIT.
More from julianhernandez2155/claude-code-harness
- 0.479score
context-map
julianhernandez2155
Build a comprehensive, skimmable context map of an arbitrary project folder — auto-detecting whether it is a CODEBASE or a RESEARCH/NOTES folder and mapping…
SkillCFreshness: CClaude Code +9 - 0.479score
deep-research
julianhernandez2155
Multi-platform deep research with reputation-gated sources, two-hop trust expansion, parallel platform fan-out (Web + GitHub + Reddit + X +…
SkillCFreshness: CClaude Code +9 - 0.476score
html-visual
julianhernandez2155
Generate an interactive single-file HTML visualization (mockup, wireframe, ERD, flowchart, chart, slides, architecture diagram, dashboard, timeline, mindmap…
SkillCFreshness: CClaude Code +9 - 0.474score
curate-apply
julianhernandez2155
Review the background curator's latest nightly proposals and apply the ones the user approves.
SkillCFreshness: CClaude Code +9 - 0.474score
design-review
julianhernandez2155
Empirical, browser-driven design review of front-end changes — drives a live UI with Playwright and observes actual behavior, rather than reasoning from code.
SkillCFreshness: CClaude Code +9 - 0.474score
end
julianhernandez2155
Triage-first session close-out COORDINATOR for any project on this machine.
SkillCFreshness: CClaude Code +9 - 0.474score
excalidraw
julianhernandez2155
Draw professional diagrams on a live Excalidraw canvas via MCP.
SkillCFreshness: CClaude Code +9 - 0.474score
qmd
julianhernandez2155
Bootstrap QMD search instructions from the installed qmd CLI.
SkillCFreshness: CClaude Code +9 - 0.474score
codex-review
julianhernandez2155
Generate a paste-ready Codex review prompt for the current branch/diff.
SkillCFreshness: CClaude Code +9 - 0.474score
plan-grill-codex
julianhernandez2155
High-stakes pre-implementation planning gate tuned for this harness's context stack.
SkillCFreshness: CClaude Code +9 - 0.474score
folder-architect
julianhernandez2155
Use this skill to design or audit a project's folder/file architecture, grounded in the user's Team Knowledge Base (the patterns/workflows/concepts under…
SkillCFreshness: CClaude Code +9 - 0.474score
catchup
julianhernandez2155
Start-of-session briefing — "where did I leave off?" Reads (never writes) the nearest docs/STATUS.md + recent docs/log/ entries + the newest…
SkillCFreshness: CClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Jun 8, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from julianhernandez2155
- 0.479score
context-map
julianhernandez2155
Build a comprehensive, skimmable context map of an arbitrary project folder — auto-detecting whether it is a CODEBASE or a RESEARCH/NOTES folder and mapping…
SkillCFreshness: CClaude Code +9 - 0.479score
deep-research
julianhernandez2155
Multi-platform deep research with reputation-gated sources, two-hop trust expansion, parallel platform fan-out (Web + GitHub + Reddit + X +…
SkillCFreshness: CClaude Code +9 - 0.476score
html-visual
julianhernandez2155
Generate an interactive single-file HTML visualization (mockup, wireframe, ERD, flowchart, chart, slides, architecture diagram, dashboard, timeline, mindmap…
SkillCFreshness: CClaude Code +9 - 0.474score
plan-grill-codex
julianhernandez2155
High-stakes pre-implementation planning gate tuned for this harness's context stack.
SkillCFreshness: CClaude Code +9 - 0.474score
curate-apply
julianhernandez2155
Review the background curator's latest nightly proposals and apply the ones the user approves.
SkillCFreshness: CClaude Code +9 - 0.474score
codex-review
julianhernandez2155
Generate a paste-ready Codex review prompt for the current branch/diff.
SkillCFreshness: CClaude Code +9
Cite this page
decision-log skill. Agent Mart. https://agentmart.dev/skills/julianhernandez2155-decision-log (last updated 2026-10-24)