memory について
Claude Code 向けのスキルで、プロジェクトの決定事項や好み、コーディング規約をローカルの JSON ファイルに保存します。次のセッションで読み込み、関連する内容を作業に反映します。
主な機能
- 01セッションをまたぐプロジェクト情報の保持
- 02開始時のメモリー自動読み込み
- 03タイムスタンプ付きの記録
- 04メモリーの表示・追加・削除コマンド
- 05重要度の低い項目の整理
活用シーン
- 01新しいセッションでコーディングの好みを引き継ぐ
- 02過去の設計やライブラリの決定を適用する
- 03ユーザーの訂正を記録して後続作業に反映する
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ jeremylongshore/ tons-of-skills-marketplace --skill memoryインストール後、Claude Code で/memoryを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/errors.mdexamples.mdimplementation.mdscripts/manage-memory.py詳細
メモリ
概要
Memory は、ローカルの JSON ファイルにプロジェクトの決定事項、ユーザーの好み、コーディング規約を保存・取得することで、Claude Code のセッション間でコンテキストを保持します。新しいセッションが始まると、保存されたメモリが自動的に読み込まれるため、以前に確立したパターンを説明し直す必要がありません。
前提条件
.claude/memories/project_memory.jsonにあるプロジェクトのメモリファイル(最初にメモリを保存する際に自動作成).claude/memories/ディレクトリへの読み取りおよび書き込み権限- Claude Never Forgets プラグインがインストールされていること(
/plugin install yldrmahmet/claude-never-forgets)
手順
- 保存されたメモリにアクセスします。 セッション開始時に、Read ツールを使って
.claude/memories/project_memory.jsonにあるメモリファイルを探して読み込みます。タイムスタンプ付きのメモリエントリを含む JSON 構造を解析します。取得のワークフロー全体については、${CLAUDE_SKILL_DIR}/references/implementation.mdを参照してください。 - 現在のコンテキストに関連するメモリを照合します。 現在のタスクに関連するキーワードやトピックがないか、メモリエントリを確認します。該当する決定事項(例:「npm ではなく pnpm を使う」)、アーキテクチャパターン、ライブラリの選択、コーディングスタイルの好みを抽出します。
- メモリを黙って適用します。 知っている好みを明かさずに、応答やツールの使用に反映します。パッケージマネージャー、テストフレームワーク、命名規則がメモリで指定されている場合は、自動的にそれに従います。
- 新しいメモリを保存します。 ライブラリの選択、アーキテクチャ上の選択、ユーザーが明示した好み、ツールの拒否など、重要な決定があった場合は、タイムスタンプ付きでメモリファイルに書き込みます。
/rememberコマンド、または会話のシグナルの自動取得を通じてエントリを追加します。 - 競合を解決します。 保存されたメモリが現在の明示的なリクエストと矛盾する場合は、現在のリクエストを優先します。必要に応じて競合を伝え、新しい決定を反映するようメモリエントリを更新します。該当しなくなった古いメモリは削除します。
- クリーンアップを行います。 メモリエントリが 10 件を超えたら、ノイズ(挨拶、相づち)を取り除き、価値の高いエントリ(好み、決定事項、修正)を残して整理します。クリーンアップのしきい値は
hooks/stop_cleanup.pyで設定できます。
出力
- セッション開始時に保存されたメモリを自動的に読み込みます
- 覚えている好みをツールの使用や応答に黙って反映します
- 重要な決定について、タイムスタンプ付きの新しいメモリエントリを記録します
- クリーンアップ後、重要なエントリを保持してノイズを取り除いたメモリファイルを作成します
/memoriesコマンドでメモリを明示的に一覧表示します
エラー処理
| エラー | 原因 | 解決方法 |
|---|---|---|
| メモリファイルが見つからない | 初回のセッション、またはファイルが削除された | .claude/memories/project_memory.json に空の JSON 構造を含む新しいメモリファイルを初期化します |
| メモリの競合 | 複数のエントリが互いに矛盾している | 最も新しいメモリを適用し、/forget で古いエントリを削除して整理することを提案します |
| 無効なメモリ形式 | ファイルが破損している、または手動編集時に構文エラーが発生した | 既存のファイルをバックアップし、有効な JSON 構造で再作成して、復元可能なエントリを戻します |
| アクセス拒否 | ファイルまたはディレクトリに読み取り/書き込み権限がない | .claude/memories/ のファイル権限を確認します。必要なアクセス権をリクエストするか、別の保存場所を使用します |
例
セッションをまたいだ好みの自動呼び出し:
Session 1:
User: "Always use Vitest instead of Jest for this project"
→ Stored to project_memory.json
Session 2:
User: "Add tests for the auth module"
→ Memory loaded: "use Vitest instead of Jest"
→ Test files created with Vitest syntax automatically
手動でのメモリ管理:
/remember "This project uses Tailwind CSS v4 with the Vite plugin"
/remember "Deploy to Cloudflare Workers, not Vercel"
/memories # Lists all stored memories with timestamps
/forget "Vercel" # Removes the Vercel-related memory
ツールの拒否を修正事項として記録:
set -euo pipefail
User declines a suggested `npm install` action
→ Memory stored: "User prefers pnpm over npm"
→ Future sessions use pnpm automatically
リソース
${CLAUDE_SKILL_DIR}/references/implementation.md-- メモリへのアクセス、適用、更新、競合の解決方法を順を追って説明するガイド${CLAUDE_SKILL_DIR}/references/errors.md-- 復旧手順を含むエラーシナリオの詳細/remember [text]-- 新しいメモリエントリを手動で追加します/forget [text]-- 一致するメモリをストレージから削除します/memories-- 現在保存されているすべてのメモリをタイムスタンプ付きで表示します
コメント
Markdown 対応