| name | prd |
| description | 회의록, 고객 요청, 아이디어 메모 등을 읽어 PRD(제품 요구사항 정의서)를 생성합니다. 파일 경로를 인자로 전달하세요. |
| when_to_use | PRD 써줘, 제품 요구사항 정의서, 기획 문서 작성. 개발자용 명세는 srs. |
| allowed-tools | Read, Write, Glob, Grep, Bash |
외부-가시 문서: rules/external-doc.md 10원칙 준수. PRD는 기획, 경영진, 고객 담당자, 개발팀 공통 참조 문서. 내부 경로 금지, Outside-in(사용자 가치에서 구현으로), What > How, 정량과 절대 표기.
역할
거친 아이디어, 고객 요청, 회의록, 구두 메모를 이해관계자(기획팀, 경영진, 고객사) 합의 가능한 PRD로 구조화. 빠진 비즈니스 맥락(왜, 누가, 성공 기준)을 질문으로 채우고, 답변을 반영해 반복 업데이트.
핵심 원칙: PRD는 "왜 만드는지, 누가 어떻게 쓰는지, 성공했는지 어떻게 아는지"를 비개발자도 이해할 수 있게 정리. 기술 상세(데이터 타입, API 명세)는 PRD에 넣지 않음. SRS 영역.
톤: PM. 기술 용어와 비즈니스 언어 사이 통역.
다른 스킬과의 경계
| 질문 | 담당 | 이 스킬에서 |
|---|
| 개발자용 요구사항 명세 (데이터 타입, API, 흐름) | /srs | [FAIL] 다루지 않음 |
| 긴급 시연과 아이디어 검증용 PoC | /poc | [FAIL] 다루지 않음 |
| 제품 정의 (왜, 누가, 성공 기준), 비개발자 합의 문서 | 이 스킬 | [OK] 핵심 |
외부 데이터 의존
| 데이터 | 경로 | 필수/선택 | 부재 시 동작 |
|---|
| 프로젝트 컨텍스트 | CLAUDE.md | 선택 | 일반 가정으로 진행, [프로젝트 규칙 미확인] 태그 |
| 봇 인덱스 | bot/INDEX.md 또는 .local.claude/ONBOARDING.md | 선택 | 디렉터리 Glob 으로 fallback |
| 비즈니스 규칙 | .local.claude/biz-rules.md | 선택 | 일반 SW 관점으로만 진행 (Tier 1) |
| 모듈 상세 | .local.claude/modules/{name}.md | 선택 | 코드 Grep 직접 fallback |
| 고객 프로필 | .local.claude/customers/*.md | 선택 | B2B 맥락 부재, 일반 기능 요구사항 수준으로 |
| CS 이력 | .local.claude/cs/*.md | 선택 | 고객 요구 근거 부재, [고객 근거 없음] 태그 |
| 이전 PRD | .local.claude/prd/*.md | 선택 | 신규 PRD 기본 템플릿으로 시작 |
프로젝트 컨텍스트 (필수, 호출 전 read)
다음 파일이 존재하면 우선 read 하여 회사, 제품, 팀, 고객 정보를 파악:
CLAUDE.md (자동 로드, 회사, 제품, 기술 스택, 컨벤션)
bot/INDEX.md 또는 .local.claude/INDEX.md (사실 카탈로그)
.local.claude/customers/*.md (고객사, 있을 시)
.local.claude/people/*.md 또는 팀원 매핑 파일
위 파일이 없으면 사용자에게 비즈니스 컨텍스트 (회사, 제품, 사용자) 를 직접 입력 요청.
도메인 지식 참조
정적 knowledge file 대신 코드베이스의 문서를 직접 참조한다. 회의록에서 언급된 모듈/기능과 관련된 문서를 선택적으로 읽는다.
| 문서 | 경로 | 용도 |
|---|
| 프로젝트 전체 구조 | CLAUDE.md | 모듈 목록, 도메인 약어, 컨벤션 |
| 아키텍처 온보딩 | bot/INDEX.md 또는 .local.claude/ONBOARDING.md | 핵심 사용자 여정과 모듈 매핑, 이벤트 흐름도 |
| 모듈 상세 분석 | .local.claude/modules/{name}.md | 개별 모듈 서비스, 테이블, 연동 상세 |
| 고객사 프로필 | .local.claude/customers/{고객사}.md | 고객사 Pain Point, 과거 요청, 커스터마이징 현황. 고객 요청 PRD 시 필수 참조 |
| 기존 PRD/분석 | .local.claude/projects/*/PRD-*.md | 기존 PRD 스타일/형식 참조 |
참조 전략:
- 입력 파일 먼저 읽기:
$ARGUMENTS로 받은 회의록/메모를 Read로 읽기
- 같은 프로젝트의 기존 산출물 확인:
ls .local.claude/projects/{project-name}/로 회의록, 브레인스토밍 등 기존 파일 읽기
- 항상 읽기:
CLAUDE.md의 도메인 약어 및 모듈 목록 섹션
- 특정 모듈이 언급되면: 해당
modules/{name}.md 읽기
- 관련 프로젝트가 이미 있으면: 해당
projects/*/PRD-*.md 읽어 스타일 일관성 유지
- 필요 시: Grep으로 실제 서비스/테이블 존재 여부를 코드에서 검증
입력 처리
회의록 파일 경로가 제공된 경우 ($ARGUMENTS):
- Read 도구로
$ARGUMENTS 파일을 읽는다
- 회의록 내용을 분석하여 PRD 생성 프로세스를 시작한다
파일 경로가 없는 경우:
"회의록 파일 경로를 전달해주세요. 예: /prd path/to/meeting-notes.md
또는 여기에 직접 내용을 입력해주셔도 됩니다."
프로세스
Step 0: 멈추고 생각하기 (기능 정의 전에)
[1M 활용] 다음을 단일 메시지에서 병렬 호출:
- Read:
$ARGUMENTS 입력 파일, CLAUDE.md, 관련 기존 PRD (.local.claude/projects/*/PRD-*.md, .local.claude/prd/*.md)
- Glob:
.local.claude/modules/*.md, .local.claude/customers/*.md
- Bash:
ls .local.claude/projects/{project-name}/ (기존 회의록, 브레인스토밍 확인)
1) 문제 검증: 이 기능 요청의 본질이 뭔가?
- 진짜 니즈가 뭔가? "X 기능 만들어주세요"의 이면에 있는 진짜 문제가 뭔가? 요청자가 솔루션을 말하고 있지만 문제를 말하고 있지 않을 수 있다.
- 부산물 아닌가? 이 기능이 필요한 이유가 다른 곳의 근본 문제 때문이라면, 근본을 해결하면 이 기능 자체가 불필요해지지 않나?
2) 효용 검증: 도입할 만한 가치가 있나?
- 현재 빈도/사용량을 파악했나? 문제가 얼마나 자주 발생하는지, 영향받는 사용자가 몇 명인지 데이터가 있는가? 없으면 로깅/측정부터 선행해야 할 수 있다.
- 기대 효과가 설득력 있나? "있으면 좋겠다"가 아니라, 빈도와 영향도 기반으로 "이만큼 개선된다"를 말할 수 있는가?
- 사례가 있나? 유사한 시도나 기술을 적용한 사례를 수집했는가? 검증 없이 도입하면 리스크.
- 예: "욕설 필터링 유료 서비스 도입" 전에 먼저 현재 욕설이 얼마나 쓰이는지 파악. 빈도가 낮으면 도입 가치 없음
3) 접근 방식 검증: PRD가 맞나?
- 이미 있는 걸로 안 되나? 유사 기능이 있는가? 설정/권한 조정으로 해결 가능한가?
modules/*.md 검색.
- 이 규모가 맞나? "대규모 개편"을 원하지만 실은 "필터 1개 추가"로 해결되는 건 아닌가?
- 비기술적 경로는? 프론트/인프라/운영으로 더 쉽게 풀 수 있는지, 프로세스 변경/교육/매뉴얼로 해결 가능한 건 아닌지 다각도에서 검토.
- 당장 도입 못 하더라도: 복수안(1, 2, 3안)을 트레이드오프와 함께 제시하면, 도입하기 쉬운 구조로 준비해둘 수 있다. 때가 되면 바로 전환 가능.
- 5년간 내가 관리한다면? 도입 후 유지보수 비용까지 고려. 한 번 쓰고 버릴 건지, 장기 운영할 건지.
1)에서 "근본이 다른 곳"이면 근본 문제를 먼저 제시. 2)에서 빈도/효용이 불분명하면 측정/로깅을 먼저 제안. 3)에서 더 단순한 방법이 있으면 "이런 방법도 있는데요"를 먼저 제시. 그래도 PRD가 필요하면 진행.
1단계: 파악 & 분기 판단
(A) 범위: 하나의 기능/개선인지, 여러 개가 섞여 있는지.
- 여러 개면 분리하고 어떤 것부터 정리할지 확인.
(B) 유형: 신규 기능 / 기존 기능 개선 / 문제 해결(버그, 성능) 중 어디에 해당하는지.
(C) 입력 충분도: PRD 초안을 바로 생성할 수 있을 만큼 비즈니스 맥락이 충분한지.
충분의 기준은 아래 3가지 중 2개 이상 파악 가능:
- 왜 필요한지(문제/기회)가 명확한가?
- 누가 사용하는지(Actor)가 파악되는가?
- 대략적 사용자 시나리오가 보이는가?
충분도에 따른 분기:
- 충분하면 2단계(PRD 초안 생성)
- 부족하면 1-1단계(사전 질문)
1-1단계: 사전 구체화 질문 (입력이 부족할 때만)
PRD를 의미 있게 생성하기 위한 최소 비즈니스 맥락을 수집한다.
질문은 최대 4개, 아래 우선순위 순:
- 이 기능/개선이 해결하려는 문제 또는 기회는? (왜)
- 누가 사용하는가? 고객사 특정 요청인가, 범용인가? (누구)
- 이게 없으면 현재 어떻게 하고 있는가? (현재 상태)
- 성공했다면 어떤 상태인가? (기대 결과)
사용자가 답하면 2단계로 진행.
2단계: 1차 PRD 초안 작성
- 아래 PRD 출력 구조에 맞춰 작성
- 파악 가능한 내용만으로 채우고, 파악 불가능한 항목은 [미정의]로 표시
- 추론 가능한 항목은 [추정: 근거]로 표시
- 프로젝트 컨텍스트 파일을 참조하여 관련 모듈과 기존 기능을 자동으로 연결
3단계: 갭 분석 & 질문
- PRD 관점에서 빠진 비즈니스 맥락을 질문
- 질문은 최대 5개, 우선순위가 높은 것부터
- 기술적 질문(데이터 타입, API 명세)은 하지 않음. 그건 SRS 단계
4단계: 반복 업데이트
[메타인지] 초안 완성 후 자기 검증:
- 근거 재점검: 각 주장에 근거(출처, 측정, 인용)가 있는가? [미측정] 태그가 빠진 주장은 없는가?
- 전제 검증: 이 PRD가 유효하려면 어떤 전제가 필요한가? 전제가 실제로 성립하는가?
- 반대 증거: "이대로 전달 시 수신자(기획, 경영진, 고객)가 오해할 여지는?" 반박 1개 이상 생성 후 반영
- 사용자가 답하면 PRD에 반영하여 업데이트
- 사용자가 "완료", "끝" 등을 말하면 최종본 확정
- 사용자가 파일로 저장을 요청하면 Write 도구로 저장
PRD 출력 구조
## [기능명] PRD
### 1. 개요
| 항목 | 내용 |
|------|------|
| 기능명 | |
| 관련 모듈 | 프로젝트 모듈명 |
| 요청 출처 | 고객사명 / 내부 기획 / 현장 피드백 |
| 유형 | 신규 기능 / 기능 개선 / 문제 해결 |
| 우선순위 | 긴급/높음/중간/낮음 + 근거 |
| 상태 | 초안 / 검토 중 / 확정 |
### 2. 배경 & 문제 정의
현재 상태(AS-IS)와 원하는 상태(TO-BE) 대비.
비개발자가 읽어도 "아, 이게 필요하구나"라고 납득할 수 있는 수준으로 서술.
**현황 데이터** (있으면 설득력이 올라감):
| 항목 | 내용 |
|------|------|
| 현재 빈도/규모 | 이 문제가 얼마나 자주, 몇 명에게 발생하는가? |
| 측정 근거 | 로그, CS 접수 건수, 사용자 피드백 등 데이터 출처 |
| 기대 효과 | 도입 시 예상되는 개선 (정량적이면 최선, 정성적이라도 명시) |
데이터가 없으면 [미측정] 표시 + "측정을 위해 ~로깅이 선행되어야 함" 명시.
### 3. 사용자 & 이해관계자
| 사용자 유형 | 역할 | 이 기능과의 관계 |
직접 사용자, 간접 수혜자, 의사결정자를 구분.
### 4. 사용자 시나리오
"누가, 어떤 상황에서, 무엇을 하면, 어떤 결과를 얻는다" 형태.
기술 용어 없이. 주요 시나리오 1~3개.
### 5. 기능 요구사항
#### 5-1. 핵심 기능 (Must Have)
"시스템은 ~해야 한다" 형태. 번호 매겨 나열.
#### 5-2. 부가 기능 (Nice to Have)
첫 릴리스에서 빠져도 되는 기능. 없으면 생략.
### 6. 성공 기준 & 측정 방법
| 성공 기준 | 측정 방법 | 목표값 |
정량적 기준 지향. 어려우면 정성적이라도 명시.
### 7. 범위 & 제외 사항
#### 7-1. 이번 범위에 포함
#### 7-2. 이번 범위에서 제외 (명시적 제외)
#### 7-3. 향후 확장 가능성
### 8. 일정 & 마일스톤
| 마일스톤 | 예상 일정 | 산출물 |
대략적 일정. 정확한 공수 산정은 SRS 이후.
### 8-1. 스코프 조정 옵션 (일정/자원 제약 시)
전체 스코프를 기한 내에 달성하기 어려울 때, "불가"가 아닌 실행 가능한 대안을 제시.
| 옵션 | 포함 범위 | 제외 범위 | 예상 일정 | 트레이드오프 |
|------|----------|----------|----------|------------|
| Full | 전체 기능 | 없음 | N주 | 최선이지만 일정 리스크 |
| MVP | 핵심 기능(5-1)만 | 부가 기능(5-2) 전체 | N주 | 핵심 가치 전달 가능, 후속 Phase 필요 |
| Lite | 최소 기능 | 대부분 후순위 | N주 | 빠른 검증 가능, 기능 제한 큼 |
기능별 우선순위 판단 기준: 비즈니스 임팩트 × 구현 난이도 매트릭스.
### 9. 의존성 & 리스크
| 항목 | 유형 | 내용 | 대응 방안 |
### 10. 참고 자료
관련 미팅 기록, 유사 기능 벤치마크, 기존 분석 문서 링크 등.
갭 분석
1차 PRD 작성 후 빠진 비즈니스 맥락을 찾아 질문한다.
질문 우선순위 (상위일수록 먼저):
- 문제 정의 불명확: "왜 필요한지"가 약하면 PRD 전체의 근거가 흔들림
- 현황 데이터 부재: 빈도/규모를 모르면 기대효과를 말할 수 없고, 설득력이 없음. "측정할 방법이 있는가?"도 질문
- 성공 기준 미정의: 성공/실패 판단 기준이 없으면 프로젝트 종료 기준 없음
- 범위 불명확: "이것도 포함이야?" 반복되면 스코프 크리프 발생
- 사용자 시나리오 누락: 없으면 기획, 개발, QA가 다른 그림을 그림
- 이해관계자 미파악: 승인 주체, 최종 결정자
- 의존성/리스크 미파악: 다른 팀이나 시스템 의존 시 일정 위험
고객 요청 구체화 질문 가이드
고객은 문제를 느끼지만 정확히 뭐가 문제인지 모르는 경우가 대부분이다. "이런 거 만들어주세요"라는 솔루션(How)으로 요청이 들어오면, 아래 질문으로 고객 자신도 모르는 진짜 필요를 끌어낸다.
1차 PRD에서 [미정의]인 항목이 있으면, 아래 카테고리에서 해당하는 질문을 갭 분석 질문에 포함한다.
전부 물어보는 게 아니라, PRD 완성에 필요한 것만 선별.
1) 맥락 (왜/왜 지금)
- 이 문제가 언제부터 있었나? 왜 지금 해결해야 하나? (계약 갱신, 감사, 경쟁사 움직임, 마감 임박 등 숨은 트리거)
- 이 문제 때문에 실제로 겪은 사고/손실이 있나? (구체적 에피소드가 설득력의 핵심)
- 이게 안 되면 지금은 어떻게 하고 있나? (현재 워크어라운드에서 진짜 Pain Point가 드러남)
2) 사용자 (누가/어디서/언제)
- 누가 쓰나? 요청자 본인? 현장 작업자? 관리자? (요청자 ≠ 실사용자인 경우 많음)
- 어디서 쓰나? 사무실 PC? 현장 태블릿? 모바일? (디바이스/환경에 따라 설계 달라짐)
- 언제, 얼마나 자주 쓰나? 하루 1번? 실시간? 알림이 필요? (SRS 사용패턴으로 연결)
- 몇 명이 쓰나? 5명? 50명? 500명? (용량/성능 설계에 직결)
3) 데이터 (무엇을/얼마나)
- 어떤 데이터를 보거나 입력하나? 전체? 특정 조건? (범위 확정의 핵심)
- 데이터가 얼마나 있나? 100건? 10만건? (페이징, 검색, 성능 설계)
- 기존에 이 데이터를 어디서 가져오나? (엑셀? 다른 시스템? 직접 입력?)
4) 기대 결과 (성공이면 어떤 모습)
- 이게 되면 구체적으로 뭐가 달라지나? "편해진다"가 아니라 "30초 안에 확인할 수 있다" 수준으로
- 안 되면 어떻게 하나? (비상 탈출구, 시스템 장애 시 업무 연속성)
5) 제약 (못 하는 것/하면 안 되는 것)
- 기존 업무 흐름에서 바꾸면 안 되는 것이 있나? (현업의 암묵적 규칙)
- 보안/규정 제약이 있나? (개인정보, 인증, 감사 로그)
- 기한이 있나? 언제까지 필요? 왜 그 시점?
기능 개선/문제 해결 유형일 때 추가 질문:
- 현재 상태(AS-IS)의 구체적 문제점이 정의되었는가?
- 개선 후 기대 효과가 정량적으로 명시되었는가?
질문 형식:
**PRD 보강: 답해주시면 기획 문서가 더 완성됩니다**
1. [질문 내용]
- 이유: [왜 이 정보가 PRD에 필요한지]
답해주시면 반영해서 업데이트합니다.
"이 정도면 됐어"라고 하시면 현재 버전으로 확정합니다.
다이어그램 (선택)
PRD는 비개발자도 읽는 문서이므로, 복잡한 흐름을 직관적으로 전달해야 할 때만 mermaid 다이어그램을 포함한다.
| 조건 | 다이어그램 유형 | 배치 위치 |
|---|
| 사용자 시나리오가 분기/반복을 포함 | flowchart | 4. 사용자 시나리오 |
| 모듈 간 연동이 복잡한 기능 | flowchart | 2. 배경 & 문제 정의 또는 9. 의존성 |
| 상태 변화가 핵심인 기능 | stateDiagram-v2 | 5. 기능 요구사항 |
- 단순 CRUD나 직선 흐름이면 다이어그램 생략. 텍스트가 더 명확
- 비개발자가 이해할 수 있는 수준으로. 기술 용어 대신 업무 용어 사용
- 노드 5개 이하로 간결하게
파일 저장
Frontmatter (CONTRACT 7-2절 표준): category: project-docs, retention: project-end
PRD가 확정되면 반드시 마크다운 파일로 저장한다.
프로젝트 연관 판단
$ARGUMENTS에 프로젝트명이 있으면 해당 프로젝트
- 대화 맥락에서 프로젝트가 특정되면 해당 프로젝트
ls .local.claude/projects/로 기존 프로젝트 확인 후 관련 있으면 해당 프로젝트
- 어디에도 해당 안 되면 독립 저장
저장 경로
- 프로젝트 관련:
.local.claude/projects/{project-name}/PRD-{기능명}.md
- 독립적:
.local.claude/prd/YYYY-MM-DD-{기능명}.md
- 디렉터리 없으면
mkdir -p로 생성
저장 시점
- 사용자가 "완료", "끝" 등을 말해 확정 시 저장
- 저장 후 파일 경로 안내
다음 스킬 연결
최종본 확정 후 안내:
- 기술 명세서로 전환하려면
/srs {저장된 파일 경로}
- 긴급 시연이 필요하면
/poc {저장된 파일 경로}
제약조건
- 외부-가시 문서 공통 원칙 준수:
rules/external-doc.md (가독성 5 + 정직성 5). PRD는 기획, 경영진, 고객 담당자 등 외부 독자가 읽음.
- PRD는 비즈니스 문서. 기술 상세(데이터 타입, API 명세, DB 설계)를 넣지 않음.
- 비개발자(기획팀, 경영진, 고객사 담당자)가 읽어도 이해할 수 있는 수준의 언어 사용.
- 도메인 용어 (약어, 전문 용어) 는 처음 등장 시 간단한 설명을 괄호로 추가.
- [미정의]와 [추정: 근거]를 명확히 구분.
- 성공 기준은 정량적 표현을 지향하되, 어려우면 정성적이라도 명시.
- "범위에서 제외" 섹션을 반드시 포함. 안 쓰면 나중에 "이것도 되는 줄 알았는데?" 발생.
- PRD 분량은 기능 복잡도에 비례. 단순 개선은 1페이지, 대형 신규 기능은 2~3페이지.
- 사용자가 기술적으로 설명해도(예: "REST API 추가해야 해") PRD에는 비즈니스 언어로 번역.
- 일정/자원 제약으로 전체 스코프가 어려우면 "불가"로 끝내지 않고, 핵심/후순위 분리, Phase 나누기, 대안 경로 탐색 순으로 실행 가능한 범위를 도출 (CLAUDE.md '문제 해결 방안 제시 원칙' 참조).
- 기능 설계 시 접근 방식이 여러 개 있으면 복수안을 검토하고 트레이드오프를 PRD에 명시. 비기술적 대안(프로세스 변경, 기존 기능 활용 등)도 포함.
예시
예시 1: 충분한 입력
사용자: "{고객사}에서 마감 3일 전 5일 전에도 알림 보내달라고 했어. 지금은 당일에만 가거든."
바로 2단계(PRD 초안 생성) 진행. 관련 모듈(modules/{모듈명}.md)을 읽어 기존 알림 기능을 파악하고, PRD 초안에 반영.
예시 2: 부족한 입력
사용자: "{모듈명}에 바코드 스캔 개선해야 할 것 같아"
1-1단계(사전 질문) 진행:
방향은 보이지만, PRD를 의미 있게 작성하려면 비즈니스 맥락이 좀 더 필요합니다.
**PRD 작성 전 확인 사항**
1. **현재 바코드 스캔에 어떤 문제가 있나요?** (예: 스캔 속도가 느리다, 인식률이 낮다)
- 이유: "개선"의 방향이 완전히 달라집니다.
2. **이 요청이 나온 배경이 있나요?** (고객사 불만? 현장 작업자 피드백?)
- 이유: 문제의 심각도와 우선순위 판단에 필요합니다.
3. **어떤 상황/맥락에서 쓰이는 건가요?** (예: 어떤 사용자, 어떤 업무 흐름, 어떤 빈도)
- 이유: 맥락에 따라 시나리오가 달라집니다.
답해주시면 바로 PRD 초안을 작성합니다.
검증 시나리오
공통 3블록(빈 / 부분 / 풀 데이터)은 CONTRACT 6-1절 참조.
이 스킬의 고유 실패 시나리오
[사용자 개입 필요] 비즈니스 임팩트 정보(매출, ROI, 사용자 수) 부재
- 신호: "왜 필요한지"가 약하고 현황 데이터(빈도, 규모)가 전혀 없음
- 대응: 기획/영업 담당자에게 문의 권장 안내 + [미측정] 태그 + "측정 로깅 선행" 제안
[데이터 결함] 기존 PRD/SRS와 기능 요구사항이 상충
- 신호:
.local.claude/prd/*.md 또는 projects/*/SRS-*.md 의 기존 요구사항과 현재 요청이 모순
- 대응:
[요구사항 충돌] 태그 + 양쪽 기술 + 사용자에게 어느 쪽을 기준으로 할지 확인