---
name: plan
description: |
  복잡한 작업 전 계획 수립. Plan 모드에서 사용하거나 자동 활성화.
  트리거: "계획", "플랜", "어떻게 구현", "설계", "아키텍처 결정"
  안티-트리거: "바로 구현해", "간단한 수정", "마이크로 수정"
user-invocable: true
disable-model-invocation: false
allowed-tools: Read, Write, Edit, Grep, Glob
enabled: false
source: github:jh941213/my-cc-harness
imported-from: github:jh941213/my-cc-harness
---

# 작업 계획 수립

새로운 기능이나 복잡한 작업을 시작하기 전에 계획을 세웁니다.

## 언제 Plan을 사용하는가

| 상황 | Plan 필요 | 대신 사용 |
|------|----------|----------|
| 3단계 이상 구현 | O | — |
| 아키텍처 결정 포함 | O | — |
| 여러 파일 변경 | O | — |
| 1-2줄 수정 | X | 바로 구현 |
| 버그 수정 (원인 명확) | X | 바로 수정 |
| "무엇을 만들까" 결정 | X | `/prd` 사용 |
| 기술 명세서 필요 | X | `/spec` 사용 |

## 계획 수립 프로세스

### 1. 요구사항 분석
- 성공 기준 정의 ("완료"란 무엇인가?)
- 가정과 제약사항 명시
- 스코프 경계 설정 (하지 않을 것도 명시)

### 2. 현재 코드 파악
- 관련 파일/함수 탐색 (Grep, Glob)
- 기존 패턴과 컨벤션 파악
- 유사한 구현 검토

### 3. 접근 방식 비교
- 최소 2개 방안 제시
- 각 방안의 트레이드오프 분석
- 추천 방안 선택 + 이유

### 4. 작업 분해
각 단계에 포함:
- 구체적 작업 (파일 경로, 함수명)
- 의존성 (선행 단계)
- 예상 복잡도 (Low/Med/High)
- 검증 방법

### 5. 위험 요소 + 완화책

## 출력 형식

```markdown
## 요구사항 요약
- 성공 기준: ...
- 스코프: ...
- 하지 않을 것: ...

## 접근 방식
- **방안 A**: ... (추천)
- **방안 B**: ...
- 선택 이유: ...

## 구현 단계

### 1단계: [단계명] (Low)
- 작업: ...
- 파일: path/to/file.ts
- 의존성: 없음
- 검증: `npm run typecheck`

### 2단계: [단계명] (Med)
- 작업: ...
- 의존성: 1단계
- 검증: `npm test`

## 수정할 파일
- 파일1: 변경 내용
- 파일2: 변경 내용

## 위험 요소
- **위험**: [설명] → **완화**: [대책]

## 테스트 전략
- 단위: ...
- 통합: ...
```

## 계획 확정 후
1. 사용자 승인 대기
2. 승인 시 CHECKPOINT.md 생성 (3단계 이상일 때)
3. 실수 발생 시 즉시 STOP → re-plan (밀어붙이지 않기)
