mcpField
C
claude-memory-curator

claude-memory-curator

github.com/stark-ai-deエージェントワークフロー82.6k 回インストール今日更新
リポジトリ

claude-memory-curator について

claude-memory-curator は、Claude Code の永続コンテキストを監査し、古い情報、機密情報、競合、配置ミスを特定して分類先を提案するスキルです。明示された手順に沿って、読み取り専用レビュー、クリーンアップ計画、または承認済み変更とバックアップを行います。

主な機能

  1. 01Claude Code のコンテキスト領域を棚卸し
  2. 02リスク、競合、重複を検出
  3. 03項目を分類し配置先を提案
  4. 04レビュー、計画、整理の各手順に対応
  5. 05承認された編集をバックアップして検証

活用シーン

  1. 01CLAUDE.md と自動メモリの確認
  2. 02古い指示や機密情報の特定
  3. 03コンテキスト項目の移動と整理を計画
  4. 04バックアップ後に承認済みの高確度編集を適用

インストール

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

$npx skills add https://github.com/stark-ai-de/agent-skills --skill claude-memory-curator

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

同梱ファイル

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

assets/
cleanup-plan-template.md
review-report-template.md
references/
classification-rubric.md
conflict-resolution.md
context-surface-anatomy.md
example-review-report.md
plan-lifecycle.md
safe-editing-procedure.md
settings-and-hooks.md
scripts/
backup-claude-memory.mjs
inventory-claude-memory.mjs
memory-source-discovery.mjs
scan-claude-memory-risks.mjs

詳細

Claude メモリーキュレーター

目標

Claude Code の永続コンテキストを、ユーザーが所有するエージェントの状態として監査します。古い、安全でない、重複した、範囲が広すぎる、矛盾している、配置場所が不適切な、または適用できない項目を明らかにし、より適切な保存先を提案し、レビュー、計画、永続化、クリーンアップを一つの明示的な契約を通じて実施します。

対象は Claude Code の次の領域に限定します。CLAUDE.md、CLAUDE.local.md、条件付きで読み込まれる AGENTS.md、.claude/rules/、ユーザーレベルの Claude ルール、設定、フック、管理ポリシーの証跡、自動メモリーファイルです。Codex、Cursor、Claude アプリ、Anthropic API Memory Stores のキュレーターとして扱わないでください。

使用する場合

  • 説明に記載された Claude Code の永続コンテキスト領域をレビュー、配置、計画、またはクリーンアップするときに使用します。
  • これらの領域が古い、矛盾している、機密情報を含む、範囲が広すぎる、無視されている、または Claude が古いガイダンスを再利用する原因になっているときに使用します。

使用しない場合

  • Claude の永続コンテキストを含まない、Codex、Cursor、Claude のウェブ版/アプリ版、Anthropic API Memory Stores、一般的なプロンプトエンジニアリング、リポジトリ文書のクリーンアップには使用しないでください。
  • レビューの依頼は読み取り専用として扱ってください。/etc/claude-code/CLAUDE.md や managed-settings.json などの管理ポリシーは、正確な編集権限が明示されていない限り、読み取り専用として扱ってください。

ワークフローの選択

8 つのワークフローすべてを、以下の安定した順序で、意図が明確な場合は簡潔に提示します。求められている結果と提供形式に合った経路を推奨します。単独で呼び出された場合は、review-chat を推奨しつつ、ユーザーに選択を求めます。

ワークフロー提供形式と結果
plan-run-cleanup-file1 件の記録:レビュー、承認済みプラン、バックアップ、クリーンアップ、検証。
review-chatチャット:読み取り専用のレビューと推奨事項。
review-file1 件の記録:読み取り専用のレビューと推奨事項。
cleanup-chatチャットとバックアップ:レビュー、確度の高いアトミックなクリーンアップ、検証。
cleanup-file1 件の記録とバックアップ:レビュー、確度の高いアトミックなクリーンアップ、検証。
plan-cleanup-chatチャット:レビューと承認済みプラン。クリーンアップは行いません。
plan-cleanup-file1 件の記録:レビューと承認済みプラン。クリーンアップは行いません。
plan-run-cleanup-chatチャットとバックアップ:レビュー、承認済みプラン、クリーンアップ、検証。

