Claude Codeで記憶領域を持つための独自のAgent Skillsを使っている
作業内容をエージェントに記憶させて「ひとまず忘れたい」と思うことがあります。
作業中に別の差し込みが入ったとき。気になった何かを調査させて、一旦寝かせておきたいとき。
Claude Codeは履歴から再開することもできますが、履歴は日々増えていくので古いものを辿るのは面倒ですよね。中断された細かい対応のために履歴を遡るようなことはやりません。
記憶してくれていれば探す手間もないので、対話の文脈をもっとカジュアルに残せると嬉しい。
そこで、agent-memory というスキルをローカルに作って試しています。
やっていること
シンプルな仕組みのスキルです。
中断するときに「記憶して」や「覚えておいて」と言うと、要点がマークダウンファイルとして保存されます。
再開するときに「○○について思い出して」と言えば、保存された内容を探し出し、そこから続けられます。
記憶させる内容は自由です。調査結果、方針、決定事項、今やっていたことの要約など。
私が特に残しておきたいのは、対話の中で整理された意図と判断。ここさえ残っていれば再開しやすい。
スキルのフォルダ構造は以下のようになっています。
memories フォルダ配下をどのように整理するかはエージェントにすべて任せる形にしており、プライベートな記憶領域として扱うため .gitignore で除外しています。
.claude/skills/agent-memory/
├── SKILL.md # スキルの定義(Claude Codeが読む)
├── .gitignore # memories/ を除外
└── memories/ # 記憶の保存先
├── issue-123/
│ └── investigation.md
└── feature-x/
└── design-decision.md
SKILL.md の description で、どんな発話でスキルが発火するかを定義しています。「記憶して」「保存して」「思い出して」「メモ確認して」などがトリガーになります。
記憶はマークダウンファイルとして保存されます。frontmatterに summary を書くようにも指示しているので、エージェントが探しやすく一覧性も上がります。
---
summary: "Issue #123 の調査結果と方針"
created: 2025-01-01
---
「思い出して」と言われたとき、Claude Codeはまず rg (ripgrep) で summary 行だけを取り出し、どのファイルを読むべきか判断してから、必要なファイルだけを読みます。
これは、Agent SkillsのProgressive Disclosure(段階的開示)と同じ「まず概要で判断、必要なら詳細を読む」という考え方です。
少し変えれば自己成長するスキルも作れますね。
導入方法
導入方法にも触れておきます。
-
フォルダを作成
mkdir -p .claude/skills/agent-memory/memories -
こちら の
SKILL.mdをコピーして.claude/skills/agent-memory/SKILL.mdに配置 -
.claude/skills/agent-memory/.gitignoreを以下の内容で作成memories/
これで「記憶して」「思い出して」が使えるようになります。
なぜAgent Skillsか
Anthropicが公式で Memory MCP を出しており、それを使う手もありました。ただ、保存先が共通かつ人間の確認がしづらく、そもそもMCPを使うまでもないと考えていました。
より高機能な claude-mem もあります。自動キャプチャやベクトル検索が欲しい場合はそちらも選択肢です。ただ、Claude Codeプラグインなので今のところは他のツールでは使えません。私は複数ツールで使えることを優先しました。
私がやりたかったのは「リポジトリごとに記憶領域を持たせること」なので、ファイルベースで記憶して、rg で探索させれば十分です。Markdownなら人間でも探して読めますし。
Agent Skillsはオープンな仕様で、CodexやCursor、Copilotなどのエージェントツールからも参照できるので、ツールを選ばないという利点もあります。MCPに比べるとポータビリティにも優れていますし、シンプルな構造でカスタマイズ性の高い仕組みを実現できるのはありがたいですね。
おわりに
マルチタスクをこなすうえで大事なのは、「メモを残して忘れること」だと思っています。
「記憶して」と言えば残る。「思い出して」と言えば戻れる。それだけで、中断と再開のハードルがぐっと下がります。
気になる方は試して自分好みにカスタマイズしてみてください。
Discussion
メモから作業内容を最終的にパターン化して、ある程度のひな形的なルーチンワーク化させたら、人間と同じぐらい幅が出ちゃうけど、なかなかに「指示したら後は出来上がりまで放置」とかの世界になりそうですね。