debugging-wizard
Parses error messages, traces execution flow through stack traces, correlates log entries to identify failure points, and applies systematic hypothesis-driven methodology to isolate and resolve bugs. Use when investigating errors, analyzing stack traces, finding root causes of unexpected behavior, troubleshooting crashes, or performing log analysis, error investigation, or root cause analysis.
git clone --depth 1 https://github.com/Jeffallan/claude-skills /tmp/debugging-wizard && cp -r /tmp/debugging-wizard/skills/debugging-wizard ~/.claude/skills/debugging-wizardSKILL.md
# Debugging Wizard Expert debugger applying systematic methodology to isolate and resolve issues in any codebase. ## Core Workflow 1. **Reproduce** - Establish consistent reproduction steps 2. **Isolate** - Narrow down to smallest failing case 3. **Hypothesize and test** - Form testable theories, verify/disprove each one 4. **Fix** - Implement and verify solution 5. **Prevent** - Add tests/safeguards against regression ## Reference Guide Load detailed guidance based on context: <!-- Systematic Debugging row adapted from obra/superpowers by Jesse Vincent (@obra), MIT License --> | Topic | Reference | Load When | |-------|-----------|-----------| | Debugging Tools | `references/debugging-tools.md` | Setting up debuggers by language | | Common Patterns | `references/common-patterns.md` | Recognizing bug patterns | | Strategies | `references/strategies.md` | Binary search, git bisect, time travel | | Quick Fixes | `references/quick-fixes.md` | Common error solutions | | Systematic Debugging | `references/systematic-debugging.md` | Complex bugs, multiple failed fixes, root cause analysis | ## Constraints ### MUST DO - Reproduce the issue first - Gather complete error messages and stack traces - Test one hypothesis at a time - Document findings for future reference - Add regression tests after fixing - Remove all debug code before committing ### MUST NOT DO - Guess without testing - Make multiple changes at once - Skip reproduction steps - Assume you know the cause - Debug in production without safeguards - Leave console.log/debugger statements in code ## Common Debugging Commands **Python (pdb)** ```bash python -m pdb script.py # launch debugger # inside pdb: # b 42 — set breakpoint at line 42 # n — step over # s — step into # p some_var — print variable # bt — print full traceback ``` **JavaScript (Node.js)** ```bash node --inspect-brk script.js # pause at first line, attach Chrome DevTools # In Chrome: open chrome://inspect → click "inspect" # Sources panel: add breakpoints, watch expressions, step through ``` **Git bisect (regression hunting)** ```bash git bisect start git bisect bad # current commit is broken git bisect good v1.2.0 # last known good tag/commit # Git checks out midpoint — test, then: git bisect good # or: git bisect bad # Repeat until git identifies the first bad commit git bisect reset ``` **Go (delve)** ```bash dlv debug ./cmd/server # build & attach # (dlv) break main.go:55 # (dlv) continue # (dlv) print myVar ``` ## Output Templates When debugging, provide: 1. **Root Cause**: What specifically caused the issue 2. **Evidence**: Stack trace, logs, or test that proves it 3. **Fix**: Code change that resolves it 4. **Prevention**: Test or safeguard to prevent recurrence [Documentation](https://jeffallan.github.io/claude-skills/skills/quality/debugging-wizard/)
Generates Angular 17+ standalone components, configures advanced routing with lazy loading and guards, implements NgRx state management, applies RxJS patterns, and optimizes bundle performance. Use when building Angular 17+ applications with standalone components or signals, setting up NgRx stores, establishing RxJS reactive patterns, performance tuning, or writing Angular tests for enterprise apps.
Use when designing REST or GraphQL APIs, creating OpenAPI specifications, or planning API architecture. Invoke for resource modeling, versioning strategies, pagination patterns, error handling standards.
Use when designing new high-level system architecture, reviewing existing designs, or making architectural decisions. Invoke to create architecture diagrams, write Architecture Decision Records (ADRs), evaluate technology trade-offs, design component interactions, and plan for scalability. Use for system design, architecture review, microservices structuring, ADR authoring, scalability planning, and infrastructure pattern selection — distinct from code-level design patterns or database-only design tasks.
Integrates with Atlassian products to manage project tracking and documentation via MCP protocol. Use when querying Jira issues with JQL filters, creating and updating tickets with custom fields, searching or editing Confluence pages with CQL, managing sprints and backlogs, setting up MCP server authentication, syncing documentation, or debugging Atlassian API integrations.
Designs chaos experiments, creates failure injection frameworks, and facilitates game day exercises for distributed systems — producing runbooks, experiment manifests, rollback procedures, and post-mortem templates. Use when designing chaos experiments, implementing failure injection frameworks, or conducting game day exercises. Invoke for chaos experiments, resilience testing, blast radius control, game days, antifragile systems, fault injection, Chaos Monkey, Litmus Chaos.
Use when building CLI tools, implementing argument parsing, or adding interactive prompts. Invoke for parsing flags and subcommands, displaying progress bars and spinners, generating bash/zsh/fish completion scripts, CLI design, shell completions, and cross-platform terminal applications using commander, click, typer, or cobra.
Designs cloud architectures, creates migration plans, generates cost optimization recommendations, and produces disaster recovery strategies across AWS, Azure, and GCP. Use when designing cloud architectures, planning migrations, or optimizing multi-cloud deployments. Invoke for Well-Architected Framework, cost optimization, disaster recovery, landing zones, security architecture, serverless design.
Generates, formats, and validates technical documentation — including docstrings, OpenAPI/Swagger specs, JSDoc annotations, doc portals, and user guides. Use when adding docstrings to functions or classes, creating API documentation, building documentation sites, or writing tutorials and user guides. Invoke for OpenAPI/Swagger specs, JSDoc, doc portals, getting started guides.