Communitygithub.com

search-first

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

¿Qué es search-first?

Este skill sistematiza el flujo de trabajo de 'buscar soluciones existentes antes de implementar', ayudando a desarrolladores y agentes de IA a evitar reinventar la rueda. Es útil para iniciar nuevas funcionalidades donde probablemente ya existan soluciones, agregar dependencias o integraciones, y antes de crear utilidades o abstracciones personalizadas. Soporta múltiples plataformas como Claude Code, Cursor y Codex, y trabaja con canales de búsqueda paralelos que incluyen registros de paquetes (npm, PyPI), servidores MCP, GitHub CLI y directorios de skills. El flujo comienza con una verificación de disponibilidad de herramientas, seguida de un análisis de necesidades, búsqueda paralela por parte del agente investigador, evaluación estructurada de candidatos, decisión entre adoptar/extender/componer/construir, e implementación mínima. Incluye una matriz de decisión basada en señales como coincidencia exacta con buen mantenimiento o coincidencias parciales, y proporciona atajos de búsqueda por categorías (herramientas de desarrollo, integración AI/LLM, datos y APIs, contenido y publicación) así como puntos de integración con otros agentes como el planificador, arquitecto y el skill de recuperación iterativa.

Compatible con✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/affaan-m/ECC/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 — Investigar Antes de Codificar

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

Disparador

Usa este skill cuando:

  • Inicies una nueva funcionalidad que probablemente tenga soluciones existentes
  • Estés agregando una dependencia o integración
  • El usuario pida "agregar 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     │
│     Verifica canales de búsqueda antes de   │
│     confiar en ellos; reporta canales       │
│     omitidos de manera honesta              │
├─────────────────────────────────────────────┤
│  1. ANÁLISIS DE NECESIDADES                 │
│     Define qué funcionalidad se necesita    │
│     Identifica restricciones de lenguaje/   │
│     framework                               │
├─────────────────────────────────────────────┤
│  2. BÚSQUEDA PARALELA (agente investigador) │
│     ┌──────────┐ ┌──────────┐ ┌──────────┐  │
│     │  npm /   │ │  MCP /   │ │  GitHub / │  │
│     │  PyPI    │ │  Skills  │ │  Web      │  │
│     └──────────┘ └──────────┘ └──────────┘  │
├─────────────────────────────────────────────┤
│  3. EVALUAR                                 │
│     Puntúa candidatos (funcionalidad,       │
│     mantenimiento, comunidad, docs,         │
│     licencia, dependencias)                 │
├─────────────────────────────────────────────┤
│  4. DECIDIR                                 │
│     ┌─────────┐  ┌──────────┐  ┌─────────┐  │
│     │  Adoptar│  │  Extender│  │Construir │  │
│     │  tal cual│  │  /Envolver│  │Personal.│  │
│     └─────────┘  └──────────┘  └─────────┘  │
├─────────────────────────────────────────────┤
│  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 envoltorio delgado
Múltiples coincidencias débilesComponer — combinar 2-3 paquetes pequeños
No se encuentra nada adecuadoConstruir — escribir personalizado, pero informado por la investigación

Cómo Usar

Paso 0: Verificación Previa de Herramientas

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

CanalVerificarSi falta
Búsqueda en repositoriorg --files y consultas rg dirigidasIndicar que solo se inspeccionaron archivos visibles
Registro de paquetesnpm --version, python -m pip --version, o el gestor de paquetes del proyectoUsar búsqueda web/docs y evitar afirmar cobertura del registro
CLI de GitHubgh auth statusUsar solo web pública o historial de git local
Herramientas MCP/docsLista de herramientas disponibles o configuración MCP localRecurrir a documentación oficial/búsqueda web
Directorio de skillsls ~/.claude/skills ~/.codex/skills donde apliqueDecir que no había catálogo local de skills disponible

Modo Rápido (en línea)