auto ワークフローを追加せず、意図に基づいて経路を選択します。

  • 直接のレビュー依頼では、デフォルトで review-chat を選択します。明示的に永続化が求められている場合は、review-file を選択します。
  • 提供形式の指定なしにクリーンアップが明示的に求められている場合は、plan-run-cleanup-file を選択します。
  • 直接の依頼が明確な場合は、提供形式と実行の意図が明示されていれば、条件に合う別の経路を選択できます。
  • エージェントによる起動では、関連する読み取り専用の経路のみを選択できます。review-file を選択できるのは、既存のタスクですでに永続化が求められている場合に限ります。クリーンアップを推測してはいけません。
  • 単独での呼び出し、相反する手がかり、またはレビューかクリーンアップか、チャットかファイルか、実行するかどうか、対象パス、変更権限が曖昧な場合は、表を提示してユーザーに選択を求めます。
  • 変更を伴う経路を選択できるのは、ユーザーが特定済みの Claude コンテキスト範囲のクリーンアップをすでに依頼している場合に限ります。

本格的な調査を始める前に、選択肢の全体を一度提示し、Selected、Reason、対象パス、書き込み範囲、想定される成果物、保護対象の状態、Plan モードの利用可否、未解決の承認事項を伝えます。タスクですでに確定している事実と正確な権限を再利用し、既知の項目をまとめて短く説明します。選択が明確な場合は、選択内容を伝えて作業を進めます。曖昧な場合は、一覧を調べる前に停止し、未解決の選択だけを尋ねます。選択肢の一覧を繰り返したり、変更されていない選択を再度尋ねたりしてはいけません。

ワークフローの選択によって、ファイル全体の削除、破壊的な復元、管理ポリシーの編集、有料または外部での操作、デプロイ、公開、範囲の拡大が許可されることはありません。

調査する入力

  • AGENTS.md が関連する場合は、references/context-surface-anatomy.md を読みます。存在状況と実際の読み込み状況は分けて調査します。Claude のバージョン、プロバイダーや機能の利用可否、設定、フックやプラグインの制限、セッションの読み込みを示す証拠を確認します。古いホストや制限のあるホストでは、@AGENTS.md インポートを維持します。
  • リポジトリ、Claude のホーム、設定済みの自動メモリディレクトリを特定し、該当するプロジェクト/ユーザーの指示、ルール、設定、フック、管理ポリシー、メモリのサーフェスのみを調査します。
  • 争点となっている主張の検証に必要な場合に限り、現在のリポジトリの証拠を調査します。
  • 配置、分類、競合、適用、安全な編集に関する以下のリファレンスは、その判断が必要な場合にのみ読み込みます。レポートまたはプランの成果物を作成する場合は、該当するアセットを読み込みます。

ワークフロー

