Investigation memory
Skill sxd007/investigation-ontology/skills/investigation-memory
调查场景记忆系统 — 在案件调查过程中,当用户说“先记下来”“先放着”“暂缓、以后再看”“感觉不太对但证据还不够”,或出现探索过但未深入的路径、直觉推测、非正式观察和关键决策理由时,使用本技能静默记录为可查询的考察档案;也用于回答“之前关于 X 有什么记录”。不干扰案件推进,不污染证据链。From its SKILL.md
npx -y skills add sxd007/investigation-ontology --skill investigation-memoryAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
14.2 KB, as published. Nobody here has run it
调查场景记忆系统
一个低噪音、可回溯的调查过程底层档案——记录那些"重要但不构成证据"的信息,在不增加用户负担、不污染证据链的前提下,积累可复盘、可搜索的考察材料。
设计原则
三条红线(不可突破)
- 不污染证据链 — memory 条目不得进入
evidence_registry.json,不被视为案件事实依据,不参与可采性评估 - 不增加用户操作负担 — 记录在后台完成,不弹出提问框,不打断用户的分析流程
- 不干扰方法论执行 — memory 不能改变案件阶段推进、门禁检查、调查方案设计等核心工作流
安装与写入策略
本技能在所有 profile 中安装,但“已安装”不等于无条件写盘。每次候选写入前读取 team-profile.md 的 Memory Write Policy:
| 策略 | 行为 |
|---|---|
silent | 按本技能准入规则后台写入,成功后不提示 |
notify | 写入后在当前回复末尾给出一行非阻断提示,不追加确认问题 |
disabled | 不创建或修改 case_memory/;已有条目仍可只读查询和复盘 |
配置缺失或旧配置尚未迁移时使用 notify 安全默认值,并提示可通过 cold-start 或直接编辑团队配置修改。写入失败、索引损坏且无法恢复等异常不受“静默”约束,必须明确报告,禁止静默丢失。
五条准入标准
AI 在调查过程中遇到以下五类信息时,应考虑写入 memory:
| # | 类型 | 判断条件 | 示例 |
|---|---|---|---|
| 1 | 讨论分支 | 探索过但未深入、若有进一步证据可能影响案件走向的路径 | "考虑过张三可能是内部配合,但缺少交易数据支撑" |
| 2 | 犹豫与不确定性 | 分析过程中感觉异常但现有证据无法证实或排除的疑虑 | "境外付款这条线感觉有异常,但目前证据链不完整" |
| 3 | 灵感与直觉 | 基于模式识别或经验产生的推测性想法,尚未验证 | "这个模式理论上也可能出现在华南大区" |
| 4 | 非正式观察 | 尚无法结构化或归因、但值得以后对照的行为信号或环境信息 | "访谈后感觉 C 某对竞争对手话题格外敏感,但现有记录不足以判断原因" |
| 5 | 关键决策理由 | 某条路径被暂缓、假设被修正或推理缺口被发现,且理由未来值得复核 | "暂缓渠道合谋方向,因为现有数据无法区分业务纠纷与欺诈" |
一个排除标准
以下信息不写入 memory:
- 已经正式登记在
evidence_registry.json中的证据 - 已经写入工作底稿(
working_papers/)的分析结论 - 与案件完全无关的闲聊或环境噪音
- 单纯的操作记录("我调用了某个工具"、"先分析数据再访谈")——除非该操作产生意外发现、改变假设或形成值得复核的决策理由
- 已由
interview-analyzer结构化并登记的对抗行为——它属于访谈证据特征,不再重复写入 memory
与正式产物的分流
| 信息 | 正确去向 |
|---|---|
| 可复现的数据异常、方法、范围和结果 | analysis_finding |
| 数据异常引发但尚无法验证的直觉、旁支方向 | case_memory/ |
| 已结构化分析的停顿、回避、选择性配合等访谈信号 | 访谈分析及 evidence_registry.json |
| 访谈后尚无法结构化或归因的主观反思 | case_memory/ 的 observe 条目 |
| 已确认的分析结论 | working_papers/ 或正式 finding |
memory 不是调查活动日志:不记录“做了什么”,只记录“哪些尚未正式化的信息或决策理由值得以后重新检查”。
存储架构
目录结构
memory 存放在案件目录下的独立子目录,与正式证据和底稿严格隔离:
cases/CASE-YYYY-NNN/
├── evidence_registry.json ← 正式证据(不动)
├── working_papers/ ← 正式底稿(不动)
└── case_memory/ ← ★ 新增:记忆目录
├── INDEX.md ← 索引,AI 维护
├── 2026-06-14_discuss_supplier-overlap.md
├── 2026-06-15_hesitate_overseas-payment.md
├── 2026-06-16_insight_interviewee-body-language.md
└── ...
文件命名规范
<YYYY-MM-DD>_<type>_<short-kebab-slug>.md
类型标签(type):
| 标签 | 含义 |
|---|---|
discuss | 讨论分支 — 探索过但未深入的路径 |
hesitate | 犹豫/不确定性 — 疑虑待验证 |
insight | 灵感/直觉 — 推测性想法 |
observe | 非正式观察 — 行为信号 |
think | 关键决策理由 — 路径暂缓、假设修正或推理缺口的可复核摘要 |
文件名示例:
2026-06-14_discuss_supplier-overlap.md2026-06-15_hesitate_overseas-payment.md2026-06-16_insight_dealer-behavior-pattern.md2026-06-17_observe_withdrawal-during-phonecall.md2026-06-17_think_why-hypothesis-2-was-rejected.md
think 类型边界
think 只记录可复核的决策理由摘要,不记录模型内部思维过程、逐步推理链或普通操作选择。
应记录:
- 推翻或修正既有
discuss/insight后,需要保留判断转变的依据 - 发现证据到结论之间存在推理缺口,需要后续补全
- 决定暂缓某条调查方向,需要保留当时可见的事实基础和恢复条件
不记录:
- “我选择方法 A 而不是方法 B”一类普通操作过程
- 与特定案件无关的纯方法论推导
- 已进入工作底稿的完整论证
旧条目兼容: 没有 Schema Version、或按旧规范记录完整推理路径的 think 条目按 v1 只读兼容。复盘不得因其不符合新写入规则而跳过;可将其解释为 legacy reasoning material,但不得覆写、压缩或自动迁移原文。新建条目使用 v2 规则。
单条 Memory 条目结构
每一条 memory 条目遵循以下格式:
# [简洁标题 — 见名知意]
**Schema Version**: 2
**类型**: discuss | hesitate | insight | observe | think
**日期**: YYYY-MM-DD
**关联证据**: E-编号, E-编号(可选,链接到 evidence_registry 中的条目)
**关联假设**: H-编号(可选,链接到调查假设)
**关联 Memory**: [相对路径](可选;新判断延续既有主题时填写)
## 记录
[内容主体 — 3-5 句话讲清楚背景、观察和分析]
## 后续状态
- [ ] 已纳入(已转化为新的调查方向或假设)
- [x] 存档待查(当前证据不足,暂缓推进)
- [ ] 已排除(已找到合理解释或反证)
## 关联文件
- [文件名](相对路径) — 产生此 memory 的具体交互文件的引用
索引维护
case_memory/INDEX.md 由 AI 自动维护,格式如下:
# Case Memory Index — CASE-YYYY-NNN
**案件**: [案件名称]
**时间段**: YYYY-MM-DD ~ YYYY-MM-DD
| 日期 | 类型 | 摘要 | 关联证据 | 状态 |
|------|------|------|---------|------|
| 2026-06-14 | discuss | 供应商重叠的探索路径 | E-007 | 存档待查 |
| 2026-06-15 | hesitate | 境外付款路线证据不足 | — | 存档待查 |
| 2026-06-16 | insight | 访谈对象体态语言异常 | E-012 | 已纳入 |
**维护规则:**
- 新增 memory 条目 → 在 INDEX.md 中添加一行
- 状态或关联变更 → 先更新条目文件,再同步更新对应索引行
- 条目已清理 → 删除对应行
权威来源与索引恢复
- 单条 memory 文件是内容、状态和关联关系的权威来源;
INDEX.md是可重建的派生索引 - 不允许只修改
INDEX.md而不修改对应条目文件 case_memory/存在但INDEX.md缺失时,扫描符合命名规范的条目文件并重建索引INDEX.md存在但不可解析、存在漏项或孤儿行时,以条目文件为准修复;无法无歧义修复时停止写入并报告- 同步顺序固定为:写入或更新条目文件 → 更新
INDEX.md→ 回读核对两处状态和关联一致
生命周期管理
条目存活周期
条目伴随案件生命周期存在。案件结案归档时执行一次清理:
| 最终状态 | 处理方式 |
|---|---|
| 已纳入(转化为有效调查方向) | 保留,纳入复盘输入 |
| 存档待查(有潜在价值) | 选择性保留,AI+用户评估后决定 |
| 已排除(有反证) | 可压缩为一行摘要或直接清除 |
| 低价值(确认是噪音) | 清除,不在 INDEX.md 中保留 |
归档规则
结案归档时:
- 保存清理前索引快照
INDEX.pre-archive.md,供复盘追溯 - 标记各条目的最终状态:先更新条目文件,再同步
INDEX.md并回读核对 - 将 INDEX.md 中状态为"已纳入"的条目列表附加到复盘报告的输入中
- 清除确认无价值的条目;删除索引行与条目文件必须保持一致
- 最终的 INDEX.md 连同精简后的条目留在
case_memory/中作为案件完整档案的一部分
查询与复盘
检索方式
memory 的检索没有独立命令层,通过以下方式被访问:
场景 1:AI 复盘时
├── 加载 INDEX.md 获取全貌
├── 按类型筛选(如 "所有 hesitate 条目")
└── 按关联证据/假设筛选
场景 2:用户主动查询
└── 通过自然语言: "之前讨论过供应商方面有什么犹豫点?"
→ AI 读取 INDEX.md + 相关条目文件后回答
场景 3:跨案件检索(结案归档后)
└── 通过 grep 搜索各 case_memory/ 目录下的内容
复盘时的角色
在 case-retrospective 技能执行时,memory 提供以下维度的输入:
| memory 类型 | 复盘维度 | 价值 |
|---|---|---|
| 犹豫与不确定性 | 推理质量、直觉准确度 | 验证——我当初的直觉对吗? |
| 讨论分支 | 覆盖宽度、决策效率 | 评估——我们是否过早放弃了某个方向? |
| 灵感 | 模式识别能力 | 复盘——哪些凭经验的判断得到了验证? |
| 非正式观察 | 信息敏感度 | 回顾——那些旁支信息是否本应更早纳入主线? |
| 关键决策理由 | 推理逻辑一致性 | 检查——当时为何暂缓或修正,该理由后来是否仍成立? |
行为约束(给 AI 的操作指令)
写入判断流程
遇到调查过程中的非正式信息
├── Memory Write Policy == disabled? → 是 → 不写(仍允许只读)
├── 是否已登记在 evidence_registry.json? → 是 → 不写
├── 是否已记录在工作底稿中? → 是 → 不写
├── 是否属于五类准入标准之一? → 否 → 不写
└── 是 → 准备写入
├── case_memory/ 不存在 → 创建目录
├── INDEX.md 不存在/损坏/不一致 → 从条目文件重建或修复;无法修复则停止并报告
└── 在 INDEX.md 和条目文件中按主题、关联证据、关联假设检索相近条目
├── 完全重复 → SKIP,不写
├── 仅状态或关联变化 → UPDATE 原条目,再同步 INDEX.md
├── 新判断延续既有主题 → CREATE 新条目,填写“关联 Memory”,再追加索引行
└── 无相关条目 → CREATE 新条目,再追加索引行
最后统一回读核对条目文件与 INDEX.md
噪音防控要求
- 一个案件的全周期 memory 条目建议控制在 10-30 条——超出 30 条应做一次主动清理
- 同一条目的正文不反复追加——状态和关联引用可原位更新;出现新的判断或背景时创建新条目并关联已有条目
- 如果 AI 无法确定是否应该写入,倾向于不写(宁可少记,不可滥记)
- 写入操作不打断用户——在生成其他输出的同时完成
上游工作流旁路检查
investigation-planner、data-analyzer 和 interview-analyzer 在每轮交付前执行一次后台检查:
- 本轮是否出现“有潜在价值、尚不构成证据、未进入底稿、未来可能需要检索”的信息
- 若是,按本技能创建或更新条目及
INDEX.md;若无法确定,倾向于不写 - 该检查不得改变当前任务结论、阶段门禁或交付节奏,也不得为写 memory 追加用户问题
写入即忘原则
在 silent 策略下,AI 成功创建或更新 memory 后不需要在回复中报告——除非用户明确询问。memory 的设计理念是“写入即忘”:写完之后继续当前分析,memory 只在复盘或查询时重新提起。该原则仅适用于成功写入;失败、索引无法恢复或一致性校验失败必须报告。
与其他技能的关系
investigation-memory(工具赋能类)
│
├── 输入 ← 所有技能的"讨论过程中产生的非结构化信息"
│ 来源包括:investigation-foundation(推理过程中的分支)、
│ interview-analysis(非正式观察)、
│ data-analysis(异常信号的直觉判断)
│
├── 输出 → case-retrospective(复盘时的"犹豫"和"灵感"数据源)
│
├── 守护 ← evidence-management
│ memory 条目绝不进入 evidence_registry
│ memory 条目不受证据可采性规则约束
│
└── 守护 ← writing-reporting
memory 内容不直接引入正式调查报告
复盘报告可以引用 memory 作为"调查过程"而非"调查结论"的材料
When to Activate
- 案件正在推进中,AI 与用户进行调查分析和讨论时
- 用户表达犹豫、推测、直觉判断时
- 发现一个值得标记但不构成证据的信号时
- 探索某个调查方向后决定暂缓时
- 案件复盘前,需要加载 INDEX.md 以提供输入
- 用户明确询问"之前关于 X 有什么记录"时