mcpField
U
usage-audit

usage-audit

github.com/mathews-tomエージェントワークフロー33771 回インストール2 日前に更新
リポジトリ

usage-audit について

`/context` のデータを基に、設定、指示ファイル、インストール済みスキル、権限の肥大化を調べる Claude スキルです。コンテキスト負荷の要因を特定し、採点レポートと修正案を作成します。

主な機能

  1. 01`/context` 出力に基づく監査
  2. 02MCP と CLI の負荷確認
  3. 03指示ファイルとスキルの審査
  4. 04設定とファイル権限の確認
  5. 05問題の採点と修正案の提示

活用シーン

  1. 01負荷の大きい MCP サーバーの特定
  2. 02長い指示ファイルの整理
  3. 03スキルの説明と本文の確認
  4. 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.jsonnode_modules、dist、build、.next、coverage
Cargo.tomltarget
go.modvendor
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)を変更する前に差分を表示して、確認を待ちます。指示の編集は重要な変更であり、最終判断はユーザーに委ねる必要があります。

コメント