| name | touch-memory |
| description | 智能记忆管理 skill。触发条件:用户说"记住"、"remember"、"touch memory"、"记一下"、"别忘了"、"以后都"、"团队约定"。自动判断写入个人全局记忆(~/.claude/CLAUDE.md)、项目个人记忆(官方 projects memory 目录)或项目 team 共享记忆(repo 内 .claude/memory/)。也支持 AI 主动识别对话中值得记住的点并提示用户。 |
touch-memory — 智能记忆管理
触发方式
手动触发:用户说"记住 X"、"记一下"、"别忘了"、"以后都这样"、"团队约定"
AI 主动识别:对话中出现以下信号时,主动提示"这个值得记住,要保存吗?":
- 用户纠正了 AI 的行为("不对,应该是...")
- 用户说明了项目特有约束("这个项目不用 X")
- 用户表达了跨对话的偏好("我习惯..."、"我们团队...")
- 重要技术决策("我们选择 X 而不是 Y,因为...")
Step 1 — 判断记忆层级
按优先级判断写入哪一层:
优先级 1:用户明确指定
- "全局"、"所有项目"、"我个人" → 个人全局
- "这个项目"、"团队"、"repo 里" → 项目
优先级 2:内容语义判断
| 内容特征 | 层级 |
|---|
| 个人偏好、习惯、工作方式 | 个人全局 |
| 跨项目通用的工具/语言偏好 | 个人全局 |
| 技术决策、架构约束 | 项目 |
| 命名规范、禁止操作 | 项目 |
| team 约定、工作流规范 | 项目 team 共享 |
优先级 3:环境上下文
- 当前在 git repo 内 + 内容与 repo 强相关 → 默认项目
- 不在 git repo 内 → 只能写个人全局
不确定时:直接问用户一句:"这是针对当前项目的约定,还是你个人全局的习惯?"
Step 2 — 写入目标文件
详见 memory-layers.md,包含:
- 三层存储路径和格式
- CLAUDE.md 注入规则
- team 共享记忆的 commit 建议
Step 3 — 确认写入
写入后告知用户:
✓ 已记住:<内容摘要>
位置:<文件路径>
下次对话自动生效
硬性规则
- 写入前先读取目标文件,追加而不是覆盖
- 同一条记忆不重复写入(检查是否已存在相似内容)
- team 共享记忆(写入 repo)需告知用户"这会被 commit 进 repo,团队所有人可见"
- 不记录敏感信息(token、密码、个人隐私)