memory について
memoryは、複数のセッションにまたがって作業するエージェント向けのスキルです。決定や学び、引き継ぎを記録し、後続セッションが蓄積したコンテキストを活用できるようにします。
主な機能
- 01カテゴリ別の記録整理
- 02決定とその理由の保存
- 03記録の検索と引用付き要約
- 04セッション要約の作成とcontext.mdの更新
活用シーン
- 01新しいセッションへの進捗共有
- 02過去の失敗の再発防止
- 03決定の背景と理由の保存
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ lidessen/ skills --skill memoryインストール後、Claude Code で/memoryを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
reference/remote-sync.mdsetup.mdscripts/init.shsync-pull.shsync-push.shtemplates/context.mddecision.mdnote.mdsession.mdtodo.md詳細
Memory
メモリはストレージではありません。メモリは進化の基盤です。
哲学
なぜメモリが必要なのか?
メモリがなければ、すべてのセッションがゼロから始まります。
Session 1: Makes mistake A
Session 2: Makes mistake A again
Session 3: Makes mistake A again
...forever
メモリがあれば、パターンが見えてきます。
Session 1: Makes mistake A, records it
Session 2: Reads record, avoids A, discovers B
Session 3: Reads both, avoids A and B, finds better path
...progress
メモリは現在のセッションのためではありません。メモリは未来のセッションへの贈り物です。
より深い目的
メモリは、孤立した出来事を積み重ねられた知恵へと変えます。
Individual record: "We tried X, it failed because Y"
Pattern after 5 records: "Approaches like X tend to fail when Y"
Wisdom after 20 records: "Before attempting X-like solutions, check for Y"
これが学習の仕組みです。受け継がれたルールを通じてではなく、記録された経験からパターンが生まれることで学習します。
記録する内容
すべてをメモリに残す必要はありません。忘れると困ることを記録しましょう。
| 記録すること | 記録しないこと |
|---|---|
| 決定事項とその根拠 | 実装の詳細(コードを使う) |
| 失敗と教訓 | 明白な事実(ドキュメントを使う) |
| 「なぜ」を説明するコンテキスト | 一時的なデバッグメモ |
| 見いだされたパターン | Git がすでに追跡していること |
判断基準:「未来のエージェントにとって、これを知っていると役立つか?」
構成
.memory/
├── context.md → Current state, active concerns (read first)
├── notes/ → Learnings, observations
├── decisions/ → ADRs: what was decided and why
├── todos/ → Tasks that span sessions
└── sessions/ → Session summaries (handoff to next)
context.md
引き継ぎドキュメントです。新しいセッションが始まったとき、次のことを伝えます。
- 現在進行中のこと
- 対応中の懸念事項
- 注意が必要なこと
最新の状態に保ちましょう。古い context.md は、ないよりも悪いものです。
命名規則
YYYY-MM-DD-kebab-slug.md
自然なソート順で並びます。Grep で検索しやすく、名前を見れば内容がわかります。
基本操作
| 意図 | アクション |
|---|---|
| 「これを覚えておいて」 | .memory/notes/ にメモを作成する |
| 「Y だから X と決めた」 | .memory/decisions/ に ADR を作成する |
| 「Z について何を学んだか?」 | .memory/ を検索し、出典を示して要約する |
| 「セッションを終了する」 | セッションの概要を作成し、context.md を更新する |
記録形式
---
type: note | decision | todo | session
status: active | completed | archived
tags: [relevant, keywords]
created: YYYY-MM-DD
---
# Title
Content that future agents will thank you for.
連携
メモリは、ほかのスキルにコンテキストを提供します。
memory
│
├─► orientation reads context.md at session start
├─► dive uses past notes to inform investigation
├─► engineering reads decisions before proposing new ones
└─► refining includes relevant history in PR descriptions
ルールではなく理解
| 相反する要素 | 解決策 |
|---|---|
| 網羅性とノイズ | ノイズではなく、有用な情報を記録します。「未来のエージェントに役立つか?」と考えます |
| 構造と柔軟性 | 一貫した形式を使いつつ、形式より内容を重視します |
| 書くことと実行すること | 記録には数秒かかりますが、学び直しには何時間もかかります |
アンチパターン
最悪の失敗は、記録し忘れることではありません。理解せずに記録することです。
Bad: "Fixed bug in auth"
Good: "Auth was failing silently when token expired mid-request.
Root cause: async race condition.
Fix: Added token refresh before sensitive operations.
Lesson: Any auth code should handle mid-operation expiry."
後者は 30 秒余計にかかりますが、次のエージェントの何時間もの作業を節約できます。
参考資料
reference/ を参照してください。
- templates/ - 記録用テンプレート
- remote-sync.md - GitHub/GitLab Issues の同期
- setup.md - 初期化オプション
コメント
Markdown 対応