# 체계적 디버깅 (systematic-debugging)

> 근본 원인 조사, 패턴 분석, 가설 검증, 구현의 4단계로 버그를 다루며 증상이 아닌 원인을 고칩니다.

- 카테고리: [테스트·디버깅](https://www.myskills.tools/ko/categories/testing-debugging/)
- 출처: 커뮤니티 · Jesse Vincent
- 저장소: https://github.com/obra/superpowers/tree/main/skills/systematic-debugging (commit bb92a77)
- SKILL.md: https://github.com/obra/superpowers/blob/main/skills/systematic-debugging/SKILL.md
- 설치 명령: `npx skills add obra/superpowers --skill systematic-debugging`
- 라이선스: MIT
- 호환 도구: Claude Code, Codex, Cursor, Gemini CLI, OpenCode
- 권한: read-repo ✓, write-files ✓, shell ✓, network ✗
- 상태: 스캔 통과
- 규칙 스캔으로 모든 위험을 찾을 수는 없습니다. 설치 전에 이 스킬의 SKILL.md를 읽고 권한을 확인하세요.

## 핵심 규칙

근본 원인 조사를 마치기 전에는 어떤 수정도 하지 않습니다.

## 실행 단계

1. **근본 원인 조사** — 오류 메시지를 끝까지 읽고 재현하며 최근 변경을 확인합니다. 여러 구성 요소가 있으면 경계마다 진단 로그를 넣고 잘못된 값의 출처를 거슬러 찾습니다.
2. **패턴 분석** — 코드베이스에서 잘 동작하는 비슷한 코드를 찾고 참조 구현을 끝까지 읽은 뒤, 고장 난 코드와의 차이를 모두 나열합니다.
3. **가설과 검증** — 가설 하나를 분명히 적고 최소한의 변경으로 변수 하나씩 검증합니다. 틀리면 새 가설을 세우고 수정을 덧붙이지 않습니다.
4. **근본 원인 수정** — 재현하는 실패 테스트를 먼저 쓰고 수정 하나를 적용해 검증합니다. 세 번 실패하면 멈추고 아키텍처 문제를 사람과 논의합니다.

## 권한 설명 (SKILL.md 기준)

| 기능 | 필요 여부 | 설명 |
|---|---|---|
| 파일 쓰기 | 필요 | 진단 로그 추가, 실패 테스트 작성, 단일 수정을 할 수 있습니다. |
| 명령 실행 | 필요 | 문제 재현, 테스트 실행, git diff와 최근 커밋 확인을 합니다. |
| 네트워크 송신 | 필요 없음 | 절차에 네트워크 접근 단계가 없습니다. |

## SKILL.md 프런트매터(YAML)

```yaml
---
name: systematic-debugging
description: Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes
---
```

홈: https://www.myskills.tools/ko/ · URL: https://www.myskills.tools/ko/skills/systematic-debugging/
