Depuração (Debug)

Depuração sistemática de causa raiz. Use sempre que algo estiver quebrado, falhando, intermitente, lento ou 'estranho' — mensagens de erro, stack traces, CI com falha, 5xx em produção, Lambda expirando, erro no Terraform apply, pod em CrashLoopBackOff. Use antes de propor qualquer correção para que a correção atinja a causa, não o sintoma.

O que é Depuração (Debug)?

A habilidade 'Depuração (Debug)' fornece uma metodologia estruturada para diagnosticar e corrigir falhas de software, sistemas ou infraestrutura de forma sistemática, garantindo que a correção atinja a causa raiz em vez de um sintoma superficial. O usuário é guiado por um método de 7 etapas: capturar a falha exata (com logs completos e sem paráfrases), reproduzi-la de forma confiável, estabelecer o que mudou (via git log, deploys, atualizações de dependências), formular 2-3 hipóteses ranqueadas, testar uma hipótese por vez com alterações específicas e reversíveis, corrigir a causa raiz e, em seguida, adicionar um teste de regressão, e verificar a correção reproduzindo o cenário original. A habilidade também inclui uma tabela de verificação rápida baseada em sintomas comuns (ex.: 'Funciona localmente, falha no CI', 'Intermittente/Flaky', erros AWS AccessDenied, timeout em Lambda, erro do Terraform, pod do Kubernetes não pronto, 5xx após deploy), fornecendo os primeiros pontos de verificação. Regras essenciais reforçam práticas como ler logs antes do código, adicionar logging temporário e removê-lo antes de confirmar, evitar correções que ampliem permissões ou desabilitem verificação TLS, e documentar a causa, motivo de não ter sido detectada e como prevenir no futuro (incluindo no PR ou commit). A habilidade é compatível com qualquer plataforma onde o agente opera (CLI, IDE, terminal) e é projetada para ser usada antes de propor qualquer correção para garantir que o foco esteja na causa e não nos sintomas.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mdesoeuv/claude_skills/tree/HEAD/skills/debug

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

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

Documentação

Depuração

O erro caro é corrigir a primeira causa provável. Gaste os primeiros minutos estreitando, não remendando.

Método

  1. Capture a falha exata. Texto completo do erro, stack trace, código de saída, carimbos de data/hora, IDs de solicitação, o comando que foi executado. Coloque em um bloco de código. Erros parafraseados perdem o único token que importa.
  2. Reproduza-a. Encontre a menor e mais rápida maneira de acioná-la sob demanda. Se não conseguir reproduzir, diga e trabalhe a partir de logs; não adivinhe silenciosamente.
  3. Estabeleça o que mudou. git log --since, deploys recentes, atualizações de dependências, mudanças de configuração ou IAM, atualizações de provedor, certificado expirando. A maioria dos incidentes é uma mudança.
  4. Formule duas ou três hipóteses e classifique-as por probabilidade e por quão baratas são para verificar. Escreva-as antes de testar.
  5. Teste uma hipótese por vez com uma alteração que só importaria se essa hipótese for verdadeira. Reverta o que não ajudou; não acumule edições especulativas.
  6. Corrija a causa. Em seguida, escreva um teste de regressão que falhe sem a correção (veja a habilidade tdd).
  7. Verifique da mesma forma que reproduziu e execute o conjunto mais amplo.

Onde procurar, por sintoma

SintomaPrimeiras verificações
Funciona localmente, falha no CIvariáveis de ambiente, segredos, SO/arquitetura, versão do node/python, dependências em cache, fuso horário, diretório de trabalho
Intermitente / Flakyestado compartilhado entre testes, tempo, ordenação, rede, novas tentativas escondendo falhas reais
AWS AccessDeniedqual principal (aws sts get-caller-identity), política de recurso vs política de identidade, SCPs, limite de permissão, política de chave KMS, região
Lambda timeout / cold startanexo VPC, DNS, inicialização fora do handler, tamanho da memória, latência a jusante no X-Ray
Erro do Terraformversão do provedor, deriva de estado (terraform plan -refresh-only), resquícios de -target, arquivo de bloqueio
Pod do Kubernetes não prontokubectl describe pod, eventos, sondas, limites de recursos, pull de imagem, montagens de segredo/configmap
5xx após deploycomparar imagem/commit anterior, caminho da verificação de saúde, diferenças de ambiente/config, ordem de migração do DB

Regras

  • Leia os logs antes de ler o código. Logs informam onde; código informa por quê.
  • Adicione logging temporário se necessário e remova-o antes de confirmar.
  • Nunca 'corrija' ampliando permissões, desabilitando verificação TLS, capturando e engolindo exceções ou adicionando novas tentativas sem entender o que está sendo repetido.
  • Quando corrigir, escreva em um parágrafo: causa, por que não foi detectado, o que impede a próxima vez. Esse parágrafo vai no PR ou no corpo do commit.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Habilidades Relacionadas