Antes de escribir una utilidad o agregar 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? → Verificar ~/.claude/settings.json y buscar
  4. ¿Hay un skill para esto? → Verificar ~/.claude/skills/
  5. ¿Hay una implementación/plantilla en GitHub? → Ejecutar búsqueda de código en GitHub para OSS mantenido antes de escribir código nuevo desde cero

Modo Completo (agente)

Para funcionalidades no triviales, lanza el agente investigador:

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

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

La documentación anterior de Claude Code puede llamar a esto Task(...); usa el nombre de herramienta actual de agente/subagente expuesto por el entorno 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 docs más recientes
  • Gestión de prompts → Verificar 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 → Verificar primero 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 herramientas disponibles
  • El planificador las incorpora en el 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 descubrimiento progresivo:

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

Ejemplos

Ejemplo 1: "Agregar verificación de enlaces rotos"

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

Ejemplo 2: "Agregar envoltorio de cliente HTTP"

Necesidad: Cliente HTTP resistente con reintentos y manejo 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: "Agregar 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 (puntaje: 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 verificar si un servidor MCP ya proporciona la capacidad
  • Omitir en silencio: Reportar "no se encontró nada" cuando un canal de búsqueda no estaba disponible
  • Sobrepersonalizar: Envolver una biblioteca tan intensamente que pierde sus beneficios
  • Inflar 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/content-engine

Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.

affaan-m/ECC

Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.

affaan-m/fal-ai-media

Unified media generation via fal.ai MCP — image, video, and audio. Covers text-to-image (Nano Banana), text/image-to-video (Seedance, Kling, Veo 3), text-to-speech (CSM-1B), and video-to-audio (ThinkSound). Use when the user wants to generate images, videos, or audio with AI.

affaan-m/manim-video

日本語翻訳:このファイルは manim-video 用の日本語翻訳が必要です

affaan-m/remotion-video-creation

Remotion のベストプラクティス - React で動画を作成する。3D、アニメーション、音声、字幕、チャート、トランジションなどをカバーするドメイン固有の29のルール。

affaan-m/video-editing

AI-assisted video editing workflows for cutting, structuring, and augmenting real footage. Covers the full pipeline from raw capture through FFmpeg, Remotion, ElevenLabs, fal.ai, and final polish in Descript or CapCut. Use when the user wants to edit video, cut footage, create vlogs, or build video content.

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.

agent-self-evaluation

Use after completing any non-trivial task. The agent self-rates its output on 5 axes — accuracy, completeness, clarity, actionability, conciseness — with concrete evidence per criterion. Produces a structured 1-5 scorecard with specific improvement suggestions.

agent-sort

Build an evidence-backed ECC install plan for a specific repo by sorting skills, commands, rules, hooks, and extras into DAILY vs LIBRARY buckets using parallel repo-aware review passes. Use when ECC should be trimmed to what a project actually needs instead of loading the full bundle.

ai-first-engineering

Engineering operating model for teams where AI agents generate a large share of implementation output. Use when setting team process, review gates, or ownership rules for a codebase largely written by agents.

ai-regression-testing

Regression testing strategies for AI-assisted development. Sandbox-mode API testing without database dependencies, automated bug-check workflows, and patterns to catch AI blind spots where the same model writes and reviews code. Use when adding regression coverage to AI-assisted code, or when the same model both wrote and reviewed a change.

android-clean-architecture

Clean Architecture patterns for Android and Kotlin Multiplatform projects — module structure, dependency rules, UseCases, Repositories, and data layer patterns. Use when structuring modules, layers, or data flow in an Android or KMP project.

angular-developer

Generates Angular code and provides architectural guidance. Trigger when creating projects, components, or services, or for best practices on reactivity (signals, linkedSignal, resource), forms, dependency injection, routing, SSR, accessibility (ARIA), animations, styling (component styles, Tailwind CSS), testing, or CLI tooling.

Skills relacionados