mcpField
C
context-manager

context-manager

github.com/phuongnzエージェントワークフロー066 回インストール5 週間前に更新
リポジトリ

context-manager について

context-managerは、Claudeセッションの起動時コンテキストを評価・管理するスキルです。生のコンテキストウィンドウではなく、変更可能な「スマートゾーン」を基準に、分析、整理案、ステータスラインのテンプレート、しきい値設定を行います。

主な機能

  1. 01スマートゾーン基準の使用量測定
  2. 02起動時コンテキストの分析
  3. 03コンテキスト整理案の提示
  4. 04ステータスラインのテンプレート
  5. 05しきい値の設定と保存

活用シーン

  1. 01起動時の項目別使用量の確認
  2. 02整理対象となるMCPサーバーやスキルの特定
  3. 03コンテキスト用ステータスラインの設定
  4. 04品質評価に使うしきい値の調整

MCP 対応

MCPツールを起動時コンテキストの構成要素として扱い、分析や整理案に反映できます。MCPサーバーを提供するとは説明されていません。

インストール

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

$npx skills add https://github.com/phuongnz/skills --skill context-manager

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

同梱ファイル

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

CLEANUP.md
STATUSLINE.md
scripts/
read-window.sh
set-window.sh
statusline-dashboard.sh
statusline-essentials.sh
statusline-extended.sh
statusline-smartzone.sh

詳細

コンテキストマネージャー

スマートゾーン(まずお読みください)

このスキルでは、モデルの生のコンテキストウィンドウではなく、健全なウィンドウである「スマートゾーン」を基準にコンテキストを評価します。

生のウィンドウは 200k や 1M でも、いっぱいになるずっと前からモデルの品質は低下し始めます(コンテキスト劣化)。デフォルトのスマートゾーンは 150k トークンです。この範囲では、想起、推論、指示への追従が鋭く保たれます。この値を超えると、ウィンドウにどれだけ空きが残っていても品質は低下します。そのため、スマートゾーン内のトークンはすべて貴重です。実際に良い成果を出せる予算であり、このスキルの目的は、起動時のオーバーヘッドに使う量をできる限り減らすことです。

ここに記載されている割合、判定、バーはすべて、生のウィンドウではなくスマートゾーンを基準にしています。

健全なウィンドウの設定(すべてのモードで使用)。 スマートゾーンのサイズは、${CLAUDE_CONFIG_DIR:-$HOME/.claude}/context-manager.json の healthy_window_tokens に保存されます。どのモードでも、開始時に、バンドルされているヘルパー(この SKILL.md と同じ場所にあります)を実行して設定を読み取ります。

bash scripts/read-window.sh   # prints the token count, default 150000

デフォルトの 150k の場合はその旨を伝え、モード 4 で変更できることも説明してください。ユーザーがカスタム値を設定している場合は、すべての処理でその値を使い、その旨を伝えてください。

4 つのモード

ユーザーの依頼に合ったモードを選んでください。不明な場合は、次のラベルをそのまま使って、どのモードか尋ねてください。

  1. 起動時コンテキストを分析 — セッション開始時に読み込まれる内容、主な消費要因、スマートゾーンに対する判定。
  2. コンテキストを整理 — スマートゾーンの余裕を取り戻すための推奨事項。CLEANUP.md を参照してください。
  3. ステータスラインのテンプレート — すぐに使える 4 つのテンプレート、またはカスタムテンプレート。STATUSLINE.md を参照してください。
  4. 健全なウィンドウのサイズを設定 — このスキルが基準とするスマートゾーンのしきい値を変更します。

このスキルは、ユーザーの確認なしに /clear や /compact を実行したり、ユーザー設定を編集したりすることはありません。これらを実行するかどうかはユーザーが決めます。

モード 1 — 起動時コンテキストを分析

目標: 起動時コンテキストの合計、上位 5 つの構成要素、スマートゾーンのうちどれだけを消費するか、整理する価値があるかどうかを報告します。

ステップ 1 — 最新の /context 内訳を取得する

健全なウィンドウ HW(scripts/read-window.sh)を読み取ります。次に /context から内訳を取得します。このスキルは /context 自体を実行できないため、次のようにしてください。

  • この会話に /context の内訳がすでに表示されている場合は、それを解析します。
  • それ以外の場合は、ユーザーに /context を実行するよう依頼し、結果が届くまで待ちます。その後「ok」または「continue」と送信するよう伝えてください。 ユーザーの次のメッセージが届いて初めて出力が会話に含まれます。この案内がないと、何もしていないように見えるスキルを待つことになります。

結果を解析して、合計(X / Y tokens)と各カテゴリを取得します。カテゴリは、System prompt、System tools、MCP tools、Memory files、Skills、Messages、Free space です。ファイルサイズから推定しないでください。正確な情報源は /context であり、推測するよりユーザーに 1 回キーを押してもらうほうが確実です。

ステップ 2 — 各構成要素を分類する
  • 固定(削減できないもの):System prompt、組み込みの System tools。
  • 調整可能(変更できるもの):MCP tools、Skills、Memory files、カスタム CLAUDE.md/AGENTS.md/グローバルルール。
ステップ 3 — スマートゾーンと照らし合わせる

生のウィンドウではなく、HW を基準にすべてを計算します。

  • 起動時に消費したスマートゾーン = 起動時トークン合計 ÷ HW。
  • 残りのスマートゾーン余裕 = HW − 起動時トークン合計(実際の作業に使える金の残量)。
  • 各コンポーネントの割合を起動時合計に対する割合(ランキング用)として示し、裁量で調整できる合計は HW に対する割合として示します。

