What problem does it solve? Tracebacks and print statements often fail to reveal why a value is wrong, especially in long-running processes, subprocesses, or tests that only fail under specific conditions. This Skill provides structured recipes for interactive Python debugging with pdb and remote debugging with debugpy. ## Core Features & Use Cases - Local pdb debugging: Insert breakpoint() for an interactive REPL, launch scripts under python -m pdb, or drop into pdb on pytest failures with --pdb. - Post-mortem inspection: Catch exceptions and inspect locals at the crash frame using pdb.post_mortem or a custom sys.excepthook. - Remote debugging with debugpy: Attach to already-running processes via DAP, inject into a PID, or use remote-pdb for a terminal-friendly pdb session over a socket. - Use Case: A gateway subprocess misbehaves and cannot be restarted cleanly. Add remote_pdb.set_trace() in the suspect handler, trigger it, then connect with nc 127.0.0.1 4444 to inspect the live stack. ## Quick Start Add a breakpoint() call at the suspect line in my Python file and walk me through inspecting the variables when execution pauses there.