mcpField
M
memory

memory

github.com/jeremylongshoreエージェントワークフロー2.9k37 回インストール2 日前に更新
リポジトリ

memory について

Claude Code 向けのスキルで、プロジェクトの決定事項や好み、コーディング規約をローカルの JSON ファイルに保存します。次のセッションで読み込み、関連する内容を作業に反映します。

主な機能

  1. 01セッションをまたぐプロジェクト情報の保持
  2. 02開始時のメモリー自動読み込み
  3. 03タイムスタンプ付きの記録
  4. 04メモリーの表示・追加・削除コマンド
  5. 05重要度の低い項目の整理

活用シーン

  1. 01新しいセッションでコーディングの好みを引き継ぐ
  2. 02過去の設計やライブラリの決定を適用する
  3. 03ユーザーの訂正を記録して後続作業に反映する

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/jeremylongshore/tons-of-skills-marketplace --skill memory

インストール後、Claude Code で/memoryを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
errors.md
examples.md
implementation.md
scripts/
manage-memory.py

詳細

メモリ

概要

Memory は、ローカルの JSON ファイルにプロジェクトの決定事項、ユーザーの好み、コーディング規約を保存・取得することで、Claude Code のセッション間でコンテキストを保持します。新しいセッションが始まると、保存されたメモリが自動的に読み込まれるため、以前に確立したパターンを説明し直す必要がありません。

前提条件

  • .claude/memories/project_memory.json にあるプロジェクトのメモリファイル(最初にメモリを保存する際に自動作成)
  • .claude/memories/ ディレクトリへの読み取りおよび書き込み権限
  • Claude Never Forgets プラグインがインストールされていること(/plugin install yldrmahmet/claude-never-forgets)

手順

  1. 保存されたメモリにアクセスします。 セッション開始時に、Read ツールを使って .claude/memories/project_memory.json にあるメモリファイルを探して読み込みます。タイムスタンプ付きのメモリエントリを含む JSON 構造を解析します。取得のワークフロー全体については、${CLAUDE_SKILL_DIR}/references/implementation.md を参照してください。
  2. 現在のコンテキストに関連するメモリを照合します。 現在のタスクに関連するキーワードやトピックがないか、メモリエントリを確認します。該当する決定事項(例:「npm ではなく pnpm を使う」)、アーキテクチャパターン、ライブラリの選択、コーディングスタイルの好みを抽出します。
  3. メモリを黙って適用します。 知っている好みを明かさずに、応答やツールの使用に反映します。パッケージマネージャー、テストフレームワーク、命名規則がメモリで指定されている場合は、自動的にそれに従います。
  4. 新しいメモリを保存します。 ライブラリの選択、アーキテクチャ上の選択、ユーザーが明示した好み、ツールの拒否など、重要な決定があった場合は、タイムスタンプ付きでメモリファイルに書き込みます。/remember コマンド、または会話のシグナルの自動取得を通じてエントリを追加します。
  5. 競合を解決します。 保存されたメモリが現在の明示的なリクエストと矛盾する場合は、現在のリクエストを優先します。必要に応じて競合を伝え、新しい決定を反映するようメモリエントリを更新します。該当しなくなった古いメモリは削除します。
  6. クリーンアップを行います。 メモリエントリが 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 -- 現在保存されているすべてのメモリをタイムスタンプ付きで表示します

コメント