decision-logger by borghei/claude-skills
npx skills add https://github.com/borghei/claude-skills --skill decision-logger双层记忆系统,用于记录执行决策。第1层存储所有讨论内容。第2层仅存储创始人批准的决策。未来会话仅读取第2层——这可以防止过去辩论中产生的虚假共识渗入新的审议过程。
decision log, memory, approved decisions, action items, board minutes, conflict detection, DO_NOT_RESURFACE, decision history, overdue, supersession, decision search, decision tracking, accountability
单层决策记录会带来一个危险问题:智能体读取旧的辩论、被否决的提案和已丢弃的想法,然后将它们作为新决策的上下文。这会导致"虚假共识",即被否决的想法通过重复逐渐被接受。
双层系统通过严格区分原始讨论和批准的决策来防止这种情况。
Layer 1: Raw Transcripts (NEVER auto-loaded)
Location: memory/board-meetings/YYYY-MM-DD-raw.md
Contains: Full deliberation, all perspectives, rejected arguments
Loaded: Only on explicit founder request
Retention: Active 90 days, then archived
Layer 2: Approved Decisions (AUTO-LOADED every session)
Location: memory/board-meetings/decisions.md
Contains: Only founder-approved decisions and action items
Loaded: Automatically at start of every board meeting (Phase 1)
Mutation: Append-only. Decisions are never deleted, only superseded.
| 规则 | 原理 |
|---|---|
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| 第2层仅追加 |
| 保留完整的决策历史 |
| 第1层永不自动加载 | 防止虚假共识 |
| 仅首席运营官写入第2层 | 单一控制点 |
| 智能体永不直接写入 | 所有写入都需经创始人批准后通过首席运营官 |
| 被取代的决策保留在第2层 | 历史就是记录;永不删除 |
## [YYYY-MM-DD] -- [DECISION TITLE]
**Decision:** [One clear statement of what was decided]
**Context:** [1-2 sentences on why this decision was needed]
**Owner:** [One person or role accountable for execution]
**Deadline:** [YYYY-MM-DD]
**Review Date:** [YYYY-MM-DD]
**Confidence:** [High / Medium / Low]
**Rationale:** [Why this option over alternatives, 1-2 sentences]
**User Override:** [If founder changed agent recommendation -- what and why]
**Rejected Alternatives:**
- [Proposal] -- [reason for rejection] [DO_NOT_RESURFACE]
- [Proposal] -- [reason for rejection]
**Action Items:**
- [ ] [Action] -- Owner: [name] -- Due: [YYYY-MM-DD]
- [ ] [Action] -- Owner: [name] -- Due: [YYYY-MM-DD]
**Dependencies:** [Other decisions this depends on]
**Supersedes:** [DATE of previous decision on same topic, if any]
**Superseded by:** [Filled retroactively if overridden later]
**Raw transcript:** memory/board-meetings/[DATE]-raw.md
**Tags:** [topic tags for search -- e.g., pricing, hiring, market-entry]
- [x] [Action] -- Owner: [name] -- Completed: [YYYY-MM-DD] -- Result: [one sentence]
在记录任何新决策之前,系统会检查三种类型的冲突。
新决策与先前被否决的提案匹配。
Detection: New proposal text similarity > 70% to a rejected proposal
Response:
BLOCKED: "[Proposal]" was rejected on [DATE].
Reason: [original rejection reason]
To reopen: Founder must explicitly say "reopen [topic] from [DATE]"
This cannot be overridden by agents.
同一主题上的两个活跃决策得出不同结论。
Detection: Same tags + contradictory conclusions
Response:
DECISION CONFLICT DETECTED
Active decision (older): [DATE] -- [decision text]
New decision: [DATE] -- [decision text]
These decisions contradict each other.
Options:
1. Supersede old decision (new replaces old)
2. Merge decisions (reconcile the conflict)
3. Defer to founder (present both, let founder choose)
同一行动项在不同决策中被分配给不同人员。
Detection: Same action description, different owners
Response:
OWNER CONFLICT
Action: "[action text]"
Decision 1 ([DATE]): Owner = [Person A]
Decision 2 ([DATE]): Owner = [Person B]
Resolve: Which owner is correct?
START: Conflict detected
|
v
[What type of conflict?]
|
+-- DO_NOT_RESURFACE --> Block automatically. Only founder can reopen.
|
+-- Topic contradiction --> [Is the new decision from a board meeting?]
| |
| +-- YES --> Supersede old by default (board > individual)
| +-- NO --> Present both to founder for resolution
|
+-- Owner conflict --> [Which decision is more recent?]
|
+-- Flag to founder with both dates
+-- Default to more recent unless founder overrides
PROPOSED --> APPROVED --> ACTIVE --> [COMPLETED | SUPERSEDED | EXPIRED]
PROPOSED: Agent synthesis presented to founder
APPROVED: Founder explicitly approved
ACTIVE: Being executed, action items in progress
COMPLETED: All action items done, review confirmed success
SUPERSEDED: New decision replaced this one
EXPIRED: Review date passed without renewal
| 从 | 到 | 触发条件 | 执行者 |
|---|---|---|---|
| 提议中 | 已批准 | 创始人说"是"或"批准" | 创始人 |
| 提议中 | 已拒绝 | 创始人说"否"或"拒绝" | 创始人 |
| 已批准 | 活跃中 | 行动项开始执行 | 自动 |
| 活跃中 | 已完成 | 所有行动项标记为完成 | 首席运营官 |
| 活跃中 | 已取代 | 同一主题的新决策 | 首席运营官 |
| 活跃中 | 已过期 | 审查日期已过,未续期 | 系统警报 |
Step 1: Founder approves synthesis
|
Step 2: Write Layer 1 raw transcript
--> memory/board-meetings/YYYY-MM-DD-raw.md
|
Step 3: Run conflict detection against decisions.md
|
+-- Conflicts found --> Surface to founder, wait for resolution
+-- No conflicts --> Continue
|
Step 4: Append approved entries to decisions.md (Layer 2)
|
Step 5: Set review dates and action item deadlines
|
Step 6: Confirm to founder:
"Logged: [N] decisions, [M] action items tracked, [K] flags added"
每次会话开始时,扫描:
OVERDUE ITEMS (as of [today's date])
Action Items Past Deadline:
1. [Action] -- Owner: [name] -- Due: [date] -- [X] days overdue
From decision: [decision title] ([date])
2. [Action] -- Owner: [name] -- Due: [date] -- [X] days overdue
Decisions Pending Review:
1. [Decision title] -- Review was due: [date]
Original decision: [summary]
Prompt: "You decided [X] on [date]. Worth a check-in?"
Stale Decisions (> 90 days, no status update):
1. [Decision title] -- Decided: [date] -- Last update: [date]
| 紧急性 | 影响 | 优先级 | 响应 |
|---|---|---|---|
| 已逾期 | 高 | 关键 | 立即上报创始人 |
| 已逾期 | 低 | 高 | 在下次会话中标记 |
| 本周到期 | 高 | 高 | 主动呈现 |
| 本周到期 | 低 | 中 | 包含在每周摘要中 |
| 下月到期 | 任何 | 低 | 仅监控 |
| 查询类型 | 示例 | 返回结果 |
|---|---|---|
| 按主题 | "pricing" | 所有标记为定价的决策 |
| 按负责人 | "CTO" | 所有由CTO负责的决策和行动项 |
| 按日期范围 | "Q4 2025" | 2025年10月至12月的所有决策 |
| 按状态 | "overdue" | 所有逾期的行动项 |
| 按冲突 | "conflicts" | 所有检测到的矛盾 |
| 按标签 | "hiring AND engineering" | 标签的交集 |
| 视图 | 内容 | 使用场景 |
|---|---|---|
| 最近10条 | 最近10条批准的决策 | 默认快速查看 |
| 完整历史 | 所有决策,按时间顺序 | 审计或深度审查 |
| 按负责人 | 按责任人员分组 | 责任检查 |
| 按主题 | 按标签分组 | 战略审查 |
| 仅逾期项 | 仅逾期项目 | 行动管理 |
| 仅活跃项 | 仅包含开放行动项的决策 | 执行跟踪 |
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 transcripts after 90 days
| 技能 | 集成点 |
|---|---|
首席运营官 (chief-of-staff) | 管理记录工作流程,写入第2层 |
董事会会议 (board-meeting) | 在第5阶段批准后触发记录 |
战略对齐 (strategic-alignment) | 检查决策是否适当级联到团队目标 |
执行导师 (executive-mentor) | 审查陈旧决策以重新评估 |
组织健康 (org-health-diagnostic) | 决策速度作为健康指标 |
| 请求 | 交付物 |
|---|---|
| "显示最近决策" | 最近10条批准的决策及其状态 |
| "哪些逾期了?" | 所有逾期行动项及其负责人和逾期天数 |
| "搜索关于[主题]的决策" | 按主题/标签筛选的决策历史 |
| "记录此决策" | 包含所有字段的格式化决策条目 |
| "检查冲突" | 对所有活跃决策的冲突扫描 |
| "董事会决策摘要" | 决策速度、完成率、开放项目 |
每周安装量
1
仓库
GitHub 星标数
29
首次出现
今天
安全审计
安装于
zencoder1
amp1
cline1
openclaw1
opencode1
cursor1
Two-layer memory system for executive decisions. Layer 1 stores everything discussed. Layer 2 stores only what the founder approved. Future sessions read Layer 2 only -- this prevents hallucinated consensus from past debates bleeding into new deliberations.
decision log, memory, approved decisions, action items, board minutes, conflict detection, DO_NOT_RESURFACE, decision history, overdue, supersession, decision search, decision tracking, accountability
Single-layer decision logs create a dangerous problem: agents read old debates, rejected proposals, and discarded ideas, then treat them as context for new decisions. This causes "hallucinated consensus" where rejected ideas gradually become accepted through repetition.
The two-layer system prevents this by strictly separating raw discussion from approved decisions.
Layer 1: Raw Transcripts (NEVER auto-loaded)
Location: memory/board-meetings/YYYY-MM-DD-raw.md
Contains: Full deliberation, all perspectives, rejected arguments
Loaded: Only on explicit founder request
Retention: Active 90 days, then archived
Layer 2: Approved Decisions (AUTO-LOADED every session)
Location: memory/board-meetings/decisions.md
Contains: Only founder-approved decisions and action items
Loaded: Automatically at start of every board meeting (Phase 1)
Mutation: Append-only. Decisions are never deleted, only superseded.
| Rule | Rationale |
|---|---|
| Layer 2 is append-only | Preserves complete decision history |
| Layer 1 is never auto-loaded | Prevents hallucinated consensus |
| Only Chief of Staff writes to Layer 2 | Single point of control |
| Agents never write directly | All writes go through Chief of Staff after founder approval |
| Superseded decisions stay in Layer 2 | History is the record; nothing is deleted |
## [YYYY-MM-DD] -- [DECISION TITLE]
**Decision:** [One clear statement of what was decided]
**Context:** [1-2 sentences on why this decision was needed]
**Owner:** [One person or role accountable for execution]
**Deadline:** [YYYY-MM-DD]
**Review Date:** [YYYY-MM-DD]
**Confidence:** [High / Medium / Low]
**Rationale:** [Why this option over alternatives, 1-2 sentences]
**User Override:** [If founder changed agent recommendation -- what and why]
**Rejected Alternatives:**
- [Proposal] -- [reason for rejection] [DO_NOT_RESURFACE]
- [Proposal] -- [reason for rejection]
**Action Items:**
- [ ] [Action] -- Owner: [name] -- Due: [YYYY-MM-DD]
- [ ] [Action] -- Owner: [name] -- Due: [YYYY-MM-DD]
**Dependencies:** [Other decisions this depends on]
**Supersedes:** [DATE of previous decision on same topic, if any]
**Superseded by:** [Filled retroactively if overridden later]
**Raw transcript:** memory/board-meetings/[DATE]-raw.md
**Tags:** [topic tags for search -- e.g., pricing, hiring, market-entry]
- [x] [Action] -- Owner: [name] -- Completed: [YYYY-MM-DD] -- Result: [one sentence]
Before logging any new decision, the system checks for three types of conflicts.
A new decision matches a previously rejected proposal.
Detection: New proposal text similarity > 70% to a rejected proposal
Response:
BLOCKED: "[Proposal]" was rejected on [DATE].
Reason: [original rejection reason]
To reopen: Founder must explicitly say "reopen [topic] from [DATE]"
This cannot be overridden by agents.
Two active decisions on the same topic reach different conclusions.
Detection: Same tags + contradictory conclusions
Response:
DECISION CONFLICT DETECTED
Active decision (older): [DATE] -- [decision text]
New decision: [DATE] -- [decision text]
These decisions contradict each other.
Options:
1. Supersede old decision (new replaces old)
2. Merge decisions (reconcile the conflict)
3. Defer to founder (present both, let founder choose)
Same action assigned to different people in different decisions.
Detection: Same action description, different owners
Response:
OWNER CONFLICT
Action: "[action text]"
Decision 1 ([DATE]): Owner = [Person A]
Decision 2 ([DATE]): Owner = [Person B]
Resolve: Which owner is correct?
START: Conflict detected
|
v
[What type of conflict?]
|
+-- DO_NOT_RESURFACE --> Block automatically. Only founder can reopen.
|
+-- Topic contradiction --> [Is the new decision from a board meeting?]
| |
| +-- YES --> Supersede old by default (board > individual)
| +-- NO --> Present both to founder for resolution
|
+-- Owner conflict --> [Which decision is more recent?]
|
+-- Flag to founder with both dates
+-- Default to more recent unless founder overrides
PROPOSED --> APPROVED --> ACTIVE --> [COMPLETED | SUPERSEDED | EXPIRED]
PROPOSED: Agent synthesis presented to founder
APPROVED: Founder explicitly approved
ACTIVE: Being executed, action items in progress
COMPLETED: All action items done, review confirmed success
SUPERSEDED: New decision replaced this one
EXPIRED: Review date passed without renewal
| From | To | Trigger | Who |
|---|---|---|---|
| Proposed | Approved | Founder says "yes" or "approve" | Founder |
| Proposed | Rejected | Founder says "no" or "reject" | Founder |
| Approved | Active | Action items begin execution | Automatic |
| Active | Completed | All action items marked done | Chief of Staff |
| Active | Superseded | New decision on same topic | Chief of Staff |
| Active | Expired | Review date passed, no renewal | System alert |
Step 1: Founder approves synthesis
|
Step 2: Write Layer 1 raw transcript
--> memory/board-meetings/YYYY-MM-DD-raw.md
|
Step 3: Run conflict detection against decisions.md
|
+-- Conflicts found --> Surface to founder, wait for resolution
+-- No conflicts --> Continue
|
Step 4: Append approved entries to decisions.md (Layer 2)
|
Step 5: Set review dates and action item deadlines
|
Step 6: Confirm to founder:
"Logged: [N] decisions, [M] action items tracked, [K] flags added"
At the start of every session, scan for:
OVERDUE ITEMS (as of [today's date])
Action Items Past Deadline:
1. [Action] -- Owner: [name] -- Due: [date] -- [X] days overdue
From decision: [decision title] ([date])
2. [Action] -- Owner: [name] -- Due: [date] -- [X] days overdue
Decisions Pending Review:
1. [Decision title] -- Review was due: [date]
Original decision: [summary]
Prompt: "You decided [X] on [date]. Worth a check-in?"
Stale Decisions (> 90 days, no status update):
1. [Decision title] -- Decided: [date] -- Last update: [date]
| Urgency | Impact | Priority | Response |
|---|---|---|---|
| Overdue | High | Critical | Escalate to founder immediately |
| Overdue | Low | High | Flag in next session |
| Due this week | High | High | Surface proactively |
| Due this week | Low | Medium | Include in weekly summary |
| Due next month | Any | Low | Monitor only |
| Query Type | Example | Returns |
|---|---|---|
| By topic | "pricing" | All decisions tagged with pricing |
| By owner | "CTO" | All decisions and actions owned by CTO |
| By date range | "Q4 2025" | All decisions from Oct-Dec 2025 |
| By status | "overdue" | All overdue action items |
| By conflict | "conflicts" | All detected contradictions |
| By tag | "hiring AND engineering" | Intersection of tags |
| View | Contents | When Used |
|---|---|---|
| Last 10 | Most recent 10 approved decisions | Default quick view |
| Full history | All decisions, chronological | Audit or deep review |
| By owner | Grouped by accountable person | Accountability check |
| By topic | Grouped by tag | Strategic review |
| Overdue only | Only overdue items | Action management |
| Active only | Only decisions with open action items | Execution tracking |
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 transcripts after 90 days
| Skill | Integration Point |
|---|---|
Chief of Staff (chief-of-staff) | Manages the logging workflow, writes to Layer 2 |
Board Meeting (board-meeting) | Triggers logging after Phase 5 approval |
Strategic Alignment (strategic-alignment) | Checks if decisions cascade properly to team goals |
Executive Mentor (executive-mentor) | Reviews stale decisions for re-evaluation |
Org Health (org-health-diagnostic) | Decision velocity as health indicator |
| Request | Deliverable |
|---|---|
| "Show recent decisions" | Last 10 approved decisions with status |
| "What's overdue?" | All overdue action items with owner and days past due |
| "Search decisions about [topic]" | Filtered decision history by topic/tag |
| "Log this decision" | Formatted decision entry with all fields |
| "Check for conflicts" | Conflict scan against all active decisions |
| "Decision summary for board" | Decision velocity, completion rate, open items |
Weekly Installs
1
Repository
GitHub Stars
29
First Seen
Today
Security Audits
Gen Agent Trust HubPassSocketFailSnykPass
Installed on
zencoder1
amp1
cline1
openclaw1
opencode1
cursor1
飞书日程待办摘要工作流:AI自动生成每日/每周开工报告,提升个人生产力
24,200 周安装