
Search First
Run a structured search across npm, PyPI, MCP, skills, GitHub, and the web before writing custom code for a feature or dependency.
Overview
Search-first is a journey-wide agent skill that researches existing tools, libraries, and patterns before custom code—usable whenever a solo builder needs to compare adopt vs build before committing.
Install
npx skills add https://github.com/affaan-m/everything-claude-code --skill search-firstWhat is this skill?
- Tool availability preflight—report skipped search channels honestly
- Need analysis: required functionality plus language and framework constraints
- Parallel search via researcher agent across npm/PyPI, MCP/skills, GitHub, and web
- Evaluate candidates on functionality, maintenance, community, docs, license, and deps
- Triggers before new utilities, integrations, or “add X functionality” coding
- 4 workflow stages: tool preflight, need analysis, parallel search, evaluate
Adoption & trust: 4.9k installs on skills.sh; 210k GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You are about to implement functionality or add an integration without checking whether a maintained library, MCP tool, or OSS project already solves it.
Who is it for?
Indie builders who want fewer reinvented wheels and a repeatable preflight before dependencies, utilities, or new feature work.
Skip if: Tasks where the spec mandates in-house code only, or when you already selected and pinned the dependency with no discovery gap.
When should I use this skill?
Starting a new feature with likely existing solutions, adding a dependency or integration, user asks to add functionality before coding, or before creating a new utility or abstraction.
What do I get? / Deliverables
You get a scored shortlist of existing solutions and an honest record of which search channels ran, so the next step is adopt, wrap, or justify custom implementation.
- Ranked candidate list with evaluation notes
- Honest log of search channels used or skipped
- Recommendation to adopt, adapt, or build custom
Recommended Skills
Journey fit
Useful at every journey phase - explore requirements and options before committing to a direction.
Where it fits
Compare Stripe billing SDKs vs OSS wrappers before committing to a payment integration path.
Shortlist auth libraries that match your stack constraints before locking the prototype architecture.
Search MCP servers and npm packages for PDF parsing before writing a custom parser utility.
Find maintained queue or cache clients before scaffolding in-house connection plumbing.
Discover existing SEO or analytics libraries before building a one-off reporting script.
How it compares
Structured discovery workflow—not a single-domain MCP server or a language-specific pattern pack like Laravel conventions.
Common Questions / FAQ
Who is search-first for?
Solo and indie developers using agentic IDEs who want a consistent research pass before writing features, helpers, or new integrations.
When should I use search-first?
Use it during Idea research before scoping, during Validate when choosing integrations, and during Build before creating utilities—especially when the user asks to “add X functionality” and you would otherwise code immediately.
Is search-first safe to install?
It may drive web and registry searches and researcher-agent calls; review what data leaves your environment and check the Security Audits panel on this Prism page.
SKILL.md
READMESKILL.md - Search First
# /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 │ │ │ └─────────┘ └──────────┘ └─────────┘ │ ├─────────────────────────────────────────────┤ │ 5. IMPLEMENT │ │ Install package / Configure MCP / │ │ Write minimal custom code │ └─────────────────────────────────────────────┘ ``` ## 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: 0. Does this already exist in the repo? → `rg` through relevant modules/tests first 1. Is this a common problem? → Search npm/PyPI 2. Is there an MCP for this? → Check `~/.claude/settings.json` and search 3. Is there a skill for this? → Check `~/.claude/skills/` 4. 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 wi