file-search について
File Search Skillは、AIエージェント向けに検索内容に応じたコマンドラインツールの選び方を案内します。テキスト、ファイル名、コード構造、ルール、文書、コード指標を扱い、実行例と外部情報への引き継ぎ方も示します。
主な機能
- 01検索内容に応じたCLIツールの選択
- 02テキスト・ファイル名・コード構造の検索
- 03ルールスキャンと文書アーカイブ検索
- 04コード量と複雑度の計測
- 05コマンド例と外部検索への引き継ぎ
活用シーン
- 01コード内のテキストや構文パターンを検索
- 02ファイル名からテストファイルを特定
- 03PDF・Office文書・アーカイブを検索
- 04プロジェクトのコード量と複雑度を計測
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ netresearch/ file-search-skill --skill file-searchインストール後、Claude Code で/file-searchを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
evals/evals.jsonreferences/ast-grep-patterns.mdcode-metrics.mdenforcement-hook.mdfd-guide.mdremote-handoff.mdrga-guide.mdripgrep-patterns.mdsearch-strategies.mdsemgrep-patterns.md詳細
ファイル検索スキル
AI エージェント向けの効率的な CLI 検索ツールです。
ツール選択ガイド
| タスク | 使用するもの | 代わりに使うもの |
|---|---|---|
| コードファイル内のテキスト検索 | rg (ripgrep) | grep、grep -r |
| ファイル名/パスによるファイル検索 | fd | find、ls -R |
| 構造/構文を考慮したコード検索 | sg (ast-grep) | 正規表現を使った回避策 |
| ルールパック(セキュリティ/lint、taint)の適用 | semgrep | 正規表現による CI チェック |
| PDF、Office 文書、アーカイブの検索 | rga (ripgrep-all) | 手動での抽出 |
| 言語別のコード行数のカウント | tokei | cloc、wc -l |
| 複雑度メトリクスを含むコード統計 | scc | cloc、tokei |
判断フロー: テキスト → rg | 構造 → sg | ルールパック →
semgrep | ファイル名 → fd | PDF/アーカイブ → rga | LOC →
tokei/scc
クイック例
rg 'def \w+\(' -t py src/ # rg: text search in Python files
rg -c 'TODO' -t js | wc -l # rg: count first, then drill down
sg --pattern 'console.log($$$)' --rewrite 'logger.info($$$)' --lang js # sg: structural replace
fd -g '*.test.ts' --changed-within 1d # fd: -g for compound suffixes (NOT -e)
fd -g '*_test.go' -X rg 'func Test' # fd+rg: find files, verify contents
rga 'quarterly revenue' docs/ # rga: search inside PDFs/archives
tokei --sort code # tokei: language stats
scc --wide # scc: complexity + COCOMO
ベストプラクティス
- 対象を絞って始めます。 型(
-t、--lang、-e)や対象ディレクトリを指定し、まず件数を確認します(rg -c)。 - ノイズを除外します(
-g '!vendor/'、fd -E node_modules)。 - 独立したクエリをまとめて実行します。 パターンを
rg -e P1 -e P2 -e P3でまとめる(1 回の走査)か、1 つのメッセージ内で別々のクエリを並列のツール呼び出しとして実行します。&&で連鎖させて順番に実行することは避けてください。 - プログラムで処理する場合は
--jsonを使います。 - rg と fd の型指定は異なります。
rg -t tsは.tsxを含みますが、fd -e tsは含みません。rg には-t tsxはありません。
references/search-strategies.md を参照してください。
ローカルファイル以外の検索
ローカル検索で見つからず、コンテキストが issue/PR/外部ドキュメントにある場合は、検索を引き継ぎます(gh、Jira、WebFetch)。コメントにある issue キーが手がかりになります。
references/remote-handoff.md を参照してください。
参考資料
| トピック | ファイル |
|---|---|
| rg のフラグ、パターン、レシピ | references/ripgrep-patterns.md |
| 言語別の ast-grep パターン | references/ast-grep-patterns.md |
| semgrep のルールと taint モード | references/semgrep-patterns.md |
| fd のフラグ、使い方、fd と rg の組み合わせ | references/fd-guide.md |
| rga の形式、使い方、キャッシュ | references/rga-guide.md |
| tokei と scc の使い方 | references/code-metrics.md |
| PreToolUse の注意喚起(プラグインに同梱) | references/enforcement-hook.md |
| 検索対象の絞り込み戦略 | references/search-strategies.md |
| リモートコンテキストへの引き継ぎガイド | references/remote-handoff.md |
| 最新 CLI ツールの比較(旧式→最新、全分野) | cli-tools SKILL.md#preferred-modern-tools |
コメント
Markdown 対応