Communitygithub.com

search-first

Flujo de trabajo de investigación antes de escribir código. Busca herramientas, bibliotecas y patrones existentes antes de implementar código personalizado. Invoca al agente investigador.

¿Qué es search-first?

El skill **search-first** sistematiza el principio de 'investigar antes de codificar' para agentes de IA en entornos de desarrollo. Su objetivo es evitar reinventar la rueda forzando una búsqueda estructurada de soluciones existentes antes de escribir cualquier código nuevo. El flujo consta de cinco fases: (0) verificación de disponibilidad de canales de búsqueda, (1) análisis de necesidades, (2) búsqueda en paralelo usando el agente investigador a través de repositorios, registros de paquetes (npm, PyPI), MCP servers, GitHub y skills locales, (3) evaluación de candidatos según funcionalidad, mantenimiento, comunidad, documentación, licencia y dependencias, (4) decisión entre adoptar, extender, componer o construir, y (5) implementación mínima. Funciona en plataformas como Claude Code y Codex, y se integra con agentes planificador y arquitecto para aplicar los hallazgos en el diseño de la solución. Incluye un modo rápido (inline) para verificaciones mentales rápidas y un modo completo con el agente investigador para funcionalidades no triviales, además de atajos de búsqueda por categoría (herramientas de desarrollo, IA/LLM, datos/APIs, contenido/publicación) y ejemplos concretos que muestran cómo adoptar, extender o construir basándose en la investigación previa.

Compatible con✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/affaan-m/everything-claude-code/tree/main/skills/search-first

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

/search-first — Investiga Antes de Codificar

Sistematiza el flujo de trabajo "buscar soluciones existentes antes de implementar".

Disparador

Usa este skill cuando:

  • Inicias una nueva funcionalidad que probablemente tenga soluciones existentes
  • Añades una dependencia o integración
  • El usuario pide "añadir funcionalidad X" y estás a punto de escribir código
  • Antes de crear una nueva utilidad, helper o abstracción

Flujo de trabajo

┌─────────────────────────────────────────────┐
│  0. VERIFICACIÓN PREVIA DE HERRAMIENTAS     │
│     Comprueba los canales de búsqueda antes │
│     de confiar en ellos; reporta canales     │
│     omitidos con honestidad                  │
├─────────────────────────────────────────────┤
│  1. ANÁLISIS DE NECESIDADES                 │
│     Define qué funcionalidad se necesita     │
│     Identifica restricciones de idioma/fw    │
├─────────────────────────────────────────────┤
│  2. BÚSQUEDA EN PARALELO (agente invest.)    │
│     ┌──────────┐ ┌──────────┐ ┌──────────┐  │
│     │  npm /   │ │  MCP /   │ │  GitHub / │  │
│     │  PyPI    │ │  Skills  │ │  Web      │  │
│     └──────────┘ └──────────┘ └──────────┘  │
├─────────────────────────────────────────────┤
│  3. EVALUACIÓN                              │
│     Puntúa candidatos (funcionalidad, manto,│
│     comunidad, docs, licencia, deps)        │
├─────────────────────────────────────────────┤
│  4. DECISIÓN                                │
│     ┌─────────┐  ┌──────────┐  ┌─────────┐  │
│     │  Adoptar│  │  Extender│  │  Crear  │  │
│     │  tal cual│  │  /Envolver│  │  a medida│ │
│     └─────────┘  └──────────┘  └─────────┘  │
├─────────────────────────────────────────────┤
│  5. IMPLEMENTAR                             │
│     Instalar paquete / Configurar MCP /      │
│     Escribir código personalizado mínimo    │
└─────────────────────────────────────────────┘

Matriz de decisión

SeñalAcción
Coincidencia exacta, bien mantenido, MIT/ApacheAdoptar — instalar y usar directamente
Coincidencia parcial, buena baseExtender — instalar + escribir envoltura fina
Varias coincidencias débilesComponer — combinar 2-3 paquetes pequeños
No se encuentra nada adecuadoCrear — escribir a medida, pero informado por la investigación

Cómo usar

Paso 0: Verificación previa de herramientas

Esto es guía para el agente, no un script de configuración ejecutable. Revisa solo los canales que sean relevantes para la tarea y el proyecto que tienes delante.

CanalVerificaciónSi falta
Búsqueda en repositoriorg --files y consultas rg específicasIndica que solo se inspeccionaron archivos visibles
Registro de paquetesnpm --version, python -m pip --version, o gestor de paquetes del proyectoUsa búsqueda web/docs y evita afirmar cobertura del registro
GitHub CLIgh auth statusUsa solo web pública o historial git local
Herramientas MCP/docsLista de herramientas disponibles o config MCP localRecurre a documentación/búsqueda web oficial
Directorio de skillsls ~/.claude/skills ~/.codex/skills donde apliqueIndica que no había catálogo local de skills

Modo rápido (en línea)

Antes de escribir una utilidad o añadir funcionalidad, recorre mentalmente:

  1. ¿Ya existe esto en el repositorio? → rg a través de módulos/pruebas relevantes primero
  2. ¿Es un problema común? → Buscar en npm/PyPI
  3. ¿Hay un MCP para esto? → Revisar ~/.claude/settings.json y buscar
  4. ¿Hay un skill para esto? → Revisar ~/.claude/skills/
  5. ¿Hay una implementación/plantilla en GitHub? → Ejecutar búsqueda de código GitHub para OSS mantenido antes de escribir código nuevo

Modo completo (agente)

Para funcionalidades no triviales, lanza el agente investigador:

