Help us improve
Share bugs, ideas, or general feedback.
From claude-code-harness
Manages cross-session learning and memory persistence by recording session logs, decisions, patterns, and project context in .claude/memory/. Invoked automatically for session handoff and history queries.
npx claudepluginhub chachamaru127/claude-code-harness --plugin claude-code-harnessHow this skill is triggered — by the user, by Claude, or both
Slash command
/claude-code-harness:session-memoryThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
セッション間の学習と記憶を管理するスキル。
Manages cross-session memory persistence by saving work history, decisions, and learned patterns to `.claude/memory/`. Useful for continuing work across sessions.
Routes recall intents (e.g., "思い出して", "resume", "続き") to the correct memory path: resume pack, decisions/patterns, checkpoint-bridge, session list, or keyword search. Useful for resuming work or retrieving past context.
Loads and applies project memories from prior sessions for consistent decisions, conventions, and preferences. Stores new entries automatically or via /remember.
Share bugs, ideas, or general feedback.
セッション間の学習と記憶を管理するスキル。 過去の作業内容、決定事項、学んだパターンを記録・参照します。
このスキルは以下のフレーズで自動起動します:
このスキルは .claude/memory/ に作業履歴を保存し、
セッション間での知識の継続を実現します。
あわせて、重要な情報は「どこに残すべきか」を明確にします(詳細: docs/MEMORY_POLICY.md)。
.claude/
├── memory/
│ ├── session-log.md # セッションごとのログ
│ ├── decisions.md # 重要な決定事項
│ ├── patterns.md # 学んだパターン
│ └── context.json # プロジェクトコンテキスト
└── state/
└── agent-trace.jsonl # Agent Trace(ツール実行履歴)
decisions.md / patterns.md
#decision #db)を付け、先頭に Index を置くsession-log.md / context.json / .claude/state/
各セッション記録には、実行環境から取得できるセッションIDを付与します。
Claude Code では ${CLAUDE_SESSION_ID} を優先し、Codex では Codex runtime が渡す session / thread ID を優先します。
どちらも取得できない場合は .claude/state/session.json の .session_id を読み、最後の fallback として日時ベースの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を使います。
## 技術選定
| 日付 | 決定事項 | 理由 |
|------|---------|------|
| 2024-01-15 | Supabase Auth | 無料枠あり、セットアップ簡単 |
| 2024-01-14 | Next.js App Router | 最新のベストプラクティス |
## アーキテクチャ
- コンポーネント: `src/components/`
- ユーティリティ: `src/lib/`
- 型定義: `src/types/`
## このプロジェクトのパターン
### コンポーネント命名
- PascalCase
- 例: `UserProfile.tsx`, `LoginForm.tsx`
### API エンドポイント
- `/api/v1/` プレフィックス
- RESTful 設計
### エラーハンドリング
- try-catch で囲む
- エラーメッセージは日本語
{
"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 活用:
# 前回の編集ファイル一覧を取得
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 を更新Claude Code 2.1.49 以降、セッション再開時のメモリ使用量が 68% 削減 されました。
# 長時間作業は --resume を活用
claude --resume
# 大規模タスクは分割してセッション再開
claude --resume "続きから"
| シナリオ | 推奨 |
|---|---|
| 長時間実装 | 1-2時間ごとにセッション再開 |
| 大規模リファクタ | 機能単位でセッション分割 |
| メモリ不足警告 | 即座に --resume で再開 |
メモリ効率が大幅に改善されたため、セッション再開を積極的に活用してください。
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 2.1.32+ には「自動メモリ」機能があり、~/.claude/projects/<project>/memory/MEMORY.md にセッション間の学習を自動保存します。
Harness のメモリシステムとは3層アーキテクチャとして共存します:
| 層 | システム | 内容 | 管理 |
|---|---|---|---|
| Layer 1 | Claude Code 自動メモリ | 汎用的な学習(ミス回避、ツール使い方) | 暗黙的・自動 |
| Layer 2 | Harness SSOT | プロジェクト固有の決定事項・パターン | 明示的・手動 |
| Layer 3 | Agent Memory | エージェント別のタスク学習 | エージェント定義 |
使い分け:
/memory ssot で Layer 2 に昇格hooks/Stop により、セッション終了時に session-log.md へ要約を自動追記する運用を推奨(未導入の場合は手動運用でOK)decisions.md/patterns.mdは共有推奨、session-log.md/context.json/.claude/state/はローカル推奨(詳細: docs/MEMORY_POLICY.md)