blob: 6592a8424d116560035d8196aae3a8dd6d34eda9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
---
name: debugging
description: "A systematic workflow; reproduce -> inspect logs/errors -> isolate cause -> form hypothesis -> test -> fix -> regression test."
---
# Debugging Skill
A systematic workflow: reproduce -> inspect logs/errors -> isolate cause -> form hypothesis -> test -> fix -> regression test.
## Subagents
When you need to delegate sub‑tasks, use the `pi-subagents` skill.
**Example:** When debugging a flaky test, spawn a **scout** to reproduce the issue in a clean environment, another **scout** to analyze the relevant log files, and an **implementer** to apply a targeted fix while a **reviewer** runs the regression suite—all in parallel.
*You may adapt the delegation pattern to fit the exact requirements of the codebase.*
## Workflow
### 1. Reproduce
- Create minimal reproduction case
- Document exact steps
- Verify consistent failure
### 2. Inspect
- Read error messages fully
- Check logs and stack traces
- Examine relevant code paths
### 3. Isolate
- Narrow down the failing component
- Use binary search if needed
- Add temporary logging
### 4. Hypothesize
- Form specific, testable hypotheses
- Prioritize by likelihood
- Consider recent changes
### 5. Test
- Verify each hypothesis
- Use debuggers, prints, or tests
- Document findings
### 6. Fix
- Make minimal targeted change
- Address root cause, not symptom
- Follow existing patterns
### 7. Regression Test
- Run existing test suite
- Add test for the bug
- Verify fix doesn't break other things
|