Root Cause Debugging
jsmastery-pro/skills
Runs a reproduce, localize, hypothesize, test, fix and verify loop to find a bug's root cause, applies the minimal fix and hands off a regression test.
Agent skill
by christopherarter in christopherarter/superpowers-reasonix
Any bug, failing or flaky test, or surprise behavior?. An agent skill from christopherarter/superpowers-reasonix.
$ npx skills add christopherarter/superpowers-reasonix --skill superpowers-systematic-debugging -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install christopherarter/superpowers-reasonix superpowers-systematic-debugging --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/christopherarter/superpowers-reasonix.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/superpowers-systematic-debugging .claude/skills/superpowers-systematic-debugging && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "superpowers-systematic-debugging" agent skill from https://github.com/christopherarter/superpowers-reasonix/tree/main/skills/superpowers-systematic-debugging into .claude/skills/superpowers-systematic-debugging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "superpowers-systematic-debugging", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/christopherarter/superpowers-reasonix/tree/main/skills/superpowers-systematic-debuggingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add christopherarter/superpowers-reasonix --skill superpowers-systematic-debugging -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install christopherarter/superpowers-reasonix superpowers-systematic-debugging --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/christopherarter/superpowers-reasonix.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/superpowers-systematic-debugging .agents/skills/superpowers-systematic-debugging && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "superpowers-systematic-debugging" agent skill from https://github.com/christopherarter/superpowers-reasonix/tree/main/skills/superpowers-systematic-debugging into .agents/skills/superpowers-systematic-debugging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "superpowers-systematic-debugging", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add christopherarter/superpowers-reasonix --skill superpowers-systematic-debugging -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install christopherarter/superpowers-reasonix superpowers-systematic-debugging --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/christopherarter/superpowers-reasonix.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/superpowers-systematic-debugging .cursor/skills/superpowers-systematic-debugging && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "superpowers-systematic-debugging" agent skill from https://github.com/christopherarter/superpowers-reasonix/tree/main/skills/superpowers-systematic-debugging into .cursor/skills/superpowers-systematic-debugging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "superpowers-systematic-debugging", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/christopherarter/superpowers-reasonix.git --path skills/superpowers-systematic-debugging--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add christopherarter/superpowers-reasonix --skill superpowers-systematic-debugging -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install christopherarter/superpowers-reasonix superpowers-systematic-debugging --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/christopherarter/superpowers-reasonix.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/superpowers-systematic-debugging .gemini/skills/superpowers-systematic-debugging && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "superpowers-systematic-debugging" agent skill from https://github.com/christopherarter/superpowers-reasonix/tree/main/skills/superpowers-systematic-debugging into .gemini/skills/superpowers-systematic-debugging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "superpowers-systematic-debugging", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install christopherarter/superpowers-reasonix superpowers-systematic-debuggingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add christopherarter/superpowers-reasonix --skill superpowers-systematic-debugging -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/christopherarter/superpowers-reasonix.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/superpowers-systematic-debugging .github/skills/superpowers-systematic-debugging && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "superpowers-systematic-debugging" agent skill from https://github.com/christopherarter/superpowers-reasonix/tree/main/skills/superpowers-systematic-debugging into .github/skills/superpowers-systematic-debugging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "superpowers-systematic-debugging", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add christopherarter/superpowers-reasonix --skill superpowers-systematic-debugging -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install christopherarter/superpowers-reasonix superpowers-systematic-debugging --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/christopherarter/superpowers-reasonix.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/superpowers-systematic-debugging .opencode/skills/superpowers-systematic-debugging && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "superpowers-systematic-debugging" agent skill from https://github.com/christopherarter/superpowers-reasonix/tree/main/skills/superpowers-systematic-debugging into .opencode/skills/superpowers-systematic-debugging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "superpowers-systematic-debugging", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
superpowers-systematic-debuggingAny bug, failing or flaky test, or surprise behavior?. An agent skill from christopherarter/superpowers-reasonix.
Superpowers Systematic Debugging is an agent skill from christopherarter/superpowers-reasonix. Any bug, failing or flaky test, or surprise behavior? Load BEFORE you investigate or guess.
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including scripts and reference files (for example `references/condition-based-waiting.md`, `references/defense-in-depth.md` and `references/root-cause-tracing.md`).
It sits in Development, covering Debugging, Failing and flaky tests and Root cause analysis. The repository describes itself as: Superpowers skill port to Reasonix coding harness. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit d202ba4. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Superpowers Systematic Debugging loads about 2k tokens when it runs, and up to ~4.2k if it reads all its reference files. Until then it costs about 31 tokens; SKILL.md has 955 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from christopherarter/superpowers-reasonix at commit d202ba4, republished under its MIT licence (© christopherarter). 955 words, ~1,994 tokens.
.claude/skills/superpowers-systematic-debugging/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.Random fixes waste time, create new bugs. Quick patches mask real issue.
Core principle: ALWAYS find root cause before fixes. Symptom fixes = failure.
Break letter of process = break spirit of debugging.
NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRSTPhase 1 not done? Cannot propose fixes.
ANY technical issue: test failures, production bugs, unexpected behavior, performance problems, build failures, integration issues.
ESPECIALLY when:
Don't skip when:
You MUST complete each phase before the next.
BEFORE attempting ANY fix:
Read Error Messages Carefully
Reproduce Consistently
Check Recent Changes
git diff, recent commits, new deps, config)Gather Evidence in Multi-Component Systems
WHEN system has multiple components (CI → build → signing, API → service → database), BEFORE proposing fixes, add diagnostic instrumentation at each boundary:
For EACH component boundary:
- Log what data enters the component
- Log what data exits the component
- Verify environment/config propagation
Run once to gather evidence showing WHERE it breaks
THEN investigate that specific componentExample (multi-layer system):
echo "=== Secrets available in workflow ==="
echo "IDENTITY: ${IDENTITY:+SET}${IDENTITY:-UNSET}"
echo "=== Env vars in build script ==="
env | grep IDENTITY || echo "IDENTITY not in environment"
echo "=== Keychain state ==="
security find-identity -vThis reveals which layer fails (secrets → workflow ✓, workflow → build ✗).
Trace Data Flow
WHEN error deep in call stack: see Root Cause Tracing reference (auto-included below) for complete backward-tracing technique.
Quick version: Where does bad value originate? What called this with bad value? Trace up until you find source. Fix at source, not symptom.
Fix root cause, not symptom:
Catch yourself thinking:
ALL of these mean: STOP. Return to Phase 1. 3+ fixes failed: question architecture (Phase 4.5).
Watch for these redirections from your human partner:
See these: STOP. Return to Phase 1.
| Excuse | Reality |
|---|---|
| "Issue is simple, don't need process" | Simple issues have root causes too. Process is fast for simple bugs. |
| "Emergency, no time for process" | Systematic debugging is FASTER than guess-and-check thrashing. |
| "Just try this first, then investigate" | First fix sets the pattern. Do it right from the start. |
| "I'll write test after confirming fix works" | Untested fixes don't stick. Test first proves it. |
| "Multiple fixes at once saves time" | Can't isolate what worked. Causes new bugs. |
| "Reference too long, I'll adapt the pattern" | Partial understanding guarantees bugs. Read it completely. |
| "I see the problem, let me fix it" | Seeing symptoms ≠ understanding root cause. |
| "One more fix attempt" (after 2+ failures) | 3+ failures = architectural problem. Question pattern, don't fix again. |
| Phase | Key Activities | Success Criteria |
|---|---|---|
| 1. Root Cause | Read errors, reproduce, check changes, gather evidence | Understand WHAT and WHY |
| 2. Pattern | Find working examples, compare | Identify differences |
| 3. Hypothesis | Form theory, test minimally | Confirmed or new hypothesis |
| 4. Implementation | Create test, fix, verify | Bug resolved, tests pass |
Systematic investigation shows issue is truly environmental, timing-dependent, or external? Process complete. Document what you investigated, implement appropriate handling (retry, timeout, error message), add monitoring/logging.
But: 95% of "no root cause" cases = incomplete investigation.
Related skills: superpowers-test-driven-development (Phase 4 failing test) · superpowers-verification-before-completion (confirm the fix).
© christopherarter, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (scripts, references) in skills/superpowers-systematic-debugging of christopherarter/superpowers-reasonix.
Open the folder on GitHubat commit d202ba4
Superpowers Systematic Debugging next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Superpowers Systematic Debugging this skillchristopherarter/superpowers-reasonix | 102 | — | ~2k | Automated safety check: Pass | MIT | |
| Root Cause Debuggingjsmastery-pro/skills | 1.4k | — | ~1.8k | Automated safety check: Notes | MIT | |
| Minimal Code Fixcobusgreyling/loop-engineering | 11k | 1 repos | ~345 | Automated safety check: Notes | MIT | |
| Failure Diagnosis LoopTotoro-jam/battle-tested-patterns | 344 | — | ~319 | Automated safety check: Pass | MIT | |
| Hypothesis-Driven DebuggingLichAmnesia/lich-skills | 234 | — | ~2.5k | Automated safety check: Pass | MIT | |
| Systematic Debuggingcbrock84/headcount | 2k | — | ~657 | Automated safety check: Pass | MIT |
jsmastery-pro/skills
Runs a reproduce, localize, hypothesize, test, fix and verify loop to find a bug's root cause, applies the minimal fix and hands off a regression test.
cobusgreyling/loop-engineering
Makes the smallest code change that fixes one well-scoped problem, such as a CI failure, review comment or typo, without refactoring anything unrelated.
Totoro-jam/battle-tested-patterns
Walks the agent through a fixed loop for failing tests and build errors: reproduce, isolate, hypothesize, instrument, fix, verify, then add a regression test.
LichAmnesia/lich-skills
Replaces trial-and-error fixing with an observe, hypothesize, experiment and conclude loop kept in DEBUG.md, where no fix is allowed before evidence supports a cause.
cbrock84/headcount
Finds the root cause of a bug, test failure, or unexpected behavior before proposing any fix.
ArabelaTso/Skills-4-SE
Analyze failing tests to detect functional bugs in code. An agent skill from ArabelaTso/Skills-4-SE.
christopherarter/superpowers-reasonix
Writing or fixing any code?. An agent skill from christopherarter/superpowers-reasonix.
christopherarter/superpowers-reasonix
Creating, editing, or testing a Reasonix skill?. An agent skill from christopherarter/superpowers-reasonix.
christopherarter/superpowers-reasonix
Building a feature or starting from an idea?. An agent skill from christopherarter/superpowers-reasonix.
christopherarter/superpowers-reasonix
Branch finished, tests green?. An agent skill from christopherarter/superpowers-reasonix.
christopherarter/superpowers-reasonix
Got review feedback?. An agent skill from christopherarter/superpowers-reasonix.
christopherarter/superpowers-reasonix
Feature work needing an isolated workspace, or executing a plan?
Categories
Any bug, failing or flaky test, or surprise behavior?. An agent skill from christopherarter/superpowers-reasonix. Superpowers Systematic Debugging is an agent skill from christopherarter/superpowers-reasonix. Any bug, failing or flaky test, or surprise behavior?
Superpowers Systematic Debugging fits situations like: tasks that involve Debugging; tasks that involve Failing and flaky tests; tasks that involve Root cause analysis.
Run `npx skills add christopherarter/superpowers-reasonix --skill superpowers-systematic-debugging -a claude-code`. Or copy the skill folder (skills/superpowers-systematic-debugging in christopherarter/superpowers-reasonix) into .claude/skills/superpowers-systematic-debugging in your project. Claude Code loads it when a task matches its description.
Run `npx skills add christopherarter/superpowers-reasonix --skill superpowers-systematic-debugging -a codex`. Or copy the skill folder (skills/superpowers-systematic-debugging in christopherarter/superpowers-reasonix) into .agents/skills/superpowers-systematic-debugging in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add christopherarter/superpowers-reasonix --skill superpowers-systematic-debugging -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/superpowers-systematic-debugging, .gemini/skills/superpowers-systematic-debugging, .github/skills/superpowers-systematic-debugging and .opencode/skills/superpowers-systematic-debugging in your project.
Going by SKILL.md and its folder, Superpowers Systematic Debugging needs a shell for the scripts in its folder and the command-line tools its instructions call (git). Our summary lists: A Bash shell.
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Superpowers Systematic Debugging is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.2k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Superpowers Systematic Debugging: Root Cause Debugging (jsmastery-pro/skills, 1.4k stars), Minimal Code Fix (cobusgreyling/loop-engineering, 11k stars), Failure Diagnosis Loop (Totoro-jam/battle-tested-patterns, 344 stars) and Hypothesis-Driven Debugging (LichAmnesia/lich-skills, 234 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
christopherarter (a GitHub user) maintains it in christopherarter/superpowers-reasonix, which has 102 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on August 20, 2026.
Source: christopherarter/superpowers-reasonix on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.