search-first
実装前に既存のツール・ライブラリ・パターンを検索するワークフローを強制するスキル。新しい機能追加や実装を始める際に、カスタムコードを書く前に既存ソリューションを探すアプローチを体系化します。新機能の開発着手時や既存プロジェクトへの機能追加時に活用してください。
description の原文を見る
> Research-before-coding workflow. Search for existing tools, libraries, and patterns before writing custom code. Systematizes the "search for existing solutions before implementing" approach. Use when starting new features or adding functionality.
SKILL.md 本文
/search-first — コーディング前のリサーチ
「カスタムコードを実装する前に既存ソリューションを検索する」というワークフローを体系化します。
トリガー
このスキルを使用する場合:
- 既存ソリューションが存在する可能性の高い新しい機能を開始する
- 依存関係または統合を追加する
- ユーザーが「X 機能を追加して」と依頼し、あなたがコードを書こうとしている
- 新しいユーティリティ、ヘルパー、または抽象化を作成する前
スコープと承認ルール
デフォルトは読み取り専用のリサーチです。リポジトリ、パッケージメタデータ、ドキュメント、公開例を調査した後に、依存関係または統合を推奨します。このスキルから、ユーザーが現在のタスクで明示的に承認していない限り、パッケージのインストール、MCP サーバーの構成、成果物の発行、PR のオープン、または外部書き込みアクションは実行しないでください。
候補が認証情報、有料サービス、ネットワーク書き込み、またはプロジェクト全体の設定変更を必要とする場合は、直接適用する代わりに推奨事項と承認チェックポイントを返します。
ワークフロー
┌─────────────────────────────────────────────┐
│ 1. NEED ANALYSIS │
│ Define what functionality is needed │
│ Identify language/framework constraints │
├─────────────────────────────────────────────┤
│ 2. PARALLEL SEARCH (researcher agent) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ npm / │ │ MCP / │ │ GitHub / │ │
│ │ PyPI │ │ Skills │ │ Web │ │
│ └──────────┘ └──────────┘ └──────────┘ │
├─────────────────────────────────────────────┤
│ 3. EVALUATE │
│ Score candidates (functionality, maint, │
│ community, docs, license, deps) │
├─────────────────────────────────────────────┤
│ 4. DECIDE │
│ ┌─────────┐ ┌──────────┐ ┌─────────┐ │
│ │ Adopt │ │ Extend │ │ Build │ │
│ │ as-is │ │ /Wrap │ │ Custom │ │
│ └─────────┘ └──────────┘ └─────────┘ │
├─────────────────────────────────────────────┤
│ 5. APPROVAL CHECKPOINT / IMPLEMENT │
│ Recommend package / MCP / custom code │
│ Apply only after explicit approval │
└─────────────────────────────────────────────┘
意思決定マトリックス
| シグナル | アクション |
|---|---|
| 完全一致、よくメンテナンスされている、MIT/Apache | 採用 — パッケージを推奨し、インストールまたは設定変更の前に承認をリクエスト |
| 部分的一致、良い基盤がある | 拡張 — パッケージと薄いラッパーを推奨し、適用前に承認を待機 |
| 複数の弱い一致 | 統合 — 2~3 個の小さなパッケージと統合計画を提案してから、何もインストールしない |
| 適切なものが見つからない | カスタム構築 — カスタムコードが正当な理由を説明し、承認されたタスク範囲内でのみ実装 |
使用方法
クイックモード (インライン)
ユーティリティを書く、または機能を追加する前に、以下を頭の中で実行します:
- これは既にリポジトリに存在するか? → 関連するモジュール/テストをまず検索
- これは一般的な問題か? → npm/PyPI を検索
- これ用の MCP があるか? → MCP 設定を確認して検索
- これ用のスキルがあるか? → 利用可能なスキルを確認
- GitHub に実装/テンプレートがあるか? → ネットワーク新規コードを書く前に、メンテナンスされている OSS の GitHub コード検索を実行
フルモード (サブエージェント)
自明でない機能の場合は、リサーチ重点型のサブエージェントに委譲します:
サブエージェントをこのプロンプトで起動:
"Research existing tools for: [DESCRIPTION]
Language/framework: [LANG]
Constraints: [ANY]
Search: npm/PyPI, MCP servers, skills, GitHub
Return: Structured comparison with recommendation"
カテゴリ別検索ショートカット
開発ツーリング
- Linting →
eslint,ruff,textlint,markdownlint - フォーマッティング →
prettier,black,gofmt - テスト →
jest,pytest,go test - Pre-commit →
husky,lint-staged,pre-commit
AI/LLM 統合
- Claude SDK → 最新のドキュメントを確認
- プロンプト管理 → MCP サーバーを確認
- ドキュメント処理 →
unstructured,pdfplumber,mammoth
データと API
- HTTP クライアント →
httpx(Python),ky/got(Node) - バリデーション →
zod(TS),pydantic(Python) - データベース → MCP サーバーをまず確認
コンテンツとパブリッシング
- Markdown 処理 →
remark,unified,markdown-it - 画像最適化 →
sharp,imagemin
統合ポイント
プランナーエージェントとの統合
プランナーはリサーチ段階 1 (アーキテクチャレビュー) の前にリサーチャーを起動する必要があります:
- リサーチャーが利用可能なツールを特定する
- プランナーが実装計画にそれを組み込む
- 計画における「車輪の再発明」を回避する
アーキテクトエージェントとの統合
アーキテクトはリサーチャーに以下の相談をする必要があります:
- テクノロジースタック決定
- 統合パターンの発見
- 既存の参照アーキテクチャ
iterative-retrieval スキルとの統合
段階的な発見の為に組み合わせます:
- サイクル 1: 広範な検索 (npm, PyPI, MCP)
- サイクル 2: 上位候補を詳細に評価
- サイクル 3: プロジェクト制約との互換性をテスト
例
例 1: 「デッドリンクチェック機能を追加」
需要: Markdown ファイルの壊れたリンクをチェック
検索: npm "markdown dead link checker"
発見: textlint-rule-no-dead-link (スコア: 9/10)
アクション: 採用 — `textlint-rule-no-dead-link` を推奨し、インストール前に承認をリクエスト
結果: 承認されれば、カスタムコードなしで、テスト済みのソリューション
例 2: 「HTTP クライアントラッパーを追加」
需要: リトライとタイムアウト処理を備えた復元力のある HTTP クライアント
検索: npm "http client retry", PyPI "httpx retry"
発見: got (Node) リトライプラグイン付き、httpx (Python) 組み込みリトライ
アクション: 採用 — `got`/`httpx` をリトライ設定で直接推奨し、依存関係変更の前に承認をリクエスト
結果: 承認されれば、カスタムコードなしで、本番環境での実績のあるライブラリ
例 3: 「設定ファイルリンターを追加」
需要: プロジェクト設定ファイルをスキーマに対して検証
検索: npm "config linter schema", "json schema validator cli"
発見: ajv-cli (スコア: 8/10)
アクション: 採用 + 拡張 — `ajv-cli` とプロジェクト固有のスキーマを推奨し、インストール/書き込み前に承認を待機
結果: 承認されれば、1 パッケージ + 1 スキーマファイル、カスタムバリデーションロジックなし
アンチパターン
- コードへのジャンプ: チェックせずにユーティリティを書く
- MCP の無視: MCP サーバーが既に機能を提供していないか確認しない
- 過度なカスタマイズ: ライブラリをそんなに重くラップして、そのメリットを失う
- 依存関係ブロート: 1 つの小さな機能の為に巨大なパッケージをインストール
このスキルを使用する場合
- 新しい機能を開始する時
- 依存関係または統合を追加する時
- ユーティリティまたはヘルパーを書く前
- テクノロジー選択を評価する時
- アーキテクチャ決定を計画する時
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- affaan-m
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/affaan-m/everything-claude-code / ライセンス: MIT
関連スキル
newsblur-cli
ターミナルからNewsBlurを管理できます。フィードの閲覧、ストーリーの検索、記事の保存・共有、インテリジェンス分類器の学習、新しいフィードの発見、ワークフローの自動化がNewsBlur CLIで実現します。ユーザーがNewsBlurアカウントを操作したい場合、フィードの確認、購読管理、またはニュース読み込みに関するスクリプト構築時に活用してください。
caveman-compress
自然言語のメモリファイル(CLAUDE.md、todos、preferences)を「原始人形式」に圧縮し、入力トークンを削減します。技術的な内容、コード、URL、構造はすべて保持したまま圧縮します。圧縮版が元のファイルを上書きし、人間が読める形のバックアップはFILE.original.mdとして保存されます。トリガー:/caveman-compress FILEPATH または「compress memory file」
find-skills
日本語の意図から Agent Skills を発見する。「楽天SEOのスキル探して」「PDFを処理したい」「データ分析を自動化したい」などの日本語リクエストに対応。Claude Code (CLI)、Codex、Gemini CLI、claude.ai (Web) いずれでも動作。日本最大の Agent Skills データベース「Agent Skills by ALSEL」(11,000件超、全件日本語化、ダウンロード可能スキル8,600件超) から、ユーザーの意図に合うスキルを推薦・インストール案内する。
planning-and-task-breakdown
仕事を順序立てたタスクに分割します。仕様書や要件が明確にあり、実装可能なタスクに分解する必要がある場合に利用してください。タスクが大きすぎて着手しづらい場合、スコープを見積もる必要がある場合、または並列で作業を進められる場合に活用できます。
docx
このスキルは、ユーザーがWord文書(.docxファイル)を作成、読み込み、編集、操作したいときに使用します。以下の場合に実行してください:「Word文書」「.docx」などの記述、または目次・見出し・ページ番号・レターヘッドなどのフォーマットを含む専門的な文書の作成リクエスト。また、.docxファイルのコンテンツ抽出・再編成、文書への画像挿入・置換、Word形式での検索置換、変更履歴やコメント機能の使用、コンテンツを整形したWord文書への変換の場合も対象です。ユーザーが「レポート」「メモ」「手紙」「テンプレート」などの成果物をWord形式または.docxファイルで求める場合はこのスキルを使用してください。PDF、スプレッドシート、Google Docs、文書作成と無関係なコーディングタスクには使用しないでください。
idea-refine
アイデアを反復的に改善します。構造化された発散的思考と収束的思考を通じて、アイデアを洗練させることができます。「idea-refine」または「ideate」を使用してトリガーします。