bug-detective
This skill should be used when the user asks to "debug this", "fix this error", "investigate this bug", "troubleshoot this issue", "find the problem", "something is broken", "this isn't working", "why is this failing", or reports errors/exceptions/bugs. Provides systematic debugging workflow and com
By galaxy-dawn · 361 installs
npx skills add galaxy-dawn/claude-scholar --skill bug-detective
Source repository · Upstream listing
Bug Detective
A systematic debugging workflow for investigating and resolving code errors, exceptions, and failures. Provides structured debugging methods and common error pattern recognition.
Core Philosophy
Debugging is a scientific problem solving process that requires:
1. Understand the problem Clearly define symptoms and expected behavior
2. Gather evidence Collect error messages, logs, stack traces
3. Form hypotheses Infer possible causes based on evidence
4. Verify hypotheses Confirm or eliminate causes through experiments
5. Resolve the issue Apply fixes and verify
Debugging Workflow
Step 1: Understand the Problem
Before starting to debug, clarify the following information:
Required information to collect:
Complete error message content
Exact location of the error (filename and line number)
Reproduction steps (how to trigger the error)
Expected behavior vs actual behavior
Environment info (OS, versions, dependencies)
Question template:
Step 2: Analyze Error Type
Choose a debugging strategy based on error type:
Error Type Characteristics Debugging Method
Syntax Error Code cannot be parsed Check syntax, bracket matching, quotes
Import Error ModuleNotFoundError Check module installation, path config
Type Error TypeError Check data types, type conversions
Attribute Error AttributeError Check if object attribute exists
Key Error KeyError Check if dictionary key exists
Index Error IndexError Check list/array index range
Null Reference NoneType/NullPointerException Check if variable is None
Network Error ConnectionError/Timeout Check network connection, URL, timeout settings
Permission Error PermissionError Check file permissions, user permissions
Resource Error FileNotFoundError Check if file path exists
Step 3: Locate the Problem Source
Use the following methods to locate the issue:
1. Binary Search Method
Comment out half the code, check if the problem persists
Progressively narrow the scope until the problematic code is found
2. Log Tracing
Add print/logging statements at key locations
Track variable value changes
Confirm code execution path
3. Breakpoint Debugging
Use debugger breakpoint functionality
Step through code execution
Inspect variable state
4. Stack Trace Analysis
Find the call chain from the stack trace in the error message
Determine the direct cause of the error
Trace back to the root cause
Step 4: Form and Verify Hypotheses
Hypothesis framework:
Step 5: Apply Fix
After fixing, verify:
1. The original error is resolved
2. No new errors have been introduced
3. Related functionality still works correctly
4. Tests added to prevent regression
Python Common Error Patterns
1. Indentation Errors
2. Mutable Default Arguments
3. Closure Issues in Loops
4. Modifying a List While Iterating
5. Using is for String Comparison
6. Forgetting to Call super(). init ()
JavaScript/TypeScript Common Error Patterns
1. this Binding Issues
2. Async Error Handling
3. Object Reference Comparison
Bash/Zsh Common Error Patterns
1. Spacing Issues
2. Quoting Issues
3. Unquoted Variables
4. Variable Scope in Loops
5. Array Operations
6. String Comparison
7. Command Failure Continues Execution
Common Debugging Commands
Python pdb Debugger
Node.js Inspector
Git Bisect
Bash Debugging
Preventive Debugging
1. Use Type Checking
2. Input Validation
3. Defensive Programming
4. Logging
Debugging Checklist
Before Starting
[ ] Obtain the complete error message
[ ] Record the stack trace of the error
[ ] Confirm reproduction steps
[ ] Understand expected behavior
During Debugging
[ ] Check recent code changes
[ ] Use binary search to locate the issue
[ ] Add logs to trace variables
[ ] Verify hypotheses
After Resolution
[ ] Confirm the original error is fixed
[ ] Test related functionality
[ ] Add tests to prevent regression
[ ] Document the problem and solution
Additional Resources
Reference Files
For detailed debugging techniques and patterns:
references/python errors.md Python error details
references/javascript errors.md JavaScript/TypeScript error details
references/shell errors.md Bash/Zsh script error details
references/debugging tools.md Debugging tools usage guide
references/common patterns.md Common error patterns
Example Files
Working debugging examples:
examples/debugging workflow.py Complete debugging workflow example
examples/error handling patterns.py Error handling patterns
examples/debugging workflow.sh Shell script debugging example