debugging
Faz seu agente investigar e corrigir erros em qualquer tipo de código ou programa. Ajuda a encontrar a causa de falhas, lentidão ou comportamentos inesperados.
O que ela faz
Esta ferramenta ajuda a encontrar e corrigir erros em programas de computador. Ela funciona investigando o comportamento real do programa para descobrir a causa do problema, em vez de apenas adivinhar com base no código.
Quando usar
- ✓Quando um programa trava inesperadamente.
- ✓Quando um programa não funciona como deveria, mas não mostra um erro claro.
- ✓Quando um programa está lento ou não responde.
Exemplo do que pedir para a IA
“Meu programa Python trava quando tento salvar um arquivo, pode me ajudar a descobrir por quê?”
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 verifica como o programa se comporta em tempo real para entender o problema. Depois, ela usa guias específicos para a linguagem ou tipo de programa para encontrar a solução exata e garante que o erro não volte a acontecer.
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 code-yeongyu/oh-my-openagent --skill debuggingOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/dev/packages/shared-skills/skills/debugging/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.
Depuração
Você é um depurador baseado em hipóteses. Duas disciplinas se aplicam independentemente da linguagem, tempo de execução ou se você tem o código-fonte:
- A verdade do tempo de execução supera a leitura do código. Toda afirmação sobre por que o bug acontece deve vir do estado observado — nunca de uma história plausível criada a partir da leitura do código.
- Não deixe rastros. A depuração cria artefatos. Cada artefato é registrado e removido antes que você considere a tarefa concluída.
O restante deste arquivo é um mapa. O conhecimento está em references/. Este arquivo não pode ensinar você a depurar — ele só pode dizer qual referência, para sua situação exata, o fará.
🚨 LEIA AS REFERÊNCIAS. ISSO NÃO É OPCIONAL.
Esta habilidade é intencionalmente pequena. Noventa por cento do que você precisa saber está em
references/. Se você ler este arquivo superficialmente e começar a trabalhar sem abrir as referências, você anexará um depurador da maneira errada, perderá um padrão de falha silenciosa que nunca viu antes, perderá uma hora em um detalhe de source-map, ou inventará uma versão pior de uma ferramenta que já resolve seu problema.Cada referência abaixo é obrigatória quando seu cenário se aplica. "Eu conheço esta linguagem" não é uma isenção. As referências existem porque cada tempo de execução e cada ferramenta especializada tem pelo menos um detalhe que desperdiça horas silenciosamente, e você não saberá qual detalhe até ler o arquivo.
A regra de acesso: antes de executar um comando do domínio de uma determinada referência, você deve ter lido essa referência nesta sessão. Relê-la entre sessões é barato. Adivinhar é caro.
Configuração do Tempo de Execução — LEITURA OBRIGATÓRIA ANTES DE CONECTAR
A metodologia é agnóstica à linguagem. Os comandos para iniciar, conectar, definir breakpoints e inspecionar não são. Abra a referência correspondente antes da Fase 0. Não durante. Não depois.
| Seu tempo de execução é… | Abra isto antes de conectar qualquer coisa | Não negociável porque… |
|---|---|---|
| Python (CPython, pytest, asyncio, Django, FastAPI) | 📖 references/runtimes/python.md | pdb vs ipdb vs debugpy vs pytest --pdb todos têm semânticas de conexão diferentes. Código assíncrono precisa de tratamento especial de breakpoints. Wrappers como poetry run engolem flags. |
| Node.js / tsx / ts-node / Bun / Deno (executando código-fonte) | 📖 references/runtimes/node.md | tsx + node inspect CLI tem uma falha silenciosa de source-map — breakpoints por número de linha não disparam. Você não notará a menos que leia isto primeiro. |
| Rust (cargo, tokio, panics) | 📖 references/runtimes/rust.md | Compilações de release removem símbolos. Tarefas Tokio precisam de tokio-console. O borrow checker torna dbg! a ferramenta mais rápida na maioria das vezes. |
| Go (goroutines, dlv, pprof, race) | 📖 references/runtimes/go.md | Vazamentos de goroutine e panics recuperados são silenciosos por padrão. dlv tem uma convenção de porta específica. go test -race é a primeira coisa a executar, não a última. |
| Binário nativo / C/C++ com símbolos removidos / sem código-fonte | 📖 references/runtimes/native-binary.md | O fluxo de trabalho (triagem → dinâmico → estático → repro scriptado) é contraintuitivo se você nunca o fez. strings -n 8 descarta silenciosamente interpolações curtas como ${x} — leia bytes diretamente para qualquer extração que importe. macOS adiciona especificidades de SIP / Mach-O / lldb que não se aplicam no Linux. |
| Binário de aplicativo empacotado (Bun SEA, Node SEA, Deno compile, pkg, nexe, Electron, Tauri, PyInstaller) | 📖 references/runtimes/bundled-js-binary.md | Estes parecem Mach-O / ELF, mas seu código-fonte de alto nível é recuperável com a ferramenta certa por empacotador — Ghidra é exagero. A realidade do formato do código-fonte varia: Bun/pkg/nexe/Electron-asar geralmente são texto puro; Node SEA com code-cache, PyInstaller .pyc e Deno eszip precisam de ferramentas extras; o núcleo Rust do Tauri ainda precisa de native-binary.md. Fluxo de trabalho: identificar empacotador → localizar pacote → extrair com a ferramenta específica do empacotador → grep. |
Se você não pode dizer honestamente que acabou de abrir a referência para o seu tempo de execução, abra-a agora.
🚨 Binário nativo vs. binário empacotado — verifique antes de se comprometer:
file ./targetos chama de Mach-O / ELF. O discriminador de 30 segundos édu -h ./target(suspeito de empacotado com 50 MB+) maisstrings -n 12 ./target | rg -iE 'bun|node_modules|webpack|esbuild|deno|pkg/lib|electron|pyinstaller|nexe|NODE_SEA_FUSE|tauri'. Se houver resultados → bundled-js-binary.md. Se limpo → native-binary.md.
…
Perguntas frequentes
Preciso saber programar para usar isso?
Não é preciso ser um expert, mas ter uma noção básica do que o programa deveria fazer ajuda bastante a identificar o problema.
Funciona para qualquer tipo de programa?
Sim, ela tem guias para várias linguagens de programação e tipos de programas, incluindo aqueles sem código-fonte visível.
O que são 'referências'?
São guias detalhados que explicam como usar ferramentas específicas para cada tipo de problema ou linguagem de programação. É importante consultá-los antes de começar.
Detalhes
Descrição original do autor
Runs a hypothesis-driven debugging loop across any language or binary, escalating to orthogonal oracle angles and locking the fix with a failing test. Use for crashes, silent failures, hangs, wrong responses, memory leaks, async misbehavior, or reverse engineering.
Popularidade
- Estrelas no GitHub
- 70 mil
- Posição no ranking
- #1737
- Licença
- NOASSERTION
- Atualizada em
- 16/10/2026
Comentários
- …
Mais skills deste repositório
comment-checker
Ajuda seu agente a entender e responder a feedbacks de verificadores automáticos de comentários. É útil quando o agente precisa processar informações de ferramentas que revisam automaticamente o código ou o conteúdo.
code-yeongyu/oh-my-openagent
lcx-contribute-bug-fix
Ajuda seu agente a contribuir com correções de bugs para projetos relacionados ao LazyCodex. Ele cria issues ou pull requests para garantir a qualidade do código.
code-yeongyu/oh-my-openagent
lcx-doctor
Faz seu agente verificar a saúde da instalação do LazyCodex e Codex CLI. É útil quando o sistema se comporta de forma estranha após atualizações ou mudanças.
code-yeongyu/oh-my-openagent
lcx-report-bug
Ajuda seu agente a reportar bugs de forma detalhada em projetos do LazyCodex. Ele cria issues com informações úteis para os desenvolvedores corrigirem o problema.
code-yeongyu/oh-my-openagent
Skills parecidas
benchmark-optimization-loop
Faz seu agente melhorar a velocidade de algo de forma medida. Ele testa várias versões e escolhe a mais rápida que ainda funciona corretamente.
affaan-m/ECC
change-impact
Ajuda seu agente a analisar o impacto de mudanças no código antes de fazê-las. Ele compara o planejado com o real depois, cobrindo caminhos, dados, testes e documentação. É útil para mudanças arriscadas ou que afetam várias partes do sistema.
affaan-m/ECC
click-path-audit
Faz seu agente rastrear todos os botões e interações do usuário para achar bugs. Ele encontra problemas onde funções parecem funcionar sozinhas, mas falham juntas. Útil quando bugs persistem mesmo após depuração.
affaan-m/ECC