investigate

star 1

버그 리포트나 이슈를 받아 재현 → 원인 분석 → 수정 후보 제시까지 디버깅 사이클을 자동화합니다.

E5presso By E5presso schedule Updated 5/2/2026

description: 버그 리포트나 이슈를 받아 재현 → 원인 분석 → 수정 후보 제시까지 디버깅 사이클을 자동화합니다. argument-hint: "<증상 설명 또는 이슈 번호>" user-invocable: true

Investigate — 버그 조사 워크플로우

증상 설명 또는 GitHub Issue 번호를 받아 재현 → 원인 격리 → 수정 후보 제시까지 수행한다.

Phase 1: 입력 분류

  • 숫자 → GitHub Issue: gh issue view $ARGUMENTS --comments
  • 자연어 → 증상 설명으로 간주하고 바로 Phase 2.

Phase 2: 재현

  1. Explore 서브에이전트로 관련 코드 탐색 (에러 메시지·클래스명 키워드 검색, 관련 테스트·최근 커밋 확인) — 메인 컨텍스트 보존.
  2. 증상을 재현하는 실패하는 테스트를 먼저 작성하고 실패를 확인한다:
    cd <package-dir> && uv run pytest <test-file>::<test-name> -x -v
    
  3. 재현 불가(환경 의존·타이밍)면 사유 기록 후 정적 분석으로 대체.

Phase 3: 원인 격리

가설 없이 코드를 수정하지 않는다 — 가설 목록(가설·검증 방법·가능성)을 세우고 가능성 순으로 검증하여 근본 원인(코드 위치 + 로직)·발생 경위·검증 증거를 확정한다.

Phase 4: 수정 후보 + 보고

근본 원인에 대해 수정 방안 1-3개(변경 범위·트레이드오프·영향)를 도출하고, 아래 형식을 반드시 텍스트로 화면에 출력한다:

## 조사 결과

### 증상
{증상 요약}

### 근본 원인
{근본 원인 설명 — 코드 위치 포함}

### 수정 후보

| # | 방안 | 변경 범위 | 영향 |
|---|------|----------|------|
| 1 | {방안 1} | {파일 목록} | {영향} |

### 재현 테스트
{테스트 파일 경로, 또는 "재현 테스트 불가 — 사유"}

4-3. 다음 액션

원인 + 해결방법 모두 식별 (default): 사용자 질의 없이 즉시 진행 — 1) /plan-issues로 조사 결과를 GitHub Issue으로 변환, 2) /process-ticket --auto-merge {이슈 번호}로 구현·CI·머지 자동화 (워크트리는 process-ticket Phase 3이 생성).

원인 또는 해결방법 미확정: 사용자 질의로 분기 — 추가 조사 / 수정 진행(방안 번호) / 이슈 생성 / 종료.

규칙

  • 재현 테스트 작성 선행 — 수정 후 해당 테스트 통과 확인.
  • 코드 탐색은 Explore 서브에이전트로 실행.
  • 수정 범위 최소화 — 버그 수정에 리팩터링 섞지 않음.
  • uv run 접두사 필수. 루트에서 직접 실행 금지 — 패키지 디렉토리 내에서 실행.

$ARGUMENTS

Install via CLI
npx skills add https://github.com/E5presso/spakky-framework --skill investigate
Repository Details
star Stars 1
call_split Forks 2
navigation Branch main
article Path SKILL.md
More from Creator