Skip to content
Back to skills

Dev Coding Debug

ASecurity

체계적인 디버깅(Systematic Debugging) 절차를 통해 버그의 원인을 찾고 해결합니다. (Source: obra/superpowers)

  • 666 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added February 8, 2026
developmentgotestingdebuggingapi

Works with

  • api

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill dev-coding-debug --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Dev Coding Debug?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Dev Coding Debug
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-dev-coding-debug/badge)](https://www.skillsdirectory.com/skills/majiayu000-dev-coding-debug)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: dev-coding-debug
description: 체계적인 디버깅(Systematic Debugging) 절차를 통해 버그의 원인을 찾고 해결합니다. (Source: obra/superpowers)
---

# 🐞 체계적 디버깅 (Dev Coding Debug)

이 워크플로우는 `obra/superpowers`의 **"The Iron Law"**를 준수합니다. **근본 원인 규명 없이는 절대 코드를 수정하지 않습니다.**

## 1. 초기화 (Initialization)
1.  **원칙 확인**: `this document`를 읽고 **Iron Law**를 상기합니다.
2.  **증상 정의**: 사용자로부터 정확한 에러 메시지와 현상을 입력받습니다.

## 2. 조사 (Phase 1: Root Cause Investigation)
**"추측하지 말고 증거를 수집하세요."**

1.  **에러 분석**: 스택 트레이스와 에러 코드를 정밀 분석합니다.
2.  **재현 (Reproduction)**: 버그를 확실하게 발생시키는 최소 단위의 스크립트를 작성합니다. (필수)
3.  **기기/로그 추가 (Instrumentation)**: 데이터가 오염되는 지점을 찾기 위해 로그를 추가하고, 데이터 흐름을 역추적(Trace)합니다.

## 3. 분석 (Phase 2: Pattern Analysis)
**"정상적인 패턴과 무엇이 다른가요?"**

1.  **정상 사례 찾기**: 프로젝트 내에서 잘 동작하는 유사한 코드를 찾습니다.
2.  **비교 분석**: 정상 코드와 문제가 있는 코드의 차이점을 한 줄 한 줄 비교합니다.
3.  **차이점 목록**: 사소해 보이는 차이점이라도 모두 나열합니다.

## 4. 가설 (Phase 3: Hypothesis & Testing)
**"과학적 방법론을 적용하세요."**

1.  **가설 수립**: "X 때문에 Y가 발생한다"는 가설을 하나 세웁니다.
2.  **최소 검증**: 가설을 확인하기 위해 변수 하나만 변경하여 테스트합니다. (수정이 아님)
3.  **반복**: 가설이 틀렸다면 변경 사항을 되돌리고(Revert), 새로운 가설을 세웁니다. **기존 변경 위에 덧칠 금지.**

## 5. 해결 (Phase 4: Implementation)
**"증상이 아닌 원인을 고치세요."**

1.  **실패 테스트 (Red)**: 식별된 원인을 타겟으로 하는 실패 테스트 케이스를 확정합니다.
2.  **단일 수정 (Green)**: 근본 원인을 제거하는 최소한의 코드를 작성합니다.
3.  **검증 (Verification)**: 테스트 통과 및 회귀 테스트(Regression Test) 수행.
4.  **정리 (Cleanup)**: 디버깅용 로그와 임시 코드를 깨끗이 삭제합니다.

## 6. 종료 (Completion)
1.  **회고**: 어떤 부분이 근본 원인이었는지 사용자에게 설명하고 종료합니다.


---

## Standards & Rules

# Systematic Debugging (Dev Coding Debug)

## Core Principles (The Iron Law)

> **NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST.**

If you haven't completed Phase 1 (Root Cause) and Phase 2 (Pattern Analysis), you cannot propose fixes. Symptom fixes are failure.

## 🏗️ The Four Phases

### Phase 1: Root Cause Investigation
**Goal: Understand WHAT and WHY.**
1.  **Read Errors**: sticky to the error message. Don't skip stack traces.
2.  **Reproduce**: Can you trigger it reliably? If not, gather more data.
3.  **Instrumentation**: For multi-component systems, log data flow at boundaries.
4.  **Trace**: Follow the bad value backwards to its source (`root-cause-tracing`).

### Phase 2: Pattern Analysis
**Goal: Find the standard before fixing.**
1.  **Find Working Examples**: Locate similar code that works.
2.  **Compare**: Read reference implementations completely.
3.  **Identify Differences**: List every difference, however small.

### Phase 3: Hypothesis and Testing
**Goal: Scientific Method.**
1.  **Single Hypothesis**: "I think X is the root cause because Y".
2.  **Test Minimally**: Change ONE variable at a time to test the hypothesis.
3.  **Verify**: If it didn't work, revert and form a NEW hypothesis. NO layering fixes.

### Phase 4: Implementation
**Goal: Fix the root cause, not the symptom.**
1.  **Failing Test**: Create a minimal reproduction test case (Red).
2.  **Single Fix**: Address the identified root cause (Green).
3.  **Verify**: Ensure no regressions.

## �️ Supporting Techniques

### 1. Root Cause Tracing ("Why did this happen?")
**Don't just fix the bad value. Find where it came from.**
- **Technique**: Ask "What called this with a bad value?" repeatedly until you find the source.
- **Rule**: Fix at the source, not at the symptom.

### 2. Defense-in-Depth ("Make it impossible")
**Don't just validate at one place.**
- **Layer 1 (Entry)**: Reject invalid input at IDL/API boundary.
- **Layer 2 (Logic)**: Ensure data makes sense for the operation.
- **Layer 3 (Guard)**: Environment checks (e.g., test vs prod).
- **Layer 4 (Debug)**: Logging for forensics.

### 3. Condition-Based Waiting (No `sleep`)
**Never guess how long something takes.**
- **Bad**: `sleep(50)`
- **Good**: `waitFor(() => condition)`
- **Why**: Flaky tests often come from arbitrary timeouts.

## �🚩 Red Flags (STOP immediately)
- "Quick fix for now"
- "Just try changing X"
- "One more fix attempt" (Limit: 3 attempts. Then question Architecture.)
- Proposing solutions before tracing.

## ✅ Quality Standards
- **Reproduction Script**: Must exist before fixing.
- **Log Cleanup**: All temporary instrumentation removed.
- **Safe YAML**: Frontmatter descriptions quoted.

## Checklist
- [ ] **Phase 1**: Did you identify the *exact* line/reason for failure?
- [ ] **Phase 2**: Did you compare with a working example?
- [ ] **Phase 4**: Is there a test case that failed before and passes now?
- [ ] **Cleanup**: Are all `print`/`console.log` removed?

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.