decision-logger — Claude Code skill: decisions and install
Stores board meeting decisions in two layers and tracks actions with deadlines. Use it after meetings or when reviewing past agreements.
/plugin marketplace add alirezarezvani/claude-skills
/plugin install c-level-skills@claude-code-skillsWhat decision-logger does
decision-logger keeps the full meeting transcript separate from decisions approved by the founder. Layer 1 holds discussions and rejected arguments. Layer 2 records approved decisions, owners, deadlines, and action items, and only that layer is loaded into future meetings.
The skill uses ~/.claude/decisions/raw/ and ~/.claude/decisions/approved/. The scripts/decision_tracker.py tool can show summaries, overdue actions, conflicts, and decisions filtered by owner or search term. The /decision-logger decisions and /decision-logger review commands cover history and follow-up work. The CLI script runs with Python.
Install it when meeting outcomes need founder approval and a lasting audit trail. It is a poor fit for simple meeting notes.
What it helps with
- record approved decisions after a meeting
- find actions that passed their deadlines
- detect conflicting decisions
- filter decisions by owner or topic
Example prompts for the agent
- Run `/decision-logger decisions` to show the latest decisions.
- Check overdue actions with `/decision-logger review --overdue`.
- Search for pricing decisions with `python scripts/decision_tracker.py --search "pricing"`.
How to install decision-logger
1Plugin marketplace
/plugin marketplace add alirezarezvani/claude-skills/plugin install c-level-skills@claude-code-skillsThis installs the whole c-level-skills plugin with all its skills
2Skills CLI (Vercel)
npx skills add alirezarezvani/claude-skills --skill decision-logger -a claude-code3Manually: put the files in place
~/.claude/skills/decision-logger/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/decision-logger/
Manually: put the files in place
.agents/skills/decision-logger/SKILL.mdFor all projects use ~/.agents/skills/
Manually: put the files in place
.cursor/skills/decision-logger/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install alirezarezvani/claude-skills decision-logger2Manually: put the files in place
.github/skills/decision-logger/SKILL.mdPlatform CLI
gemini skills install https://github.com/alirezarezvani/claude-skills --path c-level-advisor/skills/decision-loggerManually: put the files in place
.devin/skills/decision-logger/SKILL.mdThe legacy .windsurf/skills/ path still works
Claude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set349
The whole set →Similar
Questions about decision-logger
How do I install decision-logger in Claude Code?
Run /plugin marketplace add alirezarezvani/claude-skills, then /plugin install c-level-skills@claude-code-skills in Claude Code.
What does decision-logger do?
It separates raw meeting transcripts from founder-approved decisions. The skill also tracks action items, deadlines, and conflicts between decisions.
Which data does decision-logger load into new meetings?
Only records from ~/.claude/decisions/approved/ are loaded automatically. Raw transcripts in ~/.claude/decisions/raw/ are read only after an explicit founder request.
Source text
SKILL.md · MIT
--- name: "decision-logger" description: "Two-layer memory architecture for board meeting decisions. Manages raw transcripts (Layer 1) and approved decisions (Layer 2). Use when logging decisions after a board meeting, reviewing past decisions with /decision-logger decisions, or checking overdue action items with /decision-logger review. Invoked automatically by the board-meeting skill after Phase 5 founder approval." license: MIT metadata: version: 1.0.0 author: Alireza Rezvani category: c-level domain: decision-memory updated: 2026-03-05 python-tools: scripts/decision_tracker.py --- # Decision Logger Two-layer memory system. Layer 1 stores everything. Layer 2 stores only what the founder approved. Future meetings read Layer 2 only — this prevents hallucinated consensus from past debates bleeding into new deliberations. ## Keywords decision log, memory, approved decisions, action items, board minutes, /decision-logger decisions, /decision-logger review, conflict detection, DO_NOT_RESURFACE ## Quick Start ```bash python scripts/decision_tracker.py --demo # See sample output python scripts/decision_tracker.py --summary # Overview + overdue python scripts/decision_tracker.py --overdue # Past-deadline actions python scripts/decision_tracker.py --conflicts # Contradiction detection python scripts/decision_tracker.py --owner "CTO" # Filter by owner python scripts/decision_tracker.py --search "pricing" # Search decisions ``` --- ## Commands | Command | Effect | |---------|--------| | `/decision-logger decisions` | Last 10 approved decisions | | `/decision-logger decisions --all` | Full history | | `/decision-logger decisions --owner CMO` | Filter by owner | | `/decision-logger decisions --topic pricing` | Search by keyword | | `/decision-logger review` | Action items due within 7 days | | `/decision-logger review --overdue` | Items past deadline | --- ## Two-Layer Architecture Storage follows the canonical two-layer decision memory (see `../agent-protocol/SKILL.md` → "Decision Memory (Canonical Layout)") — the same layout `/c-level-agents:decide` writes. ### Layer 1 — Raw Transcripts **Location:** `~/.claude/decisions/raw/YYYY-MM-DD-<slug>.md` - Full Phase 2 agent contributions, Phase 3 critique, Phase 4 synthesis - All debates, including rejected arguments - **NEVER auto-loaded.** Only on explicit founder request. - Archive after 90 days → `~/.claude/decisions/raw/archive/YYYY/` ### Layer 2 — Approved Decisions **Location:** `~/.claude/decisions/approved/` — one record per decision (`YYYY-MM-DD-<slug>.md`) plus the append-only index `decisions.md` - ONLY founder-approved decisions, action items, user corrections - **Loaded automatically in Phase 1 of every board meeting** - Append-only. Decisions are never deleted — only superseded. - Managed by Chief of Staff after Phase 5. Never written by agents directly. Migration: a legacy `memory/board-meetings/` folder may exist from earlier versions; read it for history but write all new entries to `~/.claude/decisions/`. --- ## Decision Entry Format ```markdown ## [YYYY-MM-DD] — [AGENDA ITEM TITLE] **Decision:** [One clear statement of what was decided.] **Owner:** [One person or role — accountable for execution.] **Deadline:** [YYYY-MM-DD] **Review:** [YYYY-MM-DD] **Rationale:** [Why this over alternatives. 1-2 sentences.] **User Override:** [If founder changed agent recommendation — what and why. Blank if not applicable.] **Rejected:** - [Proposal] — [reason] [DO_NOT_RESURFACE] **Action Items:** - [ ] [Action] — Owner: [name] — Due: [YYYY-MM-DD] — Review: [YYYY-MM-DD] **Supersedes:** [DATE of previous decision on same topic, if any] **Superseded by:** [Filled in retroactively if overridden later] **Raw transcript:** ~/.claude/decisions/raw/[DATE]-<slug>.md ``` --- ## Conflict Detection Before logging, Chief of Staff checks for: 1. **DO_NOT_RESURFACE violations** — new decision matches a rejected proposal 2. **Topic contradictions** — two active decisions on same topic with different conclusions 3. **Owner conflicts** — same action assigned to different people in different decisions When a conflict is found: ``` ⚠️ DECISION CONFLICT New: [text] Conflicts with: [DATE] — [existing text] Options: (1) Supersede old (2) Merge (3) Defer to founder ``` **DO_NOT_RESURFACE enforcement:** ``` 🚫 BLOCKED: "[Proposal]" was rejected on [DATE]. Reason: [reason]. To reopen: founder must explicitly say "reopen [topic] from [DATE]". ``` --- ## Logging Workflow (Post Phase 5) 1. Founder approves synthesis 2. Write Layer 1 raw transcript → `~/.claude/decisions/raw/YYYY-MM-DD-<slug>.md` 3. Check conflicts against `~/.claude/decisions/approved/decisions.md` 4. Surface conflicts → wait for founder resolution 5. Write the approved record to `~/.claude/decisions/approved/YYYY-MM-DD-<slug>.md` and append to the index `decisions.md` 6. Confirm: decisions logged, actions tracked, DO_NOT_RESURFACE flags added --- ## Marking Actions Complete ```markdown - [x] [Action] — Owner: [name] — Completed: [DATE] — Result: [one sentence] ``` Never delete completed items. The history is the record. --- ## File Structure ``` ~/.claude/decisions/ ├── raw/YYYY-MM-DD-<slug>.md # Layer 1: full transcript per meeting ├── raw/archive/YYYY/ # Raw files after 90 days ├── approved/YYYY-MM-DD-<slug>.md # Layer 2: one record per approved decision └── approved/decisions.md # Layer 2 index: append-only, founder-approved ``` --- ## References - `templates/decision-entry.md` — single entry template with field rules - `scripts/decision_tracker.py` — CLI parser, overdue tracker, conflict detector
© Alireza Rezvani · MIT · alirezarezvani/claude-skills