Systematic Debugging
ChrisWiles/claude-code-showcase
Applies a four-phase debugging routine that finds the root cause of a bug or failing test before any fix is written.
A skill your agent uses when encountering any bug, test failure, or unexpected behavior, before proposing fixes - four-phase framework with built-in backward tracing for deep-stack failures…
$ npx skills add koolamusic/claudefiles --skill debug -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install koolamusic/claudefiles debug --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/koolamusic/claudefiles.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/debug .claude/skills/debug && 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 "debug" agent skill from https://github.com/koolamusic/claudefiles/tree/main/skills/debug into .claude/skills/debug/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "debug", 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/koolamusic/claudefiles/tree/main/skills/debugType 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 koolamusic/claudefiles --skill debug -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install koolamusic/claudefiles debug --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/koolamusic/claudefiles.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/debug .agents/skills/debug && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "debug" agent skill from https://github.com/koolamusic/claudefiles/tree/main/skills/debug into .agents/skills/debug/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "debug", 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 koolamusic/claudefiles --skill debug -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install koolamusic/claudefiles debug --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/koolamusic/claudefiles.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/debug .cursor/skills/debug && 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 "debug" agent skill from https://github.com/koolamusic/claudefiles/tree/main/skills/debug into .cursor/skills/debug/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "debug", 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/koolamusic/claudefiles.git --path skills/debug--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 koolamusic/claudefiles --skill debug -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install koolamusic/claudefiles debug --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/koolamusic/claudefiles.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/debug .gemini/skills/debug && 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 "debug" agent skill from https://github.com/koolamusic/claudefiles/tree/main/skills/debug into .gemini/skills/debug/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "debug", 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 koolamusic/claudefiles debugInstalls 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 koolamusic/claudefiles --skill debug -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/koolamusic/claudefiles.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/debug .github/skills/debug && 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 "debug" agent skill from https://github.com/koolamusic/claudefiles/tree/main/skills/debug into .github/skills/debug/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "debug", 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 koolamusic/claudefiles --skill debug -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install koolamusic/claudefiles debug --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/koolamusic/claudefiles.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/debug .opencode/skills/debug && 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 "debug" agent skill from https://github.com/koolamusic/claudefiles/tree/main/skills/debug into .opencode/skills/debug/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "debug", 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.
debugA skill your agent uses when encountering any bug, test failure, or unexpected behavior, before proposing fixes - four-phase framework with built-in backward tracing for deep-stack failures…
Debug is an agent skill from koolamusic/claudefiles. Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes - four-phase framework with built-in backward tracing for deep-stack failures, ensuring root-cause understanding before implementation
Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `README.md`).
It sits in Development, covering Root cause analysis, Failing and flaky tests and Debugging. The repository describes itself as: A minimal catalog of my favourite skills for working with claude. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 297c432. 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.
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.
Debug loads about 3.1k tokens when it runs. Until then it costs about 58 tokens; SKILL.md has 1,383 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); files beside SKILL.md are not scanned.
The full file from koolamusic/claudefiles at commit 297c432, republished under its MIT licence (© koolamusic). 1,383 words, ~3,085 tokens.
.claude/skills/debug/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Random fixes waste time and create new bugs. Quick patches mask underlying issues.
Core principle: ALWAYS find root cause before attempting fixes. Symptom fixes are failure.
Violating the letter of this process is violating the spirit of debugging.
NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRSTIf you haven't completed Phase 1, you cannot propose fixes.
Use for ANY technical issue:
Use this ESPECIALLY when:
Don't skip when:
You MUST complete each phase before proceeding to the next.
BEFORE attempting ANY fix:
Read Error Messages Carefully
Reproduce Consistently
Check Recent Changes
Gather Evidence in Multi-Component Systems
WHEN system has multiple components (CI → build → signing, API → service → database):
BEFORE proposing fixes, add diagnostic instrumentation:
For EACH component boundary:
- Log what data enters component
- Log what data exits component
- Verify environment/config propagation
- Check state at each layer
Run once to gather evidence showing WHERE it breaks
THEN analyze evidence to identify failing component
THEN investigate that specific componentExample (multi-layer system):
# Layer 1: Workflow
echo "=== Secrets available in workflow: ==="
echo "IDENTITY: ${IDENTITY:+SET}${IDENTITY:-UNSET}"
# Layer 2: Build script
echo "=== Env vars in build script: ==="
env | grep IDENTITY || echo "IDENTITY not in environment"
# Layer 3: Signing script
echo "=== Keychain state: ==="
security list-keychains
security find-identity -v
# Layer 4: Actual signing
codesign --sign "$IDENTITY" --verbose=4 "$APP"This reveals: Which layer fails (secrets → workflow ✓, workflow → build ✗)
Trace Data Flow
WHEN error is deep in call stack:
Use built-in backward tracing:
Use this when the bug appears far away from the real trigger.
Typical signals:
Tracing process:
Mini example:
await execFileAsync("git", ["init"], { cwd: projectDir });git init runs in the wrong directoryprojectDir?projectDir come from?When manual tracing stalls, add instrumentation before the dangerous operation:
async function gitInit(directory: string) {
const stack = new Error().stack;
console.error("DEBUG git init:", {
directory,
cwd: process.cwd(),
nodeEnv: process.env.NODE_ENV,
stack,
});
await execFileAsync("git", ["init"], { cwd: directory });
}Tracing rule: never stop at "this line crashed." Keep going until you can say which caller, input, or state transition created the bad value.
Find the pattern before fixing:
Find Working Examples
Compare Against References
Identify Differences
Understand Dependencies
Scientific method:
Form Single Hypothesis
Test Minimally
Verify Before Continuing
When You Don't Know
Fix the root cause, not the symptom:
Decide on Testing Strategy
Auto-decide based on complexity:
If writing test:
If skipping test:
Implement Single Fix
Verify Fix
If test was written:
If no test:
Always check:
If Fix Doesn't Work
If 3+ Fixes Failed: Question Architecture
Pattern indicating architectural problem:
STOP and question fundamentals:
Discuss with the user before attempting more fixes
This is NOT a failed hypothesis - this is a wrong architecture.
If you catch yourself thinking:
ALL of these mean: STOP. Return to Phase 1.
If 3+ fixes failed: Question the architecture (see Phase 4.5)
Watch for these redirections:
When you 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. |
| "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. |
| "UI fix doesn't need tests" | Correct! UI components verified via typecheck/manual testing, not unit tests. |
| 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 |
If systematic investigation reveals issue is truly environmental, timing-dependent, or external:
But: 95% of "no root cause" cases are incomplete investigation.
Testing skills (when needed):
From debugging sessions:
© koolamusic, 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 1 other file in skills/debug of koolamusic/claudefiles.
Open the folder on GitHubat commit 297c432
Debug 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 |
|---|---|---|---|---|---|---|
| Debug this skillkoolamusic/claudefiles | 130 | — | ~3.1k | Automated safety check: Pass | MIT | |
| Systematic DebuggingChrisWiles/claude-code-showcase | 6.1k | 3 repos | ~1.2k | Automated safety check: Pass | None | |
| Debugging and Error Recoveryaddyosmani/agent-skills | 102k | 1 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Systematic Debugginged3dai/ed3d-plugins | 250 | 3 repos | ~2.4k | Automated safety check: Pass | None | |
| Debugging And Error Recoveryabashev/vfs-s3 | 106 | 6 repos | ~2.6k | Automated safety check: Pass | Apache-2.0 | |
| Veomni DebugByteDance-Seed/VeOmni | 2.2k | — | ~2.8k | Automated safety check: Pass | Apache-2.0 |
ChrisWiles/claude-code-showcase
Applies a four-phase debugging routine that finds the root cause of a bug or failing test before any fix is written.
addyosmani/agent-skills
Applies a stop-the-line rule and a step-by-step triage when tests fail, builds break or something stops working, aiming at the root cause instead of guesses.
ed3dai/ed3d-plugins
A skill your agent uses when encountering any bug, test failure, or unexpected behavior, before proposing fixes - four-phase framework (root cause investigation, pattern analysis, hypothesis…
abashev/vfs-s3
Guides systematic root-cause debugging. An agent skill from abashev/vfs-s3.
ByteDance-Seed/VeOmni
A skill your agent uses for ANY bug, error, crash, wrong output, loss divergence, gradient explosion, test failure, CUDA error, distributed training hang, checkpoint load failure, or unexpected…
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.
koolamusic/claudefiles
A skill your agent uses when asked to explain a topic, codebase, process, or document in a specific output format — plain language or Simplified Technical English (STE, in the style of ASD-STE100…
koolamusic/claudefiles
Transform a workflow description into affordance tables showing UI and Code affordances with their wiring.
koolamusic/claudefiles
Turn the current session into a chief-of-staff thread that runs a war room of three role slots — surveyor, executor, auditor — and routes per-branch work to durable, reusable child agents.
koolamusic/claudefiles
A skill your agent uses when a user completes a phase, sprint, milestone, or meaningful unit of work and needs a retrospective.
koolamusic/claudefiles
Guide for creating effective skills. An agent skill from koolamusic/claudefiles.
koolamusic/claudefiles
Adversarial questioning and collaborative shaping in one skill.
Categories
A skill your agent uses when encountering any bug, test failure, or unexpected behavior, before proposing fixes - four-phase framework with built-in backward tracing for deep-stack failures…. Debug is an agent skill from koolamusic/claudefiles.
Debug fits situations like: encountering any bug; unexpected behavior; before proposing fixes - four-phase framework with built-in backward tracing for deep-stack failures; ensuring root-cause understanding before implementation.
Run `npx skills add koolamusic/claudefiles --skill debug -a claude-code`. Or copy the skill folder (skills/debug in koolamusic/claudefiles) into .claude/skills/debug in your project. Claude Code loads it when a task matches its description.
Run `npx skills add koolamusic/claudefiles --skill debug -a codex`. Or copy the skill folder (skills/debug in koolamusic/claudefiles) into .agents/skills/debug 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 koolamusic/claudefiles --skill debug -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/debug, .gemini/skills/debug, .github/skills/debug and .opencode/skills/debug in your project.
Going by SKILL.md and its folder, Debug needs the command-line tools its instructions call (git).
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. Review the folder before installing.
Debug is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Debug: Systematic Debugging (ChrisWiles/claude-code-showcase, 6.1k stars), Debugging and Error Recovery (addyosmani/agent-skills, 102k stars), Systematic Debugging (ed3dai/ed3d-plugins, 250 stars) and Debugging And Error Recovery (abashev/vfs-s3, 106 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
koolamusic (a GitHub user) maintains it in koolamusic/claudefiles, which has 130 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on October 5, 2026.
Source: koolamusic/claudefiles on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.