meta-audit について
meta-audit は、Claude エージェント定義とプロジェクト設定を読み取り専用で監査するスキルです。設定の完全性、ツール権限、セキュリティ境界、命名、モデル割り当てを確認します。
主な機能
- 01エージェントの frontmatter 検証
- 02ツール権限と特権境界の確認
- 03命名とモデルの一貫性確認
- 04settings.local.json の制限確認
- 05検出事項と対応項目の作成
活用シーン
- 01コミット前のエージェント定義監査
- 02プロジェクト内の過剰な権限の特定
- 03複数エージェント間の設定整合性確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ laurigates/ claude-plugins --skill meta-auditインストール後、Claude Code で/meta-auditを入力して読み込まれたか確認します。
詳細
meta-audit
このスキルを使用する場面
| 次の場合にこのスキルを使用します… | 次の場合は custom-agent-definitions を使用します… |
|---|---|
既存の .claude/agents/*.md ファイルを確認し、フロントマターの不足、過剰なツール権限、モデルの誤りを調べる場合 | 新しいエージェント定義ファイルを一から作成する場合 |
| コミット前に、読み取り専用エージェントと書き込み可能なエージェントの権限境界を検証する場合 | 1 つのエージェントの model、allowed-tools、または context: fork を設定する場合 |
| プロジェクト全体のエージェントを監査し、命名とセキュリティの一貫性を確認する場合 | 別のプロジェクトのエージェントをコピーまたは一般化する場合(meta-assimilate を使用) |
コンテキスト
- エージェント定義: !
find . -path '*/.claude/agents/*' -name "*.md" -not -name "settings*" - 設定ファイル: !
find . -path '*/.claude/agents/*' -maxdepth 3 -name "settings.local.json" -type f
タスク
1. 検出フェーズ
- Glob を使用して、
.claude/agents/内のすべてのエージェント定義ファイルを検索します - 各エージェントファイルを読み、フロントマターと設定を抽出します
- 権限の上書きに使用されている settings.local.json を特定します
2. フロントマターの検証
各エージェントについて、必須フィールドがそろっていることを確認します。
- ✅ name:エージェント識別子(ファイル名と一致する必要があります)
- ✅ model:エイリアス(
opus、fable、sonnet、haiku、inherit)または現在の完全な ID(例:claude-fable-5-1)。廃止された世代の日付付き ID(claude-opus-4-7、claude-sonnet-4-6)は指摘事項です。意図的な固定でない限り、エイリアスを推奨します - ℹ️ effort:省略可能な
low…max(エージェントの実行中はセッションの effort を上書きし、デフォルトでは継承します)。本文に機械的な作業が記載されている場合は、lowを推奨します - ✅ color:UI 用の 16 進数カラーコード(例:「#E53E3E」)
- ✅ description:「必要に応じて自発的に使用する」と明記した、明確な使用ガイダンス
- ✅ tools:ツールのリスト、またはフルアクセスを示す「All」
問題を指摘します:
- 必須フィールドの不足
- name とファイル名の不一致
- 無効なモデル名
- 不正なカラーコード
3. ツール割り当ての分析
セキュリティと適切性の観点から、ツールの割り当てを評価します。
読み取り専用エージェント(書き込みアクセスを付与してはいけません):
- research-documentation
- code-analysis(読み取り専用)
- code-review(読み取り + LSP のみ)
- security-audit(読み取り + LSP + スキャン用 Bash)
書き込み可能なエージェント(適切な書き込みアクセス):
- code-refactoring(Edit、MultiEdit)
- documentation(Write、MultiEdit)
- cicd-pipelines(Write、Edit、GitHub)
特別な権限(必要性を検証します):
- Bash アクセス(security-audit、system-debugging、cicd-pipelines、test-architecture)
- GitHub アクセス(cicd-pipelines、commit-review)
- Zen MCP アクセス(system-debugging のみ)
- すべてのツールへのアクセス(必要となるケースはまれです。妥当性を検証します)
LSP ツールの割り当て(言語別):
- LSP ツールがエージェントの対象言語と一致していることを確認します
- security-audit は幅広い LSP 対応範囲(6 以上のサーバー)を備えている必要があります
- code-review は複数言語の LSP に対応している必要があります
- code-analysis には適切な LSP アクセスが必要です
4. セキュリティ評価
潜在的なセキュリティ上の問題を確認します。
過剰な権限を持つエージェント:
- 明確な正当性がないのに「All」ツールを持つエージェント
- 書き込みや編集機能を持つ読み取り専用エージェント
- 不要な Bash または GitHub アクセス
- 変更権限を持つリサーチエージェント
制限の不足:
- settings.local.json に破壊的な操作を拒否するルールがある必要があります
- 許可リストは最小限かつ具体的である必要があります
- 正当な理由がない限り、ワイルドカードのツールアクセスを許可しないでください
権限昇格のリスク:
- 他のエージェント設定を変更できるエージェント
- 読み取り権限と実行権限の両方を持つエージェント
- エージェント間の権限漏えい
5. 一貫性チェック
設定の一貫性を検証します。
命名規則:
- エージェント名は kebab-case を使用している
- ファイル名はエージェント名と一致している
- 説明の形式が統一されている
モデルの割り当て:
- すべてのエージェントが適切な Claude モデルを使用している
- 非推奨のモデルへの参照がない
- モデル選択方針が一貫している
ツールのグループ分け:
- 類似するエージェントが類似するツールセットを使用している
- 重複または冗長なツールの割り当てがない
- 責務が明確に分かれている
6. レポートの生成
以下を含む包括的な監査レポートを作成します。
エグゼクティブサマリー:
- 監査したエージェントの総数
- 発見された重大な問題
- セキュリティ上の懸念
- 総合的な健全性評価
詳細な調査結果:
- ❌ 重大:必須フィールドの欠落、セキュリティ違反
- ⚠️ 警告:過剰な権限を持つエージェント、一貫性の欠如
- ℹ️ 情報:ベストプラクティスの提案、最適化の機会
エージェントごとの分析: 各エージェントについて、以下を報告します。
- 設定の完全性(各必須フィールドについて ✅/❌)
- ツールの割り当ての適切性(✅/⚠️/❌)
- セキュリティ評価(安全/要確認/リスク)
- 改善に向けた推奨事項
対応項目:
- すぐに必要な修正(ファイルパスと行番号を含む)
- 任意の改善
- 設定の検証結果(合格/不合格)
7. 出力形式
レポートは次の形式で構成します。
# Claude Agent Configuration Audit
## Executive Summary
- **Total Agents**: X
- **Configuration Issues**: Y
- **Security Concerns**: Z
- **Health Rating**: [EXCELLENT|GOOD|NEEDS_WORK|CRITICAL]
## Critical Issues
[List any critical problems requiring immediate fix]
## Agent Analysis Table
| Agent | Model | Tools | Color | Status | Notes |
| ---------- | ----- | -------- | ----- | --------- | ------ |
| agent-name | ✅/❌ | ✅/⚠️/❌ | ✅/❌ | PASS/FAIL | Issues |
## Security Assessment
[Tool privilege analysis and security concerns]
## Recommendations
[Prioritized action items with file paths]
## Detailed Findings
[Per-agent breakdown with specific issues]
8. ベストプラクティスのリファレンス
ツールアクセスの原則:
- ツールアクセスには最小権限の原則を適用する
- 読み取り専用エージェントと書き込み可能なエージェントを明確に分ける
- 言語固有の作業に適した LSP ツールを網羅する
- Bash のアクセスは必要な場合に限り、最小限にする
- GitHub へのアクセスは制限し、git-ops と CI/CD のみに許可する
設定の基準:
- 必須の frontmatter フィールドがすべて存在する
- エージェント間でモデル選択に一貫性がある
- エージェントの役割に適したツール権限が設定されている
- 先回りした利用ガイダンスを含む明確な説明がある
9. 任意:詳細モード
--verbose フラグが指定されている場合:
- 各エージェントの frontmatter 全体を表示する
- ツールの完全なリストを表示する
- settings.local.json の内容を含める
- 問題ごとに詳細な修正コマンドを提示する
注記
- これは読み取り専用の監査です。変更にはユーザーからの明示的な依頼が必要です
- 設定の正確性とセキュリティへの影響に重点を置きます
- 具体的なファイルの場所を示し、実行可能な推奨事項を提示します
- 複数のエージェントを確認する際は、エージェントごとのステータステーブル(§7)を進捗記録として使用します。TodoWrite、TaskCreate…などのタスク/ToDo ツールは、オプトインされていない場合、Opus 4.8+/Sonnet 5/Fable では利用できません。
.claude/rules/agentic-permissions.mdの「Task-tool availability」を参照してください
コメント
Markdown 対応