Communitygithub.com

yya007/SkillFinder

Descoberta de skills para agentes de IA

O que é SkillFinder?

SkillFinder é uma skill para agentes de IA (como Claude Code, Cursor, Codex) que permite pesquisar mais de 37.500 skills curadas para agentes usando uma descrição em linguagem natural. O usuário descreve o que deseja fazer (ex.: "implantar clusters Kubernetes com rollback") e a skill retorna as melhores correspondências, classificadas por similaridade semântica, juntamente com comandos de instalação. O sistema funciona inteiramente no dispositivo do usuário: ele utiliza o modelo Qwen3-Embedding-0.6B via Ollama para gerar embeddings localmente e compara esses embeddings contra um índice FAISS pré-construído com mais de 33.000 skills — nenhuma requisição de rede é feita durante a busca. A skill também inclui um mecanismo de fallback para pesquisa remota via GitHub, caso a busca local não esteja disponível. Para agentes baseados em LLM, o fluxo de uso é bem definido: reformular a consulta do usuário, executar a busca com fallback em dois níveis (Tier 1 com filtro de estrelas mínimas, Tier 2 sem filtro), analisar e reordenar os resultados, e apresentá-los em um formato padronizado com links e comandos de instalação. A skill filtra por plataforma apenas quando explicitamente solicitado pelo usuário, e trata skills provenientes do ClawHub (OpenClaw) adequadamente, rotulando-as como exclusivas do OpenClaw. Além disso, inclui instruções para que o agente trabalhe silenciosamente, sem narrar as etapas internas ao usuário.

Funciona com✓Claude Code✓Codex CLI~Cursor
npx skills add yya007/SkillFinder

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

skill-finder

Pesquise mais de 37.500 skills curadas para agentes descrevendo o que você deseja fazer. Os resultados são classificados por similaridade semântica e incluem comandos de instalação.

Uso

/skill-finder

Em seguida, descreva sua tarefa em linguagem natural, por exemplo:

  • "implantar clusters kubernetes com rollback"
  • "raspar páginas web com renderização JavaScript"
  • "escrever e executar migrações SQL"

Como funciona

  1. Sua descrição é transformada em um embedding localmente usando o modelo Qwen3-Embedding-0.6B via Ollama.
  2. O embedding é comparado com um índice FAISS pré-construído contendo mais de 33.000 skills.
  3. As melhores correspondências são retornadas com nome, descrição e comando de instalação.

O índice é executado inteiramente no dispositivo — nenhuma requisição de rede é feita durante a busca.

Instruções para o agente

Quando esta skill for acionada, siga este fluxo de trabalho exatamente.

Trabalhe silenciosamente. Execute todas as etapas internas (reformulação da consulta, busca, análise, reordenação) sem narrá-las ao usuário. Apenas exiba os resultados finais e a oferta de próximo passo. Nunca diga coisas como "Estou reformulando sua consulta…" ou "Executando busca Nível 1…"

Nota: Skills são código de terceiros — sempre verifique o link da Skill antes de instalar algo de um autor desconhecido.

Filtro de plataforma: NÃO aplique --platform por padrão — o índice cobre skills de todas as plataformas e muitas skills funcionam em vários agentes. Apenas passe --platform <valor> quando o usuário pedir explicitamente uma busca específica por plataforma (ex.: "encontre uma skill do Claude Code para…"). Valores: claude_code, openclaw, codex.

Etapa 0 — Verificar disponibilidade

Antes de reformular a consulta, verifique se o índice e o Ollama estão disponíveis executando:

python scripts/search.py "test" --json

Se falhar com OllamaNotAvailableError ou FileNotFoundError, ofereça ao usuário:

"A busca local está indisponível. Posso recorrer a uma busca no código do GitHub (sem classificação, sem sinais de qualidade). Defina GITHUB_TOKEN para melhores resultados. Deseja continuar?"

Se sim, adicione --remote a todos os comandos de busca nas Etapas 2–3.

Etapa 1 — Reformular a consulta

Antes de buscar, reescreva a solicitação do usuário em uma consulta concisa e rica em palavras-chave que melhore a recuperação semântica. Regras:

  • Expanda abreviações (ex.: "k8s" → "kubernetes", "CI" → "continuous integration").
  • Remova preenchimentos conversacionais ("quero", "me ajude a", "uma skill que").
  • Adicione termos técnicos relacionados que o índice provavelmente contém (ex.: "implantar kubernetes" → "kubernetes deployment orchestration kubectl cluster").
  • Mantenha concisa — cerca de 10 a 15 palavras é um bom alvo.

Para consultas específicas (ex.: "implantar k8s com helm rollback"), uma única reformulação é suficiente.

Para consultas ambíguas ou amplas (abrangem múltiplos domínios técnicos, ou usam termos genéricos como "produtividade", "IA", "automação"), gerar 2–3 reformulações alternativas de diferentes ângulos é opcional, mas útil. Se fizer isso, execute todas as reformulações em paralelo através da lógica de níveis, deduplicando resultados por id, e então reordene o conjunto mesclado.

Você não precisa mostrar as consultas reformuladas ao usuário, a menos que elas difiram significativamente do que o usuário digitou.

Etapa 2 — Executar a busca (com fallback em níveis)

Execute as buscas em ordem, parando assim que tiver ≥3 boas correspondências:

Nível 1 — Padrão (qualidade primeiro, todas as plataformas):

