---
name: spec
description: "SPEC 기반 개발 인터뷰 — 심층 질문을 통해 상세한 SPEC.md 명세서를 생성합니다. Triggers on: 스펙, spec, 명세서, 인터뷰, 기능 설계. NOT for: 바로 구현, 간단한 수정, 코드 작성."
user-invocable: true
disable-model-invocation: true
allowed-tools: Read, Write, Edit
enabled: false
source: github:jh941213/my-cc-harness
imported-from: github:jh941213/my-cc-harness
---

# SPEC 기반 개발 - 인터뷰

Anthropic 엔지니어 Thariq의 SPEC 기반 개발 워크플로우입니다.

## 트리거
- "스펙", "spec", "명세서", "인터뷰", "기능 설계"

## 워크플로우

### 1단계: SPEC.md 확인 또는 생성

현재 디렉토리에 SPEC.md가 있는지 확인합니다.
- 있으면: 해당 파일을 읽고 인터뷰 시작
- 없으면: 사용자에게 기본 아이디어를 물어본 후 초안 생성

### 2단계: 심층 인터뷰

**반드시 AskUserQuestion 도구를 사용**하여 다음 영역에 대해 질문합니다:

1. **기술적 구현**
   - 어떤 기술 스택을 사용할지
   - 기존 코드베이스와의 통합 방법
   - 성능 요구사항

2. **UI & UX**
   - 사용자 흐름
   - 디자인 패턴
   - 접근성 요구사항

3. **우려 사항**
   - 보안 고려사항
   - 확장성 문제
   - 유지보수 복잡도

4. **트레이드오프**
   - 시간 vs 품질
   - 단순함 vs 기능성
   - 유연성 vs 성능

### 3단계: 질문 규칙

- **뻔한 질문 금지**: "어떤 언어 쓸까요?" 같은 명확한 건 스킵
- **깊이 있게**: 40개 이상 질문도 가능
- **연속 인터뷰**: 완료될 때까지 계속 질문
- **한 번에 1-2개 질문**: 사용자가 답변하기 쉽게

### 4단계: 명세서 작성

인터뷰 완료 후 SPEC.md 파일을 상세하게 업데이트합니다:

```markdown
# [기능명] 명세서

## 개요
[한 문장 설명]

## 목표
- [ ] 목표 1
- [ ] 목표 2

## 기술 스택
- ...

## 상세 요구사항
### 기능적 요구사항
1. ...

### 비기능적 요구사항
1. ...

## UI/UX 명세
- ...

## API 설계 (해당 시)
- ...

## 데이터 모델 (해당 시)
- ...

## 보안 고려사항
- ...

## 테스트 계획
- ...

## 마일스톤
1. [ ] 단계 1
2. [ ] 단계 2

## 열린 질문 / 결정 필요
- ...
```

### 5단계: 안내

명세서 작성 후 사용자에게 안내:

> "명세서가 완성되었습니다. 새 세션에서 다음 명령어로 구현을 시작하세요:"
> ```
> SPEC.md 읽고 구현 시작해줘
> ```
>
> 구현 완료 후 검증:
> ```
> /spec-verify
> ```

## 핵심 원칙

1. **컨텍스트 분리**: 인터뷰 세션 ≠ 구현 세션
2. **사용자 컨트롤**: 질문을 통해 사용자가 방향을 결정
3. **상세한 문서화**: 다음 세션에서 바로 실행 가능한 수준
