systematic-debugging
Structured 4-phase debugging methodology. Use when encountering any bug, test failure, unexpected behavior, or pipeline error — before proposing fixes. Enforces root cause investigation first.
What this skill does
# Systematic Debugging ## Overview Random fixes waste time and create new bugs. Quick patches mask underlying issues. **Core principle:** ALWAYS find root cause before attempting fixes. ## When to Use Use for ANY technical issue: test failures, unexpected behavior, pipeline errors, build failures, Galaxy workflow errors, notebook exceptions, environment issues. **Use ESPECIALLY when:** - "Just one quick fix" seems obvious - You've already tried multiple fixes - Previous fix didn't work - You don't fully understand the issue ## Supporting Files - **[root-cause-tracing.md](root-cause-tracing.md)** - Trace bugs backward through call chain to find the original trigger. Instrumentation techniques, stack trace analysis. - **[defense-in-depth.md](defense-in-depth.md)** - Add validation at multiple layers after finding root cause. Entry point, business logic, environment guards, debug logging. ## The Four Phases Complete each phase before proceeding to the next. ### Phase 1: Root Cause Investigation **BEFORE attempting ANY fix:** 1. **Read error messages carefully** - Don't skip past errors or warnings — they often contain the solution - Read stack traces completely - Note line numbers, file paths, error codes 2. **Reproduce consistently** - Can you trigger it reliably? What are the exact steps? - If not reproducible, gather more data — don't guess 3. **Check recent changes** - Git diff, recent commits, new dependencies - Config changes, environmental differences 4. **Gather evidence in multi-component systems** - For pipelines (Galaxy workflow → tool → data), log what enters and exits each component - Run once with diagnostics to see WHERE it breaks - Then investigate that specific component 5. **Trace data flow** - Where does the bad value originate? (See [root-cause-tracing.md](root-cause-tracing.md)) - Keep tracing up the call chain until you find the source - Fix at source, not at symptom ### Phase 2: Pattern Analysis 1. **Find working examples** — similar working code in same codebase 2. **Compare against references** — read reference implementation completely, don't skim 3. **Identify differences** — list every difference, however small 4. **Understand dependencies** — settings, config, environment, assumptions ### Phase 3: Hypothesis and Testing 1. **Form single hypothesis** — "I think X is the root cause because Y" 2. **Test minimally** — smallest possible change, one variable at a time 3. **Verify** — did it work? If not, form NEW hypothesis. Don't pile fixes on top. 4. **When you don't know** — say so. Don't pretend. Research more. ### Phase 4: Implementation 1. **Create failing test/reproduction** — simplest possible, automated if possible 2. **Implement single fix** — address root cause, ONE change, no "while I'm here" improvements 3. **Verify fix** — test passes? No other tests broken? Issue resolved? 4. **If fix doesn't work:** - Count fixes attempted - If < 3: return to Phase 1, re-analyze with new information - **If >= 3: STOP — question the architecture** (see below) ### When 3+ Fixes Fail Pattern indicating architectural problem: - Each fix reveals new issues in different places - Fixes require "massive refactoring" - Each fix creates new symptoms elsewhere **STOP and discuss with the user before attempting more fixes.** This is not a failed hypothesis — it's a wrong approach. ## Red Flags — STOP and Return to Phase 1 If you catch yourself thinking: - "Quick fix for now, investigate later" - "Just try changing X and see if it works" - "It's probably X, let me fix that" - "I don't fully understand but this might work" - Proposing solutions before tracing data flow - "One more fix attempt" when already tried 2+ ## Common Rationalizations | Excuse | Reality | |--------|---------| | "Issue is simple, don't need process" | Simple issues have root causes too | | "Emergency, no time for process" | Systematic is FASTER than guess-and-check | | "Just try this first, then investigate" | First fix sets the pattern. Do it right. | | "Multiple fixes at once saves time" | Can't isolate what worked. Causes new bugs. | | "I see the problem, let me fix it" | Seeing symptoms != understanding root cause | ## Quick Reference | Phase | Key Activities | Done when | |-------|---------------|-----------| | 1. Root Cause | Read errors, reproduce, check changes, trace data | Understand WHAT and WHY | | 2. Pattern | Find working examples, compare | Differences identified | | 3. Hypothesis | Form theory, test minimally | Confirmed or new hypothesis | | 4. Implementation | Create test, fix, verify | Bug resolved, tests pass | ## Attribution Adapted from [obra/superpowers](https://github.com/obra/superpowers/) systematic-debugging skill.
Related in Code Review
gstack
IncludedFast headless browser for QA testing and site dogfooding. Navigate pages, interact with elements, verify state, diff before/after, take annotated screenshots, test responsive layouts, forms, uploads, dialogs, and capture bug evidence. Use when asked to open or test a site, verify a deployment, dogfood a user flow, or file a bug with screenshots. (gstack)
startup-due-diligence
IncludedLegal due diligence review for seed-stage and Series A startups (US, Delaware C-Corp focus). Supports both investor and founder perspectives. Capabilities include: (1) Interactive document review and issue spotting; (2) Document request list generation; (3) Cap table and SAFE/convertible note analysis; (4) Red flag identification with severity ratings; (5) Diligence report generation. TRIGGERS: due diligence, DD, startup investment, cap table review, Series A, seed round, investor diligence, legal review startup, SAFE analysis, convertible note, 409A, founder vesting.
interview-master
IncludedThis skill should be used when the user asks to "generate interview questions", "prepare for interview", "optimize resume", "conduct mock interview", "analyze git commits for resume", "generate resume from code", "review my resume", or mentions interview preparation, career assistance, or extracting project experience from git history. Provides comprehensive interview and career development guidance for both job seekers and interviewers.
fix-issue
IncludedFixes GitHub issues using parallel analysis agents for root cause investigation, code exploration, and regression detection. Reads issue context from gh CLI, searches codebase and memory for related patterns, generates a fix with tests, and links the resolution back to the issue via PR. Includes prevention analysis to avoid recurrence. Use when debugging errors, resolving regressions, fixing bugs, or triaging issues.
sf-apex
IncludedGenerates and reviews Salesforce Apex code with 150-point scoring. TRIGGER when: user writes, reviews, or fixes Apex classes, triggers, test classes, batch/queueable/schedulable jobs, or touches .cls/.trigger files. DO NOT TRIGGER when: LWC JavaScript (use sf-lwc), Flow XML (use sf-flow), SOQL-only queries (use sf-soql), or non-Salesforce code.
swift-development
IncludedComprehensive Swift development for building, testing, and deploying iOS/macOS applications. Use when Claude needs to: (1) Build Swift packages or Xcode projects from command line, (2) Run tests with XCTest or Swift Testing framework, (3) Manage iOS simulators with simctl, (4) Handle code signing, provisioning profiles, and app distribution, (5) Format or lint Swift code with SwiftFormat/SwiftLint, (6) Work with Swift Package Manager (SPM), (7) Implement Swift 6 concurrency patterns (async/await, actors, Sendable), (8) Create SwiftUI views with MVVM architecture, (9) Set up Core Data or SwiftData persistence, or any other Swift/iOS/macOS development tasks.