overnight-repo-auditor について
overnight-repo-auditor は、Anthropic's Managed Agents runtime 向けの自律型コードベース監査スキルです。専門別の監査を連携し、セキュリティ、性能、アクセシビリティ、依存関係、コード品質の指摘を重大度付きでまとめます。
主な機能
- 01リポジトリの事前調査
- 02専門別監査の並列実行
- 03セキュリティと性能のレビュー
- 04アクセシビリティと依存関係の確認
- 05重大度付き統合レポート
- 06ソースコードの読み取り専用処理
活用シーン
- 01無人で夜間監査を実施
- 02複数の品質領域からコードベースを確認
- 03並列監査エージェントの指摘を集約
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ onewave-ai/ claude-skills --skill overnight-repo-auditorインストール後、Claude Code で/overnight-repo-auditorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/agent-accessibility.mdagent-code-quality.mdagent-dependency.mdagent-performance.mdagent-security.mdcompilation-and-templates.mdreconnaissance.mdshared-rubric.md詳細
Overnight Repo Auditor
コードベース全体を夜間に自律的に監査し、セキュリティ、パフォーマンス、アクセシビリティ、依存関係、コード品質を網羅した、重要度評価付きの単一レポートを作成します。Anthropic の Managed Agents ランタイム(14.5 時間のタスク実行時間)向けに構築されており、質問や確認を求めることなく完了まで実行し、実行中に構造化された検出事項をディスクに書き込むため、中断されても部分的な結果が残ります。
目次
references/reconnaissance.md-- フェーズ 1 の手順と調査レポートのテンプレート。references/shared-rubric.md-- 重要度評価基準と構造化された検出事項の形式。すべてのエージェントに渡してください。references/agent-security.md-- セキュリティ監査エージェントの概要と出力形式。references/agent-performance.md-- パフォーマンス監査エージェントの概要と出力形式。references/agent-accessibility.md-- アクセシビリティ監査エージェントの概要、スキップ条件、出力形式。references/agent-dependency.md-- 依存関係監査エージェントの概要、スキップ条件、出力形式。references/agent-code-quality.md-- コード品質監査エージェントの概要と出力形式。references/compilation-and-templates.md-- フェーズ 3 の取りまとめ手順、最終レポートのテンプレート、完了メッセージ。
運用ルール
- 自律的に実行します。ユーザーに入力を求めてはいけません。判断が曖昧な場合は、より徹底した選択肢を選び、その選択をレポートに記録します。
- ソースに対しては読み取り専用です。作成できるのは
audit-workspace/ディレクトリとovernight-audit-report.mdのみです。プロジェクトのコードを変更、ビルド、実行してはいけません。唯一の例外として、依存関係監査エージェントは読み取り専用のパッケージ監査コマンド(npm audit、pip audit、および同等のコマンド)を実行できます。 - 時間が許す限り、サンプリングではなく網羅的に監査します。
ワークフロー
フェーズ 1:事前調査(逐次実行、約 5~10 分)
- リポジトリの構造を調査し、言語、フレームワーク、設定ファイルを特定して、コード行数を推定します。
- 関連する監査モジュールを判断します(セキュリティとコード品質は常に対象、パフォーマンスも常に対象、アクセシビリティはフロントエンド/テンプレートファイルがある場合のみ、依存関係はマニフェスト/ロックファイルがある場合のみ)。
- すべてのエージェントが共有するコンテキスト文書として、
audit-workspace/00-reconnaissance.mdを作成します。
正確なコマンドとレポートのテンプレートについては、references/reconnaissance.md に従ってください。
フェーズ 2:監査エージェントの並列起動
- Agent ツールを使用して、関連するすべての監査エージェントを同時に起動します。すべての呼び出しで
run_in_background: trueを指定し、すべてのエージェント呼び出しを 1 つのメッセージに含めます。 - 各エージェントのプロンプトは、調査レポート全文(インラインで貼り付けます。エージェントはファイルシステムのコンテキストを自動的に共有しません)、
references/shared-rubric.mdの重要度評価基準と検出事項の形式、参照ファイルにあるエージェント固有の概要を組み合わせて作成します。各エージェントはaudit-workspace/内の専用出力ファイルに書き込みます。- セキュリティ ->
references/agent-security.md->01-security-audit.md - パフォーマンス ->
references/agent-performance.md->02-performance-audit.md - アクセシビリティ ->
references/agent-accessibility.md->03-accessibility-audit.md(スキップ条件を守ってください) - 依存関係 ->
references/agent-dependency.md->04-dependency-audit.md(スキップ条件を守ってください) - コード品質 ->
references/agent-code-quality.md->05-code-quality-audit.md
- セキュリティ ->
- 対象を絞った実行(例:「セキュリティと依存関係のみ」)では、該当するエージェントのみを起動し、最終レポートには該当するセクションのみを含めます。
フェーズ 3:レポートの取りまとめ(逐次実行、約 5~10 分)
- バックグラウンドのエージェントがすべて戻ったら、各エージェントのレポートを読み、エージェント間で重複する検出事項を統合し、最終的な重要度を割り当てて、優先度上位 10 件を含むエグゼクティブサマリーを作成します。
- 取りまとめた
overnight-audit-report.mdをリポジトリのルートに書き込み、その後、簡潔な完了メッセージを出力します。
重複排除の対応表、最終レポートのテンプレート、完了メッセージについては、references/compilation-and-templates.md に従ってください。
スケーリング
| コードベースの規模 | 推定所要時間 | エージェントの戦略 |
|---|---|---|
| 1 万行未満 | 15~30 分 | すべてのエージェントが、それぞれ 1 回ずつ確認 |
| 1 万~5 万行 | 30~90 分 | すべてのエージェントが、徹底的に確認 |
| 5 万~20 万行 | 1~4 時間 | すべてのエージェントが確認。セキュリティとコード品質ではサブエージェントが必要になる場合があります |
| 20 万~50 万行 | 4~8 時間 | すべてのエージェントがそれぞれ 2~3 個のサブエージェントを起動し、ファイルレビューを並列化 |
| 50 万行以上 | 8~14 時間 | サブエージェントごとにファイルを割り当て、サブエージェントを全面的に展開 |
20 万行を超えるコードベースでは、各監査エージェントは自身の担当領域内で並列化するためにサブエージェントを起動してください(たとえば、セキュリティ担当は認証とセッション、データ処理、API サーフェス、インフラストラクチャに分割します)。各ブリーフでは、監査中に判明した規模に基づいて、エージェントがサブエージェントの展開を自ら調整するよう指示します。
エラー処理
- エージェントの失敗:同じブリーフを使ってエージェントを 1 回再試行します。再度失敗した場合は、失敗を記した部分レポートを作成し、ほかのエージェントで作業を続け、最終レポートに確認できなかった範囲を記載します。1 つのエージェントによってほかのエージェントを停止させてはいけません。
- ファイルアクセスエラー:そのファイルをスキップし、担当エージェントの「方法論に関するメモ」に記録して、作業を続けます。
- タイムアウト管理:リスクの高いファイル(認証、支払い、データ処理、公開エンドポイント)を優先します。エージェントが 2000 ファイルを超えて確認した場合は、リスクの低いファイルにはサンプリング戦略を使用したことを記載します。時間切れが迫っている場合は、司令役が部分的な結果をまとめます。
- 再実行:新しい監査を実行すると、以前の
audit-workspace/ディレクトリとovernight-audit-report.mdは上書きされます。先に以前の結果をコミットするか、コピーするようユーザーに提案してください。
注意事項
- レポートにはソースコードが記載されるため、ソースコードと同じ機密性をもって取り扱ってください。
.gitignoreが存在してもaudit-workspace/が記載されていない場合は、監査の出力がコミットされないよう、追加を提案してください。