search-first
Faz seu agente pesquisar ferramentas existentes antes de criar código. Isso economiza tempo e evita reinventar a roda.
O que ela faz
Esta ferramenta ajuda a encontrar soluções prontas antes de você escrever código novo. Ela procura por ferramentas existentes em lugares como npm, PyPI e GitHub para evitar que você 'reinvente a roda'.
Quando usar
- ✓Ao começar uma nova funcionalidade que pode já existir.
- ✓Quando for adicionar uma nova biblioteca ou integração ao seu projeto.
- ✓Antes de criar uma função ou ferramenta que pode já ter sido feita por outros.
Exemplo do que pedir para a IA
“Procure por uma biblioteca para verificar links quebrados em arquivos markdown.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta verifica diferentes fontes (como lojas de pacotes e repositórios de código) para ver se já existe algo que faz o que você precisa. Se encontrar, ela sugere usar essa solução pronta; se não, ela te ajuda a entender o que você precisa construir.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add affaan-m/ECC --skill search-firstOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/affaan-m/ECC/main/skills/search-first/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
/search-first — Pesquise Antes de Codificar
Sistematiza o fluxo de trabalho "pesquisar soluções existentes antes de implementar".
Gatilho
Use esta habilidade quando:
- Iniciar um novo recurso que provavelmente tenha soluções existentes
- Adicionar uma dependência ou integração
- O usuário perguntar "adicione funcionalidade X" e você estiver prestes a escrever código
- Antes de criar uma nova utilidade, helper ou abstração
Fluxo de Trabalho
┌─────────────────────────────────────────────┐
│ 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 │
└─────────────────────────────────────────────┘
Matriz de Decisão
| Sinal | Ação |
|---|---|
| Correspondência exata, bem mantido, MIT/Apache | Adotar — instalar e usar diretamente |
| Correspondência parcial, boa base | Estender — instalar + escrever wrapper fino |
| Múltiplas correspondências fracas | Compor — combinar 2-3 pacotes pequenos |
| Nada adequado encontrado | Construir — escrever código personalizado, mas informado pela pesquisa |
Como Usar
Etapa 0: Verificação Prévia de Disponibilidade de Ferramentas
Este é um guia para o agente, não um script de configuração executável. Verifique apenas os canais relevantes para a tarefa e o projeto em questão.
| Canal | Verificação | Se ausente |
|---|---|---|
| Pesquisa no repositório | rg --files e consultas direcionadas rg |
Declare que apenas arquivos visíveis foram inspecionados |
| Registro de pacotes | npm --version, python -m pip --version ou gerenciador de pacotes do projeto |
Use pesquisa na web/documentação e evite reivindicar cobertura do registro |
| GitHub CLI | gh auth status |
Use apenas a web pública ou o histórico git local |
| Ferramentas MCP/docs | Lista de ferramentas disponíveis ou configuração local do MCP | Recorra à documentação oficial/pesquisa na web |
| Diretório de habilidades | ls ~/.claude/skills ~/.codex/skills, quando aplicável |
Diga que nenhum catálogo de habilidades local estava disponível |
Modo Rápido (inline)
Antes de escrever uma utilidade ou adicionar funcionalidade, pense mentalmente:
- Isso já existe no repositório? → Pesquise
rgem módulos/testes relevantes primeiro - Este é um problema comum? → Pesquise npm/PyPI
- Existe um MCP para isso? → Verifique
~/.claude/settings.jsone pesquise - Existe uma habilidade para isso? → Verifique
~/.claude/skills/ - Existe uma implementação/template no GitHub? → Execute a pesquisa de código do GitHub para OSS mantido antes de escrever código totalmente novo
Modo Completo (agente)
Para funcionalidades não triviais, inicie o agente pesquisador:
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 with recommendation
")
Documentos mais antigos do Claude Code podem chamar isso de Task(...); use o nome da ferramenta de agente/subagente atual exposto pelo harness ativo.
Atalhos de Pesquisa por Categoria
Ferramentas de Desenvolvimento
- Linting →
eslint,ruff,textlint,markdownlint - Formatação →
prettier,black,gofmt - Testes →
jest,pytest,go test - Pre-commit →
husky,lint-staged,pre-commit
Integração AI/LLM
- Claude SDK → Context7 para a documentação mais recente
- Gerenciamento de prompts → Verifique os servidores MCP
- Processamento de documentos →
unstructured,pdfplumber,mammoth
Dados e APIs
- Clientes HTTP →
httpx(Python),ky/undici(Node) - Validação →
zod(TS),pydantic(Python)
…
Perguntas frequentes
O que são npm e PyPI?
São como 'lojas' onde programadores compartilham códigos prontos (pacotes ou bibliotecas) que outros podem usar em seus projetos.
O que significa 'reinventar a roda'?
Significa criar algo do zero quando já existe uma solução pronta e testada que faz a mesma coisa.
Quando devo usar esta ferramenta?
Sempre que você estiver prestes a escrever código para uma nova funcionalidade ou para resolver um problema comum, é uma boa ideia verificar se já não existe uma solução pronta.
Detalhes
Descrição original do autor
Research-before-coding workflow: search npm/PyPI, MCP servers, skills, and GitHub for existing tools before writing custom code, then adopt, extend, or build. Launches the researcher agent for non-trivial needs. Use when starting a feature, adding a dependency or integration, or about to write a utility that may already exist.
repo: affaan-m/ECC
Popularidade
- Estrelas no GitHub
- 280 mil
- Posição no ranking
- #279
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
accessibility
Ajuda seu agente a criar interfaces que todos possam usar. Garante que sites e aplicativos funcionem bem para pessoas com deficiência, como cegos ou com mobilidade reduzida.
affaan-m/ECC
agent-architecture-audit
Faz seu agente verificar se tudo está funcionando corretamente. Ele encontra e conserta problemas em sistemas de IA, garantindo que funcionem como esperado.
affaan-m/ECC
agent-eval
Ajuda seu agente a comparar diferentes ferramentas de programação de IA. Ele mede qual é mais rápido, barato e confiável para realizar tarefas específicas.
affaan-m/ECC
agent-harness-construction
Faz seu agente entender melhor como realizar tarefas. Ele otimiza as ferramentas e instruções que o agente usa para aumentar suas chances de sucesso.
affaan-m/ECC
Skills parecidas
karpathy-guidelines
Ajuda seu agente a escrever código melhor, evitando erros comuns. É útil para garantir que o código seja simples, claro e fácil de verificar.
multica-ai/andrej-karpathy-skills
skill-creator
Permite ao agente criar, modificar e otimizar habilidades. Útil para testar o desempenho de habilidades e melhorar sua precisão.
anthropics/skills
ponytail-debt
Lista todos os atalhos de código ('shortcut:') deixados para depois. Ajuda a ver o que ainda precisa ser corrigido no projeto.
DietrichGebert/ponytail