Decision Logger
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 decis...
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 /cs:decisions, or checking overdue action items with /cs:review. Invoked automatically by the board-meeting skill after Phase 5 founder approval.
Install
Quick install
npx skills add https://github.com/alirezarezvani/claude-skills/tree/main/c-level-advisor/skills/decision-loggernpx skills add alirezarezvani/claude-skills --skill decision-logger --agent claude-codenpx skills add alirezarezvani/claude-skills --skill decision-logger --agent cursornpx skills add alirezarezvani/claude-skills --skill decision-logger --agent codexnpx skills add alirezarezvani/claude-skills --skill decision-logger --agent opencodenpx skills add alirezarezvani/claude-skills --skill decision-logger --agent github-copilotnpx skills add alirezarezvani/claude-skills --skill decision-logger --agent windsurfMore install options
Shorthand — useful for multi-skill repos:
npx skills add alirezarezvani/claude-skills --skill decision-loggerManual — clone the repo and drop the folder into your agent's skills directory:
git clone https://github.com/alirezarezvani/claude-skills.gitcp -r claude-skills/c-level-advisor/skills/decision-logger ~/.claude/skills/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, /cs:decisions, /cs:review, conflict detection, DO_NOT_RESURFACEQuick Start
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 |
|---------|--------|
| /cs:decisions | Last 10 approved decisions |
| /cs:decisions --all | Full history |
| /cs:decisions --owner CMO | Filter by owner |
| /cs:decisions --topic pricing | Search by keyword |
| /cs:review | Action items due within 7 days |
| /cs:review --overdue | Items past deadline |
---
Two-Layer Architecture
Layer 1 — Raw Transcripts
Location:memory/board-meetings/YYYY-MM-DD-raw.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 →
memory/board-meetings/archive/YYYY/
Layer 2 — Approved Decisions
Location:memory/board-meetings/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.
---
Decision Entry Format
## [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:** memory/board-meetings/[DATE]-raw.md
---
Conflict Detection
Before logging, Chief of Staff checks for:
- DO_NOT_RESURFACE violations — new decision matches a rejected proposal
- Topic contradictions — two active decisions on same topic with different conclusions
- 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)
- Founder approves synthesis
- Write Layer 1 raw transcript →
YYYY-MM-DD-raw.md - Check conflicts against
decisions.md - Surface conflicts → wait for founder resolution
- Append approved entries to
decisions.md - Confirm: decisions logged, actions tracked, DO_NOT_RESURFACE flags added
---
Marking Actions Complete
- [x] [Action] — Owner: [name] — Completed: [DATE] — Result: [one sentence]
Never delete completed items. The history is the record.
---
File Structure
memory/board-meetings/
├── decisions.md # Layer 2: append-only, founder-approved
├── YYYY-MM-DD-raw.md # Layer 1: full transcript per meeting
└── archive/YYYY/ # Raw files after 90 days
---
References
templates/decision-entry.md— single entry template with field rulesscripts/decision_tracker.py— CLI parser, overdue tracker, conflict detector
SKILL.md source
--- 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 decis... --- # 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, /cs:decisions, /cs: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 | |---------|--------| | `/cs:decisions` | Last 10 approved decisions | | `/cs:decisions --all` | Full history | | `/cs:decisions --owner CMO` | Filter by owner | | `/cs:decisions --topic pricing` | Search by keyword | | `/cs:review` | Action items due within 7 days | | `/cs:review --overdue` | Items past deadline | --- ## Two-Layer Architecture ### Layer 1 — Raw Transcripts **Location:** `memory/board-meetings/YYYY-MM-DD-raw.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 → `memory/board-meetings/archive/YYYY/` ### Layer 2 — Approved Decisions **Location:** `memory/board-meetings/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. --- ## 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:** memory/board-meetings/[DATE]-raw.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 → `YYYY-MM-DD-raw.md` 3. Check conflicts against `decisions.md` 4. Surface conflicts → wait for founder resolution 5. Append approved entries to `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 ``` memory/board-meetings/ ├── decisions.md # Layer 2: append-only, founder-approved ├── YYYY-MM-DD-raw.md # Layer 1: full transcript per meeting └── archive/YYYY/ # Raw files after 90 days ``` --- ## References - `templates/decision-entry.md` — single entry template with field rules - `scripts/decision_tracker.py` — CLI parser, overdue tracker, conflict detector
Related skills 6
to-prd
Turn the current conversation context into a PRD and publish it to the project issue tracker. Use when user wants to create a PRD from the current context.
to-issues
Break a plan, spec, or PRD into independently-grabbable issues on the project issue tracker using tracer-bullet vertical slices. Use when user wants to convert a plan into issues, create implementation tickets, or break down work into issues.
Boardroom
/cs:boardroom <brief> — 6-phase multi-role deliberation across the C-suite with Phase 2 isolation, critic pre-screen, and synthesis. Outputs a board memo.
Brief
/cs:brief <topic> — Generate a one-page strategy brief from an office-hours intake. First step in the strategic sprint pipeline.
C Level Agents
Founder-mode executive team. 8 cs-* C-suite agents (CFO, CMO, CRO, CPO, COO, CHRO, CISO, Chief of Staff) and 17 /cs:* slash commands for forcing-question office hours, multi-role boardroom delibera...
Caio Review
/cs:caio-review <plan> — Eval-demanding Chief AI Officer interrogation of any plan that involves AI: model selection, risk classification, cost economics, or AI hiring.