diagnosing-bugs
Ajuda seu agente a encontrar e consertar erros difíceis em código. É útil quando algo não funciona como esperado ou está lento. Isso garante que o software funcione corretamente.
O que ela faz
Esta ferramenta ajuda a encontrar a causa de erros difíceis em programas de computador. Ela cria um ciclo de testes que mostra claramente quando o erro acontece, facilitando a sua correção.
Quando usar
- ✓Quando um programa apresenta um erro inesperado.
- ✓Quando um programa está mais lento do que o normal.
- ✓Quando algo no programa não funciona como deveria.
Exemplo do que pedir para a IA
“Diagnostique por que meu código está falhando quando tento fazer login.”
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
Primeiro, ela cria um teste rápido que falha exatamente quando o erro ocorre. Depois, ela simplifica o problema ao mínimo necessário para o erro aparecer. Por fim, ela sugere possíveis causas para o erro.
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 diagnosing-bugsOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/diagnosing-bugs/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.
Diagnóstico de Bugs
Quando Usar
Use quando este fluxo de trabalho corresponder à solicitação do usuário: Use esta habilidade para seu fluxo de trabalho documentado.
Fonte: mattpocock/skills (MIT).
Uma disciplina para bugs difíceis. Pule fases apenas quando explicitamente justificado.
Ao explorar a base de código, leia CONTEXT.md (se existir) para obter um modelo mental claro dos módulos relevantes e verifique os ADRs na área que você está acessando.
Fase 1 — Construir um loop de feedback
Esta é a habilidade. Todo o resto é mecânico. Se você tiver um sinal apertado de sucesso/falha para o bug — um que fica vermelho neste bug — você encontrará a causa; bisseção, teste de hipóteses e instrumentação apenas o consomem. Se você não tiver um, nenhuma quantidade de análise de código o salvará.
Dedique um esforço desproporcional aqui. Seja agressivo. Seja criativo. Recuse-se a desistir.
Maneiras de construir um — tente-os nesta ordem aproximada
- Teste com falha em qualquer ponto de junção que alcance o bug — unitário, de integração, e2e.
- Script Curl / HTTP contra um servidor de desenvolvimento em execução.
- Invocação de CLI com uma entrada de "fixture" (exemplo fixo), comparando a saída padrão com um "snapshot" conhecido.
- Script de navegador sem cabeça (Playwright / Puppeteer) — controla a interface do usuário, afirma sobre DOM/console/rede.
- Reproduzir um trace capturado. Salve uma solicitação de rede real / payload / log de eventos em disco; reproduza-o através do caminho do código isoladamente.
- "Throwaway harness" (ferramenta descartável). Inicie um subconjunto mínimo do sistema (um serviço, dependências mockadas) que exercite o caminho do código do bug com uma única chamada de função.
- Loop de propriedade / fuzzing. Se o bug for "saída às vezes errada", execute 1000 entradas aleatórias e procure o modo de falha.
- "Bisection harness" (ferramenta de bisseção). Se o bug apareceu entre dois estados conhecidos (commit, conjunto de dados, versão), automatize "iniciar no estado X, verificar, repetir" para que você possa
git bisect run. - Loop diferencial. Execute a mesma entrada através da versão antiga vs. nova (ou duas configurações) e compare as saídas.
- Script bash HITL (Humano na Linha de Comando). Último recurso. Se um humano precisar clicar, guie-o com
scripts/hitl-loop.template.shpara que o loop ainda seja estruturado. A saída capturada retorna para você.
Construa o loop de feedback correto e o bug estará 90% corrigido.
Aperte o loop
Trate o loop como um produto. Uma vez que você tenha um loop, aperte-o:
- Posso torná-lo mais rápido? (Cache de configuração, pular inicialização não relacionada, estreitar o escopo do teste.)
- Posso tornar o sinal mais nítido? (Afirmar sobre o sintoma específico, não "não travou".)
- Posso torná-lo mais determinístico? (Fixar tempo, semear RNG, isolar sistema de arquivos, congelar rede.)
Um loop instável de 30 segundos é pouco melhor do que nenhum loop; um loop determinístico de 2 segundos é apertado — um superpoder de depuração.
Bugs não determinísticos
O objetivo não é uma reprodução limpa, mas uma taxa de reprodução mais alta. Execute o gatilho em loop 100 vezes, paralelize, adicione estresse, estreite janelas de tempo, injete pausas. Um bug com 50% de instabilidade é depurável; 1% não é — continue aumentando a taxa até que seja depurável.
Quando você genuinamente não consegue construir um loop
Pare e diga isso explicitamente. Liste o que você tentou. Peça ao usuário: (a) acesso a qualquer ambiente que o reproduza, (b) um artefato capturado (arquivo HAR, dump de log, core dump, gravação de tela com timestamps), ou (c) permissão para adicionar instrumentação de produção temporária. Não prossiga para hipotetizar sem um loop.
Critério de conclusão — um loop apertado que fica vermelho
A Fase 1 é concluída quando o loop está apertado e capaz de ficar vermelho: você pode nomear um comando — um caminho de script, uma invocação de teste, um curl — que você já executou pelo menos uma vez (cole a invocação e sua saída), e que é:
- Capaz de ficar vermelho — ele controla o caminho real do código do bug e afirma o sintoma exato do usuário, para que possa ficar vermelho neste bug e verde assim que corrigido. Não "executa sem erros" — ele deve ser capaz de capturar este bug específico.
- Determinístico — o mesmo veredito a cada execução (bugs instáveis: uma taxa de reprodução alta e fixada, conforme acima).
- Rápido — segundos, não minutos.
- Executável pelo agente — você pode executá-lo sem supervisão; um humano no loop apenas via
scripts/hitl-loop.template.sh.
Se você se pegar lendo código para construir uma teoria antes que este comando exista, pare — pular direto para uma hipótese é a falha exata que esta habilidade evita. Sem comando capaz de ficar vermelho, sem Fase 2.
Fase 2 — Reproduzir + Minimizar
Execute o loop. Veja-o ficar vermelho — o bug aparece.
Confirme:
…
Perguntas frequentes
O que é um 'ciclo de feedback'?
É um teste que você pode executar repetidamente para ver se o erro ainda acontece. Ele precisa ser rápido e mostrar claramente se o erro está presente ou não.
E se o erro acontecer só de vez em quando?
A ferramenta tenta aumentar a chance do erro aparecer, repetindo o teste muitas vezes ou adicionando mais 'estresse' ao programa, até que ele seja fácil de reproduzir.
O que fazer se não conseguir criar um teste que mostre o erro?
A ferramenta sugere parar e pedir mais informações ao usuário, como acesso ao ambiente onde o erro ocorre ou arquivos de registro (logs).
Detalhes
Descrição original do autor
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #2841
- 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