Workflow Spec Skill
🔴 Complex 모드 전용 -
/workflow에서 복잡도 🔴 선택 시 자동 호출됩니다.🟢 Simple, 🟡 Medium 모드에서는 이 스킬을 사용하지 않습니다.
사용자 주도로 요구사항을 수집하고, 구체적인 명세 문서를 작성하는 스킬입니다.
핵심 원칙
사용자가 말할 때까지 기다린다.
- •에이전트가 먼저 질문하지 않음
- •사용자가 충분히 설명할 때까지 경청
- •승인/수정 요청 시에만 사용자 입력 대기
중요: 이 단계에서는 코드베이스를 분석하지 않습니다. 오직 요구사항 정의에만 집중합니다.
실행 워크플로우
Phase 1: 시작 및 대기
스킬 실행 시 다음 메시지만 출력하고 즉시 대기:
code
📋 Spec 작성을 시작합니다. 구현하려는 기능에 대해 자유롭게 설명해주세요. - 기능 설명 - Figma 링크 (있다면) - API 스펙 (있다면) - 기타 참고 자료 충분히 설명하신 후 "작성해줘" 또는 "이 정도야"라고 말씀해주시면 문서 초안을 작성하겠습니다.
금지 사항:
- •질문 던지기
- •선택지 제시
- •추가 정보 요청
Phase 2: 컨텍스트 수집
사용자가 설명을 계속하는 동안:
- •경청: 사용자의 모든 입력을 기록
- •보조 자료 수집: 사용자가 링크를 제공하면 해당 자료 조회
- •Figma 링크 → Figma MCP 도구 사용
- •API 스펙 → API 문서 확인 (Swagger, Postman 등)
- •간단한 확인만: "네, 계속해주세요" 또는 "Figma 확인했습니다" 정도만
Figma 디자인 컨텍스트 수집 (필수)
Figma 링크가 제공되면 반드시 다음 두 도구를 모두 호출:
code
1. mcp__figma__get_design_context → 레이아웃 구조, 컴포넌트, 스타일 정보 2. mcp__figma__get_screenshot → 시각적 확인용 스크린샷
추출해야 할 정보:
| 항목 | 예시 |
|---|---|
| 정렬 방식 | 상단 좌측 정렬, 중앙 정렬 등 |
| 컨테이너 구조 | Body → 아이콘 + TitleGroup |
| 간격 (gap) | 아이콘↔텍스트: 20px |
| 여백 (padding) | paddingTop: 20px, paddingHorizontal: 20px |
| 컴포넌트 크기 | 아이콘: 120x120 |
| 텍스트 스타일 | title_20_extraBold, title_15_regular |
| 색상 토큰 | text.primary, text.secondary |
사용자가 "작성해줘", "이 정도야", "문서 만들어줘" 등의 신호를 보내면 Phase 3로 진행
Phase 3: 문서 초안 작성
- •
이슈 번호 확인: 브랜치명에서 추출
bashgit branch --show-current
- •
수집된 정보 정리: 사용자가 제공한 모든 정보를 구조화
- •
spec.md 초안 작성: 템플릿에 맞춰 문서 작성
- •
사용자에게 초안 제시:
code📄 spec.md 초안을 작성했습니다. [문서 내용 요약 또는 전체 표시] --- ✅ 승인: "승인", "좋아", "OK" 등 ✏️ 수정 필요: 수정이 필요한 부분을 말씀해주세요
Phase 4: 승인 루프
승인 시:
- •spec.md 파일 저장
- •완료 메시지 출력
- •다음 단계 안내
수정 요청 시:
- •즉시 대기 상태로 전환
- •사용자가 추가 설명을 완료할 때까지 경청
- •다시 Phase 3로 (문서 수정 후 제시)
이 루프는 사용자가 승인할 때까지 반복
spec.md 템플릿
markdown
---
feature: 기능 제목
status: spec
created: YYYY-MM-DD
updated: YYYY-MM-DD
figma: (Figma 링크, 있는 경우)
---
# {기능 제목}
## 📋 기능 개요
[기능에 대한 간단한 설명]
## 🎯 기능 요구사항
### 필수 기능
- [ ] 기능 1
- [ ] 기능 2
- [ ] 기능 3
### 선택 기능 (있는 경우)
- [ ] 선택 기능 1
## 🎨 UI 요구사항 (해당 시)
### 레이아웃 구조
[컨테이너 구조를 시각적으로 표현]
code
### 스타일 상세
| 속성 | 값 |
|------|-----|
| 정렬 | - |
| 배경색 | - |
| 간격 (gap) | - |
| 여백 (padding) | - |
### 인터랙션
[사용자 인터랙션 설명]
## 🔌 API 스펙 (해당 시)
### {HTTP 메서드} {엔드포인트}
**Request:**
```json
{
"field": "value"
}
Response (성공):
json
{
"success": true,
"data": {}
}
⚠️ 엣지 케이스
| 상황 | 처리 방법 |
|---|---|
| 상황 1 | 처리 방법 1 |
🧪 테스트 대상
핵심 비즈니스 로직
| 유형 | 파일 | 설명 |
|---|---|---|
| ViewModel | {FILE_PATH} | {DESCRIPTION} |
✅ 수락 기준 (Acceptance Criteria)
- • 기준 1
- • 기준 2
- • 기준 3
code
## 완료 메시지
✅ spec.md 생성 완료
📁 파일: .claude/work-docs/spec.md
📋 요약:
- •필수 기능: N개
- •API 엔드포인트: N개
- •수락 기준: N개
▶️ 다음 단계: /workflow plan 실행
code
**중요**: 완료 메시지 출력 후 **스킬을 종료**합니다. ## 금지 사항 1. **선제적 질문 금지**: 사용자가 먼저 말하기 전에 질문하지 않음 2. **선택지 강요 금지**: AskUserQuestion으로 선택을 강요하지 않음 3. **코드베이스 분석 금지**: 이 단계에서는 기존 코드를 탐색하지 않음 4. **구현 방법 논의 금지**: "어떻게" 구현할지는 이후 단계에서 결정 5. **모호한 UI 스펙 금지**: Figma 링크가 있으면 반드시 MCP로 확인 후 구체적인 값 기록