From epic
Systematically isolates root causes of test failures, runtime errors, and unexpected behavior using a structured hypothesis-verify-fix process. Records resolutions for future reuse.
How this skill is triggered — by the user, by Claude, or both
Slash command
/epic:debugThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST. Symptom fixes are whack-a-mole debugging.
NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST. Symptom fixes are whack-a-mole debugging.
epic mem search "ERROR_MESSAGE_OR_FILE" for the error message or file nameresolution or pattern node exists for this error categoryWhy: Past resolutions save 10-30 minutes of re-investigation. The knowledge graph exists so you don't repeat work.
Why: Precise observation prevents misdiagnosis. Most debug loops start from skimming the error instead of reading it fully.
Form 2-3 possible causes. Rank by likelihood.
Why: Ranked hypotheses prevent random code changes. Even a wrong hypothesis narrows the search space.
git log --oneline -10 — when did it last work?Why: Isolation proves the cause before you touch any code. Without it, you're guessing.
Why: Root cause fixes are permanent. Symptom patches rot and hide the real bug.
Why: A passing fix without verification is wishful thinking. The full suite catches side effects.
resolution node via epic mem add --title "..." --type resolution --body "..."Why: Recording turns one-time debugging into institutional knowledge. Future sessions benefit from your effort.
/go execution| Excuse | Rebuttal | What to do instead |
|---|---|---|
| "Let me just try again" | Retrying without changing anything is not debugging. | Form a new hypothesis before each attempt. |
| "It works on my machine" | Environment differences are bugs too. | Reproduce in the actual target environment first. |
| "I'll just catch the exception" | That hides the bug, doesn't fix it. | Fix the root cause. Only catch what you can handle meaningfully. |
| "It's probably a flaky test" | Flaky tests hide real bugs. Prove it's flaky before dismissing. | Run it 3x in isolation. If it fails consistently, it's real. |
| "I'll add more logging" | Logging without a hypothesis is fishing. | Hypothesize first, then add targeted logging to confirm/deny. |
| "It's probably just a typo" | Assumptions are the enemy of debugging. Reproduce first, then diagnose. | Read the full error, reproduce it, and verify before assuming simplicity. |
| "Let me just try changing this one thing" | Whack-a-mole debugging creates more bugs. Follow the hypothesis → isolate → fix cycle. | Form a hypothesis, isolate the cause, then fix with evidence. |
| "The error message tells me everything" | Error messages describe symptoms, not root causes. Investigate the chain. | Trace the error to its origin. The message is the starting point, not the answer. |
Before claiming the bug is fixed, show ALL of these:
"It works now" without root cause = symptom patch, not a fix.
npx claudepluginhub epicsagas/epic-harness --plugin epic-harnessEnforces systematic root cause analysis before fixes for bugs, test failures, unexpected behavior, performance issues, and build failures.
Enforces systematic root cause investigation for bugs, test failures, and unexpected behavior through four phases: investigation, pattern analysis, hypothesis testing, and implementation.
Guides systematic root-cause debugging for test failures, build breaks, runtime bugs, and production incidents. Follows a structured triage checklist to find and fix issues without guessing.