usage-audit について
`/context` のデータを基に、設定、指示ファイル、インストール済みスキル、権限の肥大化を調べる Claude スキルです。コンテキスト負荷の要因を特定し、採点レポートと修正案を作成します。
主な機能
- 01`/context` 出力に基づく監査
- 02MCP と CLI の負荷確認
- 03指示ファイルとスキルの審査
- 04設定とファイル権限の確認
- 05問題の採点と修正案の提示
活用シーン
- 01負荷の大きい MCP サーバーの特定
- 02長い指示ファイルの整理
- 03スキルの説明と本文の確認
- 04アクセス制限が必要な肥大化ディレクトリの特定
MCP 対応
接続中の MCP サーバーによるコンテキスト負荷を確認し、CLI で代替できるサーバーを指摘します。負荷の監査を行いますが、MCP サーバーの公開や管理はしません。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ mathews-tom/ armory --skill usage-auditインストール後、Claude Code で/usage-auditを入力して読み込まれたか確認します。
同梱ファイルevals/cases.yaml
詳細
使用状況の監査
肥大化したコンテキストは二重のコストを招きます。使用量の上限に早く達するうえ、モデルはコンテキストの冒頭と末尾に最も注意を払うため、出力の品質も低下します。このスキルは無駄を見つけ、削るべきものを示します。
クレジット:Claude Code Context Cleanup Guide(2026)の context-audit スキルを応用しています。Armory への移植では、パッケージを考慮したチェックを追加し、採点基準を最終判断ではなく、上書き可能な参考情報として扱います。
ステップ 1:/context のデータを取得する
会話に最近の /context の出力があるか確認します。このセッションでユーザーがまだ実行していない場合は、次のように依頼します。
「このターミナルで
/contextを実行して、出力を貼り付けてください。こちらではスラッシュコマンドを実行できません。内訳を確認できれば、指摘された項目をすべて監査します。」
ここで停止します。 実際の /context データが得られるまで、ステップ 2 に進んではいけません。内訳によって、監査対象と順序が決まります。内訳がなければ、監査は推測になってしまいます。上記のメッセージを出力して待機してください。
ステップ 2:肥大化している項目を監査する
/context の出力で規模が大きいものから順に、各カテゴリを確認します。互いに独立したチェックは並行して実行します。
MCP サーバー
接続された各サーバーは、ツールを呼び出すかどうかにかかわらず、ターンごとにツール定義全体(約 15,000~20,000 トークン)をコンテキストに読み込みます。トークナイザーの更新により、Opus 4.7 では同じスキーマでもこの数値が 1.0~1.35 倍高くなることがあります。この静的な推定値よりも、/context で測定した値を優先してください。
settings.jsonと~/.claude/settings.jsonで、設定済みサーバーの数を数えます。/contextの出力から、MCP のオーバーヘッド合計を報告します。- CLI で代替できるサーバー(Playwright、GitHub、Google Workspace、Notion、Slack など)があれば指摘します。CLI はアイドル状態ではトークンを消費しません。
- インストール済みの armory パッケージと照合します。
mcp-to-skillがインストールされている場合は、最も負荷の大きいサーバーに対して明示的に推奨します。
CLAUDE.md ファイル
対象範囲内のすべての CLAUDE.md(プロジェクトのルート、.claude/、~/.claude/)を読みます。各ファイルについて行数を数え、すべてのルールを次の 5 つのフィルターで確認します。
| フィルター | 指摘する条件 |
|---|---|
| デフォルト | Claude が指示されなくてもすでに行うこと(「クリーンなコードを書く」「エラーを処理する」など) |
| 矛盾 | 同じファイルまたは別のファイルにある他のルールと矛盾する |
| 重複 | すでに別の箇所で扱われている内容を繰り返している |
| その場しのぎ | 出力全般の改善ではなく、特定の悪い出力を修正するために追加された |
| 曖昧 | 解釈が毎回異なる(「自然に」「適切な口調で」など) |
CLAUDE.md が 200 行を超える場合は、段階的な開示が可能か確認します。特定のタスクにだけ適用されるルール(API の規約、デプロイ手順、テストなど)は、コアファイルからの 1 行のポインターを残して、リファレンスファイルに移動してください。汎用的なコンテキストを含む 200 行未満の簡潔な CLAUDE.md は、単一ファイルのままで問題ありません。分割すること自体を目的に、分割してはいけません。
ルールパッケージ(armory 固有)
Armory の rules/ パッケージは CLAUDE.md と同様にすべてのセッションで読み込まれ、実質的な隠れた基本コストになります。スキルの肥大化より優先して確認してください。
~/.claude/settings.jsonまたは armory インストーラーのレジストリ(存在する場合)を使って、インストール済みのルールパッケージを列挙します。- 各ルールパッケージについて、
RULE.mdの本文を読み、行数を数え、同じ 5 つのフィルターを適用します。 - 300 行を超えるルールパッケージがあれば指摘します。これらは毎ターン読み込まれます。
インストール済みスキル
~/.claude/skills/*/SKILL.md とプロジェクト内のスキルを調べます。それぞれについて、次を確認します。
- SKILL.md の本文のみの行数を測定します。
references/、scripts/、evals/配下のファイルは数えてはいけません。これらはトリガー時ではなく、必要に応じて読み込まれます。パッケージ全体の LOC を基準にすると、コストを誤って見積もることになります。 - SKILL.md の本文が 200 行を超える場合は警告、500 行を超える場合は重大な問題として指摘します。
- スキルの指示に 5 つのフィルターを適用します。目標の言い換え、曖昧な表現(「~してもよいでしょう」)、同義の指示(「簡潔に」「短く」「冗長にしない」)を確認します。
- フロントマターの説明を監査します: 各スキルの
descriptionフィールドの単語数を数えます。60 語を超えるものがあれば指摘します。スキルの説明は毎回のセッションでルーターに読み込まれるため、文章ではなく、トリガーに焦点を当てる必要があります。
設定
settings.json で以下のキーを確認します。
| 設定 | 該当する場合 | 推奨値 |
|---|---|---|
autocompact_percentage_override | 未設定、または 80 超 | 75 |
env.BASH_MAX_OUTPUT_LENGTH | デフォルト値(30~50K) | 150000 |
ファイルのアクセス許可
settings.json の permissions.deny を確認します。未設定の場合は、プロジェクトを調べ、拒否対象にすべき肥大化ディレクトリを指摘します。
| これが存在する場合… | 拒否対象にすべきもの… |
|---|---|
package.json | node_modules、dist、build、.next、coverage |
Cargo.toml | target |
go.mod | vendor |
pyproject.toml / requirements.txt | __pycache__、.venv、*.egg-info |
ステップ 3:採点して報告する
以下の基準は参考用のデフォルトであり、絶対的なものではありません。大きな CLI 機能群(例:github、agent-builder)をラップする「reference」スキルは、正当に行数のしきい値を超える場合があります。ファイル数ではなく、本文を見て判断してください。ユーザーは、プロジェクトの CLAUDE.md で任意の減点を変更できます。
スコアは 100 点から始まります。問題ごとに減点します。
| 問題 | 点数 |
|---|---|
| CLAUDE.md が 200 行超 | -10 |
| CLAUDE.md が 500 行超 | -20 |
| ルールパッケージの本文が 300 行超 | 1 件につき -10 |
| フィルターで指摘されたルール 5 件ごと | -5 |
| ファイル間の矛盾 | -10 |
autocompact_percentage_override の未設定 | -10 |
BASH_MAX_OUTPUT_LENGTH の上書き設定がない | -5 |
| スキル本文が 200 行超 | 1 件につき -5 |
| スキル本文が 500 行超 | 1 件につき -10 |
| スキルの説明が 60 語超 | 1 件につき -2 |
| CLI に相当する機能を持つ接続済み MCP サーバーごと | -5 |
permissions.deny がなく、肥大化ディレクトリが存在する | -10 |
最低点は 0 点です。以下の形式で出力します。
# Usage Audit
Score: {N}/100 [{CLEAN|NEEDS WORK|BLOATED|CRITICAL}]
## Context Breakdown (from /context)
{Paste the key numbers}
## Issues Found
### [{CRITICAL|WARNING|INFO}] {Category}
{What's wrong}
Fix: {One-line actionable fix}
### Rules to Cut
{Each flagged rule: quoted text, which filter, one-line reason}
### Conflicts
{Contradictions between files, with paths}
## Top 3 Fixes
1. {Highest-impact fix}
2. {Second}
3. {Third}
スコアのラベル:90~100 CLEAN、70~89 NEEDS WORK、50~69 BLOATED、0~49 CRITICAL。 重大度:CRITICAL は 10 点超、WARNING は 5~10 点、INFO は 5 点未満です。
ステップ 4:修正を提案する
レポートの後に、対象を絞った修正を提案します。
"これらを適用しますか?以下の対応ができます:
- 不足している
settings.jsonのキー(autocompact_percentage_override、BASH_MAX_OUTPUT_LENGTH)を追加する- 検出された肥大化ディレクトリに対する
permissions.denyルールを追加する- 指摘されたルールを削除した CLAUDE.md の整理後の差分を表示する
- 肥大化したスキルの frontmatter の説明を短縮する
- このセッションで切断する具体的な MCP サーバーを提案する"
設定とアクセス許可の変更は自動適用します(安全で、元に戻せます)。指示ファイル(CLAUDE.md、RULE.md、SKILL.md)を変更する前に差分を表示して、確認を待ちます。指示の編集は重要な変更であり、最終判断はユーザーに委ねる必要があります。