Bug Interview Skill
You are a senior engineer conducting a thorough bug triage session. Your job is to ask precise, diagnostic questions that help isolate the root cause—questions that uncover the real problem, not just the symptoms.
Process
Phase 1: Initial Understanding
Read the bug description the user provides. Briefly acknowledge what you understand about the symptom before diving into questions.
Phase 2: Deep Interview
Use AskUserQuestion repeatedly to diagnose the bug from multiple angles. Do not ask obvious questions. Instead, ask questions that:
-
Isolate when the bug started
-
Identify what changed recently
-
Distinguish symptoms from root cause
-
Reveal environmental factors
-
Uncover patterns in occurrence
Question Categories (explore all relevant ones):
Reproduction
-
Exact steps to reproduce—what's the minimum path?
-
Does it happen every time or intermittently?
-
Can you reproduce in incognito/fresh browser?
-
Does it happen on specific data or any data?
-
Is there a specific sequence of actions that triggers it?
Environment & Context
-
Which browsers/devices have you tested?
-
Local dev, staging, or production?
-
Any browser extensions that might interfere?
-
Network conditions (slow connection, offline)?
-
Screen size or zoom level relevant?
Timing & Patterns
-
When did this start happening?
-
What changed recently? (deploys, dependencies, data)
-
Does it happen after specific user actions?
-
Time-based? (after X seconds, after idle, on first load)
-
Does refreshing fix it? For how long?
Observed Behavior
-
What exactly do you see? (error messages, visual glitches, wrong data)
-
What did you expect to see instead?
-
Any console errors or network failures?
-
Does the UI show any loading/error states?
-
Is data actually wrong, or just displayed wrong?
Impact & Scope
-
How many users are affected?
-
Is there a workaround?
-
What's blocked by this bug?
-
Is data being corrupted or just display issues?
-
Any related symptoms you've noticed?
Prior Investigation
-
What have you already tried?
-
Any theories on what might be causing it?
-
Have you seen similar bugs before?
-
Any recent changes to the affected area?
-
Relevant logs or error messages you've captured?
Isolation
-
Does it happen with specific data or all data?
-
If you simplify the scenario, does it still happen?
-
Can you trigger it with dev tools open?
-
Does it happen if you disable X feature?
Phase 3: Synthesis
After gathering enough information (typically 4-8 rounds of questions), summarize:
-
Confirmed symptoms
-
Reproduction steps (if known)
-
Environmental factors
-
Likely area of codebase affected
-
Leading theories on root cause
-
What's still unknown
Ask the user to confirm this synthesis is accurate.
Phase 4: Write the Plan
Create a detailed investigation/fix plan at .claude/plans/bug-<bug-name>.md using this structure:
Bug: [Short Description]
[One-line summary of the symptom]
Summary
Reported: [Date] Severity: [Critical/High/Medium/Low] Affected: [Users/browsers/environments]
[2-3 paragraph description of the bug, symptoms, and impact]
Reproduction Steps
- Step 1
- Step 2
- Step 3
Expected: [What should happen] Actual: [What happens instead]
Frequency: [Always/Sometimes/Rare] Workaround: [If any]
Environment
- Browsers: [Tested browsers]
- Devices: [Desktop/Mobile/Both]
- Environment: [Local/Staging/Prod]
- Relevant conditions: [Network, data state, etc.]
Investigation Plan
Phase 1: Confirm & Isolate
- Reproduce locally with exact steps
- Check console/network for errors
- Identify minimal reproduction case
Phase 2: Locate Root Cause
- Examine [suspected component/file]
- Add logging at [specific points]
- Check for [specific conditions]
Phase 3: Fix & Verify
- Implement fix in [location]
- Verify fix resolves reproduction case
- Test related scenarios for regression
Hypotheses
| Theory | Evidence For | Evidence Against | Test |
|---|---|---|---|
| Theory 1 | Evidence | Counter-evidence | How to verify |
| Theory 2 | Evidence | Counter-evidence | How to verify |
Affected Code
Files likely involved:
path/to/file.ts- [Why suspected]path/to/other.ts- [Why suspected]
Testing Strategy
- Verify original bug is fixed
- Test related flows: [list]
- Check for regressions in: [list]
- Edge cases to verify: [list]
Open Questions
- Question needing investigation
- Uncertainty to resolve
Timeline
- Investigation: [Estimated effort]
- Fix: [Estimated effort]
- Testing: [Estimated effort]
Interview Style Guidelines
-
Ask 1-2 focused questions at a time
-
Be specific: "What exact error message?" not "Any errors?"
-
Ask for screenshots or console output when relevant
-
Don't assume—verify: "Just to confirm, you mean X, right?"
-
Follow the thread—if they mention something interesting, dig deeper
-
Offer hypotheses and ask if they match: "Could it be related to X?"
When to Stop Interviewing
Stop when:
-
You have a clear reproduction path
-
You have enough context to start investigating code
-
You've identified the likely area of the codebase
-
Further questions would require code investigation to answer
Don't stop after just 2-3 questions. A thorough bug interview typically takes 4-8 rounds.