Pular para o conteúdo
Skillpedia
Código em geral70 mil · #1737

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

https://github.com/code-yeongyu/oh-my-openagent/blob/dev/packages/shared-skills/skills/debugging/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/code-yeongyu/oh-my-openagent/blob/dev/packages/shared-skills/skills/debugging/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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 debugging

Ou 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.md
Conteú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:

  1. 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.
  2. 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 ./target os chama de Mach-O / ELF. O discriminador de 30 segundos é du -h ./target (suspeito de empacotado com 50 MB+) mais strings -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.

repo: code-yeongyu/oh-my-openagent

Popularidade

Estrelas no GitHub
70 mil
Posição no ranking
#1737
Licença
NOASSERTION
Atualizada em
16/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas