search-first

Research existing npm, PyPI, MCP, and GitHub solutions before implementing custom code.

Updated May 9, 2026
One-click install
npx skills add https://github.com/RambleRainbow/jd --skill search-first-ramblerainbow
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: search-first
Source: https://github.com/RambleRainbow/jd/tree/main/.claude/skills/search-first
Command: npx skills add https://github.com/RambleRainbow/jd --skill search-first-ramblerainbow

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill eliminates wasted development time and unnecessary technical debt by preventing teams from writing custom code for functionality that already exists as maintained, production-ready libraries, tools, or integrations.

Core Features & Use Cases

  • Structured Research Workflow: Guides systematic checks of npm/PyPI packages, MCP servers, Claude Code skills, and GitHub open source projects before writing any new code.
  • Decision Matrix: Provides clear criteria to choose between adopting an existing solution as-is, extending it with a thin wrapper, composing multiple small packages, or building custom code only when no suitable option exists.
  • Use Case: For example, if you need to add dead link checking to a markdown documentation project, this skill guides you to find and adopt the existing textlint-rule-no-dead-link package instead of writing a custom checker from scratch.

Quick Start

Use the search-first skill to research existing maintained solutions for the new dead link checking functionality you need to add to your markdown project before writing any custom code.

Frequently Asked Questions about search-first

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

FAQPage Schema
How do I evaluate existing open source solutions before writing custom code?

To evaluate existing open source solutions before writing custom code, check npm, PyPI, MCP servers, and GitHub repositories against functionality, maintenance status, community support, documentation quality, license compatibility, and dependency footprint.

What's the best way to find maintained packages instead of building new utility functions?

The best way to find maintained packages instead of building new utility functions is to systematically search package registries and GitHub repositories, using a decision matrix to choose between adopting an existing solution as-is, wrapping it, or composing multiple packages.

When do I need to research existing libraries instead of implementing new functionality?

You need to research existing libraries instead of implementing new functionality during new feature development, dependency addition, utility creation, and third-party integration implementation to eliminate redundant work and prevent unnecessary technical debt.

How do I choose between adopting an npm package or writing a custom implementation?

To choose between adopting an npm package or writing a custom implementation, apply a decision matrix evaluating candidate solutions against functionality, maintenance status, license compatibility, and dependency footprint, building custom code only when no suitable option exists.

Does this research workflow work for evaluating MCP servers and Claude Code skills?

Yes, this research workflow works for evaluating MCP servers and Claude Code skills. It enforces systematic checks of these components alongside npm, PyPI, and GitHub projects to select the optimal implementation approach before coding.

Why should I check dependency footprint and license compatibility before adding a package?

You should check dependency footprint and license compatibility before adding a package to ensure the selected open source solution does not introduce excessive transitive dependencies or legal conflicts into your software engineering workflow.