What problem does it solve? Diagnosing why Python code fails is slow when tracebacks alone don't reveal wrong values, and long-running processes like daemons and gateways can't simply be restarted with a print statement. This Skill provides a decision framework and concrete recipes for interactive debugging with pdb, post-mortem analysis, and remote debugging of live processes via debugpy and remote-pdb. ## Core Features & Use Cases - Local debugging with pdb: Insert breakpoint() for an interactive REPL, launch scripts under python -m pdb without source edits, and use the full pdb command set (step, conditional breakpoints, interact mode). - Test and post-mortem debugging: Drop into pdb on pytest failures with --pdb, or catch any exception with pdb.post_mortem to inspect locals at the crash frame. - Remote debugging of running processes: Attach to long-lived processes (gateways, daemons, subprocess workers) using debugpy's DAP listener, PID injection, or the simpler remote-pdb over netcat. - Use Case: A gateway subprocess misbehaves in production-like conditions. Add remote_pdb.set_trace() at the suspect handler, trigger it, connect with nc 127.0.0.1 4444, and inspect the live call stack and variables without restarting anything. ## Quick Start Add a breakpoint() call at the suspicious line in my Python file and walk me through inspecting the variables when execution pauses there.