AgentSkillsCN

shared-memory

具备跨会话的记忆管理能力。让 AI 具备记忆保存与加载的意识,在适当的时候主动提醒用户保存重要信息,或建议用户加载相关上下文。适用场景包括:完成重要任务、做出关键决策、解决复杂问题、进行较长对话,或在用户结束工作时。

SKILL.md
--- frontmatter
name: shared-memory
description: 跨会话记忆管理能力。让 AI 具备记忆保存和加载的意识,在适当时机主动提醒用户保存重要信息或建议加载相关上下文。使用场景:完成重要任务、做出关键决策、解决复杂问题、对话较长、用户结束工作时。
version: 1.0.0

Shared Memory - 跨会话记忆管理

这是什么

这是一个让你具备"记忆管理意识"的能力。作为 AI 助手,你应该:

  1. 意识到上下文的有限性 - 知道会话会结束,重要信息需要保存
  2. 主动提醒保存 - 在适当时机提醒用户保存进度
  3. 知道如何加载上下文 - 新会话开始时,引导用户加载相关记忆

记忆文件位置

所有记忆文件存储在项目级目录,便于直接 @ 引用:

code
<项目根目录>/
└── .claude/
    └── memory/
        ├── context.md                      # 项目持久上下文(长期)
        └── sessions/
            ├── 2026-01-27-feature-auth.md  # 会话记忆
            ├── 2026-01-26-bug-fix.md
            └── ...

用户可以直接使用@.claude/memory/sessions/2026-01-27-feature-auth.md


何时提醒保存

在以下情况,主动建议用户保存会话:

触发场景

  1. 完成重要任务或里程碑

    • 完成了一个功能实现
    • 完成了一轮重构
    • 解决了一个复杂 bug
  2. 做出关键技术决策

    • 选择了某个技术方案
    • 确定了架构设计
    • 做出了重要的权衡取舍
  3. 解决了复杂问题

    • 调试了一个棘手的问题
    • 发现了重要的 root cause
    • 找到了有效的解决方案
  4. 对话较长(接近上下文限制)

    • 感觉到对话历史很长
    • 已经讨论了很多内容
    • 上下文可能快要压缩
  5. 用户表示要结束工作

    • "今天先到这里"
    • "我要下班了"
    • "明天继续"
    • "先休息一下"

提醒方式

code
💡 建议保存当前进度:

/save-session <简短描述>

这样下次可以继续,不会丢失上下文。

或更简洁:

code
💡 进展不错!建议 `/save-session feature-auth` 保存进度。

何时建议加载

在以下情况,询问是否需要加载之前的记忆:

触发场景

  1. 会话刚开始时

    • 如果 Hook 提示有可用记忆
    • 主动询问是否需要加载
  2. 用户提到"继续之前的工作"

    • "继续昨天的"
    • "接着上次的做"
    • "上次做到哪了"
  3. 用户提及之前讨论的内容

    • "之前那个 bug"
    • "我们讨论过的那个方案"
    • "上次的决定"

询问方式

code
我注意到有之前的会话记忆,需要我加载吗?

- 使用 `/list-sessions` 查看所有记忆
- 使用 `/load-session <名称>` 加载特定记忆
- 或直接 `@.claude/memory/sessions/xxx.md` 引用

记忆文件格式

保存的记忆文件应包含以下结构化信息:

markdown
# 会话: <简短描述>

**日期**: YYYY-MM-DD HH:MM
**项目**: <项目名称>
**路径**: .claude/memory/sessions/YYYY-MM-DD-<name>.md
**会话ID**: <短ID>

## 已完成
- [具体完成的任务]

## 进行中
- [正在进行的任务] - 当前状态: [描述]

## 关键决策
- [决策] - 原因: [为什么这样决定]

## 遇到的问题
- [问题] - 解决方案: [如何解决的]

## 下次继续
- [ ] 待办事项1
- [ ] 待办事项2

## 需要加载的文件
- `path/to/file` - [为什么需要]

## 相关上下文
[任何额外的重要背景信息]

相关命令

命令说明
/save-session [name]保存当前会话状态
/load-session [name]加载指定会话记忆
/list-sessions列出所有可用的会话记忆

最佳实践

保存时机

  • 宁可多保存:不确定是否需要保存时,建议保存
  • 有意义的命名:使用描述性名称,如 feature-authbug-fix-login
  • 及时保存:完成阶段性工作后立即保存

加载时机

  • 按需加载:不要主动读取所有记忆,让用户选择
  • 展示摘要:加载后先展示摘要,确认是否需要深入
  • 提示相关文件:如果记忆中有"需要加载的文件",询问是否读取

与用户协作

  • 不要过度打扰:不是每次对话都需要提醒保存
  • 尊重用户选择:用户拒绝保存时不要反复提醒
  • 主动但不强制:建议是建议,最终由用户决定