| name | decision-tracker |
| description | 记录和跟踪个人重大决策。当用户说"记决策"、"记个决策"、"决策跟踪"、"回填"、"decision",或描述一个刚做的/正在考虑的重大决策(创业/事业/财务/人生)并希望系统化记录与复盘时使用。自动四层拆解(原始信息/决策事实/假设推断/结果验证),生成 2 个文件,维护索引与行为模式库,并在记新决策时用历史教训主动拦截。 |
Decision Tracker
记录个人重大决策,并在你下次决策的当口用你自己的历史教训拦你。核心哲学:AI 不缺智商,缺关于你的纵向数据。
系统常量(所有路径写死,不受当前工作目录影响)
DATA_ROOT = ~/Desktop/01-项目开发/07-决策跟踪系统
- 决策目录:
{DATA_ROOT}/decisions/{YYYY-MM-DD}-{标题}/
- 两文件:
01-原始信息.md、02-决策档案.md
- 索引:
{DATA_ROOT}/index.json、{DATA_ROOT}/LEDGER.md
- 模式库:
{DATA_ROOT}/patterns.md
进入本 skill 任何动作前,先 Read {DATA_ROOT}/README.md(可选)与 {DATA_ROOT}/patterns.md、{DATA_ROOT}/index.json 建立上下文。
所有文件读写用 Read / Edit / Write,禁止用 Bash 的 cat/sed/echo/grep。
四层信息(置信度隔离 —— 系统的灵魂)
| 层 | 性质 | 落盘文件 |
|---|
| 原始信息 | 决策人原话,可能掺假 | 01-原始信息.md |
| 决策事实 | 已发生动作,确凿无疑 | 02-决策档案.md 第一节 |
| 假设推断 | 决策人 + AI 假设,待验证,非对错 | 02-决策档案.md 第二节 |
| 结果验证 | 现实结果,事后回填 | 02-决策档案.md 第三节 |
动作 1:记决策
触发:用户描述一个决策,或说"记决策/记个决策"。
流程(默认全自动,零打断)
-
读到期提醒(见动作 2 的到期扫描)。如有到期未回填的决策,先一行提醒,再继续记新决策。
-
生成 decision_id = {今天 YYYY-MM-DD}-{6-12字标题}。标题取决策核心动作。
-
四层拆解(只拆,不问):
- 原始信息:逐字保留用户原话,不改写。逐条标性质(外部观察 / 二手转述 / 决策人假设)和置信度(高 / 中 / 低)。二手转述、对他人的主观判定 → 默认低置信度(警惕美化自己、贬低他人)。
- 决策事实:抽取已确定的动作和参数(日期 / 动作 / 数量 / 价格 / 成本 / 验证周期)。
- 假设推断 - 决策人:用户话里隐含的假设。
- 假设推断 - AI:判定决策类型(如 跟风型 / 规避损失型 / 沉没成本型 / FOMO型 / 理性验证型 等),列风险点。
-
主动拦截(核心能力):读 index.json + patterns.md,匹配:
- 相同 / 相近
type 的历史决策
- 命中的已知行为模式(patterns.md 里的模式名)
如命中,先停下来把历史教训甩给用户反问(用 patterns.md 里的"拦截话术"或历史决策的核心教训),格式如:
⚠️ 你 {历史日期} 也做过 {type} 决策({历史标题}),结果是 {历史教训}。你能证明今天这个不是重蹈覆辙吗?
等用户回应后再落盘。用户回应记入 02 文件的"决策人假设"或新增"拦截后补充"小节。
若无命中,跳过此步,继续。
-
仅在置信度真有歧义时反问(否则不问):例如无法判断某条是客观事实还是用户推测,且影响置信度标注,才问 1 句。其余一律自动判断。
-
落盘:按下方「文件模板」写 01-原始信息.md 和 02-决策档案.md。
-
更新索引:按下方「索引维护」追加 index.json 条目、LEDGER.md 行。
-
回报:一句话「已记录 {标题},到期 {review_due} 回填」。若有拦截,附拦截结论。
review_due 计算
- 用户说了周期(如"测 7 天")→ created + 周期。
- 没说 → 默认 created + 14 天,回报里标注"默认 14 天后回填,可改"。
文件模板
01-原始信息.md
---
decision_id: {id}
created: {YYYY-MM-DD}
type: 原始信息
---
# 原始信息(可能掺假,谨慎采信)
## 决策人原话(逐字记录,不改写)
> {用户原话,逐字搬运}
## 置信度标注
| 信息点 | 性质 | 置信度 | 备注 |
|--------|------|--------|------|
| {信息点} | 外部观察/二手转述/决策人假设 | 高/中/低 | {风险点} |
02-决策档案.md
---
decision_id: {id}
created: {YYYY-MM-DD}
review_due: {YYYY-MM-DD}
status: 待验证
tags: [{标签}]
---
# 决策档案
## 一、决策事实(确凿无疑)
- 日期:{date}
- 决策:{动作}
- 参数:{数量/价格/成本}
- 验证周期:{周期}(到期 {review_due})
## 二、假设推断(待验证,非对错)
### 决策人的假设
- {假设}
### AI 的假设(可能与决策人分歧)
- 决策类型:{type}
- 风险:{风险}
- {若命中历史模式,引用 patterns.md 对应条目}
## 三、结果验证(到期回填,初始留空)
> _等待 {review_due} 回填_
索引维护(每次记决策 / 回填后执行)
index.json
Read 现有 index.json,向 decisions 数组追加 / 更新该决策对象,然后 Write 回去(保持合法 JSON):
{
"id": "{id}",
"title": "{标题}",
"created": "{YYYY-MM-DD}",
"review_due": "{YYYY-MM-DD}",
"status": "待验证",
"type": "{决策类型}",
"tags": ["..."],
"summary_one_line": "{一句话摘要}",
"lesson": null,
"patterns_hit": ["{命中的模式名}"]
}
回填时:更新同 id 对象的 status → "已回填",填 lesson。
LEDGER.md
在表格表头下第一行插入一行(最新在上):
| {日期} | {标题} | {类型} | {状态} | {到期} | {核心教训或"待回填"} |
回填后更新对应行的状态和核心教训。
用 Read + Edit/Write 维护,不要用 Bash 的 sed/echo。
动作 2:回填(结果验证)
触发:用户说"回填 {决策}:{真实结果}",或进入 skill 时到期扫描命中。
到期扫描(进入任何动作前先做)
Read index.json,筛 status == "待验证" && review_due <= 今天 的决策。如有,列一句提醒:
📋 有 {N} 个决策到期该回填了:{标题}(到期 {date})…
回填流程
- 定位决策:按用户给的标题 / id 匹配 index.json,找到
decisions/{id}/02-决策档案.md。
- 改写"三、结果验证"层,补四块:
- 主要偏差:实际 vs 决策时假设的差距。
- 核心教训:一句话可复用的教训。
- 暴露的个人模式:这次暴露 / 印证了什么行为模式。
- 未来规则:下次遇到同类该遵守的规则。
- 改 02 文件 frontmatter
status → 已回填。
- 累积 patterns.md(护城河):
- 若"暴露的个人模式"是新模式 → 在 patterns.md 新增模式条目(首次发现 / 复现次数 1 / 典型触发 / 历史结果 / 拦截话术)。
- 若是已有模式 → 复现次数 +1,补历史结果。
- "未来规则"追加到 patterns.md 规则库。
- 更新 index.json(status、lesson)和 LEDGER.md 对应行。
- 回报:一句话总结教训 + patterns.md 是否新增 / 强化了模式。
用 Read + Edit/Write 操作,不用 Bash 文本工具。
动作 3:查询 / 复盘(被动)
3a. 决策前对比反问
触发:"我想做 X,查查以前类似的"。
流程:读 index.json,按 type / tags / 关键词匹配历史决策;读命中决策的 02 文件结果验证层;给出对比反问(历史结果 + 当前决策的风险提示)。不强行落盘,除非用户接着说"记下来"。
3b. 模式复盘
触发:"我有哪些反复犯的错"、"我的行为模式"。
流程:读 patterns.md,按复现次数排序汇总;关联 index.json 里命中各模式的决策列表。
演示数据
若用户明说"这是测试 / 演示 / 不用保存",不落盘,只在对话里展示拆解结果。