どのルートでも、計画や整理に着手する前に、明示的に指定された範囲に対して同じ品質でレビューを行います。1つのファイルや主張についての依頼は、ストア全体の調査を許可するものではありません。ストア全体の一覧化やスキャナーコマンドではなく、対象を絞った読み取りを使用し、対象範囲内の矛盾を解決するために必要な場合に限り、他の証拠を参照してください。成果物の提供によって、レビューの品質が低下することはありません。

  1. 選択されたルート、対象リポジトリ、Claude のホームディレクトリ、自動メモリーのパス、該当する場合は永続化先のパス、および保護対象の状態を確認します。

  2. 内容を出力せずに、Claude のコンテキストを一覧化します。

    node scripts/inventory-claude-memory.mjs --repo .
    

    ユーザーがデフォルト以外の場所を指定した場合は、--claude-home PATH または --memory-dir PATH を追加します。構造化された証拠が役立つ場合は、--json を使用します。

  3. 機密情報、古い情報、範囲の広い情報、ローカル情報、リポジトリ固有の情報、無視対象の情報、または矛盾しやすい項目を探す場合は、秘匿処理済みのリスクスキャナーを実行します。

    node scripts/scan-claude-memory-risks.mjs --repo . --json
    

    終了コード 1 は検出項目が見つかったことを示し、スキャンが失敗したことを意味するものではありません。ペイロード全体を貼り付けるのではなく、件数と、重要度の高い秘匿処理済みの検出項目を要約します。

  4. .claude/rules/**/*.md のフロントマターで paths を解析し、パスに応じて適用されるガイダンスを常時読み込まれるガイダンスとして扱わないようにします。

  5. 配置に影響する場合は、表示可能な設定の autoMemoryEnabled、autoMemoryDirectory、claudeMdExcludes、権限ルール、およびフックを確認します。

  6. 管理対象のポリシーファイルと管理対象の設定は、デフォルトで優先度の高い読み取り専用の証拠として扱います。

  7. MEMORY.md は自動メモリーのエントリーポイントとして扱います。ユーザーがメモリーディレクトリ全体の監査を依頼していない限り、トピックファイルは必要に応じて参照する詳細情報として扱います。

  8. コンテキストファイルは適切なサイズのチャンクに分けて読み取り、機密値を秘匿処理します。

  9. 原子的な主張を1行につき1つ抽出します。分類の前に、複合した項目を分割します。

  10. 争点となっている主張は、その争点の解決に必要なリポジトリ内のファイルだけを使って検証します。優先順位が不明確な場合は、references/conflict-resolution.md を読み込みます。

  11. 原子的な主張ごとに、次の分類を必ず1つだけ割り当てます。KEEP、KEEP BUT REWRITE、MOVE TO CLAUDE.md、MOVE TO CLAUDE.local.md、MOVE TO CLAUDE RULE、MOVE TO AUTO MEMORY TOPIC、MOVE TO AGENTS.md、MOVE TO REPO DOCS、MOVE TO SKILL、MOVE TO SETTINGS、MOVE TO HOOK、MOVE TO MANAGED POLICY、DELETE、または ASK USER。

  12. リスクの高い項目には、有用なコンテキストとして次のタグを付けます。stale、duplicated、too-broad、too-specific、repo-specific、workflow、config、sensitive、conflicting、unenforced、managed-policy、または useful。

  13. すべての項目に、確信度(high、medium、low)と提案するアクションを追加します。

  14. 計画や編集に着手する前に、レビューを完全に完了します。ルート経由で成果物を提供する場合でも、レビューの品質を低下させたり、依頼された範囲を広げたりしてはいけません。

ルートの実行

  • review-chat:レビュー結果をチャットに返し、永続的なキュレーションレポートは作成しません。
  • review-file:キュレーション記録を1件だけ保存し、コンテキストは変更しません。
  • cleanup-chat:完了したレビューから確信度の高いアトミックなアクションのみを導き出し、変更対象のファイルをすべて正確にバックアップしてから適用し、変更したセクションを再読み込みして、検証結果をチャットで報告します。永続的なキュレーションレポートは作成しません。
  • cleanup-file:変更前にキュレーション記録を作成します。保存に失敗した場合は停止します。その後、対象ファイルを正確にバックアップし、確信度の高いアトミックなアクションのみを適用して、同じ記録に実行内容と検証結果を追記します。
  • plan-cleanup-chat と plan-cleanup-file:Plan のライフサイクルに入り、ユーザーとクリーンアップ計画を確定した後、承認された時点で Claude のコンテキストを変更せずに停止します。
  • plan-run-cleanup-chat と plan-run-cleanup-file:Plan のライフサイクルに入り、クリーンアップ計画全体を確定して承認を得た後、状態を再確認し、Plan モードを終了して、対象ファイルを正確にバックアップし、変更のない承認済み計画のみを実行して検証します。計画の承認後に、一般的なクリーンアップに関する質問をもう一度してはいけません。

直接のクリーンアップ(cleanup-chat または cleanup-file)は、既存の編集可能なランタイム管理下の Claude コンテキストにおける、確信度の高いアトミックな編集、移動、またはエントリの削除に限定されます。ファイル全体の削除、共有の AGENTS.md、新しいコンテキストファイル、設定、フック、管理対象のポリシー、AGENTS.md、リポジトリのドキュメント、スキル、UI からのみ設定できる User/Team 設定、不確かなスキーマ、確信度が中または低の変更、あらゆる範囲の拡大は保留してください。計画実行ルートでより広範なキュレーション変更を実行できるのは、承認済み計画に各変更先、書き込み先、バックアップ、ロールバック、および個別の承認境界が明記されている場合のみです。

