知识操作
跨多个存储管理知识。
为每个事实指定一个主要仓库。其他存储可以保存简短注释,并附带指向该主要仓库的链接。
何时使用此技能
当用户希望:
- 将事实或笔记保存到知识库。
- 导入文件、聊天记录或数据集。
- 在存储之间同步知识。
- 查找或合并重复笔记。
- 搜索关于某个主题的已知事实。
- 更新共享的事实来源。
- 执行比简单记忆查找更复杂的操作时,使用此技能。
主要规则
- 将代码工作保留在真实克隆的仓库中。
- 将进行中的计划和状态放在 GitHub、Linear 或仓库中。
- 将不适合同代码一起存放的长篇笔记放于代码仓库之外。
- 将长期的、跨设备的笔记放入知识库。
- 创建之前先搜索。
- 不要为同一事实创建两个主要副本。
- 除非用户要求并且所需的工具已经设置好,否则不要进行外部调用。
- 绝不要保存密钥、密码、令牌、Cookie 或私有登录数据。
- 除非用户要求或已批准该步骤,否则不要提交或推送。
- 不要用旧笔记替换新的事实。
存储层
1. 活动工作源
示例:
- GitHub 问题、拉取请求、讨论和发布说明
- Linear 问题、项目和文档
- 真实项目仓库中的文件
用于以下场景:
- 当前计划
- 路线图
- 发布状态
- 部署状态
- 构建和代码工作
如果一个事实涉及活跃工作,请先更新此层。
2. Claude Code 记忆
路径:
~/.claude/projects/*/memory/
使用带有 YAML 前言段的简短 Markdown 文件。
用于以下场景:
- 用户偏好
- 用户反馈
- 小型项目事实
- 简短参考笔记
- 后续对话中需要的事实
不要假设此路径存在或可以更改。请先进行检查。
3. MCP 记忆
常用工具:
create_entitiescreate_relationsadd_observationssearch_nodes
用于以下场景:
- 命名的人物、团队、工具和项目
- 这些项目之间的关联
- 希望以后易于搜索的事实
使用当前 MCP 服务器上准确的工具名称。如果没有设置记忆服务器,则跳过此层并说明原因。
4. 知识库仓库
用于以下场景:
- 长期笔记
- 会话导出
- 联合研究
- 操作手册
- 长文档
这是非项目代码内容的主要跨设备存储。
5. 数据存储
示例:
- Supabase
- PostgreSQL
用于以下场景:
- 大量行数据
- 大量文档集
- 全文搜索
- 需要 SQL 的数据
在记忆中仅保留简短摘要和记录 ID。
6. 本地笔记和归档
用于以下场景:
- 供人阅读的笔记
- 旧计划
- 本地媒体列表
- 短期非代码文件
不要将其用作第二个代码仓库或活动计划的主要仓库。
选择主要仓库
使用此指南:
| 知识类型 | 主要仓库 | 可选副本 |
|---|---|---|
| 当前计划、发布或代码状态 | GitHub、Linear 或项目仓库 | 简短记忆笔记 |
| 业务决策 | 项目记忆或知识库 | MCP 记忆 |
| 用户偏好或反馈 | Claude Code 记忆 | MCP 记忆 |
| 小型参考事实 | Claude Code 记忆 | MCP 记忆 |
| 大型文档集 | 数据存储或知识库 | 简短记忆摘要 |
| 聊天或会话导出 | 知识库仓库 | 简短记忆摘要 |
| 本地短期笔记 | 本地归档 | 无 |
如果两个选项都合适,请选择拥有该工作的存储。从另一个存储添加链接,而不是复制完整文本。
导入步骤
1. 读取和分类
找出:
- 来源
- 主题
- 日期
- 所有者
- 事实是否是最新的
- 文本是否包含机密信息
- 最佳的主要仓库
不要导入您无法读取或信任的文本。将不确定的事实标记为不确定。
2. 搜索匹配项
在写入之前:
- 搜索记忆文件。
- 若 MCP 记忆已设置,则进行搜索。
- 搜索知识库。
- 当 GitHub 或 Linear 可能拥有该事实时,进行检查。
- 当使用目标数据存储时,进行检查。
按主题、名称、日期、ID 和来源链接进行匹配。
3. 处理副本和冲突
如果存在相同事实:
- 更新主要记录。
- 添加新的来源链接或日期。
- 保留有用的历史记录。
- 仅在安全的情况下删除或标记过时的副本。
如果两个来源不一致:
- 不要猜测。
- 保留两个主张及其日期和来源。
- 仅当新来源明确拥有该事实时才优先选择它。
- 当选择会更改工作或删除数据时,询问用户。
4. 保存
仅写入属于范围且可用的存储。
- 当活动工作发生变化时,首先更新活动工作源。
- 保持 Claude Code 记忆简短。
- 使用 MCP 记忆存储事实和链接。
- 将长文本放入知识库。
- 将大型数据集放入数据存储。
- 在已知时添加来源、日期和所有者。
如果某个存储缺失或为只读,则不保存任何内容。报告无法完成的操作。
5. 更新索引
更新用于查找新项目的任何主题列表、会话列表或摘要文件。
使用小写 kebab-case 文件名,例如:
release-plan-2026-05.md
6. 检查结果
回读每个更改过的记录。确保链接、日期和名称正确无误。
同步工作
同步聊天记录
对于 Claude、Codex 或其他聊天导出:
- 删除机密信息和私有登录数据。
- 保留来源名称和日期。
- 将完整导出保存到知识库。
- 向记忆中添加简短摘要。
- 更新会话索引。
- 仅在用户批准后提交和推送。
同步工作区状态
对于关键文件和设置:
- 创建文件夹映射。
- 仅复制有用的、非机密的事实。
- 删除密钥、令牌、密码、Cookie 和私有路径。
- 记录来源和日期。
- 随时间跟踪更改。
不要将整个活动的代码文件夹复制到归档中。
同步 GitHub 或 Linear
当事实涉及活动工作时:
- 找到拥有该工作的项目。
- 首先更新该项目。
- 根据需要添加支持文档。
- 仅当能提供额外价值时才添加本地笔记。
- 将笔记链接回主要项目。
同步多个来源
对于聊天记录、书签、GitHub 事件或其他来源:
- 按主题对项目进行分组。
- 删除完全重复和近似重复的内容。
- 保留来源链接和日期。
- 编写一条清晰的状态说明。
- 将其保存在主要仓库中。
- 仅在用户批准后提交和推送。
记忆模式
短期:
使用当前任务列表管理本次聊天中的工作。
中期:
使用 ~/.claude/projects/*/memory/ 中的简短文件。
长期:
使用 GitHub 或 Linear 管理活动工作。
使用知识库管理长篇笔记。
关联事实:
使用 MCP 记忆管理项目、事实和链接。
知识文件格式
---
title: 发布计划
type: project
topics:
- release
- mobile-app
source: https://example.com/item/123
updated: 2026-05-12
status: current
---
# 发布计划
简短事实放在这里。
## 链接
- 主要工作项:URL 或文件路径
仅使用有帮助的字段。使用 ISO 日期格式 YYYY-MM-DD。将 status 设置为 current、stale、archived 或 unclear。
具体示例
用户请求:
保存以下信息:移动应用发布从 6 月 1 日推迟到 6 月 15 日。GitHub 问题 42 管理发布计划。
步骤:
- 在 GitHub、记忆、MCP 记忆和知识库中搜索发布计划。
- 打开问题 42 并确认它是主要工作项。
- 如果允许,将问题 42 的日期更新为 6 月 15 日。
- 更新旧的记忆笔记,而不是创建新的。
- 添加 MCP 事实说明发布日期是 6 月 15 日,并将其链接到问题 42。
- 将任何 6 月 1 日的笔记标记为过时。仅当旧日期是有用的历史记录时才保留它。
- 回读保存的日期和链接。
- 报告每个更改的存储和任何跳过的存储。
如果用户仅要求审查或搜索,则不要更新 GitHub。
边缘情况
- 如果来源没有日期,则说明日期未知。
- 如果所有者不明确,在更改活动计划之前先询问。
- 如果文件太大,将其存储在知识库或数据存储中,并保留一条简短的记忆笔记。
- 如果两个项目同名,使用 ID、链接、所有者和日期来区分它们。
- 如果内容可能涉及隐私,则保存最少的必需信息。
- 如果发现机密信息,请将其排除。不要复制或打印。
- 如果写入部分失败,不要声称同步完成。列出成功和失败的操作。
- 如果保存会删除有用的历史记录,请先归档或询问。
- 如果没有安全的主要仓库,请询问用户应将其放在何处。
- 如果同一事实必须出现在两个存储中,请将完整文本保留在一个存储中。在另一个存储中放一条简短的注释和链接。
最终检查
在结束之前,确认:
- 没有创建新的重复项。
- 每个事实都有唯一的主要仓库。
- 旧事实已更新或标记为过时。
- 没有保存或打印机密信息。
- 日期、名称、ID 和链接正确无误。
- 索引和摘要是最新的。
- 在有用的情况下添加了交叉链接。
- 所有更改过的记录均已回读。
- 未经批准,没有进行提交、推送或外部写入。
- 告知用户哪些内容已更改、哪些内容被跳过及其原因。