Escolher ferramentas a partir de estrelas do GitHub e catálogos oficiais de skills
Objetivo: quando uma tarefa precisar de uma ferramenta, biblioteca, CLI, servidor MCP ou skill de agente, prefira coisas que o usuário já confia (suas estrelas do GitHub) e catálogos oficiais de fornecedores em vez de resultados aleatórios da web, mas ainda verificando a qualidade.
Todos os caminhos abaixo são relativos à pasta desta skill (o diretório que contém este SKILL.md).
1. Esclarecer a necessidade
Escreva em uma linha o que a ferramenta deve fazer, mais restrições rígidas (linguagem/runtime, SO, hardware como GPU/VRAM, licença, offline/local, orçamento). Use o que você já sabe sobre o ambiente do usuário.
2. Pesquisar as estrelas do GitHub do usuário
Descubra o login do GitHub do usuário (pergunte uma vez se desconhecido, ou use gh api user --jq .login quando gh estiver logado como ele). Então use a primeira fonte que existir:
- Snapshot local (opcional). Se
references/stars.csvoureferences/stars_by_list.mdexistir nesta pasta da skill (ou o usuário apontar para uma cópia, p.ex. em um repositório privado separado), pesquise nele primeiro; funciona offline.stars.csvcolunas:lists(nomes das listas de estrelas do GitHub, separados por|;(unlisted)se nenhum),full_name,url,description,description_ja,language,stars,pushed_at,archived,license,topics,starred_at.stars_by_list.md: os mesmos repositórios agrupados por lista de estrelas, uma linha cada, com uma dataSnapshot:no topo. Os nomes das listas são boas dicas de categoria.- O snapshot pode estar desatualizado; quando estiver online e a atualização for importante, também faça a verificação ao vivo abaixo.
- Ao vivo, somente leitura (padrão quando não existe snapshot):
gh api --paginate "users/<login>/starred?per_page=100" --jq '.[] | [.full_name,.html_url,.description,.language,(.topics|join(" ")),.stargazers_count,.pushed_at,.archived] | @tsv'(ou a API REST não autenticadahttps://api.github.com/users/<login>/starredseghnão estiver disponível). Se o usuário organizar estrelas em listas de estrelas do GitHub, use os nomes das listas como dicas de categoria.
Corresponda por descrição, tópicos, nome e idioma com vários sinônimos (incluindo outros idiomas que o usuário escreve), p.ex. rg -i "video|動画|ffmpeg" references/stars.csv. Dê uma olhada no README de possíveis candidatos antes de recomendar.
3. Pesquisar catálogos oficiais de skills / plugins (quando uma skill de agente ou plugin for útil)
- Execute
npx -y skills find "<consulta>", opcionalmente restringindo com--owner <editor>para editores oficiais, p.ex. anthropics, openai, cursor, github, google, google-gemini, microsoft, vercel-labs, cloudflare, huggingface, awslabs. Isso precisa de acesso à internet; pule e avise se o ambiente estiver offline. - Considere também os repositórios oficiais dos fornecedores diretamente (p.ex. anthropics/skills, anthropics/claude-plugins-official, openai/skills, openai/plugins, cursor/plugins, github/awesome-copilot, google/skills, vercel-labs/agent-skills, huggingface/skills, microsoft/skills, cloudflare/skills). Verifique se um repositório é propriedade da organização do fornecedor antes de chamá-lo de oficial.
4. Filtro de qualidade (aplicar a cada candidato)
- Use
stars,pushed_at,archivedelicensedo snapshot, e atualize-os comgh api repos/<dono>/<repo>quando estiver online. - Prefira projetos conhecidos e ativamente mantidos. Descarte repositórios arquivados, aqueles sem atividade significativa em ~1 ano, e aqueles com muito poucas estrelas, a menos que nada melhor exista (então avise).
- Estrelas podem incluir repositórios antigos ou de brincadeira: ter estrela é um sinal de interesse, não de qualidade.
- Se nada nas estrelas ou catálogos oficiais se encaixar, avise e recorra a uma busca normal pela ferramenta padrão estabelecida. Nunca force um repositório com estrela.
5. Recomendar
- Dê 1 escolha principal mais até 2-3 alternativas. Para cada: nome com link, uma linha sobre o que faz, por que se encaixa nesta tarefa e restrições, estrelas e última atualização (diga se veio do snapshot ou de uma verificação ao vivo), e se veio das estrelas do usuário, de um catálogo oficial ou de busca geral.
- Não invente estrelas, datas ou funcionalidades; relate apenas o que você verificou.
- Instalar, favoritar ou alterar qualquer coisa requer autorização do usuário; esta skill é somente leitura por padrão.
Criar ou atualizar um snapshot (opcional)
python3 scripts/refresh_stars.py <login> escreve references/stars.csv e references/stars_by_list.md (somente leitura; precisa de gh logado; os nomes das listas de estrelas são preenchidos apenas quando gh está logado como <login>, caso contrário todo repositório fica como (unlisted)). Os valores existentes de description_ja são mantidos. Os dados são pessoais: mantenha-os fora de repositórios públicos (veja .gitignore) ou armazene-os em um repositório privado separado.