Plan のライフサイクル

すべてのルートで、アクティブな、または要求されたネイティブの Plan モードと、実際の書き込み権限を確認してください。Plan モードがアクティブな間、または権限が不明な場合は、レポート、バックアップ、クリーンアップを書き込んではいけません。モードを手動で切り替えなくても、読み取り専用で計画を続けられます。plan-* ルートまたは重要な質問が未解決の場合は、references/plan-lifecycle.md を読んでください。変更のない承認は再利用できます。モードを終了しただけでは承認にならず、未回答の質問によって権限が付与されることもありません。書き込みの前に状態を再確認し、重要な変更がある場合にのみ再確認してください。計画のみのルートでは、クリーンアップは一切許可されません。

このキュレーションワークフロー内で claude-spec-interviewer を呼び出してはいけません。調査結果から、より広範で永続的なルール、リポジトリ仕様、または未解決のプロダクト上の判断が必要になった場合は、選択したキュレーションルートを完了してから、別のフォローアップとしてインタビュアーを提案してください。

ファイル配信契約

ファイルルートでは、秘匿化したキュレーション記録を正確に1件保存します。既存のリポジトリ標準のレポート保存先を優先してください。ない場合は、<repo>/.agent-reports/claude-memory-curation/<UTC timestamp>-<selection-id>.md を使用します。既存ファイルを上書きせずに新しいパスを作成し、ルートの出力はすべてその記録に含めてください。

記録には Review、Plan、Execution Receipt、Deferred Work、Backup、Verification を含めます。ルートで実施しないフェーズには、理由を添えて not applicable と記載してください。cleanup-file および plan-run-cleanup-file では、変更前に記録を作成します。保存に失敗した場合、クリーンアップは行えません。チャットルートではレポートファイルを作成しません。バックアップディレクトリは必須の安全性確保用アーティファクトであり、キュレーションレポートには数えません。

--backup-root を明示する場合は、機密情報を含まない固定の --backup-root-alias が必要です。ファイルルートでは、スクリプトが報告するポータブルな保存場所のロケーターと <storage-locator>/backup-manifest.json を記録してください。正確なバックアップ先とマニフェストの絶対パスは、保存されないチャット内でのみ報告し、リポジトリ内のアーティファクトには記載しないでください。

安全ルール

  • ルートが未解決の場合は調査しないでください。また、選択されたルートとユーザーの依頼によって、対象範囲が明確なクリーンアップが許可されていない限り、変更を加えないでください。
  • Claude のコンテキストファイルを、通知せずに削除、書き換え、切り詰め、移動しないでください。
  • 承認された編集の前に、対象となるファイルをすべて個別にバックアップし、バックアップ先のパスを報告してください。
  • シークレット、トークン、認証情報、顧客データ、個人を特定できる非公開情報、内部ホスト名、機微な個人情報をすべて表示しないでください。
  • シークレットと思われるデータが見つかった場合は、出力内で値を伏せ、可能であればファイルと行を示して、削除を推奨してください。実際の認証情報の場合は、ローテーションも推奨してください。
  • 自動メモリーのトピックのスキーマが不明確な場合は、直接編集しないでください。現在の記録またはチャット結果で保留にしてください。
  • CLAUDE.md と自動メモリーはコンテキストとして扱い、強制手段とはみなさないでください。確実な制限には、設定またはフックを推奨してください。
  • リポジトリ固有の前提をグローバルに適用しないでください。リポジトリのルールには、プロジェクトの CLAUDE.md、.claude/rules、AGENTS.md、またはリポジトリのドキュメントを優先してください。
  • 破壊的な処理を広範囲に実行しないでください。

参考資料

必要な場合にのみ読み込んでください。

  • 配置と分類:references/context-surface-anatomy.md、references/classification-rubric.md。
  • 競合と強制手段:references/conflict-resolution.md、references/settings-and-hooks.md。
  • 安全な変更と例:references/safe-editing-procedure.md、references/example-review-report.md。
  • 出力成果物:assets/review-report-template.md、assets/cleanup-plan-template.md。

