context-manager について
context-manager は、Claude Code のプロジェクトメモリを整理し、Markdown 文書を監査するスキルです。メモリファイルの評価、重複や不足の検出、文書全体の容量報告を行います。
主な機能
- 01メモリ、プロジェクト、セッション、公開文書の監査
- 02CLAUDE.md の品質評価
- 03古い内容や重複の検出
- 04プロジェクト種別に応じた文書不足の特定
- 05Markdown 文書容量の報告
活用シーン
- 01セッション終了時の知見整理
- 02プロジェクトメモリと文書の確認
- 03肥大化・重複した CLAUDE.md の再構成
- 04プロジェクトに必要な技術文書の計画
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ jezweb/ claude-skills --skill context-managerインストール後、Claude Code で/context-managerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/commit-hook.mdproject-types.mdquality-criteria.mdtemplates.mdscripts/audit_memory.py詳細
コンテキストマネージャー
Claude Code のメモリ階層を管理し、プロジェクト全体の Markdown ファイルを監査します。整理されたメモリファイルを作成し、ドキュメントの重複を検出して、コンテキスト全体のサイズを報告します。
4 つのコンテキストレイヤー
| レイヤー | 場所 | 目的 | このスキルで行うこと |
|---|---|---|---|
| メモリ | ./CLAUDE.md、サブディレクトリ、.claude/rules/*.md | プロジェクトのコンテキスト、コマンド、アーキテクチャ、ルール | 監査、スコア評価、保守 |
| プロジェクトドキュメント | ARCHITECTURE.md、DATABASE_SCHEMA.md、API_ENDPOINTS.md、docs/**/*.md | 技術ドキュメント | プロジェクトの種類ごとに存在を確認し、古くなった内容にフラグを付け、CLAUDE.md との重複を検出 |
| セッション | SESSION.md、PROJECT_BRIEF.md | 一時的な進捗の記録 | 有無とサイズを報告(dev-session が管理) |
| 公開ドキュメント | README.md、CONTRIBUTING.md、その他のルート .md | 一般公開向けドキュメント | CLAUDE.md との重複を検出 |
自動メモリ(~/.claude/projects/*/memory/MEMORY.md)も状況把握のためにスキャンしますが、Claude が自動的に管理します。
動作モード
モード 1:セッションの記録
タイミング:セッションの終了時、「学んだことを記録して」、「学んだ内容で CLAUDE.md を更新して」と依頼されたとき
- 会話を確認し、保存する価値のある発見を探します。
- うまくいった(または、うまくいかなかった)コマンド
- 見つかった注意点と回避策
- 決定したアーキテクチャ
- 見つかった設定上の癖
- 今後のセッションに役立つパターン
- 以下の配置判断ツリーを使って、それぞれの発見を分類します。
- すべての変更を 1 つのバッチにまとめ、差分として作成します。
- バッチを提示し、1 回のはい/いいえ確認の後に適用します。
簡潔にまとめます:概念ごとに 1 行とします。冗長な説明や一般的なアドバイスは含めません。
モード 2:完全監査
タイミング:「コンテキストを監査して」、「メモリを監査して」、「プロジェクトドキュメントを確認して」と依頼されたとき、定期メンテナンス時、または長期間手入れされていないプロジェクトで作業するとき
- 監査スクリプトを実行します。
python3 plugins/dev-tools/skills/context-manager/scripts/audit_memory.py [repo-path] - 出力を確認します。
- メモリレイヤー:CLAUDE.md のサイズ、品質スコア、ルールファイルのサイズ
- プロジェクトドキュメント:有無、古さ、CLAUDE.md との重複
- セッション/公開ドキュメント:有無とサイズ
- Markdown の容量:レイヤーごとの合計 KB
- 重複に関する警告:ファイル間で重複しているセクション
- 必要に応じてファイルを作成、更新、またはフラグ付けし、自律的に変更を作成します。
- すべての変更を 1 つのバッチにまとめ、承認を求めます。
- 承認された変更を適用します。
- コミット記録フックがインストールされているか確認します。インストールされていない場合は、設定を提案します(references/commit-hook.md を参照)。
大規模なリポジトリでは、サブエージェントに委任します。
Task(subagent_type: "general-purpose",
prompt: "Run python3 plugins/dev-tools/skills/context-manager/scripts/audit_memory.py /path/to/repo
and summarise the findings.")
モード 3:再構成
タイミング:「メモリを再構成して」と依頼されたとき、ルート CLAUDE.md が 200 行を超えるとき、初回のメモリ設定時
- まず完全監査(モード 2)を実行します。
- 大きすぎるファイルを分割します。
- ルート CLAUDE.md のトピックごとのセクションを
.claude/rules/<topic>.mdに抽出します。 - ディレクトリ固有の内容を、各サブディレクトリの CLAUDE.md ファイルに抽出します。
- 詳細な技術内容が運用コンテキストではなく参照情報である場合は、CLAUDE.md から
docs/またはARCHITECTURE.mdに移します。
- ルート CLAUDE.md のトピックごとのセクションを
- 重複を解消します。CLAUDE.md と ARCHITECTURE.md または docs/ の内容が重複している場合は、重複を削除します。
- プロジェクトの種類に応じて、不足しているドキュメントファイルを作成します。
- 再構成計画を提示し、承認後に適用します。
配置判断ツリー
Would this still apply if I switched to a completely different project?
├── YES → ~/.claude/rules/<topic>.md
│ (correction rules, API patterns, coding standards)
└── NO → Is it specific to a subdirectory?
├── YES → <dir>/CLAUDE.md
│ (integrations, directory-specific gotchas)
└── NO → Is it reference documentation or operational context?
├── Reference → ARCHITECTURE.md or docs/
│ (system design, schemas, detailed flows)
└── Operational → ./CLAUDE.md (project root)
(identity, stack, commands, critical rules)
サイズの目安
| ファイルの種類 | 目標 | 上限 |
|---|---|---|
| ルート CLAUDE.md | 50~150 行 | 200 |
| サブディレクトリの CLAUDE.md | 15~50 行 | 80 |
| ルールのトピックファイル | 20~80 行 | 120 |
内容ごとの配置先
ルート CLAUDE.md
- プロジェクト名、目的、担当者
- 技術スタックの概要
- ビルド/デプロイ/テストのコマンド(コピーしてすぐ使える形式)
- ディレクトリ構成の概要
- 「絶対に X をしない」という重要なルール
- 主要な連携先とシークレットの保存場所
サブディレクトリの CLAUDE.md
- そのコンポーネントの外部サービス連携
- この領域に固有の自明でない設定
- ディレクトリ固有のコマンド
- このディレクトリで作業する際の注意点
作成しない場合: 親がその内容をカバーしている、ディレクトリが自明である、内容が 10 行未満になる場合。
.claude/rules/ のトピックファイル
- トレーニングのカットオフを埋める訂正ルール(例: API の変更、非推奨になったパターン)
- コーディングパターンと標準
- プラットフォーム固有のフォーマットルール
- エラー防止パターン
docs/ と ARCHITECTURE.md
- 詳細なシステムアーキテクチャ(コンポーネント図、データフロー)
- データベーススキーマとマイグレーションガイド
- API エンドポイントのカタログ
- Claude が毎セッションではなく、必要に応じて読むべき内容
目安: 毎セッション必要なものであれば CLAUDE.md に置きます。ときどき参照するリファレンス資料であれば docs/ に置きます。
削除すべきもの
- Claude がトレーニングですでに知っている内容
- 標準的なフレームワークに関する冗長な説明
- 変更履歴やバージョン履歴(git を使う)
- 重複した内容(CLAUDE.md と docs/、ARCHITECTURE.md、README.md の間)
- 決して完了しなかった「TODO」項目
- プロジェクトに固有でない一般的なアドバイス
プロジェクトタイプの検出
監査スクリプトはファイルの存在からプロジェクトタイプを検出し、適切なドキュメントを提案します:
| 指標 | タイプ | 推奨ドキュメント |
|---|---|---|
wrangler.jsonc / wrangler.toml | Cloudflare Worker | ARCHITECTURE.md |
vite.config.* + .tsx ファイル | Vite/React | ARCHITECTURE.md |
next.config.* | Next.js | ARCHITECTURE.md |
src/index.ts 内の MCP パターン | MCP サーバー | ARCHITECTURE.md、API_ENDPOINTS.md |
src/routes/ または src/api/ | API プロジェクト | API_ENDPOINTS.md、DATABASE_SCHEMA.md |
| Drizzle/Prisma 設定 | データベース | DATABASE_SCHEMA.md |
すべてのプロジェクトに CLAUDE.md が付きます。追加のドキュメントは、プロジェクトタイプがそれを必要とする場合にのみ付きます。検出の詳細なヒューリスティクスとドキュメントテンプレートについては references/project-types.md を参照してください。
自律性のルール
- そのまま実行: 監査の実行、プロジェクトタイプの検出、ギャップの特定、変更案の作成
- 簡単な確認: 変更の適用(項目ごとではなく、1 回のバッチで yes/no)
- 先に確認: 既存の内容の削除、大規模な再構成(50 行以上の移動)、内容に曖昧さがある状態での新しいプロジェクトドキュメントのゼロからの作成
品質スコアリング
監査スクリプトは各 CLAUDE.md を 6 つの基準(100 点)で採点します:
| 基準 | 点数 | 測定内容 |
|---|---|---|
| コマンド/ワークフロー | 20 | ビルド、テスト、デプロイが文書化されている |
| アーキテクチャの明確さ | 20 | 構造、関係、エントリポイント |
| 自明でないパターン | 15 | 注意点、癖、警告 |
| 簡潔さ | 15 | 密度の高い内容、無駄がない |
| 最新性 | 15 | 参照が有効、コマンドが動作する |
| 実行可能性 | 15 | コピー&ペーストで使える、実際のパス |
完全な評価基準については references/quality-criteria.md を参照してください。
参照ファイル
| いつ | 読むもの |
|---|---|
| CLAUDE.md の品質を採点するとき | references/quality-criteria.md |
| プロジェクトタイプと期待されるドキュメントを検出するとき | references/project-types.md |
| 新しい CLAUDE.md やルールファイルを作成するとき | references/templates.md |
| コミット時の自動キャプチャを設定するとき | references/commit-hook.md |
スクリプト
scripts/audit_memory.py— 4 つのレイヤーすべてをスキャンし、品質を採点し、プロジェクトタイプを検出し、フットプリントと重複を報告しますpython3 audit_memory.py [repo-path]— 人間が読めるレポートpython3 audit_memory.py [repo-path] --json— 構造化された JSON 出力