source-investigator について
Source Investigatorは、ドキュメントだけでは不十分な場合や実装の詳細が重要な場合に、エージェントがソースを調査するためのワークフローです。一時クローンを分離し、調査を小さなタスクに分け、具体的なソースパスに基づいて結論をまとめます。
主な機能
- 01ソース調査が必要かを判断
- 02プロジェクト内に分離した作業領域を作成
- 03指定したリポジトリとrefをクローン
- 04調査を焦点の絞られたタスクに分割
- 05パスとシンボルを示して知見を統合
活用シーン
- 01設定のデフォルト値や境界動作を確認
- 02バージョンごとの実装差を調査
- 03機能モジュールやエラー原因を特定
- 04プロジェクトを汚さずにリポジトリを調査
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ sjunepark/ agent-scripts --skill source-investigatorインストール後、Claude Code で/source-investigatorを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yaml
詳細
ソース調査担当
質問に答えるうえで最も信頼できる方法が実際のソースを調べることなら、ソースを確認してください。メインスレッドでは、大量の生のソースコードを抱え込まず、要約と判断に集中してください。
ワークフロー
- ソースの調査が必要か判断します。
- 実際の制御フロー、デフォルト値、エッジケース、バージョン固有の動作が質問に関係する場合は、ドキュメントよりソースを優先してください。
- 公開 API の概要やセットアップ手順については、まずドキュメントを優先してください。ドキュメントも役立つ場合は、サブエージェントに
find-docsを使わせ、長いドキュメントをメインスレッドに読み込ませないでください。 - ユーザーが特定のリポジトリ、ライブラリ、フレームワークのバージョンを指定している場合は、該当するソースを調査する強い根拠として扱ってください。
- クローンする前に、プロジェクト内に一時作業スペースを作成します。
- 現在のプロジェクトルートを作業場所にします。
.tmp/が存在しない場合は作成します。.gitignoreを作成または更新し、.tmp/が無視されるようにします。.gitignoreファイルがすでにあるとは限りません。- 破棄可能な調査用クローンは
.tmp/repos/に置きます。 - 生成したメモや作業用の出力は
.tmp/work/に置きます。
- 必要な正確なリポジトリとリファレンスをクローンします。
.tmp/repos/reactや.tmp/repos/context7のような、内容がわかるディレクトリ名にクローンします。- 現在のソースで十分な場合は、
git clone --depth 1を優先してください。 - ブランチ、タグ、コミットが質問に関係する場合は、その正確なリファレンスをチェックアウトし、回答で明記してください。
- クローンは破棄可能なものとして扱ってください。現在のプロジェクトに組み込んだり、依存関係として扱ったりしないでください。
- 調査をサブエージェントに委任します。
- リポジトリが小さく、必要な箇所がごくわずかでない限り、メインスレッド内で大規模なリポジトリを調査しないでください。
- 次のような、範囲を絞った質問でサブエージェントを起動してください。
- エントリーポイントの場所
- 設定の読み込み方法
- 特定の動作を実装するモジュール
- 2 つのリファレンス間の変更点
- 特定のエラーやデフォルト値が生じる理由
- サブエージェントには、回答を裏付けるために必要な最小限のコード引用とともに、簡潔な調査結果と関連ファイルのパスを返すよう指示してください。
- サブエージェントを使うことで、その調査内容がメインスレッドのコンテキストウィンドウに入りません。メインスレッドには、生のリポジトリの内容ではなく、要点をまとめた調査結果を渡してください。
- ドキュメントが重要な場合は、サブエージェントに
find-docsスキルを使わせるか、一次資料となるドキュメントを読ませてください。メインスレッドでは判断に集中してください。
- メインスレッドで回答をまとめます。
- サブエージェントの調査結果を組み合わせ、質問に直接答えてください。
- ユーザーが結論を確認できるよう、具体的なリポジトリのパス、シンボル、リファレンスを示してください。
- 直接確認した事実と推論を区別してください。
- 調査で判明した内容をすべて述べるのではなく、ユーザーの質問に焦点を絞ってください。
ガードレール
- クローンを、追跡対象のソースディレクトリ内に作成しないでください。
- 一時ディレクトリを無視対象にしないまま残さないでください。
- 関連がありそうだからという理由だけで、大きなソースファイルをメインスレッドに貼り付けないでください。
- 範囲の異なる複数の質問で調査結果が明確になる場合は、範囲を絞らずに一つのサブエージェントへ任せないでください。
- メインスレッドで最終的なユーザー向けの結論をまとめるべき場合に、サブエージェントに結論を出させないでください。
トリガーの例
- 「このライブラリが設定のデフォルト値をどう解決するのか調べてください。リポジトリをクローンしてソースを確認してください。」
- 「ドキュメントの説明が曖昧です。この動作について実装を確認してください。」
- 「このフレームワークが現在のバージョンでストリーミングレスポンスをどう処理するのか調査してください。」
- 「一時クローンとサブエージェントを使い、メインスレッドを汚さずにこのリポジトリの構成を調べてください。」
コメント
Markdown 対応