본문으로 건너뛰기
cccskills
무료GitHub에 공개

systematic-debugging

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.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구GitHub
설치 방법 보기

포함된 파일(3)

  • SKILL.md7.3 KB
  • references/external-research-guide.md2.6 KB
  • references/root-cause-tracing.md2.2 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

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

Phase 4.5: Architecture Question

Pattern of 3+ failed fixes:

  • Each fix reveals new problems elsewhere
  • Fix requires "major refactoring"
  • Each fix creates symptoms in other places

Stop immediately and ask fundamental questions:

  • Is this pattern itself sound?
  • Are we clinging to it out of inertia?
  • Should we refactor the architecture instead of fixing symptoms?

Report to user and discuss before any more fix attempts.

Red Flags — If you think this, STOP

  • "Let me quickly fix it and investigate later"
  • "Let me try changing X and see if it works"
  • "Let me bundle multiple changes and test once"
  • "Skip tests, just check manually"
  • "It's probably X, let me fix it"
  • "I don't fully understand but this might work"
  • "Let me just try one more fix" (after 2+ attempts)
  • "I don't need to check external docs for this one"
  • "This is definitely a code issue" (without checking environment)

Any of the above: STOP. Return to Phase 0/1. 3+ fix failures: Architecture Question (Phase 4.5)

Common Rationalizations

ExcuseReality
"Simple problem, don't need the process"Simple problems have root causes too. The process is fast for simple bugs.
"Too urgent for process"Systematic debugging is faster than guessing.
"Let me try this first, then investigate"First fix sets the pattern. Start right.
"I'll write tests after fixing"Fixes without tests don't last. Test first.
"Bundle changes to save time"Can't tell what worked. Creates new bugs.
"Docs are too long, I'll wing it"Partial understanding = guaranteed bugs. Read it all.
"I can see the problem, just fix it"Seeing symptoms ≠ understanding root cause.
"One more fix" (2+ failures)3+ failures = architecture problem. Ask, don't fix.
"I know this error, no need to check docs"LLM confidence ≠ accuracy. Verify externally.

Supporting Techniques

See references in this directory:

  • references/external-research-guide.md — External docs/GitHub Issues lookup procedure
  • references/root-cause-tracing.md — Call stack backtracing to find bug origins

Quick Reference

PhaseKey ActivitySuccess Criteria
0. Quick AssessmentError classification, external research (exact match)Error type classified + 1+ external search done
1. Root CauseRead errors, reproduce, check changes, deep researchUnderstand what breaks and why
2. PatternFind working similar code, compareDifferences identified
3. HypothesisSingle hypothesis, minimal testConfirmed or new hypothesis
4. ImplementationWrite test, fix, verifyBug fixed, tests pass
4.5. ArchitectureStop after 3 failures, reportArchitecture review decision

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Use *before* starting work in a domain you don't know well, to surface the "unknown unknowns" — the things you don't even know to ask about — and learn just enough to prompt and decide well. Implements the "blind spot pass" pattern from Anthropic's Fable "finding your unknowns" field guide. Triggers when you say "I'm new to this", "I don't know what to ask", "teach me before we start", "blind spot pass", "unknown unknowns", "find my unknowns", or the Korean "내가 뭘 모르는지 알려줘" / "이 분야 처음인데" / "먼저 가르쳐줘" / "블라인드 스팟", or when you hand off a task while admitting you're a non-expert in that field (color grading, video editing, legal, tax, finance, design, an unfamiliar codebase, etc.). Do NOT use for simple factual questions, domains you already know, or directly-actionable work — answer those directly or route to planner / architect.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

sangrokjung/claude-forge8582026년 9월 3일 업데이트

Use when detecting and running project build systems automatically. Supports npm/yarn/pnpm/pip/poetry/gradle/maven/cargo/go/make. Triggers on build, test run, project setup, package manager detection.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

sangrokjung/claude-forge8582026년 9월 3일 업데이트

Expert guidance for Next.js Cache Components and Partial Prerendering (PPR). **PROACTIVE ACTIVATION**: Use this skill automatically when working in Next.js projects that have `cacheComponents: true` in their next.config.ts/next.config.js. When this config is detected, proactively apply Cache Components patterns and best practices to all React Server Component implementations. **DETECTION**: At the start of a session in a Next.js project, check for `cacheComponents: true` in next.config. If enabled, this skill's patterns should guide all component authoring, data fetching, and caching decisions. **USE CASES**: Implementing 'use cache' directive, configuring cache lifetimes with cacheLife(), tagging cached data with cacheTag(), invalidating caches with updateTag()/revalidateTag(), optimizing static vs dynamic content boundaries, debugging cache issues, and reviewing Cache Component implementations.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

sangrokjung/claude-forge8582026년 9월 3일 업데이트

Use when starting Claude Code projects, writing CLAUDE.md/spec.md, dispatching subagents, or requesting Agent Teams parallel development. Covers Spec-Driven Development, Context Engineering, and post-dev workflow.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

sangrokjung/claude-forge8582026년 9월 3일 업데이트

Instinct-based learning system that observes sessions via hooks, creates atomic instincts with confidence scoring, and evolves them into skills/commands/agents.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

sangrokjung/claude-forge8582026년 9월 3일 업데이트

Master systematic debugging techniques, profiling tools, and root cause analysis to efficiently track down bugs across any codebase or technology stack. Use when investigating bugs, performance issues, or unexpected behavior.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

sangrokjung/claude-forge8582026년 9월 3일 업데이트

sangrokjung의 스킬 모두 보기

이 스킬의 문제 신고