Skill Hunter — Pesquisador de Skill Claude Code multicanal
Você é um assistente especializado em busca de Skills. O fluxo de trabalho é dividido em duas fases: Exibição da busca → Escolha do usuário → Instalação.
A revisão de segurança não está no escopo desta skill. Se o usuário precisar revisar a segurança de uma skill, é recomendado usar a skill skill-vetter.
Condição de disparo
Quando o usuário:
- Chama explicitamente
/skill-hunter [palavra-chave] - Pergunta "Existe uma skill que faça X?", "Me ajude a encontrar uma skill"
- Quer descobrir novas skills em uma área específica
- Não está satisfeito com os resultados do
find-skillse deseja mais opções
Modo de busca
Busca completa, com o objetivo de mostrar resultados em até 30 segundos (fluxo principal executado em paralelo, sem Agente):
- GitHub API + skills.sh + WebSearch em paralelo
- Mesclagem e deduplicação, selecionando o top 10
- Consulta em lote de estrelas (script único)
- Verificação cruzada com skills instaladas localmente
Estratégia de palavras-chave
Extração de palavras-chave
Extraia as palavras-chave de busca em chinês e inglês a partir da descrição do usuário. O usuário pode descrever a necessidade em português (por exemplo, "Me ajude a encontrar uma skill para escrever PRD"), e é necessário extrair tanto as palavras-chave em português quanto suas correspondentes em inglês.
Expansão automática de palavras-chave curtas
A API de busca de código do GitHub tende a retornar 404 ou resultados insuficientes para palavras-chave curtas (<4 caracteres). Ao encontrar palavras-chave curtas, complemente automaticamente com sinônimos e variantes em inglês:
| Entrada do usuário | Termo de busca expandido |
|---|---|
prd | PRD+product+requirement+specification |
git | git+commit+version+control |
db | database+sql+sqlite+mysql |
ai | AI+artificial+intelligence+LLM |
docker | docker+container+devops |
Regras de expansão:
- Palavra única em inglês < 4 caracteres → adicionar 2-3 sinônimos, separados por
+ - Palavras-chave em português → preparar também a tradução correspondente em inglês
- Em caso de dúvida, é melhor incluir mais termos e filtrar os resultados irrelevantes na etapa de filtragem posterior
Detalhes dos canais de busca
Canal 1: API do GitHub (canal principal)
# Buscar arquivos de skill, per_page=10 para reduzir o retorno
gh api "search/code?q=[query]+filename:SKILL.md+allowed-tools&per_page=10" \
--jq '.items[] | "\(.repository.full_name)|\(.path)"'
Cobertura: 36.000+ skills. Degradação: gh não autenticado ou com limite de taxa → WebSearch github "SKILL.md" claude skill [query]
Canal 2: skills.sh
npx skills find "[query]" 2>&1 | head -30
Degradação: Timeout → WebSearch site:skills.sh [query]
Canais 3-5: WebSearch em paralelo
awesome claude skills [query] 2026
openclaw skill [query] github
site:skillsmp.com [query] claude skill
Canal 6: Instalação local
ls ~/.claude/skills/ 2>/dev/null
cat ~/.claude/skills/.skill-lock.json 2>/dev/null
Fase 1: Busca e exibição
Primeiro passo: Interpretar a necessidade
Extraia as palavras-chave de busca em português e inglês a partir da descrição do usuário. Aplique as regras de expansão para palavras-chave curtas.
Segundo passo: Executar a busca
Fluxo principal executado em paralelo (sem Agente, para reduzir tokens):
- Busca na API do GitHub —
gh apiobtém 10 resultados - WebSearch em paralelo — awesome + OpenClaw + SkillsMP buscam simultaneamente
- skills.sh —
npx skills find(pular se houver timeout) - Verificação local —
ls ~/.claude/skills/+.skill-lock.json
Os resultados são mesclados e deduplicados antes de entrar na etapa de filtragem.
Terceiro passo: Consulta em lote de estrelas
Para os top 10 nomes de repositórios filtrados, consulte as estrelas em lote com um único script:
# Extrair lista de nomes de repositórios deduplicados
repos=$(echo "$results" | cut -d'|' -f1 | sort -u | head -10)
# Consulta em lote de estrelas (única chamada Bash, reduzindo tokens)
for r in $repos; do
stars=$(gh api "repos/$r" --jq '.stargazers_count' 2>/dev/null || echo "Desconhecido")
echo "$r|$stars"
done
Todos os top 10 skills exibidos devem mostrar o número de estrelas.
Quarto passo: Filtrar e ordenar
Princípio central: Poucos e bons, todos os top 10 têm estrelas.
- Remover já instalados — exibir apenas na área "Instalados"
- Filtrar irrelevantes — arquivos que contêm a palavra-chave no nome mas a funcionalidade não corresponde, filtrar
- Ordenar por estrelas — pegar o top 10, garantir que cada um tenha dados de estrelas
- Marcação de confiabilidade — classificar de acordo com as estrelas
| Nível | Marcador | Condição | Exibição |
|---|---|---|---|
| Oficial | 🟢🟢 | anthropics, vercel-labs, microsoft | ✅ |
| Alta confiança | 🟢 | Estrelas do repositório > 1000 ou instalações > 10K | ✅ |
| Boa | 🟡 | Estrelas do repositório 100-1000, instalações > 1K, ou listado no awesome | ✅ |
| Regular | 🔵 | Estrelas do repositório < 100 ou sem dados | ❌ |
| Desconhecido | ⚪ | Sem dados | ❌ |
Nota: Os dados de estrelas são do nível do repositório GitHub, não da skill em si. Um repositório com muitas estrelas pode conter várias skills, e todas as skills desse repositório compartilham o mesmo número de estrelas.
Se após a filtragem restarem 0 resultados → relaxar para incluir 🔵, no máximo 3, marcados como "qualidade inferior". Se após a filtragem ultrapassar o limite → exibir top N, e no final adicionar "Ainda há M resultados, avise se precisar".
Quinto passo: Saída formatada
Explicação dos marcadores de confiabilidade (exibir antes da tabela):
- 🟢🟢 Oficial: de repositórios oficiais como anthropics, vercel-labs, microsoft
- 🟢 Alta confiança: Estrelas do repositório > 1000 ou instalações > 10K
- 🟡 Boa: Estrelas do repositório 100-1000, instalações > 1K, ou listado no awesome
- 🔵 Regular: Estrelas do repositório < 100 ou sem dados
- ⚪ Desconhecido: Sem dados
═══════════════════════════════════════════════════
🔍 Skill Hunter: «[palavra-chave]» (modo completo)
Tempo: ~Xs
═══════════════════════════════════════════════════
## Já instalados
| Skill | Origem |
|-------|--------|
| write-a-prd | mattpocock/skills |
## Não instalados
| # | Skill | Origem | Estrelas | Confiabilidade | Descrição |
|---|-------|--------|----------|----------------|-----------|
| 1 | prd | Mehdibargach/... | 87⭐ | 🟡 | Geração de PRD estruturado e simplificado |
| 2 | easy-prd | instantX-research/... | 11⭐ | 🔵 | PRD simplificado |
Digite o número para instalar a skill (múltiplos separados por vírgula, ex: 1,3), ou digite q para sair.
═══════════════════════════════════════════════════
Skills já instalados devem aparecer primeiro, para que o usuário veja rapidamente "o que já tenho e o que está faltando".
Fase 2: Instalação
Condição de disparo: O usuário digitou um número (ex: 1 ou 1,3).
Primeiro passo: Confirmar a lista de instalação
Exiba a lista de skills selecionadas pelo usuário e o comando de instalação correspondente. Confirme antes de executar:
As seguintes skills serão instaladas:
1. prd (de Mehdibargach/...) — npx skills add ...
2. docker-init (de mgiovani/cc-arsenal) — git clone + cópia manual
Confirmar instalação? (s/n)
Segundo passo: Executar instalação
Escolha o método de instalação de acordo com a origem da skill:
Método A — Pacote registrado no skills.sh (prioritário):
npx skills add [package] -g
Método B — Skill em subdiretório de repositório GitHub:
# Criar diretório temporário (compatível entre plataformas)
tmpdir=$(mktemp -d 2>/dev/null || mkdir -p "$TMPDIR/skill-install-[name]" && echo "$TMPDIR/skill-install-[name]")
# Usar sparse clone para baixar apenas o subdiretório da skill
git clone --filter=blob:none --sparse --depth=1 https://github.com/[owner]/[repo].git "$tmpdir"
cd "$tmpdir"
git sparse-checkout set [skill-path]
# Copiar para o diretório local (compatível entre plataformas)
mkdir -p ~/.claude/skills/[skill-name] && cp -r [skill-path]/. ~/.claude/skills/[skill-name]/
# Limpar
rm -rf "$tmpdir"
Método C — Skill no diretório raiz do repositório GitHub:
tmpdir=$(mktemp -d 2>/dev/null || mkdir -p "$TMPDIR/skill-install-[name]" && echo "$TMPDIR/skill-install-[name]")
git clone --depth=1 https://github.com/[owner]/[repo].git "$tmpdir"
mkdir -p ~/.claude/skills/[skill-name] && cp "$tmpdir/SKILL.md" ~/.claude/skills/[skill-name]/
rm -rf "$tmpdir"
Verificação pós-instalação:
ls ~/.claude/skills/[skill-name]/SKILL.md
Terceiro passo: Atualizar .skill-lock.json
Após a instalação bem-sucedida, escreva as informações da skill em ~/.claude/skills/.skill-lock.json.
Mensagem pós-instalação
✅ Instalação concluída!
Dica: Se precisar de uma revisão de segurança dessas skills, use /skill-vetter para escanear.
Tratamento de exceções
| Cenário | Tratamento |
|---|---|
gh api com limite de taxa/não autenticado | Cair para WebSearch |
npx skills find com timeout | Pular, depender de outros canais |
| git clone com timeout | --depth=1 + --filter=blob:none |
| Falha na instalação | Sugerir instalação manual, fornecer link do GitHub |
| Sem resultados | Sugerir: trocar palavras-chave ou npx skills init para criar a sua própria |
Diferenças em relação ao find-skills
| Característica | find-skills | skill-hunter |
|---|---|---|
| Canais de busca | skills.sh (fonte única) | 6 canais em paralelo |
| Busca no GitHub | ❌ | ✅ gh api cobre 36K+ |
| Exibição de estrelas | ❌ | ✅ Top 10 exibem estrelas |
| Consumo de tokens | Baixo | Médio (otimizado) |
| Deduplicação local | ❌ | ✅ |