From symbiopowers
Use when diagnosing bugs, unexpected behavior, or production issues. Enforces a two-phase approach: first understand the problem completely, then and only then propose a fix that addresses the root cause.
How this skill is triggered — by the user, by Claude, or both
Slash command
/symbiopowers:debuggingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Purpose:** Replace guesswork with evidence-based diagnosis. Most "quick fixes" fail because they address symptoms, not causes. This skill enforces understanding before action.
Purpose: Replace guesswork with evidence-based diagnosis. Most "quick fixes" fail because they address symptoms, not causes. This skill enforces understanding before action.
Core principle: A bug you cannot explain is a bug you have not fixed, even if the symptoms disappear. "Just one quick fix" is how bugs hide behind other bugs.
Announce at start: "I'm using debugging — I'll diagnose the root cause before proposing any fix."
brainstorming)Before doing anything, check the current git branch. If on a baseline branch (main, master, test), create a working branch first:
git checkout -b fix/<slug-from-bug-description>
Do NOT debug and fix on a baseline branch. Even investigation notes and regression tests belong on a working branch.
Dispatch context-loader with the bug description. The pack should surface relevant runbooks, ADRs, and architecture sections before you start reproducing.
If you cannot reproduce: Gather more evidence (logs, traces, user screenshots). Do not guess. Ask the reporter for exact steps.
Narrow the scope systematically:
| Technique | When to use |
|---|---|
| Binary search (bisect) | "It used to work" — find the breaking commit |
| Input reduction | Complex input triggers bug — find minimal failing input |
| Component isolation | Remove layers until the bug disappears, then re-add the last one |
| Environment comparison | Works in one env, fails in another — diff the environments |
| Log tracing | Add targeted logging to trace execution path through the failure |
Do not:
Collect and document:
Before proposing any fix, write a clear explanation:
.name on null"If you cannot fill in all four, you do not understand the bug well enough to fix it.
test-driven-development disciplineBefore writing the fix, consider:
writing-plans if necessary.| Category | Symptoms | Investigation approach |
|---|---|---|
| State management | Intermittent, order-dependent | Check shared mutable state, race conditions |
| Boundary conditions | Fails on specific inputs | Test edges: empty, null, zero, max, negative |
| Environment | Works locally, fails elsewhere | Diff configs, versions, env vars |
| Timing | Intermittent, load-dependent | Check async operations, timeouts, connection pools |
| Data integrity | Fails for specific records | Inspect the actual data; check migrations, seeds |
| Dependency changes | Fails after update | Check changelogs, breaking changes, version pins |
Pairs with:
skills/test-driven-development — regression test follows TDD flowskills/verification-before-completion — verify the fix before claiming doneskills/compound-retrospective — document lessons if the bug reveals systemic issuesGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub vonschau/symbiopowers --plugin symbiopowers