关于 session-memory
session-memory 是用于在开发会话间延续项目记忆的技能,面向使用 Claude Code 或 Codex 的工作流程。它将会话日志、决策、模式和项目上下文分层保存,并利用 Agent Trace 帮助恢复进度。
主要功能
- 01记录会话任务与生成文件
- 02保存决策、模式和项目上下文
- 03根据 Agent Trace 查找编辑记录
- 04标记未完成任务并生成摘要
适用场景
- 01开始工作时了解上次进度
- 02跨会话追踪项目决策
- 03从工具执行记录恢复编辑上下文
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ chachamaru127/ claude-code-harness --skill session-memory安装后在 Claude Code 中输入/session-memory确认已加载。
详细介绍
Session Memory Skill
管理会话间学习与记忆的技能。 记录并参考过往工作内容、决策和学到的模式。
触发短语
此技能会在以下短语出现时自动启动:
- “上次做了什么?”“从上次的进度继续”
- “给我看看历史记录”“之前的工作”
- “告诉我这个项目的情况”
- "what did we do last time?", "continue from before"
概述
此技能会将工作记录保存到 .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
每条会话记录都会附上可从运行环境获取的会话 ID。
Claude Code 中优先使用 ${CLAUDE_SESSION_ID},Codex 中优先使用 Codex runtime 提供的 session / thread ID。
如果两者都无法获取,则读取 .claude/state/session.json 中的 .session_id,最后才生成基于日期时间的 ID。
这有助于提升会话间的可追溯性。
## セッション: 2024-01-15 14:30 (session: abc123def)
### 実行したタスク
- [x] ユーザー認証機能の実装
- [x] ログインページの作成
### 生成したファイル
- src/lib/auth.ts
- src/app/login/page.tsx
### 重要な決定
- 認証方式: Supabase Auth を採用
### 次回への引き継ぎ
- ログアウト機能が未実装
- パスワードリセットも必要
Note:
${CLAUDE_SESSION_ID}是 Claude Code 自动设置的环境变量。 Codex 中可能不存在此变量,因此不要假定它始终存在,而应使用 Codex runtime 的 session / thread ID 或.claude/state/session.json。
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"
}
处理流程
会话开始时
- 读取
.claude/memory/context.json - 查看上次的会话日志
- 从 Agent Trace 获取近期编辑记录
- 找出未完成的任务
- 生成上下文摘要
利用 Agent Trace:
# 前回の編集ファイル一覧を取得
tail -50 .claude/state/agent-trace.jsonl | jq -r '.files[].path' | sort -u
# プロジェクト情報を取得
tail -1 .claude/state/agent-trace.jsonl | jq '.metadata'
会话期间
- 将重要决策记录到
decisions.md - 将新模式添加到
patterns.md - 将文件生成情况记录到
session-log.md
会话结束时
- 生成会话摘要
- 更新
context.json - 记录交接给下次会话的事项
记忆优化(CC 2.1.49+)
从 Claude Code 2.1.49 起,恢复会话时的内存用量减少了 68%。
推荐工作流
# 長時間作業は --resume を活用
claude --resume
# 大規模タスクは分割してセッション再開
claude --resume "続きから"
| 场景 | 建议 |
|---|---|
| 长时间实现工作 | 每隔 1-2 小时恢复一次会话 |
| 大规模重构 | 按功能拆分会话 |
| 内存不足警告 | 立即使用 --resume 恢复会话 |
内存效率已大幅改善,请积极利用会话恢复功能。
/recap — 查看会话期间的进展(CC 2.1.108+)
在 CC 2.1.108 中新增的 /recap 命令(/rewind 的别名),用于快速回顾当前会话中
到目前为止完成的工作。
在使用 --resume 返回其他会话前,或长时间工作期间查看进展时,配合使用效果更佳。
建议使用时机:
| 时机 | 用法 |
|---|---|
使用 --resume 恢复会话前 | 先用 /recap 整理上下文,再运行 claude --resume |
| 恢复 Breezing 的 Worker 前 | 用 /recap 查看会话进展,再开始下一个任务 |
| 长时间实现工作(超过 1 小时)期间 | 用 /recap 查看进展 → 必要时手动追加到 session-log.md |
# 典型的な使用フロー
# 1. 現在の作業状況を確認
/recap
# 2. 必要に応じて session-log.md に手動追記後、セッションを再開
claude --resume
/recap仅用于回顾当前会话。要查看上次会话的内容,请查看session-log.md,或通过claude --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 的记忆系统以三层架构共存:
| 层级 | 系统 | 内容 | 管理方式 |
|---|---|---|---|
| Layer 1 | Claude Code 自动记忆 | 通用学习内容(避免错误、工具用法) | 隐式・自动 |
| Layer 2 | Harness SSOT | 项目特定的决策和模式 | 显式・手动 |
| Layer 3 | Agent Memory | 按 Agent 区分的任务学习内容 | Agent 定义 |
使用方式:
- Layer 1 的知识对整个项目都很重要 → 使用
/memory ssot将其提升到 Layer 2 - 日常学习交由 Layer 1 处理(不要禁用)
- 使用 Agent Teams 时,注意并行写入
详情:D22:三层记忆架构
注意事项
- 自动保存:建议通过
hooks/Stop在会话结束时自动将摘要追加到session-log.md(如果尚未配置,也可手动操作) - 隐私:不要记录机密信息
- Git 方针:建议共享
decisions.md/patterns.md,建议本地保存session-log.md/context.json/.claude/state/(详情:docs/MEMORY_POLICY.md) - 容量管理:日志变大时,建议使用“整理会话日志”