Skill de API do GitHub Project & Contributor Finder
📖 Breve
Esta skill utiliza a API do GitHub Project & Contributor Finder da BrowserAct para extrair detalhes de projetos e informações de contato de contribuidores do GitHub. Basta fornecer palavras-chave, um número mínimo de estrelas e um filtro de data de atualização — o BrowserAct percorre os resultados da pesquisa, extrai métricas do repositório e busca perfis detalhados dos contribuidores, retornando tudo diretamente via API, sem a necessidade de construir scripts de crawling ou lidar com limites de taxa.
✨ Funcionalidades
- Sem alucinações: Fluxos de trabalho pré-definidos evitam alucinações generativas de IA, garantindo extração de dados estável e precisa.
- Sem problemas de captcha: Não há necessidade de lidar com reCAPTCHA ou outros desafios de verificação.
- Sem restrições de IP: Não há necessidade de lidar com restrições regionais de IP ou geofencing.
- Execução mais rápida: As tarefas são executadas mais rapidamente em comparação com soluções de automação de navegador puramente orientadas por IA.
- Custo-benefício: Reduz significativamente os custos de aquisição de dados em comparação com soluções de IA que consomem muitos tokens.
🔑 Configuração da Chave de API
Antes de executar, verifique a variável de ambiente BROWSERACT_API_KEY. Se não estiver definida, não tome outras medidas; pergunte e aguarde o usuário fornecê-la.
O agente deve informar o usuário:
"Como você ainda não configurou a chave da API do BrowserAct, por favor, visite o Console do BrowserAct para obter sua chave."
🛠️ Parâmetros de Entrada
O agente deve configurar flexivelmente os seguintes parâmetros com base nas necessidades do usuário:
-
KeyWords
- Tipo:
string - Descrição: Palavras-chave para pesquisar repositórios.
- Exemplo:
browser automation,react framework,machine learning - Padrão:
browser automation
- Tipo:
-
stars
- Tipo:
number - Descrição: Número mínimo de estrelas que o repositório deve ter.
- Exemplo:
100,1000 - Padrão:
100
- Tipo:
-
updated
- Tipo:
string - Descrição: Filtra repositórios pela data da última atualização (formato:
YYYY-MM-DD). - Exemplo:
2026-01-01,2025-06-01 - Padrão:
2026-01-01
- Tipo:
-
Page_Turns
- Tipo:
number - Descrição: Número de páginas de resultados da pesquisa a percorrer. Por exemplo, se houver 39 páginas e você quiser as primeiras 2, insira
2. - Exemplo:
1,2 - Padrão:
1
- Tipo:
-
date_limit_per_page
- Tipo:
number - Descrição: Número de itens de dados a extrair por página na lista de resultados da pesquisa.
- Exemplo:
5,10 - Padrão:
5
- Tipo:
🚀 Método de Invocação
O agente deve executar o seguinte comando para invocar a skill:
# Exemplo de invocação (todos os parâmetros)
python -u ./scripts/github_project_contributor_finder_api.py "browser automation" 100 "2026-01-01" 1 5
# Invocação mínima (apenas palavras-chave, outros usam padrões)
python -u ./scripts/github_project_contributor_finder_api.py "react framework"
⏳ Monitoramento da Execução
Como esta tarefa envolve operações automatizadas do navegador, pode levar vários minutos. O script gera logs de status com timestamp continuamente (por exemplo, [14:30:05] Task Status: running).
Diretrizes para o agente:
- Monitore a saída do terminal enquanto aguarda.
- Enquanto novos logs de status aparecerem, a tarefa está em execução normal; não a julgue como congelada.
- Considere acionar uma nova tentativa apenas se o status permanecer inalterado por muito tempo ou a saída parar sem um resultado final.
📊 Saída de Dados
Após a execução bem-sucedida, o script analisa e imprime os resultados estruturados da resposta da API.
Campos do Projeto:
repository_name: O nome do repositório do GitHub.repository_url: O link URL para o repositório.repository_owner_name: O proprietário/criador do repositório.repository_description: Uma breve descrição do repositório.star_count: O número de estrelas que o repositório recebeu.
Campos do Contribuidor:
user_name: O nome de usuário do GitHub do contribuidor.profile_url: O link URL para o perfil do contribuidor.bio: A biografia ou breve descrição do contribuidor.repositories_summary: Um resumo de outros repositórios de propriedade do contribuidor.personal_website: O link do site pessoal do contribuidor.twitter: O identificador do Twitter do contribuidor.
⚠️ Tratamento de Erros e Nova Tentativa
Se ocorrer um erro durante a execução do script (por exemplo, flutuações de rede ou falha na tarefa), o agente deve seguir esta lógica:
-
Verifique o Conteúdo de Saída:
- Se a saída contiver
"Invalid authorization", significa que a chave da API é inválida ou expirou. Não tente novamente; oriente o usuário a verificar e fornecer a chave correta da API. - Se a saída contiver
"concurrent"ou"too many running tasks", significa que o limite de tarefas simultâneas foi atingido. Não tente novamente; oriente o usuário a atualizar seu plano. O agente deve informar o usuário:"A tarefa atual não pode ser executada porque sua conta do BrowserAct atingiu o limite de tarefas simultâneas. Por favor, visite a Página de Atualização de Plano do BrowserAct para atualizar seu plano."
- Se a saída não contiver as palavras-chave de erro acima mas a tarefa falhou (por exemplo, a saída começa com
Error:ou retorna resultados vazios), o agente deve executar automaticamente o script novamente uma vez.
- Se a saída contiver
-
Limite de Novas Tentativas:
- A nova tentativa automática é limitada a uma vez. Se a segunda tentativa falhar, pare de tentar e relate o erro específico ao usuário.
🌟 Casos de Uso Típicos
- Recrutamento Técnico: Reúna perfis e links sociais de contribuidores de repositórios populares para construir pipelines de candidatos.
- Descoberta de Código Aberto: Pesquise repositórios em alta por palavras-chave e contagem de estrelas para encontrar projetos valiosos.
- Divulgação para Desenvolvedores: Colete sites pessoais e identificadores do Twitter de contribuidores ativos para marketing de ferramentas de desenvolvedor.
- Construção de Comunidade: Identifique e conecte-se com contribuidores de código aberto ativos em domínios específicos.
- Análise de Concorrentes: Monitore quais desenvolvedores contribuem para projetos concorrentes.
- Busca de Parcerias: Encontre proprietários de repositórios para potencial colaboração ou patrocínio.
- Pesquisa de Mercado: Analise métricas e descrições de repositórios para entender tendências tecnológicas.
- Geração de Leads: Gere leads segmentados para ferramentas de desenvolvedor, encontrando projetos com pilhas tecnológicas relevantes.
- Pesquisa Acadêmica: Descubra repositórios atualizados recentemente em áreas de pesquisa específicas.
- Mapeamento de Talentos: Construa um banco de dados de desenvolvedores qualificados com base em suas contribuições e perfis no GitHub.