Agent skill

Search First

by affaan-m in affaan-m/ECC

コーディング前の調査ワークフロー。カスタムコードを書く前に既存のツール、ライブラリ、パターンを検索します。researcher エージェントを呼び出します。

MITAuto-check passedDevelopment

Install Search First

skills CLI
$ npx skills add affaan-m/ECC --skill search-first -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install affaan-m/ECC search-first --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/affaan-m/ECC.git skills-src && mkdir -p .claude/skills && cp -r skills-src/docs/ja-JP/skills/search-first .claude/skills/search-first && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
search-first
GitHub stars
276k
Token cost
~1.2k tokens
SKILL.md length
199 words
Files
1
Skills in repo
683
Repo updated
First seen
Licence
MIT

At a glance

コーディング前の調査ワークフロー。カスタムコードを書く前に既存のツール、ライブラリ、パターンを検索します。researcher エージェントを呼び出します。

  • Works in 5 steps: これはリポジトリに既に存在するか? → まず関連モジュール/テストを rg で確認 → これはよくある問題か? → npm/PyPI を検索 → MCP はあるか? → ~/.claude/settings.json… → …
  • Tasks that involve Linting and formatting
  • SKILL.md covers トリガー, ワークフロー, 判断マトリクス and 使い方, plus 4 more sections
  • Calls rg, npm and python

What it does

Search First is an agent skill from affaan-m/ECC. コーディング前の調査ワークフロー。カスタムコードを書く前に既存のツール、ライブラリ、パターンを検索します。researcher エージェントを呼び出します。

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Linting and formatting. It works with GitHub, Model Context Protocol and Python. The repository describes itself as: The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond. The licence is MIT.

When your agent uses it

  • Tasks that involve Linting and formatting

Example prompts

  • “/search-first”

Requirements

  • Python 3
  • Node.js

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. これはリポジトリに既に存在するか? → まず関連モジュール/テストを rg で確認
  2. これはよくある問題か? → npm/PyPI を検索
  3. MCP はあるか? → ~/.claude/settings.json を確認して検索
  4. このためのスキルはあるか? → ~/.claude/skills/ を確認
  5. GitHub に実装/テンプレートがあるか? → 新規コードを書く前に保守された OSS の GitHub コード検索を実行

What it can do on your machine

Read from SKILL.md and the folder at commit 4eb71d9. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • rg
    • npm
    • python
    • gh
    • go

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm and gh, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Search First loads about 1.2k tokens when it runs. Until then it costs about 23 tokens; SKILL.md has 199 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~23
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from affaan-m/ECC at commit 4eb71d9, republished under its MIT licence (© affaan-m). 199 words, ~1,243 tokens.