スクリプト

必要な場合にのみ使用してください。すべてのスクリプトは非対話型で、Node.js 標準ライブラリのみを使用し、--help を受け付けます。

node scripts/inventory-claude-memory.mjs [--repo PATH] [--claude-home PATH] [--memory-dir PATH] [--json]
node scripts/scan-claude-memory-risks.mjs [--repo PATH] [--claude-home PATH] [--memory-dir PATH] [--json] [--max-findings N]
node scripts/backup-claude-memory.mjs [--repo PATH] [--claude-home PATH] [--memory-dir PATH] [--backup-root PATH --backup-root-alias NAME] [--include PATH ...]
  • インベントリ作成は読み取り専用です。スキャナーは読み取り専用で、デフォルトで情報を伏せ、検出件数に上限を設けています。また、実行エラーではなく検出事項がある場合に終了コード 1 を返します。
  • backup-claude-memory.mjs は、ソースを編集せずに、既存ファイルを上書きしないバックアップと backup-manifest.json を作成します。伏せ字なしのバックアップデータとマニフェストは、Git のワークツリーの外に保管してください。事前チェックでは、安全でないルートとシンボリックリンクを含むすべてのパス要素を拒否します。走査エラーがあれば、ルートを作成する前に処理が失敗します。編集には正確な --include パスを使用してください。--include が空の場合は、従来の検出方法が維持されます。実行前に、ルートの安全性、事前チェック、マニフェストの照合、復旧について references/safe-editing-procedure.md を読んでください。

出力形式

上記のワークフロー告知に従い、未解決の承認ゲートのみを報告してください。

レポートを作成する前に、assets/review-report-template.md を読み込み、見出しと項目の仕様として正式に定められたテンプレートに従ってください。ファイルルートでは、テンプレート全体を1つのキュレーション記録にコピーします。チャットルートでは、該当するセクションのみをチャットに表示し、レポートファイルは作成しません。該当する項目はすべて記入し、スキップしたフェーズには理由とともに not applicable と記載して、機微な値は伏せてください。

編集前に、レビューと判断の表を完成させてください。編集後は、同じ記録の受領情報として、マニフェストの照合と未照合のパス、新規パス(created-no-preimage)とロールバック、バックアップモードとマニフェストのパス、バックアップの完全性の結果、および次の行スキーマを記入してください。| 変更したパス | バックアップ先 | バイト数 | SHA-256 | 検証 |

完了条件

  • 明確な権限または解消済みの曖昧さに基づいて、8つの正式なワークフローのいずれかを選択していること。エージェントの起動をクリーンアップの許可と推定しないこと。
  • 該当するコンテキスト、.claude/rules のメタデータ、設定、自動メモリーの境界をインベントリに記録しているか、見つからない旨を報告していること。
  • すべての原子的な主張に、分類、リスクタグ、確信度、アクション、および該当する場合は優先順位がより高い競合の根拠がそれぞれ1つずつ割り当てられていること。
  • 確実に実施すべき制限を設定またはフックに割り当てていること。プランと直接クリーンアップの境界が守られていること。
  • チャットまたはファイルでの提供方法が正式なテンプレートの仕様に一致していること。許可された編集のすべてについて、対象ファイルの個別バックアップ、マニフェストとの照合、再読み込み、完全性の結果が記録されていること。

障害モード

  • サーフェスまたは自動メモリーのパスが見つからない場合:利用できない内容を報告し、必要な場合に限り /memory、claude --version、または明示的な --memory-dir を要求します。
  • 管理ポリシーまたは不明なスキーマの場合:読み取り専用を維持し、手動での操作を推奨または保留します。
  • 機密情報または競合する内容がある場合:秘匿し、場所と上位の情報源を示したうえで、削除・ローテーションを推奨するか、書き換え、移動、削除、またはユーザーの判断が必要なものとして分類します。
  • 永続化、バックアップ、または承認済み状態の再確認に失敗した場合:変更の前(またはそれ以上の変更を加える前)に停止し、失敗を報告して、差分が発生した後は計画に戻ります。

コメント