| name | requirements-analyzer |
| description | **REQUIREMENTS ANALYZER** - '이런 거 만들고 싶어', '기능 정리', '뭐부터 만들어야', 'MVP 정의', '요구사항 분석', '기획서 분석' 요청 시 자동 발동. 자연어 아이디어를 기술 명세로 변환. MVP 분리, 우선순위 매트릭스, 의존성 그래프 제공. |
| allowed-tools | Read, Glob, Grep, Write |
Requirements Analyzer Skill v1.0
요구사항 분석 마스터 - 비개발자의 아이디어를 실행 가능한 명세로 변환
핵심 철학
Core_Philosophy:
원칙: "작은 것부터, 작동하는 것부터"
목표: "막연한 아이디어를 구체적인 개발 태스크로 변환"
핵심_가치:
- MVP First - 최소 기능부터 완성
- 의존성 파악 - 순서 명확화
- 복잡도 경고 - 위험 요소 사전 인지
- 점진적 확장 - 단계별 로드맵
자동 발동 조건
Auto_Trigger_Conditions:
Keywords_KO:
- "이런 거 만들고 싶어", "이런 앱 만들고 싶어"
- "기능 정리해줘", "요구사항 정리"
- "뭐부터 만들어야", "어디서부터 시작"
- "MVP 정의", "최소 기능"
- "기획서 분석", "PRD 분석"
- "스펙 정리", "명세 작성"
Keywords_EN:
- "I want to build", "create an app"
- "feature list", "requirements analysis"
- "MVP definition", "minimum viable"
- "PRD analysis", "spec document"
File_Triggers:
- "기획서, PRD, 요구사항 문서 업로드 시"
- "아이디어 설명 시"
선택적 문서 로드 전략
Document_Loading_Strategy:
Always_Load:
- "core/mvp-framework.md"
- "core/priority-matrix.md"
Context_Specific_Load:
Web_App: "templates/web-app.md"
Mobile_App: "templates/mobile-app.md"
SaaS: "templates/saas.md"
E_Commerce: "templates/ecommerce.md"
분석 프레임워크
1. 기능 추출 (Feature Extraction)
Process:
Step_1_아이디어_파싱:
입력: "인스타그램 같은 사진 공유 앱을 만들고 싶어"
출력:
핵심_키워드: ["사진", "공유", "소셜"]
유사_서비스: ["Instagram", "Pinterest"]
암묵적_기능: ["사용자 계정", "피드", "좋아요"]
Step_2_기능_목록화:
방법: "동사 + 명사 조합으로 기능 정의"
예시:
- "사용자가 회원가입한다"
- "사용자가 사진을 업로드한다"
- "사용자가 다른 사용자를 팔로우한다"
- "사용자가 피드를 본다"
- "사용자가 좋아요를 누른다"
Step_3_기능_분류:
카테고리:
인증: ["회원가입", "로그인", "로그아웃"]
콘텐츠: ["업로드", "조회", "삭제"]
소셜: ["팔로우", "좋아요", "댓글"]
알림: ["푸시", "이메일"]
2. MVP 분리 (MVP Separation)
MVP_Criteria:
포함_기준:
- 서비스의 핵심 가치를 전달하는 기능
- 없으면 서비스가 성립하지 않는 기능
- 사용자가 가장 먼저 필요로 하는 기능
제외_기준:
- "있으면 좋지만" 수준의 기능
- 복잡도가 높은 기능
- 다른 기능에 의존하는 고급 기능
MVP_Template:
Must_Have:
정의: "없으면 서비스 불가능"
예시: "로그인, 핵심 CRUD"
Should_Have:
정의: "MVP 직후 필요"
예시: "프로필 편집, 검색"
Could_Have:
정의: "있으면 좋음"
예시: "소셜 로그인, 알림"
Wont_Have:
정의: "나중에 고려"
예시: "AI 추천, 다국어 지원"
3. 우선순위 매트릭스 (Priority Matrix)
Priority_Calculation:
공식: "우선순위 = (중요도 × 0.4) + (긴급도 × 0.3) + (난이도_역수 × 0.3)"
중요도_기준:
5점: "핵심 가치, 없으면 서비스 불가"
4점: "중요한 사용자 경험"
3점: "편의 기능"
2점: "있으면 좋은 기능"
1점: "부가 기능"
긴급도_기준:
5점: "MVP 필수"
4점: "1차 릴리즈 필요"
3점: "2차 릴리즈"
2점: "추후 고려"
1점: "언젠가"
난이도_기준:
1점: "1-2시간 (쉬움)"
2점: "반나절 (보통)"
3점: "1-2일 (어려움)"
4점: "1주일 (복잡)"
5점: "2주일+ (매우 복잡)"
Matrix_Output:
| 기능 | 중요도 | 긴급도 | 난이도 | 점수 | 순위 |
|------|--------|--------|--------|------|------|
| 로그인 | 5 | 5 | 2 | 4.5 | 1 |
| 게시글 CRUD | 5 | 5 | 2 | 4.5 | 2 |
| 댓글 | 4 | 3 | 2 | 3.2 | 3 |
4. 의존성 그래프 (Dependency Graph)
Dependency_Analysis:
규칙:
- "A를 하려면 B가 먼저 있어야 한다"
- "순환 의존성 탐지 및 경고"
예시:
기본_레이어:
- "사용자 인증 (모든 것의 기반)"
- "데이터베이스 스키마"
2차_레이어:
- "프로필 (인증 필요)"
- "게시글 CRUD (인증 필요)"
3차_레이어:
- "댓글 (게시글 필요)"
- "좋아요 (게시글 필요)"
- "팔로우 (프로필 필요)"
4차_레이어:
- "피드 (팔로우 필요)"
- "알림 (좋아요, 댓글 필요)"
Dependency_Graph_Visual:
|
인증 ──────────────────────────────────┐
│ │
├── 프로필 ─── 팔로우 ─── 피드 │
│ │
└── 게시글 ─┬─ 댓글 ─────┬── 알림 │
│ │ │
└─ 좋아요 ───┘ │
│
DB 스키마 ────────────────────────────┘
5. 복잡도 경고 (Complexity Warning)
Warning_Triggers:
High_Complexity:
- "실시간 채팅" → "WebSocket 구현 필요, 복잡도 높음"
- "결제 시스템" → "보안 중요, PG 연동 필요"
- "파일 업로드" → "스토리지 비용, 용량 관리 필요"
- "위치 기반" → "GPS 권한, 지도 API 비용"
- "AI/ML 기능" → "모델 학습/추론 인프라 필요"
Hidden_Complexity:
- "소셜 로그인" → "각 플랫폼 개발자 등록 필요"
- "이메일 발송" → "스팸 필터, 발송 제한"
- "검색 기능" → "대용량 시 성능 문제"
- "다국어 지원" → "번역 관리, UI 조정"
Warning_Format:
feature: "실시간 채팅"
complexity: "높음"
reason: "WebSocket 서버 필요, 동시 접속 관리"
alternative: "먼저 비실시간 메시지로 시작 권장"
mvp_recommendation: "MVP에서 제외"
출력 템플릿
요구사항 분석 결과
## 📋 요구사항 분석 결과
### 프로젝트 개요
- **프로젝트명**: [이름]
- **한 줄 설명**: [설명]
- **유형**: 웹앱 / 모바일앱 / SaaS
- **타겟 사용자**: [대상]
---
### 🎯 MVP 기능 (1차 개발)
**핵심 가치**: [서비스의 핵심 가치 한 문장]
| 순위 | 기능 | 설명 | 난이도 | 예상 시간 |
|-----|------|------|--------|----------|
| 1 | 사용자 인증 | 이메일 회원가입/로그인 | 쉬움 | 4시간 |
| 2 | 게시글 CRUD | 작성, 조회, 수정, 삭제 | 보통 | 8시간 |
| 3 | 기본 UI | 메인 페이지, 목록 | 쉬움 | 6시간 |
**MVP 예상 개발 기간**: 약 X일
---
### 📅 2차 기능 (MVP 이후)
| 기능 | 의존성 | 난이도 | 우선순위 |
|------|--------|--------|----------|
| 댓글 | 게시글 | 보통 | 높음 |
| 좋아요 | 게시글 | 쉬움 | 높음 |
| 프로필 수정 | 인증 | 쉬움 | 중간 |
---
### 📅 3차 기능 (확장)
| 기능 | 의존성 | 난이도 | 우선순위 |
|------|--------|--------|----------|
| 알림 | 댓글, 좋아요 | 어려움 | 중간 |
| 검색 | 게시글 | 보통 | 중간 |
| 소셜 로그인 | 인증 | 보통 | 낮음 |
---
### 🔗 의존성 그래프
인증 (기반) ├── 프로필 → 팔로우 → 피드 └── 게시글 → 댓글, 좋아요 → 알림
---
### ⚠️ 복잡도 경고
| 기능 | 경고 수준 | 이유 | 권장 |
|------|----------|------|------|
| 실시간 채팅 | 🔴 높음 | WebSocket 필요 | MVP 이후 |
| 결제 | 🔴 높음 | PG 연동, 보안 | MVP 이후 |
| 파일 업로드 | 🟡 중간 | 스토리지 비용 | 용량 제한 |
---
### ✅ 다음 단계
1. **기술 스택 결정** → tech-stack-advisor 활용
2. **프로젝트 구조 설계** → project-architect 활용
3. **MVP 개발 시작** → 위 순서대로 진행
---
### 📊 개발 로드맵
| 단계 | 기능 | 예상 기간 |
|------|------|----------|
| MVP | 인증, CRUD, 기본 UI | 1주 |
| v1.1 | 댓글, 좋아요 | 3일 |
| v1.2 | 프로필, 검색 | 3일 |
| v2.0 | 알림, 소셜 로그인 | 1주 |
Quick Commands
| 명령 | 동작 |
|---|---|
| req analyze | 아이디어를 요구사항으로 분석 |
| req mvp | MVP 기능만 추출 |
| req priority | 우선순위 매트릭스 생성 |
| req deps | 의존성 그래프 생성 |
| req roadmap | 개발 로드맵 생성 |
체크리스트
## 요구사항 분석 체크리스트
### 기능 완전성
[ ] 핵심 가치가 명확한가?
[ ] MVP로 서비스 가치를 전달할 수 있는가?
[ ] 누락된 필수 기능이 없는가?
### 우선순위
[ ] 의존성 순서가 맞는가?
[ ] 복잡한 기능이 MVP에 포함되지 않았는가?
[ ] 각 기능의 난이도가 현실적인가?
### 실현 가능성
[ ] 팀 역량으로 구현 가능한가?
[ ] 예상 기간이 현실적인가?
[ ] 기술적 제약이 파악되었는가?
Version: 1.0.0 Dependencies: project-architect, tech-stack-advisor Quality Target: 아이디어를 실행 가능한 태스크로