| name | search-first |
| description | Research-before-coding workflow. Search for existing tools, libraries, and patterns before writing custom code. Invokes the researcher agent. |
| origin | ECC |
/search-first โ Research Before You Code
Systematizes the "search for existing solutions before implementing" workflow.
Trigger
Use this skill when:
- Starting a new feature that likely has existing solutions
- Adding a dependency or integration
- The user asks "add X functionality" and you're about to write code
- Before creating a new utility, helper, or abstraction
Workflow
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 0. TOOL AVAILABILITY PREFLIGHT โ
โ Check search channels before relying on โ
โ them; report skipped channels honestly โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ 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 โ โ
โ โโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Decision Matrix
| Signal | Action |
|---|
| Exact match, well-maintained, MIT/Apache | Adopt โ install and use directly |
| Partial match, good foundation | Extend โ install + write thin wrapper |
| Multiple weak matches | Compose โ combine 2-3 small packages |
| Nothing suitable found | Build โ write custom, but informed by research |
How to Use
Step 0: Tool Availability Preflight
This is agent guidance, not an executable setup script. Check only the channels
that are relevant to the task and project in front of you.
| Channel | Check | If missing |
|---|
| Repository search | rg --files and targeted rg queries | State that only visible files were inspected |
| Package registry | npm --version, python -m pip --version, or project package manager | Use web/docs search and avoid claiming registry coverage |
| GitHub CLI | gh auth status | Use public web or local git history only |
| MCP/docs tools | Available tool list or local MCP config | Fall back to official docs/web search |
| Skills directory | ls ~/.claude/skills ~/.codex/skills where applicable | Say no local skill catalog was available |
Quick Mode (inline)
Before writing a utility or adding functionality, mentally run through:
- Does this already exist in the repo? โ
rg through relevant modules/tests first
- Is this a common problem? โ Search npm/PyPI
- Is there an MCP for this? โ Check
~/.claude/settings.json and search
- Is there a skill for this? โ Check
~/.claude/skills/
- Is there a GitHub implementation/template? โ Run GitHub code search for maintained OSS before writing net-new code
Full Mode (agent)
For non-trivial functionality, launch the researcher agent:
Agent(subagent_type="general-purpose", prompt="
Research existing tools for: [DESCRIPTION]
Language/framework: [LANG]
Constraints: [ANY]
Search: npm/PyPI, MCP servers, Claude Code skills, GitHub
Return: Structured comparison with recommendation
")
Project Notes (tauri-template)
- ๅฏนไบไฝ ไปๅบ็โๆฐๅข่ฝๅโ๏ผไผๅ
ๆโๅ็ซฏ/IPC/Rust ๅ็ซฏโๆๅๆ็ดข๏ผๅ
ๆฅๅ็ซฏๅฎ็ฐๆฏๅฆๅทฒๆ๏ผๅๆฅ
src-tauri/* ๆฏๅฆๅทฒๆๅฏนๅบ Rust ๅทฅๅ
ท/ๅฝไปค๏ผๆๅๆ่กฅ้ฝ glueใ
- ๅฆๆๆ็ดขๅฐ้็จๅบ/ๆ่ฝ๏ผไผๅ
โๅ
่ฃ
/้้
ๅฐไฝ ็ฐๆ็บฆๅฎโ๏ผไพๅฆ Tauri ๅฝไปค่ตฐ
invokeWrapperใRules ๅฑ็คบๆๆก่ตฐ i18n๏ผ๏ผ่ไธๆฏ็ดๆฅๆๅค้จๅฎ็ฐๅๆ ทๅก่ฟๆฅใ