python scripts/search.py "<consulta reformulada>" --json --propose 5 --min_stars 10

Nível 2 — Relaxar limite de estrelas (se o Nível 1 retornar menos de 3 boas correspondências):

python scripts/search.py "<consulta reformulada>" --json --propose 5

Regras:

  • --propose 5 é o padrão; aumente para --propose 10 para consultas amplas ou se o usuário pedir mais opções. Se o usuário especificar um número de resultados (ex.: "me dê 10"), use esse valor diretamente.
  • Adicione --platform <valor> apenas quando o usuário pedir explicitamente uma busca específica por plataforma (ex.: "encontre uma skill do OpenClaw para…"). Aplique a ambos os níveis nesse caso.
  • Skills originadas do ClawHub são exclusivas do OpenClaw — elas não trazem comando de instalação para claude_code. Ao apresentá-las, sempre as rotule como (openclaw only — not installable in Claude Code).
  • Se o usuário especificar um limite de estrelas explicitamente (ex.: "apenas skills conhecidas" ou "mínimo 50 estrelas"), use esse valor no lugar de --min_stars 10.
  • Se o usuário pedir menos resultados (ex.: "apenas os 3 melhores", ajuste a quantidade exibida de acordo.
  • Para resultados do Nível 2, mencione o filtro relaxado na resposta (veja Etapa 5).

Etapa 3 — Analisar e verificar limite

Analise a saída JSON. Cada resultado inclui um campo sim_score (0.0–1.0) para uso interno apenas — nunca mostre ao usuário.

Use ~0.4 como limite suave para "nenhuma correspondência forte." Se todos os resultados de todos os níveis tiverem sim_score < 0.4, avise o usuário:

"Não encontrei correspondências fortes para essa consulta. Tente reformular com palavras-chave mais específicas."

Etapa 4 — Reordenar

Leia a description de cada resultado em relação à intenção declarada pelo usuário. Dê preferência a:

  1. Relevância semântica para a tarefa real do usuário (sinal principal)
  2. Estrelas (quality.stars) — quanto mais, mais validado pela comunidade
  3. Origem — desempate fraco apenas: quando relevância e estrelas são semelhantes, prefira skills oficialmente verificadas. Não penalize ou rebaixe skills apenas por causa de seu registro de origem.

Regra de alinhamento origem-plataforma: clawhub é o registro do OpenClaw. Quando o usuário pediu claude_code (ou qualquer plataforma diferente de openclaw), trate skills originadas apenas do clawhub como último recurso — classifique-as abaixo de todas as outras origens, independentemente da contagem de estrelas, e inclua-as apenas se não houver alternativas melhores de outras origens. Se a origem de uma skill incluir tanto clawhub quanto outro registro (ex.: marketplace), use a origem não-clawhub para classificação.

Apresente 3–5 resultados por padrão. Apresentar mais de 5 é opcional — faça isso apenas se o usuário pedir explicitamente mais opções ou especificar uma quantidade maior.

Etapa 5 — Apresentar resultados

Use este formato exato:

Encontradas N skills para "<consulta original do usuário>":

1. **pptx** ⭐ 2.810 estrelas [oficial]
   Converta qualquer arquivo .pptx — leia slides, extraia texto, gere apresentações…
   Instalação: `/skill install pptx` _(se falhar, veja o link da Skill abaixo)_
   Skill: https://github.com/anthropics/skills/blob/main/skills/pptx/SKILL.md

2. **pptx-skill** ⭐ 126 estrelas
   Converta slides HTML para arquivos PowerPoint (PPTX)…
   Instalação: `/plugin install pptx-skill` _(se falhar, veja o link da Skill abaixo)_
   Skill: https://github.com/vkehfdl1/slides-grab/blob/main/SKILL.md

> O índice de skills é atualizado periodicamente por meio de varredura web e pode não incluir as skills publicadas mais recentemente.

Use skill_md_url do resultado para o link Skill:. Recorra a repo_url apenas se skill_md_url estiver vazio.

Selos e rótulos:

  • Adicione [oficial] apenas para is_official: true (skills do marketplace anthropics/*).
  • Acrescente (openclaw only — not installable in Claude Code) quando platforms não incluir claude_code.
  • Não mostre nomes brutos de registros de origem (skillsmp, clawhub, topic, skillhub, marketplace) na saída.

Comandos de instalação (sempre use o valor exato do campo install_cmd — nunca adivinhe ou construa você mesmo):

CondiçãoLinha de instalação
is_official: true (anthropics/*)Instalação: /skill install <nome> _(se falhar, veja o link da Skill abaixo)_
Skill da comunidade com install_cmdInstalação: /plugin install <nome> _(se falhar, veja o link da Skill abaixo)_
install_cmd vazioSem instalação direta — veja o link da Skill.

NÃO mostre sim_score ao usuário.

Mostre apenas a entrada claude_code de install_cmd por padrão. Mencione que outras plataformas existem apenas se o usuário perguntar.

Se os resultados vierem do fallback do Nível 2, adicione uma nota após o aviso de atualização:

"Estes resultados incluem skills com menos estrelas porque as correspondências mais bem avaliadas foram limitadas para esta consulta."

Etapa 6 — Oferecer próximo passo

Termine cada resposta com:

"Deseja que eu busque o SKILL.md completo de alguma delas antes de instalar?"

Habilidades Relacionadas