コンテキストバジェット
Claude Codeセッションで読み込まれたすべてのコンポーネントのトークンオーバーヘッドを分析し、コンテキストスペースを取り戻すための実用的な最適化を表示します。
使用時期
- セッションのパフォーマンスが低下しているか、出力品質が低下している場合
- 多くのスキル、エージェント、またはMCPサーバーを追加した後
- 実際に持っているコンテキストのヘッドルームを確認したい場合
- コンポーネントを追加する計画があり、スペースがあるか確認したい場合
/context-budgetコマンドを実行する場合(このスキルがそれをサポートします)
動作方法
フェーズ1: インベントリ
すべてのコンポーネントディレクトリをスキャンしてトークン消費を推定します:
エージェント (agents/*.md)
- ファイルごとの行数とトークンをカウント(単語数 × 1.3)
descriptionフロントマターの長さを抽出- フラグ: 200行超のファイル(重い)、30単語超のdescription(肥大化したフロントマター)
スキル (skills/*/SKILL.md)
- SKILL.mdごとのトークンをカウント
- フラグ: 400行超のファイル
.agents/skills/の重複コピーを確認 — 二重カウントを避けるために同一コピーをスキップ
ルール (rules/**/*.md)
- ファイルごとのトークンをカウント
- フラグ: 100行超のファイル
- 同一言語モジュール内のルールファイル間のコンテンツの重複を検出
MCPサーバー (.mcp.jsonまたはアクティブなMCP設定)
- 設定されたサーバー数と合計ツール数をカウント
- スキーマオーバーヘッドをツールあたり約500トークンと推定
- フラグ: 20以上のツールを持つサーバー、シンプルなCLIコマンド(
gh、git、npm、supabase、vercel)をラップするサーバー
CLAUDE.md (プロジェクト + ユーザーレベル)
- CLAUDE.mdチェーンのファイルごとのトークンをカウント
- フラグ: 合計300行超
フェーズ2: 分類
すべてのコンポーネントをバケットに分類します:
フェーズ3: 問題の検出
以下の問題パターンを特定します:
- 肥大化したエージェントdescription — フロントマターに30単語超のdescriptionはすべてのTaskツール呼び出しで読み込まれる
- 重いエージェント — 200行超のファイルはすべてのスポーン時にTaskツールのコンテキストを膨らませる
- 冗長なコンポーネント — エージェントロジックを複製するスキル、CLAUDE.mdを複製するルール
- MCPの過剰サブスクリプション — 10以上のサーバー、または無料で利用できるCLIツールをラップするサーバー
- CLAUDE.mdの肥大化 — 冗長な説明、古いセクション、ルールであるべき指示
フェーズ4: レポート
コンテキストバジェットレポートを生成します:
詳細モードでは、ファイルごとのトークン数、最も重いファイルの行ごとの内訳、重複するコンポーネント間の特定の冗長行、ツールごとのスキーマサイズ推定を含むMCPツールリストも出力します。
例
基本監査
詳細モード
拡張前の確認
ベストプラクティス
- トークン推定: 散文には
単語数 × 1.3を、コードが多いファイルには文字数 / 4を使用 - MCPが最大のレバー: 各ツールスキーマはおよそ500トークンかかります。30ツールのサーバーはスキル全部よりも多くかかります
- エージェントdescriptionは常に読み込まれる: エージェントが呼び出されなくても、そのdescriptionフィールドはすべてのTaskツールのコンテキストに存在します
- デバッグには詳細モード: 特定のファイルがオーバーヘッドを駆動していることを正確に特定する必要がある場合に使用し、通常の監査には使用しない
- 変更後に監査: エージェント、スキル、またはMCPサーバーを追加した後に実行して、クリープを早期にキャッチ