Download SKILL.mdSave it as .claude/skills/search-first/SKILL.md (or your agent's skills folder).
name
search-first
description
コーディング前の調査ワークフロー。カスタムコードを書く前に既存のツール、ライブラリ、パターンを検索します。researcher エージェントを呼び出します。
origin
ECC

/search-first — コーディング前に調査する

「既存のソリューションを実装前に検索する」ワークフローを体系化します。

トリガー

以下の場合にこのスキルを使用します:

  • 既存のソリューションが存在する可能性が高い新しい機能を開始する場合
  • 依存関係やインテグレーションを追加する場合
  • ユーザーが「X 機能を追加して」と要求し、コードを書こうとしている場合
  • 新しいユーティリティ、ヘルパー、または抽象化を作成する前

ワークフロー

┌─────────────────────────────────────────────┐
│  0. ツール利用可能性の事前確認              │
│     依存する前に検索チャネルを確認;        │
│     スキップしたチャネルを正直に報告する    │
├─────────────────────────────────────────────┤
│  1. ニーズ分析                              │
│     必要な機能を定義する                    │
│     言語/フレームワークの制約を特定する     │
├─────────────────────────────────────────────┤
│  2. 並列検索(researcher エージェント)     │
│     ┌──────────┐ ┌──────────┐ ┌──────────┐  │
│     │  npm /   │ │  MCP /   │ │  GitHub / │  │
│     │  PyPI    │ │  スキル  │ │  Web      │  │
│     └──────────┘ └──────────┘ └──────────┘  │
├─────────────────────────────────────────────┤
│  3. 評価                                    │
│     候補をスコアリング(機能性、保守性、    │
│     コミュニティ、ドキュメント、ライセンス、│
│     依存関係)                              │
├─────────────────────────────────────────────┤
│  4. 決定                                    │
│     ┌─────────┐  ┌──────────┐  ┌─────────┐  │
│     │ 採用    │  │ 拡張/   │  │ カスタム │  │
│     │ そのまま│  │ ラップ   │  │ ビルド   │  │
│     └─────────┘  └──────────┘  └─────────┘  │
├─────────────────────────────────────────────┤
│  5. 実装                                    │
│     パッケージをインストール / MCP を設定 / │
│     最小限のカスタムコードを書く            │
└─────────────────────────────────────────────┘

判断マトリクス

シグナルアクション
完全一致、よく保守されている、MIT/Apache採用 — 直接インストールして使用
部分一致、良い基盤拡張 — インストール + 薄いラッパーを書く
複数の弱い一致組み合わせ — 2〜3 の小さなパッケージを組み合わせる
適切なものが見つからないビルド — カスタムを書くが、調査に基づいて

使い方

ステップ 0: ツール利用可能性の事前確認

これはエージェントのガイダンスであり、実行可能なセットアップスクリプトではありません。目の前のタスクとプロジェクトに関連するチャネルのみを確認します。

チャネル確認欠如している場合
リポジトリ検索rg --files と的を絞った rg クエリ可視ファイルのみが検査されたことを明示
パッケージレジストリnpm --version、python -m pip --version、またはプロジェクトのパッケージマネージャーWeb/ドキュメント検索を使用し、レジストリカバレッジを主張しない
GitHub CLIgh auth status公開 Web またはローカル git 履歴のみを使用
MCP/ドキュメントツール利用可能なツールリストまたはローカル MCP 設定公式ドキュメント/ウェブ検索にフォールバック
スキルディレクトリls ~/.claude/skills ~/.codex/skills(該当する場合)ローカルスキルカタログが利用できないと明示
クイックモード(インライン)

ユーティリティを書いたり機能を追加したりする前に、以下を確認します:

  1. これはリポジトリに既に存在するか? → まず関連モジュール/テストを rg で確認
  2. これはよくある問題か? → npm/PyPI を検索
  3. MCP はあるか? → ~/.claude/settings.json を確認して検索
  4. このためのスキルはあるか? → ~/.claude/skills/ を確認
  5. GitHub に実装/テンプレートがあるか? → 新規コードを書く前に保守された OSS の GitHub コード検索を実行
フルモード(エージェント)

非自明な機能には、researcher エージェントを起動します:

Agent(subagent_type="general-purpose", prompt="
  既存のツールを調査してください: [説明]
  言語/フレームワーク: [言語]
  制約: [あれば]

  検索先: npm/PyPI、MCP サーバー、Claude Code スキル、GitHub
  返却: 推薦付きの構造化比較
")

古い Claude Code ドキュメントではこれを Task(...) と呼ぶ場合があります;アクティブなハーネスが公開している現在のエージェント/サブエージェントツール名を使用してください。

カテゴリ別検索ショートカット

開発ツール
  • Linting → eslint、ruff、textlint、markdownlint
  • フォーマット → prettier、black、gofmt
  • テスト → jest、pytest、go test
  • プレコミット → husky、lint-staged、pre-commit
AI/LLM 統合
  • Claude SDK → 最新ドキュメントには Context7 を使用
  • プロンプト管理 → MCP サーバーを確認
  • 文書処理 → unstructured、pdfplumber、mammoth
データ & API
  • HTTP クライアント → httpx(Python)、ky/undici(Node)
  • バリデーション → zod(TS)、pydantic(Python)
  • データベース → まず MCP サーバーを確認
コンテンツ & 公開
  • Markdown 処理 → remark、unified、markdown-it
  • 画像最適化 → sharp、imagemin

統合ポイント

planner エージェントとの統合

planner はフェーズ1(アーキテクチャレビュー)の前に researcher を呼び出すべきです:

  • Researcher が利用可能なツールを特定
  • Planner がそれらを実装計画に組み込む
  • 計画での「車輪の再発明」を回避
architect エージェントとの統合

architect は以下のために researcher に相談すべきです:

  • テクノロジースタックの決定
  • 統合パターンの発見
  • 既存のリファレンスアーキテクチャ
iterative-retrieval スキルとの統合

段階的な発見のために組み合わせます:

  • サイクル1: 広い検索(npm、PyPI、MCP)
  • サイクル2: 上位候補を詳細に評価
  • サイクル3: プロジェクトの制約との互換性をテスト

例

例1: 「デッドリンクチェックを追加」
必要: Markdown ファイルのリンク切れを確認
検索: npm "markdown dead link checker"
発見: textlint-rule-no-dead-link(スコア: 9/10)
アクション: 採用 — npm install textlint-rule-no-dead-link
結果: カスタムコードなし、実証済みのソリューション
例2: 「HTTP クライアントラッパーを追加」
必要: リトライとタイムアウト処理を持つ信頼性の高い HTTP クライアント
検索: npm "http client retry", PyPI "httpx retry"
発見: got(Node)with retry plugin, httpx(Python)with built-in retry
アクション: 採用 — got/httpx をリトライ設定で直接使用
結果: カスタムコードなし、本番実証済みのライブラリ
例3: 「設定ファイルリンターを追加」
必要: プロジェクト設定ファイルをスキーマに対して検証
検索: npm "config linter schema", "json schema validator cli"
発見: ajv-cli(スコア: 8/10)
アクション: 採用 + 拡張 — ajv-cli をインストール、プロジェクト固有のスキーマを記述
結果: 1 パッケージ + 1 スキーマファイル、カスタム検証ロジックなし

アンチパターン

  • コードへの飛び込み: 既存のものがあるか確認せずにユーティリティを書く
  • MCP の無視: MCP サーバーが既にその機能を提供しているかチェックしない
  • サイレントスキップ: 検索チャネルが利用できなかったのに「何も見つからなかった」と報告する
  • 過度なカスタマイズ: ライブラリをラップしすぎてそのメリットを失う
  • 依存関係の肥大化: 1つの小さな機能のために巨大なパッケージをインストールする

© affaan-m, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in docs/ja-JP/skills/search-first of affaan-m/ECC.

Open the folder on GitHubat commit 4eb71d9

Compare with similar skills

Search First next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Search First compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Search First this skillaffaan-m/ECC276k—~1.2kAutomated safety check: PassMIT
Summarise Ecosystem Resultsastral-sh/ruff50k—~2.2kAutomated safety check: PassMIT
Code Reviewnteract/semiotic2.7k—~1.5kAutomated safety check: PassApache-2.0
Os ReleaseCronusL-1141/AI-company371—~2.3kAutomated safety check: PassMIT
Release Changelogpipeshub-ai/pipeshub-ai3.8k—~2.7kAutomated safety check: PassApache-2.0
Modern Pythonantoinebou12/uml-mcp105—~1kAutomated safety check: PassMIT

Similar skills

  • Official

    A skill your agent uses when a user says "summarise ecosystem results", "summarize this ty ecosystem report", "what changed in this ecosystem run?", or asks to summarise or summarize ty ecosystem…

    50k GitHub stars~2.2k tokensUpdated today
    DevelopmentAuto-check passed
  • Code Review

    nteract/semiotic

    Review Semiotic pull requests for behavioral bugs, regressions, contract drift, and missing evidence.

    2.7k GitHub stars~1.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Os Release

    CronusL-1141/AI-company

    发布 AI Team OS 新版本的完整清单——预检、版本七处锁步、中英双语 CHANGELOG、双份 dist 构建、私有术语扫描、commit/tag、双仓推送、建 GitHub Release 条目并核对 latest 徽章、事后核对。当准备发版、补建漏掉的 Release 条目、或核对已发版本的线上状态时使用。

    371 GitHub stars~2.3k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Release Changelog

    pipeshub-ai/pipeshub-ai

    Generate an enterprise-style changelog for a PipesHub GitHub release.

    3.8k GitHub stars~2.7k tokensUpdated today
    DevelopmentAuto-check passed
  • Modern Python

    antoinebou12/uml-mcp

    Modern Python tooling and best practices using uv, ruff, ty, and pytest.

    105 GitHub stars~1k tokensUpdated today
    DevelopmentAuto-check passed
  • Open PR

    ArcadeAI/arcade-mcp

    Prepare arcade-mcp changes for review by verifying intended behavior, filling the repository PR template, and creating or updating the PR.

    1k GitHub stars~2.9k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed

More from affaan-m/ECC

All 682 skills in this repo
  • Skill Stocktake

    affaan-m/ECC

    Audits your installed Claude skills and commands for quality, with a quick mode for recently changed skills and a full mode that evaluates all of them through subagents.

    277k GitHub starsUsed in 5 repos~3.1k tokens
    Auto-check passed
  • Ingests, indexes, searches, edits and monitors video, audio and live streams through the VideoDB Python SDK, returning stream links, clips and timestamps.

    277k GitHub starsUsed in 3 repos~3.5k tokens
    Auto-check: notes
  • Docs Governance

    affaan-m/ECC

    Route broad documentation-governance requests to existing ECC skills and run an opt-in, read-only audit of mapped documentation roles, links, ADR indexes, and evidence references.

    277k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Rules Distillation

    affaan-m/ECC

    Scans installed skills for principles that recur across them and proposes rule-file changes: append, revise, add a section, create a file or leave as covered.

    277k GitHub starsUsed in 2 repos~2.3k tokens
    Auto-check passed
  • Builds DRAFT counterparty agreements from one markdown template and a small JSON spec per party, with clauses picked by the party's role.

    277k GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Set an ECC-specific frontend design direction for production UI work.

    277k GitHub starsUsed in 1 repo~2.2k tokens
    Auto-check passed

Categories

Questions about Search First

What does Search First do?

コーディング前の調査ワークフロー。カスタムコードを書く前に既存のツール、ライブラリ、パターンを検索します。researcher エージェントを呼び出します。. Search First is an agent skill from affaan-m/ECC.

When should I use Search First?

Search First fits situations like: tasks that involve Linting and formatting.

How do I install Search First in Claude Code?

Run `npx skills add affaan-m/ECC --skill search-first -a claude-code`. Or copy the skill folder (docs/ja-JP/skills/search-first in affaan-m/ECC) into .claude/skills/search-first in your project. Claude Code loads it when a task matches its description.

How do I install Search First in Codex?

Run `npx skills add affaan-m/ECC --skill search-first -a codex`. Or copy the skill folder (docs/ja-JP/skills/search-first in affaan-m/ECC) into .agents/skills/search-first in your project. Codex loads it when a task matches its description.

Can I use Search First in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add affaan-m/ECC --skill search-first -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/search-first, .gemini/skills/search-first, .github/skills/search-first and .opencode/skills/search-first in your project.

What does Search First need to run?

Going by SKILL.md and its folder, Search First needs the command-line tools its instructions call (rg, npm, python, gh and go). Our summary lists: Python 3; Node.js.

Does Search First access the network?

SKILL.md contains no URLs. Its commands use npm and gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Search First safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Search First use?

Search First is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Search First use?

About 1.2k tokens (SKILL.md is roughly 5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Search First?

Skills that share tags, products or a category with Search First: Summarise Ecosystem Results (astral-sh/ruff, 50k stars), Code Review (nteract/semiotic, 2.7k stars), Os Release (CronusL-1141/AI-company, 371 stars) and Release Changelog (pipeshub-ai/pipeshub-ai, 3.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Search First?

affaan-m (a GitHub user) maintains it in affaan-m/ECC, which has 276,111 GitHub stars. The repository holds 683 skills in this directory. The repository was last updated on October 10, 2026.

Source: affaan-m/ECC on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.