Use when adding new error messages to React, or seeing "unknown error code" warnings.
npx skills add trotsky1997/My-Claude-Agent-Skills --skill "python-debugging"
Install specific skill from multi-skill repository
# Description
Toolkit for AI agents to debug Python code autonomously without IDE support. Use when agent needs to debug code, insert breakpoints programmatically, analyze execution state, test hypotheses, or automate debugging workflows. Supports pdb, ipdb, debugpy with programmatic breakpoint insertion, conditional breakpoints, AST-based breakpoint suggestions, and automated debugging workflows for agents.
# SKILL.md
name: python-debugging
description: Toolkit for AI agents to debug Python code autonomously without IDE support. Use when agent needs to debug code, insert breakpoints programmatically, analyze execution state, test hypotheses, or automate debugging workflows. Supports pdb, ipdb, debugpy with programmatic breakpoint insertion, conditional breakpoints, AST-based breakpoint suggestions, and automated debugging workflows for agents.
metadata:
short-description: Agent autonomous Python debugging - programmatic breakpoints, execution analysis
Python Debugging Skill
Toolkit for AI agents to debug Python code autonomously without IDE dependencies. Enables agents to programmatically insert breakpoints, analyze execution state, test hypotheses, and automate debugging workflows.
Agent Debugging Workflow
When debugging code, agents should:
- Analyze code structure - Use AST to identify key locations
- Insert breakpoints programmatically - Add breakpoints to inspect state
- Execute and inspect - Run code, check variables at breakpoints
- Test hypotheses - Evaluate expressions, modify variables
- Clean up - Remove breakpoints after debugging
Quick Debugging Workflow
# 1. Agent analyzes code and suggests breakpoints
python scripts/smart_breakpoint_suggester.py script.py --only functions --max 3
# 2. Agent inserts breakpoints at key locations
python scripts/insert_breakpoint.py script.py --line 10 --method pdb
# 3. Agent runs code and captures output/variables
python script.py > debug_output.txt 2>&1
# 4. Agent analyzes output and determines next steps
# 5. Agent cleans up breakpoints
python scripts/insert_breakpoint.py script.py --remove-all
Core Workflows
1. Debugging New Code
Workflow:
- Get smart suggestions for breakpoint locations
- Insert breakpoints at suggested locations
- Run debugging session
- Clean up breakpoints
Commands:
# Get suggestions
python scripts/smart_breakpoint_suggester.py script.py --only functions --max 3
# Insert breakpoints
python scripts/insert_breakpoint.py script.py --line 10 --method pdb
python scripts/insert_breakpoint.py script.py --line 25 --method pdb
# Run debugging
python script.py
# Clean up
python scripts/insert_breakpoint.py script.py --remove-all
2. Hypothesis Testing
Agent tests specific conditions or hypotheses using conditional breakpoints.
Agent Workflow:
1. Form hypothesis (e.g., "error occurs when x > 100")
2. Insert conditional breakpoint with hypothesis condition
3. Run code - only pauses when condition is true
4. Inspect state when condition is met
5. Validate or refute hypothesis
Example:
# Agent hypothesizes: "Bug occurs when count > 100"
python scripts/conditional_breakpoint.py script.py --line 15 --condition "count > 100"
# Agent runs code - only pauses when condition is true
python script.py # Only pauses when count > 100
# Agent inspects: (Pdb) p count, p items, pp locals()
# Agent validates hypothesis and fixes code
3. Automated Code Analysis
Agent uses AST-based analysis to automatically identify debugging points.
Agent Workflow:
1. Analyze code structure using AST
2. Identify key locations (function entries, loops, conditionals)
3. Insert breakpoints at strategic locations
4. Run code and collect state information
5. Analyze collected data to find issues
Example:
# Agent analyzes code structure
python scripts/smart_breakpoint_suggester.py script.py --only functions loops --max 5
# Agent automatically inserts breakpoints at suggested locations
python scripts/auto_debug_assistant.py script.py --focus functions --max-breakpoints 3
# Agent collects execution state at each breakpoint
# Agent analyzes collected data to identify issues
Available Tools
scripts/insert_breakpoint.py
Insert, remove, and list breakpoints in Python code.
Usage:
# Insert breakpoint
python scripts/insert_breakpoint.py script.py --line 10 --method pdb
# Remove breakpoint
python scripts/insert_breakpoint.py script.py --line 10 --remove
# List all breakpoints
python scripts/insert_breakpoint.py script.py --list
# Remove all breakpoints
python scripts/insert_breakpoint.py script.py --remove-all
Supported debuggers: pdb, ipdb, debugpy
scripts/conditional_breakpoint.py
Insert conditional breakpoints that only pause when conditions are met.
Usage:
# Conditional breakpoint
python scripts/conditional_breakpoint.py script.py --line 10 --condition "x > 100"
# List conditional breakpoints
python scripts/conditional_breakpoint.py script.py --list
Examples:
"x > 100"- Only pause when x exceeds 100"i == 10"- Only pause on 10th iteration"x > 100 and y < 50"- Complex conditions
scripts/smart_breakpoint_suggester.py
AI analyzes code structure and suggests optimal breakpoint locations.
Usage:
# Get all suggestions
python scripts/smart_breakpoint_suggester.py script.py
# Only function entries
python scripts/smart_breakpoint_suggester.py script.py --only functions
# Functions and loops
python scripts/smart_breakpoint_suggester.py script.py --only functions loops --max 5
Suggestion types:
functions- Function entry pointsloops- Loop start positionsconditionals- If/elif/else branchesexceptions- Try/except blocksreturns- Return statementsassignments- Key variable assignments
scripts/auto_debug_assistant.py
Automated debugging assistant that completes entire debugging workflow.
Usage:
# Auto debug with smart suggestions
python scripts/auto_debug_assistant.py script.py
# Focus on specific code structures
python scripts/auto_debug_assistant.py script.py --focus functions
# Quick debug at line
python scripts/auto_debug_assistant.py script.py --quick 10
# More breakpoints
python scripts/auto_debug_assistant.py script.py --max-breakpoints 5
Debugger Commands
Once in debugger (pdb/ipdb), use these commands:
Execution Control
n(next) - Execute next lines(step) - Step into functionc(continue) - Continue to next breakpointq(quit) - Quit debugger
Inspection
p <variable>- Print variable valuepp <variable>- Pretty print variablel(list) - Show current codew(where) - Show call stacku(up) - Move up call stackd(down) - Move down call stack
Expressions
- Direct variable access - Type variable name to see value
- Python expressions - Execute any Python code
- Modify variables -
x = 100to change values - Import modules -
import os; os.getcwd()
Agent Debugging Patterns
Pattern 1: Error Location Debugging
When: Agent encounters error traceback
Agent Steps:
1. Identify error line from traceback
2. Insert breakpoint before error location
3. Run code and inspect variables at breakpoint
4. Determine root cause
5. Fix code and remove breakpoint
# Error at line 25: ZeroDivisionError
# Agent inserts breakpoint before error
python scripts/insert_breakpoint.py script.py --line 24 --method pdb
python script.py
# (Pdb) p divisor # Agent finds divisor is 0
# Agent fixes: add zero check before division
Pattern 2: Hypothesis Testing
When: Agent suspects specific condition causes issue
Agent Steps:
1. Form hypothesis (e.g., "error when count > 100")
2. Insert conditional breakpoint with hypothesis
3. Run code - only pauses when hypothesis is true
4. Inspect state to validate/refute hypothesis
# Agent hypothesizes: "Bug occurs when items > 100"
python scripts/conditional_breakpoint.py script.py --line 15 --condition "len(items) > 100"
python script.py # Only pauses when condition met
# Agent validates hypothesis and fixes code
Pattern 3: Systematic Code Analysis
When: Agent needs to understand code flow or find issues
Agent Steps:
1. Analyze code structure with AST
2. Get suggestions for key locations
3. Insert breakpoints at strategic points
4. Run and collect state information
5. Analyze collected data
# Agent systematically analyzes code
python scripts/auto_debug_assistant.py script.py --focus functions --max-breakpoints 5
# Agent collects execution state at each breakpoint
# Agent identifies issues from collected data
Pattern 4: Auto Debug Workflow
# AI automatically completes debugging workflow
python scripts/auto_debug_assistant.py script.py
# AI will:
# 1. Analyze code structure
# 2. Suggest breakpoint locations
# 3. Insert breakpoints
# 4. Run debugging
# 5. Clean up breakpoints
Debugger Selection for Agents
Agents should select debugger based on availability:
- Try
ipdbfirst - Better experience if available - Fallback to
pdb- Always available (built-in) - Use
debugpy- Only if remote debugging needed
Agent Logic:
# Agent checks for ipdb, falls back to pdb
try:
import ipdb
debugger_method = 'ipdb'
except ImportError:
debugger_method = 'pdb' # Always available
Recommendation: Always default to pdb for maximum compatibility.
References
See references/debugging-guide.md for:
- Detailed debugging workflows
- Advanced debugging patterns
- Performance debugging
- Debugging session recording
See references/debugger-commands.md for:
- Complete command reference
- Basic expression examples
- Debugger API details
See references/expression-guide.md for:
- Comprehensive expression usage guide for agents
- Hypothesis testing with expressions
- Agent debugging scenarios
- Advanced expression patterns
Important Notes for Agents
- Breakpoints modify code: Inserted as code statements, so line numbers shift after insertion
- Always clean up: Remove all breakpoints after debugging to restore original code
- Conditional expressions: Must be valid Python expressions that evaluate to boolean
- AST-based analysis: Smart suggestions work on any valid Python code structure
- Debugger availability: Auto assistant detects ipdb, falls back to pdb
- Non-interactive use: For automated workflows, capture debugger output via subprocess
- Error handling: Check if breakpoint insertion succeeded before running code
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.