裁量で調整できる負荷(自分で制御できる部分)を評価します。そのトークンはすべて、作業を始める前にスマートゾーンの予算から消費されます(しきい値はスマートゾーン 150k の割合で表示。HW に応じて調整してください)。

裁量で調整できる起動時負荷判定
< 10k トークン(スマートゾーンの約 7%)軽量 — 対応は不要です。
10k–25k トークン(約 7–17%)中程度 — すべての MCP サーバー/スキルが実際に使われているか確認してください。
> 25k トークン(>17%)高負荷 — 削減してください。CLEANUP.md を参照してください。

次に、スマートゾーンの占有率の基準に照らして合計コンテキストを確認します(見出しに表示する数値です。起動時だけでなく、セッション全体に適用されます)。

スマートゾーンの占有率(合計 ÷ HW)状態
< 50%(< 75k)余裕あり — 品質を十分に保て、金の残量もたっぷりあります。
50–80%(75k–120k)注意 — 次の大きなタスクの前に /compact する計画を立ててください。
80–100%(120k–150k)混雑 — 重い作業を続ける前に、コンパクト化するかクリアしてください。
> 100%(> 150k)スマートゾーン超過 — コンテキスト劣化が起きている可能性が高いため、今すぐ /clear または /compact を実行してください。

ユーザーには、起動時負荷は一度だけでキャッシュにも適していますが、セッション中のスマートゾーンの余裕を恒久的に狭めることを伝えてください。セッション中に余裕を増やす大きな手段は会話の肥大化への対処(/compact または /clear)であり、モード 2 で説明します。

ステップ 4 — 報告する

簡潔に、次の内容を出力します。

  • スマートゾーン:HW トークン(デフォルト値かユーザー設定値かも記載)。
  • 起動時コンテキスト合計:N トークン — スマートゾーンの P%。金の余裕として約 H トークンが残ります。
  • 上位 5 コンポーネントを表にします:コンポーネント | トークン数 | 合計に対する割合 | 固定/裁量。
  • 判定:裁量で調整できる負荷の基準による結果+スマートゾーン占有率の状態+具体的で実行可能な推奨事項を 1~3 件(例:「context7 MCP は必要時に読み込まれます。良好です」「未使用のスキル 5 件が、金の 150k のうち約 Xk を消費しています。削除を検討してください」)。

モード 2 — コンテキストを整理する

まず HW を確認します。このモードでは、実際に読み込まれている内容を把握するために /context の内訳が必要です。この会話内にすでに表示されている場合(モード 1 の結果など)はそれを使い、そうでなければユーザーに /context を実行するよう依頼して、実行されるまで待ちます。モード 1 と同じルールに従い、「ok」または「continue」と入力した後のヒントも含め、ほかの場所から探すことは決してしないでください。その後、CLEANUP.md を開きます。すべてをスマートゾーンの余裕を取り戻すものとして説明してください。それぞれの対策で、HW の範囲内に金のトークンがどれだけ戻るかを示します。10 個の対象を確認し、このセッションに該当するものを挙げ(利用できる場合はモード 1 の調査結果を使います)、効果の大きい対策から提案します。破壊的な操作を行う前に確認してください。特に、元に戻せない /clear の前には必ず確認してください。

モード 3 — ステータスラインのテンプレート

STATUSLINE.md を開きます。4 種類のテンプレート(Essentials/Extended/スマートゾーンバー/ダッシュボード)またはカスタムテンプレートを提案します。ステータスラインの色分けが生のウィンドウではなく HW(デフォルトでは 150k)を基準に行われるよう、スマートゾーンバーを優先してください。そうしないと、1M のウィンドウでは 140k でも緑色になり、コンテキスト劣化が見えなくなります。テンプレートは scripts/ 内にすぐ実行できるスクリプトとして用意されています。どれかを適用する前に、変更内容をユーザーに示してください。

モード 4 — 適切なウィンドウサイズを設定する(スマートゾーン)

目標: 他のモードが基準として使用するスマートゾーンのしきい値をユーザーが変更し、その値を保持できるようにします。

  1. 現在の値を読み取り、報告します(scripts/read-window.sh)。値がデフォルトの 150k かユーザー設定かを伝え、その意味を一文で説明します:「この値未満では品質が保たれます。この値を超えると、コンテキストの劣化によって出力の品質が低下します。」
  2. 新しい値を取得します。 ユーザーがすでに数値を指定している場合は、その値を使用します。そうでない場合は、次の選択肢を提示します。
    • 150k(デフォルト、推奨) — ほとんどのモデルで品質が維持される標準的なスマートゾーンです。
    • 120k(保守的) — 詳細さが重視される長時間の作業で、早めにクリア/圧縮したい場合に適しています。
    • 200k — 品質がより長く維持されることを確認済みのモデル/タスク向けです。
    • カスタム — 任意のトークン数です。 150k/150000 のような省略形を受け付け、トークン数の整数に正規化します。0 以下または異常な値(10000 未満、または生のウィンドウサイズを超える値)は拒否し、再度入力を求めます。
  3. 確認してから、 ヘルパーを実行して書き込みます(他のキーは保持されます。jq がない場合は新しいファイルを作成します)。
    bash scripts/set-window.sh <tokens>
    
  4. 結果を確認します:新しいスマートゾーンは N トークンで、これがモード 1〜3 の基準になります。新しいしきい値でモード 1 を再実行するかどうかを確認します。

コメント