会话记忆技能Skill session-memory

会话记忆技能用于管理跨会话的学习和记忆持久化,特别在AI辅助的代码开发项目中,记录任务、决策和模式,以增强开发连续性和效率。关键词:会话管理、记忆持久化、AI智能体、代码开发、项目记忆。

AI智能体 0 次安装 0 次浏览 更新于 3/10/2026

name: session-memory description: “管理跨会话的学习和记忆持久化。当用户询问之前的会话、历史或继续之前时使用。不要用于:实现工作、审查或临时信息。” description-en: “管理跨会话的学习和记忆持久化。当用户询问之前的会话、历史或继续之前时使用。不要用于:实现工作、审查或临时信息。” description-ja: “管理跨会话的学习和记忆持久化。当用户询问之前的会话、历史或继续之前时使用。不要用于:实现工作、审查或临时信息。” allowed-tools: [“读取”, “写入”, “追加”] user-invocable: false

会话记忆技能

管理跨会话的学习和记忆的技能。 记录和参考过去的工作内容、决定事项、学到的模式。


触发短语

这个技能在以下短语时自动启动:

  • 「上次做了什么?」「从上次继续」
  • 「显示历史」「过去的工作」
  • 「关于这个项目告诉我」
  • “我们上次做了什么?”, “从之前继续”

概述

这个技能在 .claude/memory/ 中保存工作历史, 实现在会话间的知识连续性。

同时,明确重要信息应该"留在哪里"(详情: docs/MEMORY_POLICY.md)。


内存结构

.claude/
├── memory/
│   ├── session-log.md      # 每个会话的日志
│   ├── decisions.md        # 重要的决定事项
│   ├── patterns.md         # 学到的模式
│   └── context.json        # 项目上下文
└── state/
    └── agent-trace.jsonl   # Agent Trace(工具执行历史)

推荐运营(SSOT/本地分离)

  • SSOT(共享推荐): decisions.md / patterns.md
    • 聚合"决定(Why)“和"可重用的解决方案(How)”
    • 每个条目添加 标题 + 标签(例如: #decision #db),并在开头放置 索引
  • 本地推荐: session-log.md / context.json / .claude/state/
    • 由于容易产生噪声/膨胀,基本不进行 Git 管理(必要时个别判断)

自动记录的信息

session-log.md

每个会话记录利用 ${CLAUDE_SESSION_ID} 环境变量附加会话ID。 从而提高会话间的可追溯性。

## 会话: 2024-01-15 14:30 (session: abc123def)

### 执行的任务
- [x] 用户认证功能的实现
- [x] 登录页面的创建

### 生成的文件
- src/lib/auth.ts
- src/app/login/page.tsx

### 重要的决定
- 认证方式: 采用 Supabase Auth

### 交接给下次
- 登出功能未实现
- 密码重置也需要

注意: ${CLAUDE_SESSION_ID} 是 Claude Code 自动设置的环境变量。 每个会话分配唯一ID,有助于日志追踪和问题调查。

decisions.md

## 技术选型

| 日期 | 决定事项 | 理由 |
|------|---------|------|
| 2024-01-15 | Supabase Auth | 有免费额度,设置简单 |
| 2024-01-14 | Next.js App Router | 最新的最佳实践 |

## 架构

- 组件: `src/components/`
- 工具: `src/lib/`
- 类型定义: `src/types/`

patterns.md

## 这个项目的模式

### 组件命名
- PascalCase
- 例如: `UserProfile.tsx`, `LoginForm.tsx`

### API 端点
- `/api/v1/` 前缀
- RESTful 设计

### 错误处理
- 用 try-catch 包围
- 错误消息使用日语

context.json

{
  "project_name": "my-blog",
  "created_at": "2024-01-14",
  "stack": {
    "frontend": "next.js",
    "backend": "next-api",
    "database": "supabase",
    "styling": "tailwind"
  },
  "current_phase": "阶段2: 核心功能",
  "last_session": "2024-01-15T14:30:00Z"
}

处理流程

会话开始时

  1. 读取 .claude/memory/context.json
  2. 检查上次的会话日志
  3. 从 Agent Trace 获取最近的编辑历史
  4. 识别未完成的任务
  5. 生成上下文摘要

Agent Trace 活用:

# 获取上次的编辑文件列表
tail -50 .claude/state/agent-trace.jsonl | jq -r '.files[].path' | sort -u

# 获取项目信息
tail -1 .claude/state/agent-trace.jsonl | jq '.metadata'

会话中

  1. 记录重要的决定到 decisions.md
  2. 添加新的模式到 patterns.md
  3. 记录文件生成到 session-log.md

会话结束时

  1. 生成会话摘要
  2. 更新 context.json
  3. 记录交接给下次的事项

内存优化(CC 2.1.49+)

Claude Code 2.1.49 以后,会话重启时的内存使用量减少了 68%

推荐工作流

# 长时间工作活用 --resume
claude --resume

# 大规模任务分割后会话重启
claude --resume "从继续"
场景 推荐
长时间实现 每1-2小时会话重启
大规模重构 按功能单元会话分割
内存不足警告 立即用 --resume 重启

💡 内存效率大幅改善,请积极活用会话重启。


使用例子

从上次的继续开始

用户: 「从上次继续」

Claude Code:
📋 上次的会话(2024-01-15)

完成的任务:
- 用户认证功能
- 登录页面

未完成:
- 登出功能
- 密码重置

说「创建登出功能」的话,就继续实现。

项目状况确认

用户: 「关于这个项目告诉我」

Claude Code:
📁 项目: my-blog

技术堆栈:
- Next.js + Tailwind CSS + Supabase

当前阶段: 核心功能开发
进度: 40% 完成

最近的決定:
- 采用 Supabase Auth
- 使用 App Router

Claude Code 自动内存的关系(D22)

Claude Code 2.1.32+ 有"自动内存"功能,在 ~/.claude/projects/<project>/memory/MEMORY.md 中自动保存会话间的学习。

与 Harness 的内存系统作为3层架构共存:

系统 内容 管理
Layer 1 Claude Code 自动内存 通用的学习(错误避免、工具使用方法) 隐式・自动
Layer 2 Harness SSOT 项目特定的决定事项・模式 显式・手动
Layer 3 Agent Memory 代理别的任务学习 代理定义

使い分け:

  • Layer 1 的见解对整个项目重要 → 用 /memory ssot 升级到 Layer 2
  • 日常的学习交给 Layer 1(不要禁用)
  • 使用 Agent Teams 时注意并行写入

详情: D22: 3层内存架构


注意事项

  • 自动保存: 推荐通过 hooks/Stop 在会话结束时自动追加摘要到 session-log.md 的运营(未导入时手动运营OK)
  • 隐私: 不记录机密信息
  • Git方针: decisions.md/patterns.md推荐共享,session-log.md/context.json/.claude/state/推荐本地(详情: docs/MEMORY_POLICY.md
  • 容量管理: 日志变大后推荐「整理会话日志」