GYOSUI SkillMarket

find

検証済みv1.0.0

ファイル・コードの所在を安いモデルのサブエージェントに委譲して探し、パスのみ返す。

  • トリガー: 「探して」「どこにある」「〜してるコードどこ」「〜の設定どのファイル」「find」。
  • 対象: ファイル/ディレクトリ/コードの所在特定・命名規則の横断調査。
  • NOT for: 内容の詳細レビュー・監査(→ 通常のRead/コードレビュー系)、単一パスがほぼ確定している1ファイルの取得(オーバーヘッドの方が高いので直接 Glob/Read で取る)。
uezu-t1週間前更新skills/find
ZIPダウンロード

ファイル・ディレクトリ・コードの所在特定を、安いモデルのサブエージェントに委譲して行うスキル。 Opus 本体で Glob/Grep/Read を回さず、探索処理そのものと、ヒットした大量ファイルの中身が Opus のコンテキストに流れ込む無駄の両方を削る。

前提条件

Claude Code のみ(Agent tool と Explore サブエージェントタイプを使用)。追加のツール導入は不要。

入力

$ARGUMENTS

探したい対象(例: 「サンプルアプリの Cron 設定どこ」「株式会社サンプルの料率テーブルを持ってるファイル」「起動時に常駐する設定ファイル全部」)。

実行方針

1. まず「委譲すべきか」を判定(過剰委譲を避ける)

  • 単一パスがほぼ確定している1ファイル取得 → 委譲せず、その場で Glob/Read で直接取る(サブエージェント起動の往復オーバーヘッドの方が高い)。この場合はスキルを使わず即答してよい。
  • 広域・探索的(どこにあるか不明 / 複数候補 / 命名規則の横断調査 / 概念で探す)→ 以下の通りサブエージェントに委譲する。

2. モデルを選ぶ

  • 既定 = Haiku(model: "haiku"): 「このファイル名どこ」「この plist 群」「この文字列を含むファイル」等、パターン一致で片が付く単純探索。
  • Sonnet に昇格(model: "sonnet"): 「〜する処理を書いてるコード」「この機能を実装してる箇所」等、何がヒットかを意味で判断する必要がある概念的な探索。判断に迷ったら Sonnet。

3. Explore サブエージェントに委譲

Agent tool を、subagent_type: "Explore"、上で選んだ model で1回起動する。プロンプトには必ず次を含める:

  • 探索対象($ARGUMENTS の意図を具体化したもの)
  • 探索範囲のヒント(分かれば。例: プロジェクトのルートディレクトリ配下、~/.claude/ 配下 等)
  • TCC 保護領域は触らない指示(~/Library/Containers, ~/Library/Mail, ~/Library/Messages, ~/Library/Safari 等。~ 直下の全舐めもしない)
  • 返す形式の厳命:
    • ヒットした 絶対パス の一覧
    • 各パスに 1行だけ の所在説明(何がそこにあるか / なぜ該当か)
    • ファイル中身のダンプ・長い引用は禁止。必要なら該当行番号のみ
    • 見つからなければ「該当なし」と、試した探索範囲を1行で

複数の独立した探索軸がある場合のみ、Agent を並列で複数起動してよい(例: plist と launchd ログを別軸で)。それ以外は1本で十分。

4. Opus 側での扱い

サブエージェントが返した「パス+1行」だけを受け取り、ユーザーに要点を提示する。 中身が必要になった時点で、確定したパスをピンポイントで Read する(全候補を先読みしない)。

出力

  • 見つかったパス(絶対パス)と各1行説明
  • 該当なしの場合は探索範囲を添えて報告
  • 使ったモデル(Haiku/Sonnet)を末尾に1行明記(コスト透明化のため)