systematic-debugging
Structured debugging methodology — use before proposing fixes for any error or failure.
Skill by sangrokjung
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/sangrokjung-systematic-debugging
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: devops
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/systematic-debugging
What's inside
- Skill name
systematic-debugging- Description
- Structured debugging methodology — use before proposing fixes for any error or failure. Covers: code bugs, build errors, deploy failures, config conflicts, dependency issues, infra problems. Also use when previous fix attempts failed or root cause is unclear.
- License
- MIT
- Instructions
- 181 lines in SKILL.md · view on GitHub
Files (3)
- SKILL.md
- external-research-guide.md · references/
- root-cause-tracing.md · references/
SKILL.md (first lines)
# Systematic Debugging ## Overview Guessing fixes wastes time and creates new bugs. Quick patches hide root problems. **Core principle: Never fix before finding the root cause. Symptom fixing is failure.** ## Iron Law ``` Never propose a fix without root cause investigation. ``` Phase 0 or Phase 1 must be completed before any fix is proposed. Phase 0 fixes are ONLY allowed when ALL of these are true: - External research found an official solution or known issue for this exact error - Change is single file, single point (config value, import, typo) - No logic changes ## When to Use **All technical problems:** - Test failures, build errors, deploy errors - Config conflicts, dependency issues - Infrastructure/environment problems - Unexpected behavior, performance issues **Especially when:** - Under time pressure (urgency breeds guessing) - "Let me just quickly fix this" comes to mind - Multiple fix attempts have already been tried - Previous fixes didn't work - You don't fully understand the problem ## The Phases Each Phase must complete before proceeding to the next. ### Phase 0: Quick Assessment Run immediately when an error occurs. Before any fix attempt. 1. **Classify the error** — read the error message/symptoms: - Same code works in different environment? → Environment issue - After recent dependency/version change? → Dependency issue - Only fails in specific code path? → Code issue 2. **External research (exact match, 5 min max)** — check official docs and GitHub Issues for known issues. Don't rely on self-knowledge alone. - See: `references/external-research-guide.md` 3. **Branch decision**: - All Iron Law conditions met → Fix in Phase 0 - Any condition unmet → Enter Phase 1 full process - **Phase 0 quick-fix fails**: Undo (git checkout/undo), enter Phase 1. This attempt counts in the fix counter. ### Phase 1: Root Cause Investigation **Before any fix attempt:** 1. **Read the error carefully** - Don't skip errors/warnings - Read the entire stack trace - Record line numbers, file paths, error codes 2. **Reproduce consistently** - Get exact reproduction steps - Every time? If intermittent, collect more data 3. **Check recent changes** - git diff, recent commits - New dependencies, config changes - Environment differences (env vars, Node/runtime version, OS) 4. **Research external sources (deep read)** - Based on Phase 0 exact match results, investigate further - Read official docs for the failure mechanism - Check release notes for breaking changes - See: `references/external-research-guide.md` 5. **Collect evidence in multi-component systems** - Log data in/out at each component boundary - Run once to find where it breaks - Then deep-dive into that component 6. **Trace data flow** - Where does the wrong value originate? - Trace the call stack backwards to the source - See: `references/root-cause-tracing.md` ### Phase 2: Pattern Analysis 1. **Find similar working code** in the same codebase 2. **Compare with reference implementations** — read the full reference docs, don't skim 3. **Identify all differences** between working and broken — don't assume "that's irrelevant" 4. **Map dependencies** — what config, environment, other components are needed ### Phase 3: Hypothesis and Testing **Before entering Phase 3:** - Verify clean state (git status) - If not clean: git stash or save checkpoint - On hypothesis failure: rollback to safe point, try new hypothesis (no cumulative fixes) 1. **Form a single hypothesis**: "X is the root cause because Y" — specific, not vague 2. **Test minimally**: smallest change to verify the hypothesis. One variable at a time. 3. **Verify before proceeding**: - Success → Phase 4 - Failure → **New hypothesis** (don't stack fixes on top of failed ones) ### Phase 4: Implementation 1. **Write a failing test** — simplest reproduction, automated if possible, before fixing 2. **Apply a single fix** — only the identified root cause, one change at a time, no "while I'm at it" 3. **Verify the fix** — test passes? No other tests broken? Problem actually resolved? 4. **If fix doesn't work**: - How many fix attempts so far? - Under 3: return to Phase 1 with new information - **3 or more: proceed to Phase 4.5**
From sangrokjung/claude-forge, MIT.
More from sangrokjung/claude-forge
- 0.776score
frontend-code-review
sangrokjung
Trigger when the user requests a review of frontend files (e.g., `.tsx`, `.ts`, `.js`).
SkillBFreshness: B★ 863Claude Code +9 - 0.776score
skill-factory
sangrokjung
Analyze session work and automatically convert reusable patterns into Claude Code skills.
SkillBFreshness: B★ 863Claude Code +9 - 0.776score
humanize-korean
sangrokjung
Clean up translation-ese and AI-writing tics in Korean prose so it reads like a person wrote it — content (facts, numbers, proper nouns, quotes) stays 100%…
SkillBFreshness: B★ 863Claude Code +9 - 0.776score
harness-diet
sangrokjung
Measure and shrink the always-loaded context of a Claude Code harness (CLAUDE.md + rules without paths frontmatter) back under budget — migrate narrative to…
SkillBFreshness: B★ 863Claude Code +9 - 0.776score
review-loop
sangrokjung
Run the adversarial verification loop — implement, then hand the change to a fresh checker that did not write it, fix what it finds, and re-dispatch until…
SkillBFreshness: B★ 863Claude Code +9 - 0.776score
session-wrap
sangrokjung
Use when wrapping up a session before ending.
SkillBFreshness: B★ 863Claude Code +9 - 0.776score
cc-dev-agent
sangrokjung
Use when starting Claude Code projects, writing CLAUDE.md/spec.md, dispatching subagents, or requesting Agent Teams parallel development.
SkillBFreshness: B★ 863Claude Code +9 - 0.776score
relay
sangrokjung
Session relay — compresses what's been done so far (writes a one-liner for /compact) and generates a "next task" prompt (a baton) for the user to hand off.
SkillBFreshness: B★ 863Claude Code +9 - 0.773score
continuous-learning-v2
sangrokjung
Instinct-based learning system that observes sessions via hooks, creates atomic instincts with confidence scoring, and evolves them into skills/commands/agents.
SkillBFreshness: B★ 863Claude Code +9 - 0.773score
korean-spell-check
sangrokjung
Use Nara/PNU Korean spell-check surfaces conservatively to proofread Korean text, chunk long input, and return change-focused correction suggestions.
SkillBFreshness: B★ 863Claude Code +9 - 0.772score
loop-forge
sangrokjung
Turn a one-line description of a repetitive task into a reusable, self-guarding slash command.
SkillBFreshness: B★ 863Claude Code +9 - 0.771score
dependency-upgrade
sangrokjung
Manage major dependency version upgrades with compatibility analysis, staged rollout, and comprehensive testing.
SkillBFreshness: B★ 863Claude Code +9
Signals
- Stars
- 863
- Forks
- 184
- Open issues
- 22
- Last commit (this folder)
- Mar 28, 2026 (7 months ago)
- Last release
- Aug 25, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/sangrokjung/claude-forge
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from sangrokjung
- 0.776score
cc-dev-agent
sangrokjung
Use when starting Claude Code projects, writing CLAUDE.md/spec.md, dispatching subagents, or requesting Agent Teams parallel development.
SkillBFreshness: B★ 863Claude Code +9 - 0.776score
frontend-code-review
sangrokjung
Trigger when the user requests a review of frontend files (e.g., `.tsx`, `.ts`, `.js`).
SkillBFreshness: B★ 863Claude Code +9 - 0.776score
harness-diet
sangrokjung
Measure and shrink the always-loaded context of a Claude Code harness (CLAUDE.md + rules without paths frontmatter) back under budget — migrate narrative to…
SkillBFreshness: B★ 863Claude Code +9 - 0.776score
humanize-korean
sangrokjung
Clean up translation-ese and AI-writing tics in Korean prose so it reads like a person wrote it — content (facts, numbers, proper nouns, quotes) stays 100%…
SkillBFreshness: B★ 863Claude Code +9 - 0.776score
relay
sangrokjung
Session relay — compresses what's been done so far (writes a one-liner for /compact) and generates a "next task" prompt (a baton) for the user to hand off.
SkillBFreshness: B★ 863Claude Code +9 - 0.776score
review-loop
sangrokjung
Run the adversarial verification loop — implement, then hand the change to a fresh checker that did not write it, fix what it finds, and re-dispatch until…
SkillBFreshness: B★ 863Claude Code +9
Cite this page
systematic-debugging skill. Agent Mart. https://agentmart.dev/skills/sangrokjung-systematic-debugging (last updated 2026-10-24)