「既存のソリューションを実装前に検索する」ワークフローを体系化します。
以下の場合にこのスキルを使用します:
┌─────────────────────────────────────────────┐
│ 0. ツール利用可能性の事前確認 │
│ 依存する前に検索チャネルを確認; │
│ スキップしたチャネルを正直に報告する │
├─────────────────────────────────────────────┤
│ 1. ニーズ分析 │
│ 必要な機能を定義する │
│ 言語/フレームワークの制約を特定する │
├─────────────────────────────────────────────┤
│ 2. 並列検索(researcher エージェント) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ npm / │ │ MCP / │ │ GitHub / │ │
│ │ PyPI │ │ スキル │ │ Web │ │
│ └──────────┘ └──────────┘ └──────────┘ │
├─────────────────────────────────────────────┤
│ 3. 評価 │
│ 候補をスコアリング(機能性、保守性、 │
│ コミュニティ、ドキュメント、ライセンス、│
│ 依存関係) │
├─────────────────────────────────────────────┤
│ 4. 決定 │
│ ┌─────────┐ ┌──────────┐ ┌─────────┐ │
│ │ 採用 │ │ 拡張/ │ │ カスタム │ │
│ │ そのまま│ │ ラップ │ │ ビルド │ │
│ └─────────┘ └──────────┘ └─────────┘ │
├─────────────────────────────────────────────┤
│ 5. 実装 │
│ パッケージをインストール / MCP を設定 / │
│ 最小限のカスタムコードを書く │
└─────────────────────────────────────────────┘
| シグナル | アクション |
|---|---|
| 完全一致、よく保守されている、MIT/Apache | 採用 — 直接インストールして使用 |
| 部分一致、良い基盤 | 拡張 — インストール + 薄いラッパーを書く |
| 複数の弱い一致 | 組み合わせ — 2〜3 の小さなパッケージを組み合わせる |
| 適切なものが見つからない | ビルド — カスタムを書くが、調査に基づいて |
これはエージェントのガイダンスであり、実行可能なセットアップスクリプトではありません。目の前のタスクとプロジェクトに関連するチャネルのみを確認します。
| チャネル | 確認 | 欠如している場合 |
|---|---|---|
| リポジトリ検索 | rg --files と的を絞った rg クエリ |
可視ファイルのみが検査されたことを明示 |
| パッケージレジストリ | npm --version、python -m pip --version、またはプロジェクトのパッケージマネージャー |
Web/ドキュメント検索を使用し、レジストリカバレッジを主張しない |
| GitHub CLI | gh auth status |
公開 Web またはローカル git 履歴のみを使用 |
| MCP/ドキュメントツール | 利用可能なツールリストまたはローカル MCP 設定 | 公式ドキュメント/ウェブ検索にフォールバック |
| スキルディレクトリ | ls ~/.claude/skills ~/.codex/skills(該当する場合) |
ローカルスキルカタログが利用できないと明示 |
ユーティリティを書いたり機能を追加したりする前に、以下を確認します:
rg で確認~/.claude/settings.json を確認して検索~/.claude/skills/ を確認非自明な機能には、researcher エージェントを起動します:
Agent(subagent_type="general-purpose", prompt="
既存のツールを調査してください: [説明]
言語/フレームワーク: [言語]
制約: [あれば]
検索先: npm/PyPI、MCP サーバー、Claude Code スキル、GitHub
返却: 推薦付きの構造化比較
")
古い Claude Code ドキュメントではこれを Task(...) と呼ぶ場合があります;アクティブなハーネスが公開している現在のエージェント/サブエージェントツール名を使用してください。
eslint、ruff、textlint、markdownlint
prettier、black、gofmt
jest、pytest、go test
husky、lint-staged、pre-commit
unstructured、pdfplumber、mammoth
httpx(Python)、ky/undici(Node)zod(TS)、pydantic(Python)remark、unified、markdown-it
sharp、imagemin
planner はフェーズ1(アーキテクチャレビュー)の前に researcher を呼び出すべきです:
architect は以下のために researcher に相談すべきです:
段階的な発見のために組み合わせます:
必要: Markdown ファイルのリンク切れを確認
検索: npm "markdown dead link checker"
発見: textlint-rule-no-dead-link(スコア: 9/10)
アクション: 採用 — npm install textlint-rule-no-dead-link
結果: カスタムコードなし、実証済みのソリューション
必要: リトライとタイムアウト処理を持つ信頼性の高い HTTP クライアント
検索: npm "http client retry", PyPI "httpx retry"
発見: got(Node)with retry plugin, httpx(Python)with built-in retry
アクション: 採用 — got/httpx をリトライ設定で直接使用
結果: カスタムコードなし、本番実証済みのライブラリ
必要: プロジェクト設定ファイルをスキーマに対して検証
検索: npm "config linter schema", "json schema validator cli"
発見: ajv-cli(スコア: 8/10)
アクション: 採用 + 拡張 — ajv-cli をインストール、プロジェクト固有のスキーマを記述
結果: 1 パッケージ + 1 スキーマファイル、カスタム検証ロジックなし