
bug-interview
Deeply interviews the user about a bug before investigating or fixing it. Use this when the user says "interview me about [bug]", "I have a bug to report", "let's work on this bug", "found a bug", "there's a bug", or describes a bug they encountered. Asks probing questions about reproduction steps, environment, patterns, impact, and context that help isolate the root cause. Continues until the bug is well-understood, then writes a detailed investigation/fix plan.
Deeply interviews the user about a bug before investigating or fixing it. Use this when the user says "interview me about [bug]", "I have a bug to report", "let's work on this bug", "found a bug", "there's a bug", or describes a bug they encountered. Asks probing questions about reproduction steps, environment, patterns, impact, and context that help isolate the root cause. Continues until the bug is well-understood, then writes a detailed investigation/fix plan.
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
1. Step 1
2. Step 2
3. 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
1. [ ] Reproduce locally with exact steps
2. [ ] Check console/network for errors
3. [ ] Identify minimal reproduction case
### Phase 2: Locate Root Cause
1. [ ] Examine [suspected component/file]
2. [ ] Add logging at [specific points]
3. [ ] Check for [specific conditions]
### Phase 3: Fix & Verify
1. [ ] Implement fix in [location]
2. [ ] Verify fix resolves reproduction case
3. [ ] 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.
You Might Also Like
Related Skills

fix
Use when you have lint errors, formatting issues, or before committing code to ensure it passes CI.
facebook
frontend-testing
Generate Vitest + React Testing Library tests for Dify frontend components, hooks, and utilities. Triggers on testing, spec files, coverage, Vitest, RTL, unit tests, integration tests, or write/review test requests.
langgenius
frontend-code-review
Trigger when the user requests a review of frontend files (e.g., `.tsx`, `.ts`, `.js`). Support both pending-change reviews and focused file reviews while applying the checklist rules.
langgenius
code-reviewer
Use this skill to review code. It supports both local changes (staged or working tree) and remote Pull Requests (by ID or URL). It focuses on correctness, maintainability, and adherence to project standards.
google-gemini
session-logs
Search and analyze your own session logs (older/parent conversations) using jq.
moltbot
