search-first

Guides research of existing libraries and solutions before implementing new features.

1|Updated Aug 17, 2026
One-click install
npx skills add https://github.com/NalinDalal/skillset --skill search-first-nalindalal
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: search-first
Source: https://github.com/NalinDalal/skillset/tree/main/skills/architecture/search-first
Command: npx skills add https://github.com/NalinDalal/skillset --skill search-first-nalindalal

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Developers often jump straight into building features or adding dependencies without checking whether a maintained, well-tested solution already exists, leading to duplicated effort, dependency bloat, and unnecessary maintenance burden. ## Core Features & Use Cases - Adopt/Extend/Compose/Build Decision Matrix: Provides a structured framework for choosing between reusing an existing library, extending one, composing multiple small tools, or building from scratch. - Multi-Source Search Process: Covers searching npm/PyPI, GitHub (via gh CLI), MCP registries, and existing local skills before writing any code. - Candidate Evaluation Criteria: Defines concrete checks for maintenance activity, popularity, quality, bundle size, license compatibility, and API fit. - Use Case: Before adding a date-formatting dependency, run the search process to discover that native Intl.DateTimeFormat covers the requirement, avoiding an unnecessary package. ## Quick Start Ask the agent to research existing solutions before implementing a new feature, for example: "search for existing libraries before we build a retry mechanism."

Frequently Asked Questions about search-first

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I decide whether to build or use an existing library?▼

Use the adopt-extend-compose-build decision matrix: adopt when a library does exactly what you need, extend when it covers 80%, compose when small libraries combine well, and build only when no existing solution fits or full control is required.

How to evaluate an npm package before adding it as a dependency?▼

Check last commit date, open issues, weekly downloads, GitHub stars, TypeScript support, test coverage, bundle size impact, and license compatibility. Commands like npm info and gh api repos surface most of these signals quickly.

What should I search before implementing a new feature?▼

Search npm or PyPI for libraries, GitHub for existing implementations sorted by stars, MCP registries for relevant servers, and your local skills directory for existing skill coverage before writing any code.

When is building from scratch the right choice?▼

Build only when no existing solution fits your requirements or you need full control over behavior. It carries the highest effort and risk, so it should be considered last after fairly evaluating adopt, extend, and compose options.

What are common mistakes when adding dependencies?▼

Common anti-patterns include jumping to code without searching, adding libraries for trivial tasks solvable natively, copy-pasting code without understanding it, not-invented-here bias, and premature abstraction for hypothetical future needs.