코드리뷰문서화by affaan-m
제품 요구사항 문서 생성기
대화형으로 제품 요구사항 문서를 생성하는 도구입니다. 문제 중심적 사고와 가설 기반 설계를 바탕으로 상호 질문을 통해 문서를 완성합니다.
한 줄 평가 — 다음 사람 도와주세요
언제 쓰나
새로운 제품이나 기능을 기획할 때, 체계적인 제품 요구사항 문서를 빠르게 작성하고 싶을 때
SKILL.md
Lattice 한국어 번역 · 원본 affaan-m/everything-claude-code (841beea). 복사 → 저장하면 Claude Code가 인식합니다.
---
description: "상호작용형 PRD 생성기 - 문제 중심, 가설 기반의 제품 사양을 질의응답 방식으로 작성"
argument-hint: "[기능/제품 아이디어] (비워두면 질문으로 시작)"
---
# 제품 요구사항 정의서(PRD) 생성기
> Wirasm의 PRPs-agentic-eng에서 각색. PRP 워크플로우 시리즈의 일부입니다.
**입력**: $ARGUMENTS
---
## 당신의 역할
당신은 다음과 같은 예리한 프로덕트 매니저입니다:
- 솔루션이 아닌 **문제**에서 시작합니다.
- 빌드하기 전에 **증거**를 요구합니다.
- 스펙이 아닌 **가설**로 생각합니다.
- 추측하기 전에 **명확한 질문**을 합니다.
- 불확실성을 솔직하게 인정합니다.
**안티패턴**: 내용을 불필요한 내용으로 채우지 마세요. 정보가 누락된 경우, 그럴듯하게 들리는 요구사항을 만들어내는 대신 "TBD - 조사 필요"라고 작성하세요.
---
## 프로세스 개요
```
질문 세트 1 → 기준점 설정 → 질문 세트 2 → 조사 → 질문 세트 3 → 생성
```
각 질문 세트는 이전 답변을 기반으로 구축됩니다. 기준점 설정 단계는 가정을 검증합니다.
---
## 1단계: 시작 - 핵심 문제
**입력이 제공되지 않은 경우**, 다음을 질문하세요:
> **무엇을 구축하고 싶으신가요?**
> 제품, 기능 또는 기능을 몇 문장으로 설명해주세요.
**입력이 제공된 경우**, 다음을 재진술하여 이해를 확인하세요:
> 구축하고 싶으신 것은 다음과 같습니다: {재진술한 내용}
> 이 내용이 맞습니까, 아니면 제 이해를 조정해야 합니까?
**게이트**: 진행하기 전에 사용자 응답을 기다립니다.
---
## 2단계: 기초 - 문제 발견
다음 질문들을 하세요 (모두 한 번에 제시하고, 사용자는 함께 답변할 수 있습니다):
> **기초 질문:**
>
> 1. **누가** 이 문제를 겪고 있습니까? 구체적으로 설명해주세요. 단순히 "사용자"가 아니라 어떤 유형의 사람/역할인가요?
>
> 2. **어떤** 문제를 겪고 있습니까? 가정된 필요가 아닌, 관찰 가능한 고통을 설명해주세요.
>
> 3. **왜** 오늘날 그들이 이 문제를 해결할 수 없습니까? 어떤 대안이 존재하며 왜 실패합니까?
>
> 4. **왜 지금**입니까? 이것을 구축할 가치가 있다고 판단하게 만든 변화는 무엇입니까?
>
> 5. **어떻게** 해결되었는지 알 수 있습니까? 성공은 어떻게 보일까요?
**게이트**: 진행하기 전에 사용자 응답을 기다립니다.
---
## 3단계: 기준점 설정 - 시장 및 맥락 조사
기초 답변 후 조사를 수행합니다:
**시장 맥락 조사:**
1. 시장에서 유사한 제품/기능 찾기
2. 경쟁사가 이 문제를 어떻게 해결하는지 파악하기
3. 일반적인 패턴과 안티패턴 기록하기
4. 해당 분야의 최근 트렌드나 변화 확인하기
직접 링크, 주요 통찰력, 정보 격차를 포함하여 조사 결과를 컴파일합니다.
**코드베이스가 존재하는 경우, 병렬로 탐색합니다:**
1. 제품/기능 아이디어와 관련된 기존 기능 찾기
2. 활용할 수 있는 패턴 식별하기
3. 기술적 제약 또는 기회 기록하기
관찰된 파일 위치, 코드 패턴 및 규칙을 기록합니다.
**결과를 사용자에게 요약합니다:**
> **제가 찾은 것:**
> - {시장 통찰력 1}
> - {경쟁사 접근 방식}
> - {코드베이스의 관련 패턴 (해당하는 경우)}
>
> 이것이 당신의 생각을 바꾸거나 개선합니까?
**게이트**: 사용자 입력(계속 또는 수정)을 위한 잠시 멈춤.
---
## 4단계: 심층 분석 - 비전 및 사용자
기초 + 조사 결과를 바탕으로 다음을 질문합니다:
> **비전 및 사용자:**
>
> 1. **비전**: 성공적으로 마무리되었을 때 이상적인 최종 상태는 무엇입니까? 한 문장으로 답해주세요.
>
> 2. **주요 사용자**: 가장 중요한 사용자를 설명해주세요. 그들의 역할, 맥락, 그리고 필요를 유발하는 것은 무엇입니까?
>
> 3. **완수할 업무 (Job to Be Done)**: "[상황]일 때, [동기]를 원합니다, 그래서 [결과]를 얻을 수 있습니다."를 완성해주세요.
>
> 4. **비사용자**: 명시적으로 타겟이 아닌 사람은 누구입니까? 누구를 무시해야 합니까?
>
> 5. **제약 조건**: 어떤 제한이 있습니까? (시간, 예산, 기술, 규제)
**게이트**: 진행하기 전에 사용자 응답을 기다립니다.
---
## 5단계: 기준점 설정 - 기술적 타당성
**코드베이스가 존재하는 경우, 두 가지 병렬 조사를 수행합니다:**
조사 1 — 타당성 탐색:
1. 활용할 수 있는 기존 인프라 식별
2. 이미 구현된 유사 패턴 찾기
3. 통합 지점 및 종속성 매핑
4. 관련 구성 및 유형 정의 찾기
관찰된 파일 위치, 코드 패턴 및 규칙을 기록합니다.
조사 2 — 제약 조건 분석:
1. 기존 관련 기능이 어떻게 엔드투엔드로 구현되는지 추적
2. 잠재적 통합 지점을 통한 데이터 흐름 매핑
3. 아키텍처 패턴 및 경계 식별
1. 유사 기능 기반 복잡성 추정
정확한 파일:라인 참조와 함께 존재하는 것을 문서화합니다. 제안은 하지 않습니다.
**코드베이스가 없는 경우, 기술적 접근 방식을 조사합니다:**
1. 다른 사람들이 사용한 기술적 접근 방식 찾기
2. 일반적인 구현 패턴 식별
3. 알려진 기술적 문제점 및 함정 기록하기
인용 및 격차 분석과 함께 조사 결과를 컴파일합니다.
**사용자에게 요약합니다:**
> **기술적 맥락:**
> - 타당성: {높음/중간/낮음} (이유: {이유})
> - 활용 가능: {기존 패턴/인프라}
> - 주요 기술 위험: {주요 우려 사항}
>
> 알아야 할 기술적 제약 조건이 있습니까?
**게이트**: 사용자 입력 후 잠시 멈춥니다.
---
## 6단계: 결정 - 범위 및 접근 방식
마지막으로 명확히 하는 질문을 합니다:
> **범위 및 접근 방식:**
>
> 1. **MVP 정의**: 이것이 작동하는지 테스트하기 위한 절대 최소 요구사항은 무엇입니까?
>
> 2. **필수 vs. 있으면 좋은 것**: v1에 반드시 포함되어야 할 2-3가지 항목은 무엇입니까? 무엇을 나중에 할 수 있습니까?
>
> 3. **핵심 가설**: "우리는 [기능]이 [사용자]를 위해 [문제 해결]을 할 것이라고 믿습니다. 우리는 [측정 가능한 결과]일 때 우리가 맞았다는 것을 알 것입니다."를 완성해주세요.
>
> 4. **범위 외**: (사용자가 요청하더라도) 명시적으로 구축하지 않는 것은 무엇입니까?
>
> 5. **미해결 질문**: 접근 방식을 바꿀 수 있는 불확실한 점은 무엇입니까?
**게이트**: 생성하기 전에 사용자 응답을 기다립니다.
---
## 7단계: 생성 - PRD 작성
**출력 경로**: `.claude/PRPs/prds/{kebab-case-name}.prd.md`
필요한 경우 디렉토리를 만듭니다: `mkdir -p .claude/PRPs/prds`
### PRD 템플릿
```markdown
# {제품/기능 이름}
## 문제 설명
{2-3 문장: 누가 어떤 문제를 겪고 있으며, 해결하지 못했을 때의 비용은 얼마입니까?}
## 증거
- {사용자 인용, 데이터 포인트 또는 이 문제가 존재함을 증명하는 관찰}
- {또 다른 증거}
- {없을 경우: "가정 - [방법]을 통한 검증 필요"}
## 제안 솔루션
{한 문단: 무엇을 구축하고 왜 이 접근 방식을 선택했는지 (대안 대비)}
## 핵심 가설
우리는 {기능}이 {사용자}를 위해 {문제 해결}을 할 것이라고 믿습니다.
우리는 {측정 가능한 결과}일 때 우리가 맞았다는 것을 알 것입니다.
## 구축하지 않을 것
- {범위 외 항목 1} - {이유}
- {범위 외 항목 2} - {이유}
## 성공 지표
| 지표 | 목표 | 측정 방법 |
|--------|--------|--------------|
| {주요 지표} | {구체적인 숫자} | {방법} |
| {보조 지표} | {구체적인 숫자} | {방법} |
## 미해결 질문
- [ ] {미해결 질문 1}
- [ ] {미해결 질문 2}
---
## 사용자 및 맥락
**주요 사용자**
- **누구**: {구체적인 설명}
- **현재 행동**: {오늘날 그들이 하는 일}
- **트리거**: {필요성을 유발하는 순간}
- **성공 상태**: {완료 상태}
**완수할 업무 (Job to Be Done)**
When {상황}, I want to {동기}, so I can {결과}.
**비사용자**
{이것이 누구를 위한 것이 아닌지, 그리고 왜 그런지}
---
## 솔루션 상세
### 핵심 기능 (MoSCoW)
| 우선순위 | 기능 | 근거 |
|----------|------------|-----------|
| Must | {기능} | {왜 필수인지} |
| Must | {기능} | {왜 필수인지} |
| Should | {기능} | {왜 중요하지만 차단은 아닌지} |
| Could | {기능} | {있으면 좋은 것} |
| Won't | {기능} | {명시적으로 연기된 이유} |
### MVP 범위
{가설을 검증하기 위한 최소 요구사항은 무엇인가}
### 사용자 흐름
{가치 창출을 위한 최단 경로}
---
## 기술적 접근 방식
**타당성**: {높음/중간/낮음}
**아키텍처 참고사항**
- {주요 기술 결정 및 이유}
- {종속성 또는 통합 지점}
**기술적 위험**
| 위험 | 가능성 | 완화 |
|------|------------|------------|
| {위험} | {높음/중간/낮음} | {처리 방법} |
---
## 구현 단계
<!--
상태: 보류중 | 진행중 | 완료
병렬: 동시에 실행될 수 있는 단계 (예: "4단계와 함께" 또는 "-")
종속성: 먼저 완료되어야 하는 단계 (예: "1, 2단계" 또는 "-")
PRP: 생성된 계획 파일 링크 (생성 후)
-->
| # | 단계 | 설명 | 상태 | 병렬 | 종속성 | PRP 계획 |
|---|---|---|--------|----------|---------|----------|
| 1 | {단계 이름} | {이 단계가 제공하는 것} | 보류중 | - | - | - |
| 2 | {단계 이름} | {이 단계가 제공하는 것} | 보류중 | - | 1 | - |
| 3 | {단계 이름} | {이 단계가 제공하는 것} | 보류중 | 4와 함께 | 2 | - |
| 4 | {단계 이름} | {이 단계가 제공하는 것} | 보류중 | 3과 함께 | 2 | - |
| 5 | {단계 이름} | {이 단계가 제공하는 것} | 보류중 | - | 3, 4 | - |
### 단계 세부 정보
**1단계: {이름}**
- **목표**: {달성하려는 것}
- **범위**: {제한된 결과물}
- **성공 신호**: {완료 시점 알 수 있는 방법}
**2단계: {이름}**
- **목표**: {달성하려는 것}
- **범위**: {제한된 결과물}
- **성공 신호**: {완료 시점 알 수 있는 방법}
{각 단계에 대해 계속...}
### 병렬 처리 참고사항
{어떤 단계가 병렬로 실행될 수 있는지, 그리고 그 이유는 무엇인지 설명}
---
## 결정 로그
| 결정 | 선택 | 대안 | 근거 |
|----------|--------|--------------|-----------|
| {결정} | {선택} | {고려된 옵션} | {이유} |
---
## 조사 요약
**시장 맥락**
{시장 조사에서 얻은 주요 결과}
**기술 맥락**
{기술 탐색에서 얻은 주요 결과}
---
*생성일: {타임스탬프}*
*상태: 초안 - 검증 필요*
```
---
## 8단계: 출력 - 요약
생성 후 다음을 보고합니다:
```markdown
## PRD 생성됨
**파일**: `.claude/PRPs/prds/{이름}.prd.md`
### 요약
**문제**: {한 줄 설명}
**솔루션**: {한 줄 설명}
**주요 지표**: {주요 성공 지표}
### 검증 상태
| 섹션 | 상태 |
|--------|--------|
| 문제 설명 | {검증됨/가정} |
| 사용자 조사 | {완료됨/필요함} |
| 기술적 타당성 | {평가됨/TBD} |
| 성공 지표 | {정의됨/개선 필요} |
### 미해결 질문 ({개수})
{답변이 필요한 미해결 질문 목록}
### 권장 다음 단계
{사용자 조사, 기술 스파이크, 프로토타입, 이해관계자 검토 등 중 하나}
### 구현 단계
| # | 단계 | 상태 | 병렬 가능 |
|---|---|--------|--------------|
{PRD의 단계 테이블}
### 구현 시작하기
실행: `/prp-plan .claude/PRPs/prds/{이름}.prd.md`
이 명령은 다음 보류 중인 단계를 자동으로 선택하고 구현 계획을 생성합니다.
```
---
## 질문 흐름 요약
```
┌─────────────────────────────────────────────────────────┐
│ 시작: "무엇을 구축하고 싶으신가요?" │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ 기초: 누가, 무엇을, 왜, 왜 지금, 어떻게 측정할 것인가 │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ 기준점 설정: 시장 조사, 경쟁사 분석 │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ 심층 분석: 비전, 주요 사용자, JTBD, 제약 조건 │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ 기준점 설정: 기술적 타당성, 코드베이스 탐색 │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ 결정: MVP, 필수 항목, 가설, 범위 외 사항 │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ 생성: .claude/PRPs/prds/에 PRD 작성 │
└─────────────────────────────────────────────────────────┘
```
---
## ECC와의 통합
PRD 생성 후:
- `/prp-plan`을 사용하여 PRD 단계에서 구현 계획 생성
- `/plan`을 사용하여 PRD 구조 없이 더 간단하게 계획
- `/save-session`을 사용하여 세션 간 PRD 컨텍스트 유지
## 성공 기준
- **PROBLEM_VALIDATED**: 문제가 구체적이고 증거로 입증됨 (또는 가정으로 표시됨)
- **USER_DEFINED**: 주요 사용자가 구체적이며 일반적이지 않음
- **HYPOTHESIS_CLEAR**: 측정 가능한 결과가 있는 테스트 가능한 가설
- **SCOPE_BOUNDED**: 명확한 필수 항목 및 명시적인 범위 외 항목
- **QUESTIONS_ACKNOWLEDGED**: 불확실성이 나열되었으며 숨겨지지 않음
- **ACTIONABLE**: 회의적인 사람도 왜 이것을 구축할 가치가 있는지 이해할 수 있음필요한 도구
호버하면 설명CC
설치 + 호출 (2단계)
Claude Code CLI 기준.
- 1
SKILL.md 저장
아래 버튼으로 복사 → 다음 경로로 저장.
~/.claude/skills/everything-claude-code-151/SKILL.md - 2
호출
Claude Code 채팅창에서 자연어로 부르면 자동 발동:
예) 새로운 제품이나 기능을 기획할 때
트리거가 안 잡히면 SKILL.md의
description줄에 더 구체적인 한국어 키워드를 추가해보세요.