AgentSkillsCN

_workflow-spec

需求规格说明书撰写(🔴 复杂模式)

SKILL.md
--- frontmatter
name: _workflow-spec
version: 1.0.0
description: 요구사항 명세 문서 작성 (🔴 Complex 모드)
user-invocable: false

Workflow Spec Skill

🔴 Complex 모드 전용 - /workflow에서 복잡도 🔴 선택 시 자동 호출됩니다.

🟢 Simple, 🟡 Medium 모드에서는 이 스킬을 사용하지 않습니다.

사용자 주도로 요구사항을 수집하고, 구체적인 명세 문서를 작성하는 스킬입니다.

핵심 원칙

사용자가 말할 때까지 기다린다.

  • 에이전트가 먼저 질문하지 않음
  • 사용자가 충분히 설명할 때까지 경청
  • 승인/수정 요청 시에만 사용자 입력 대기

중요: 이 단계에서는 코드베이스를 분석하지 않습니다. 오직 요구사항 정의에만 집중합니다.

실행 워크플로우

Phase 1: 시작 및 대기

스킬 실행 시 다음 메시지만 출력하고 즉시 대기:

code
📋 Spec 작성을 시작합니다.

구현하려는 기능에 대해 자유롭게 설명해주세요.
- 기능 설명
- Figma 링크 (있다면)
- API 스펙 (있다면)
- 기타 참고 자료

충분히 설명하신 후 "작성해줘" 또는 "이 정도야"라고 말씀해주시면
문서 초안을 작성하겠습니다.

금지 사항:

  • 질문 던지기
  • 선택지 제시
  • 추가 정보 요청

Phase 2: 컨텍스트 수집

사용자가 설명을 계속하는 동안:

  1. 경청: 사용자의 모든 입력을 기록
  2. 보조 자료 수집: 사용자가 링크를 제공하면 해당 자료 조회
    • Figma 링크 → Figma MCP 도구 사용
    • API 스펙 → API 문서 확인 (Swagger, Postman 등)
  3. 간단한 확인만: "네, 계속해주세요" 또는 "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: 문서 초안 작성

  1. 이슈 번호 확인: 브랜치명에서 추출

    bash
    git branch --show-current
    
  2. 수집된 정보 정리: 사용자가 제공한 모든 정보를 구조화

  3. spec.md 초안 작성: 템플릿에 맞춰 문서 작성

  4. 사용자에게 초안 제시:

    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. 기준 1
  2. 기준 2
  3. 기준 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로 확인 후 구체적인 값 기록