bug-hunter
Ajuda seu agente a achar e consertar erros em códigos de forma organizada. Ele rastreia os problemas até a origem e evita que voltem.
O que ela faz
Esta ferramenta ajuda a encontrar e consertar erros em códigos de computador. Ela segue pistas para descobrir a causa do problema, corrige-o e garante que ele não volte.
Quando usar
- ✓Quando algo no programa não funciona como deveria.
- ✓Se você receber uma mensagem de erro estranha.
- ✓Quando o programa se comporta de forma inesperada.
Exemplo do que pedir para a IA
“Encontrei um erro no meu site, você pode me ajudar a descobrir o que está errado?”
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 primeiro tenta fazer o erro acontecer de propósito para entender o que está acontecendo. Depois, ela coleta informações, como mensagens de erro e registros, para adivinhar a causa e testar essa suposição.
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 sickn33/agentic-awesome-skills --skill bug-hunterOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/bug-hunter/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.
Caçador de Bugs
Caçe e corrija bugs sistematicamente usando técnicas de depuração comprovadas. Sem adivinhações — siga as evidências.
Quando Usar Esta Habilidade
- O usuário relata um bug ou erro
- Algo não está funcionando como esperado
- O usuário diz "corrija o bug" ou "depure isso"
- Falhas intermitentes ou comportamento estranho
- Problemas de produção precisam de investigação
O Processo de Depuração
1. Reproduzir o Bug
Primeiro, faça com que ele aconteça consistentemente:
1. Get exact steps to reproduce
2. Try to reproduce locally
3. Note what triggers it
4. Document the error message/behavior
5. Check if it happens every time or randomly
Se você não conseguir reproduzir, colete mais informações:
- Qual ambiente? (dev, staging, prod)
- Qual navegador/dispositivo?
- Quais ações do usuário o precederam?
- Existem logs de erro?
2. Coletar Evidências
Reúna todas as informações disponíveis:
Verificar logs:
# Application logs
tail -f logs/app.log
# System logs
journalctl -u myapp -f
# Browser console
# Open DevTools → Console tab
Verificar mensagens de erro:
- Rastreamento de pilha completo (stack trace)
- Tipo e mensagem de erro
- Números de linha
- Carimbo de data/hora
Verificar estado:
- Quais dados estavam sendo processados?
- O que o usuário estava tentando fazer?
- O que há no banco de dados?
- O que há no armazenamento local/cookies?
3. Formular uma Hipótese
Com base nas evidências, adivinhe o que está errado:
"The login times out because the session cookie
expires before the auth check completes"
"The form fails because email validation regex
doesn't handle plus signs"
"The API returns 500 because the database query
has a syntax error with special characters"
4. Testar a Hipótese
Prove ou desprove sua suposição:
Adicionar logs:
console.log('Before API call:', userData);
const response = await api.login(userData);
console.log('After API call:', response);
Usar depurador (debugger):
debugger; // Execution pauses here
const result = processData(input);
Isolar o problema:
// Comment out code to narrow down
// const result = complexFunction();
const result = { mock: 'data' }; // Use mock data
5. Encontrar a Causa Raiz
Rastreie até o problema real:
Causas raiz comuns:
- Valores nulos/indefinidos (null/undefined)
- Tipos de dados incorretos
- Condições de corrida (race conditions)
- Falta de tratamento de erros
- Lógica incorreta
- Erros de "um a mais" (off-by-one errors)
- Problemas com async/await
- Falta de validação
Exemplo de rastreamento:
Symptom: "Cannot read property 'name' of undefined"
↓
Where: user.profile.name
↓
Why: user.profile is undefined
↓
Why: API didn't return profile
↓
Why: User ID was null
↓
Root cause: Login didn't set user ID in session
6. Implementar Correção
Corrija a causa raiz, não o sintoma:
Correção ruim (sintoma):
// Just hide the error
const name = user?.profile?.name || 'Unknown';
Boa correção (causa raiz):
// Ensure user ID is set on login
const login = async (credentials) => {
const user = await authenticate(credentials);
if (user) {
session.userId = user.id; // Fix: Set user ID
return user;
}
throw new Error('Invalid credentials');
};
7. Testar a Correção
Verifique se realmente funciona:
1. Reproduce the original bug
2. Apply the fix
3. Try to reproduce again (should fail)
4. Test edge cases
5. Test related functionality
6. Run existing tests
8. Prevenir Regressão
Adicione um teste para que ele não volte:
test('login sets user ID in session', async () => {
const user = await login({ email: 'test@example.com', password: 'pass' });
expect(session.userId).toBe(user.id);
expect(session.userId).not.toBeNull();
});
Técnicas de Depuração
Busca Binária
Corte o espaço do problema pela metade repetidamente:
// Does the bug happen before or after this line?
console.log('CHECKPOINT 1');
// ... code ...
console.log('CHECKPOINT 2');
// ... code ...
console.log('CHECKPOINT 3');
Depuração com Pato de Borracha (Rubber Duck Debugging)
Explique o código linha por linha em voz alta. Frequentemente, você identificará o problema enquanto explica.
Depuração por Impressão (Print Debugging)
console.logs estratégicos:
console.log('Input:', input);
console.log('After transform:', transformed);
console.log('Before save:', data);
console.log('Result:', result);
Depuração por Diferença (Diff Debugging)
Compare o que funciona com o que está quebrado:
- O que mudou recentemente?
- O que é diferente entre os ambientes?
- O que é diferente nos dados?
Depuração com Viagem no Tempo (Time Travel Debugging)
Use o git para descobrir quando quebrou:
git bisect start
git bisect bad # Commit atual está quebrado
git bisect good abc123 # Este commit antigo funcionava
…
Perguntas frequentes
O que é um 'bug'?
Um 'bug' é um erro ou falha em um programa de computador que faz com que ele não funcione corretamente.
Como a ferramenta encontra a causa do erro?
Ela usa técnicas como seguir os passos que causam o erro, analisar mensagens de erro e registros, e testar hipóteses para encontrar a origem do problema.
O que significa 'prevenir regressão'?
Significa garantir que o erro corrigido não apareça novamente no futuro, geralmente adicionando um teste para verificar se a correção funciona.
Detalhes
Descrição original do autor
Systematically finds and fixes bugs using proven debugging techniques. Traces from symptoms to root cause, implements fixes, and prevents regression.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #2463
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
cpp-testing
Faz seu agente escrever e melhorar testes para código C++. Ajuda a configurar ferramentas de teste e a corrigir erros.
affaan-m/ECC
csharp-testing
Ajuda seu agente a criar testes para código C# e .NET. Ele usa as melhores práticas para garantir que os testes sejam eficientes e confiáveis.
affaan-m/ECC
django-tdd
Faz seu agente aplicar estratégias de teste para Django com pytest-django e TDD. É útil para escrever testes robustos e garantir a qualidade do código, especialmente para APIs DRF.
affaan-m/ECC