Install any skill in seconds. Free to start, no credit card required.
Get Started Free →When debugging frustration appears ("why isn't this working?", "it should work", "I don't understand"), orchestrate the full debug cycle - clarify, investigate, fix, verify. Prevents jumping to fixes before understanding the problem. Use when the user is stuck on a bug or expressing debugging frustration.
.claude/skills/adityapeshave-sophos-debug-to-fix/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-05 | ✗→✓ | ▲ Improved | 269% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 32% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 59% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 30% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 22% | 0% |
An elixir for debugging. The #1 debugging mistake: jumping to fixes before understanding the problem. This chains clarification, investigation, fix, and verification, with gates that prevent skipping steps. Uses rubber-duck to clarify, built-in investigation phase, and prove-it to verify.
This skill works best with these skills installed:
| Skill | Purpose | If Missing | |-------|---------|------------| | rubber-duck | Structured problem clarification | Falls back to built-in questions | | prove-it | Verification enforcement | Falls back to built-in verification | | retrospective | Document learnings | Skipped (optional phase) |
The skill degrades gracefully - it will use built-in fallbacks for missing skills.
If rubber-duck skill installed: Invoke it now.
If not installed, ask:
Before we debug, let me understand the problem:
GATE: Do not proceed until you can state the problem in one sentence: "When I action], I expect expected], but instead actual]."
Write this sentence before continuing.
Objective: Find the root cause, not just symptoms.
Investigation checklist:
Investigation techniques (try in order):
1. Read the error message completely - what does it actually say?
2. Add logging/print at the failure point - what are the actual values?
3. Trace backwards - where do the bad values come from?
4. Check recent changes - git diff, git log
5. Rubber duck the code flow aloudGATE: Do not proceed until you can answer:
Write both sentences before continuing.
Now implement the fix.
Before writing code, state:
Implement the minimal fix. Resist the urge to refactor nearby code.
If prove-it skill installed: Invoke it now.
If not installed:
Verification checklist:
GATE: Do not declare victory until verification complete.
Show the evidence:
VERIFIED:
- [What you tested]
- [What you observed]
- [Why this confirms the fix]If retrospective skill installed: Invoke it for significant bugs.
If not installed or bug was minor: Skip this phase.
For significant debugging sessions (>15 min), capture:
markdown## Debug Session: [Brief description] ### Problem Statement When I [action], I expect [expected], but instead [actual]. ### Root Cause The bug happens because [cause]. Evidence: [how you know] ### Fix [What you changed and why] ### Verification - [x] Original bug fixed - [x] [Other checks performed] ### Learnings (if significant) [What you'd do differently]
User: "The login is broken, I don't know why"
Phase 1 - Clarify: > Before we debug, help me understand: > 1. What should happen when you log in? > 2. What actually happens? > 3. What have you tried? > 4. Did anything change recently? > > [User answers] > > Problem statement: "When I submit the login form, I expect to be redirected to /dashboard, but instead I see a blank page with no errors."
Phase 2 - Investigate: > Let me investigate... > - Checked network tab: POST /api/login returns 200 > - Checked console: No errors > - Checked redirect logic: router.push('/dashboard') is called > - Added logging: redirect fires but page doesn't change > - Checked recent commits: Found change to middleware yesterday > > Root cause: "The bug happens because new auth middleware redirects /dashboard back to /login for users without 'verified' flag, creating a loop that results in blank page." > Evidence: "Middleware logs show redirect loop, user object missing 'verified' field."
Phase 3 - Fix: > Fixing: Add 'verified: true' to user object after successful login > Why: Root cause is missing field, not redirect logic > Risk: Low - only affects login success path
Phase 4 - Verify: > VERIFIED: > - Logged in with test user, redirected to /dashboard > - No redirect loop in network tab > - Middleware logs show single redirect > - Existing tests pass
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 31,032 | 11,451 | -63% | 1 | 1 | 0% | 3,173 | 3,346 | +5% | 0 | 0 | — |
case-02 | fail→fail | 17,488 | 6,773 | -61% | 1 | 1 | 0% | 3,179 | 2,618 | -18% | 0 | 0 | — |
case-03 | fail→fail | 13,724 | 10,705 | -22% | 1 | 1 | 0% | 2,444 | 3,316 | +36% | 0 | 0 | — |
case-04 | fail→fail | 9,816 | 12,102 | +23% | 1 | 1 | 0% | 1,751 | 3,083 | +76% | 0 | 0 | — |
case-05 | fail→pass | 3,303 | 6,192 | +87% | 1 | 1 | 0% | 615 | 2,272 | +269% | 0 | 0 | — |
case-06 | fail→pass | 10,782 | 6,562 | -39% | 1 | 1 | 0% | 1,881 | 2,489 | +32% | 0 | 0 | — |
case-07 | fail→fail | 16,574 | 14,233 | -14% | 1 | 1 | 0% | 2,657 | 3,673 | +38% | 0 | 0 | — |
case-08 | pass→pass | 9,557 | 4,692 | -51% | 1 | 1 | 0% | 1,426 | 2,270 | +59% | 0 | 0 | — |
case-09 | pass→pass | 9,432 | 4,759 | -50% | 1 | 1 | 0% | 1,714 | 2,269 | +32% | 0 | 0 | — |
case-10 | fail→pass | 9,124 | 6,052 | -34% | 1 | 1 | 0% | 1,517 | 2,416 | +59% | 0 | 0 | — |
case-11 | fail→pass | 15,023 | 7,355 | -51% | 1 | 1 | 0% | 2,156 | 2,794 | +30% | 0 | 0 | — |
case-12 | fail→fail | 11,910 | 8,094 | -32% | 1 | 1 | 0% | 1,872 | 2,881 | +54% | 0 | 0 | — |
case-13 | fail→pass | 11,133 | 5,076 | -54% | 1 | 1 | 0% | 1,905 | 2,323 | +22% | 0 | 0 | — |
case-14 | fail→pass | 11,490 | 7,138 | -38% | 1 | 1 | 0% | 1,822 | 2,550 | +40% | 0 | 0 | — |
case-15 | pass→pass | 8,026 | 3,196 | -60% | 1 | 1 | 0% | 1,115 | 2,032 | +82% | 0 | 0 | — |
case-16 | fail→pass | 18,073 | 9,496 | -47% | 1 | 1 | 0% | 1,919 | 2,490 | +30% | 0 | 0 | — |
case-17 | pass→pass | 8,919 | 2,977 | -67% | 1 | 1 | 0% | 1,353 | 1,891 | +40% | 0 | 0 | — |
case-18 | pass→pass | 14,977 | 8,191 | -45% | 1 | 1 | 0% | 2,464 | 2,767 | +12% | 0 | 0 | — |
case-19 | fail→pass | 7,212 | 4,479 | -38% | 1 | 1 | 0% | 1,091 | 2,222 | +104% | 0 | 0 | — |
case-20 | fail→fail | 4,996 | 3,386 | -32% | 1 | 1 | 0% | 767 | 1,997 | +160% | 0 | 0 | — |
case-21 | pass→pass | 16,805 | 13,833 | -18% | 1 | 1 | 0% | 4,142 | 5,068 | +22% | 0 | 0 | — |
case-22 | pass→fail | 15,141 | 3,351 | -78% | 1 | 1 | 0% | 3,311 | 2,131 | -36% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +32 percentage points is the difference between those two pass rates over the 22 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.