Agent(subagent_type="general-purpose", prompt="
  Investiga herramientas existentes para: [DESCRIPCIÓN]
  Idioma/framework: [LENGUAJE]
  Restricciones: [CUALQUIERA]

  Buscar: npm/PyPI, servidores MCP, skills de Claude Code, GitHub
  Devolver: Comparación estructurada con recomendación
")

La documentación antigua de Claude Code puede llamar a esto Task(...); usa el nombre actual de la herramienta agent/subagent expuesto por el harness activo.

Atajos de búsqueda por categoría

Herramientas de desarrollo

  • Linting → eslint, ruff, textlint, markdownlint
  • Formateo → prettier, black, gofmt
  • Pruebas → jest, pytest, go test
  • Pre-commit → husky, lint-staged, pre-commit

Integración AI/LLM

  • SDK de Claude → Context7 para la documentación más reciente
  • Gestión de prompts → Revisar servidores MCP
  • Procesamiento de documentos → unstructured, pdfplumber, mammoth

Datos y APIs

  • Clientes HTTP → httpx (Python), ky/undici (Node)
  • Validación → zod (TS), pydantic (Python)
  • Base de datos → Revisar primero los servidores MCP

Contenido y publicación

  • Procesamiento de Markdown → remark, unified, markdown-it
  • Optimización de imágenes → sharp, imagemin

Puntos de integración

Con el agente planificador

El planificador debe invocar al investigador antes de la Fase 1 (Revisión de arquitectura):

  • El investigador identifica las herramientas disponibles
  • El planificador las incorpora al plan de implementación
  • Evita "reinventar la rueda" en el plan

Con el agente arquitecto

El arquitecto debe consultar al investigador para:

  • Decisiones sobre la pila tecnológica
  • Descubrimiento de patrones de integración
  • Arquitecturas de referencia existentes

Con el skill de recuperación iterativa

Combínalo para un descubrimiento progresivo:

  • Ciclo 1: Búsqueda amplia (npm, PyPI, MCP)
  • Ciclo 2: Evaluar los mejores candidatos en detalle
  • Ciclo 3: Probar compatibilidad con restricciones del proyecto

Ejemplos

Ejemplo 1: "Añadir verificación de enlaces rotos"

Necesidad: Verificar enlaces rotos en archivos markdown
Búsqueda: npm "markdown dead link checker"
Encontrado: textlint-rule-no-dead-link (puntuación: 9/10)
Acción: ADOPTAR — npm install textlint-rule-no-dead-link
Resultado: Cero código personalizado, solución probada en batalla

Ejemplo 2: "Añadir envoltura de cliente HTTP"

Necesidad: Cliente HTTP resiliente con reintentos y control de tiempo de espera
Búsqueda: npm "http client retry", PyPI "httpx retry"
Encontrado: got (Node) con plugin de reintentos, httpx (Python) con reintentos integrados
Acción: ADOPTAR — usar got/httpx directamente con configuración de reintentos
Resultado: Cero código personalizado, bibliotecas probadas en producción

Ejemplo 3: "Añadir linter de archivos de configuración"

Necesidad: Validar archivos de configuración del proyecto contra un esquema
Búsqueda: npm "config linter schema", "json schema validator cli"
Encontrado: ajv-cli (puntuación: 8/10)
Acción: ADOPTAR + EXTENDER — instalar ajv-cli, escribir esquema específico del proyecto
Resultado: 1 paquete + 1 archivo de esquema, sin lógica de validación personalizada

Anti-patrones

  • Saltar al código: Escribir una utilidad sin verificar si ya existe una
  • Ignorar MCP: No revisar si un servidor MCP ya proporciona la capacidad
  • Omitir silenciosamente: Reportar "no se encontró nada" cuando un canal de búsqueda no estaba disponible
  • Sobrepersonalizar: Envolver una biblioteca tan pesadamente que pierde sus beneficios
  • Hinchazón de dependencias: Instalar un paquete enorme para una funcionalidad pequeña

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/claude-api

Anthropic Claude API patterns for Python and TypeScript. Covers Messages API, streaming, tool use, vision, extended thinking, batches, prompt caching, and Claude Agent SDK. Use when building applications with the Claude API or Anthropic SDKs.

affaan-m/everything-claude-code

End-to-end marketing campaign planning and execution. Covers audience research, positioning, campaign angle definition, landing page copy, email sequences, social posts, ad copy, short-form video scripts, and content calendars. Use as the orchestration layer for multi-channel product launches. Use when planning or executing a multi-channel product launch, or producing landing page, email, social, or ad copy.

affaan-m/everything-claude-code

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/everything-claude-code-conventions

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/frontend-design

Create distinctive, production-grade frontend interfaces with high design quality. Use when the user asks to build web components, pages, or applications and the visual direction matters as much as the code quality.

affaan-m/gget

gget CLI and Python workflow for quick genomic database queries, sequence lookup, BLAST-style searches, enrichment checks, and reproducible bioinformatics evidence logs.

affaan-m/literature-review

Systematic literature-review workflow for academic, biomedical, technical, and scientific topics, including search planning, source screening, synthesis, citation checks, and evidence logging.

affaan-m/motion-ui

Production-ready UI motion system for React/Next.js. Use when implementing animations, transitions, or motion patterns.

affaan-m/project-guidelines-example

Example project-specific skill template based on a real production application.

affaan-m/pubmed-database

Direct PubMed and NCBI E-utilities search workflows for biomedical literature, MeSH queries, PMID lookup, citation retrieval, and API-backed literature monitoring.

affaan-m/scholar-evaluation

Structured scholarly-work evaluation for papers, proposals, literature reviews, methods sections, evidence quality, citation support, and research-writing feedback.

affaan-m/uspto-database

USPTO patent and trademark data workflow for official record lookup, PatentSearch queries, TSDR checks, assignment data, and reproducible IP research logs.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

Skills relacionados