기획 단계 AI 협업 — 18단계 서비스 기획 워크플로우 (MVP정의 → 고객분석 → 시장조사 → 고객경험 → 문제가설 → 솔루션 → 비즈니스모델 → 이벤트스토밍 → 유저스토리 → UI/UX → 프로토타입 → 플로우 스크립트)
Install
mkdir -p .claude/skills/plan-unicorn-plugins && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/16216" && unzip -o skill.zip -d .claude/skills/plan-unicorn-plugins && rm skill.zipInstalls to .claude/skills/plan-unicorn-plugins
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
기획 단계 AI 협업 — 18단계 서비스 기획 워크플로우 (MVP정의 → 고객분석 → 시장조사 → 고객경험 → 문제가설 → 솔루션 → 비즈니스모델 → 이벤트스토밍 → 유저스토리 → UI/UX → 프로토타입 → 플로우 스크립트)About this skill
Plan
[NPD Plan 활성화]
목표
PO·서비스기획자·도메인전문가·아키텍트·AI엔지니어가 협업하여 6단계 18스텝의 완전한 서비스 기획을 수행함. MVP 정의부터 프로토타입까지 체계적으로 산출물을 생성하며, 각 단계의 산출물이 다음 단계의 컨텍스트로 누적 연결됨.
활성화 조건
사용자가 /npd:plan 호출 시 또는 "기획 시작", "기획해줘", "서비스 기획" 키워드 감지 시.
주의사항: 중간 단계부터 시작할 때도 각 단계별 승인 여부를 선택하는 Phase 0은 항상 수행하여 진행 모드를 설정해야 합니다.
선행 조건
/npd:create완료 (프로젝트 디렉토리 및 AGENTS.md 존재)
작업 환경 변수 로드
AGENTS.md 파일에서 ## 환경변수 섹션의 환경변수 로딩.
로딩 실패 시 사용자에게 /npd:create를 먼저 수행하라고 안내하고 종료.
에이전트 호출 규칙
| 에이전트 | FQN |
|---|---|
| product-owner | npd:product-owner:product-owner |
| service-planner | npd:service-planner:service-planner |
| architect | npd:architect:architect |
| ai-engineer | npd:ai-engineer:ai-engineer |
| domain-expert | npd:domain-expert:domain-expert |
| backend-developer | npd:backend-developer:backend-developer |
| frontend-developer | npd:frontend-developer:frontend-developer |
| qa-engineer | npd:qa-engineer:qa-engineer |
| devops-engineer | npd:devops-engineer:devops-engineer |
프롬프트 조립
{NPD_PLUGIN_DIR}/resources/guides/combine-prompt.md에 따라 AGENT.md + agentcard.yaml + tools.yaml 합치기Agent(subagent_type=FQN, model=tier_mapping 결과, prompt=조립된 프롬프트)호출- tier → 모델 매핑은
{NPD_PLUGIN_DIR}/gateway/runtime-mapping.yaml참조
서브 에이전트 호출
워크플로우 단계에 Agent: {agent-name}이 명시된 경우,
메인 에이전트는 해당 단계를 직접 수행하지 않고, {NPD_PLUGIN_DIR}/resources/guides/call-subagent.md에 따라 서브 에이젼트 호출
진행상황 업데이트 및 재개
{PROJECT_DIR}/AGENTS.md에 각 Phase의 Step 완료 시 저장. 최종 완료 시 Done으로 표기.
## 워크플로우 진행상황
### plan
- 진행 모드: {선택값}
- 마지막 완료 Phase/Step: Phase 1/Step 0
{PROJECT_DIR}/AGENTS.md의 ## 워크플로우 진행상황 > ### plan에 진행상황 정보가 있는 경우 마지막 완료 Step 이후부터 자동 재개.
산출물 작성 지침
- 기획 산출물은 IT용어 사용 금지
- 기획 산출물은 최대한 쉬운 용어로 작성. 필요 시 비유와 예시 사용
- 기획 산출물은 전문용어 사용 시 반드시 쉬운 설명 추가
- 기획 산출물에 약어 사용 시 풀네임과 설명 추가
워크플로우
개요
1단계: 정의 (MVP정의 + 고객분석 + 시장조사)
↓
2단계: 문제 발견 (고객경험단계 + 고객경험조사 + 여정맵 + 문제가설 + 방향성)
↓
3단계: 솔루션 (아이디어발상 + 솔루션선정)
↓
4단계: 비즈니스 모델 (비즈니스모델 + 발표자료)
↓
5단계: 제품 설계 (이벤트스토밍 + 유저스토리 + UI/UX설계)
↓
6단계: 프로토타입 + 플로우 스크립트
Phase 0: 진행 모드 선택
기획 워크플로우 시작 전, 각 단계별 승인 여부를 선택합니다.
<!--ASK_USER-->{"title":"진행 모드 선택","questions":[ {"question":"각 단계 완료 후 승인을 받고 진행할까요, 자동으로 진행할까요?","type":"radio","options":["단계별 승인","자동 진행"]} ]}
<!--/ASK_USER-->- 단계별 승인 선택 시 → 각 스텝 완료 후 아래 ASK_USER로 승인 요청을 표시하고 응답에 따라 분기:
- 승인 → 다음 스텝 진행
- 재작업 요청 → 사용자 피드백을 받아 현재 스텝 재수행
- 중단 → 현재까지 산출물 보존 후 스킬 종료
- 자동 진행 선택 시 → 승인 없이 연속 실행
승인 요청 ASK_USER 형식:
<!--ASK_USER-->{"title":"단계 승인","questions":[ {"question":"{완료된 스텝명} 단계가 완료되었습니다. 결과 파일({생성된 파일 경로})을 검토하고 {다음 스텝명} 단계로 계속 진행할 지 승인해 주십시오.","type":"radio","options":["승인","재작업 요청","중단"]} ]}
<!--/ASK_USER-->- (중요) 자동 진행 시 사용자에게 진행에 필요한 정보를 한꺼번에 요청. AskUserQuestion 사용하지 않고 대화창으로 질문
Phase 1: 정의 (Define)
Step 1. MVP 주제 정의 → Agent: product-owner
- PREV_ACTION:
- 참고 정보를 사용자에게 문의
없음이라고 입력하세요.","type":"text"} <!--/ASK_USER-->- 참고정보 파일 입력 시 내용을 요약하여 에이젼트
product-owner에 전달
- GUIDE:
{NPD_PLUGIN_DIR}/resources/guides/plan/01-mvp-definition-guide.md - TASK: AGENTS.md의 MVP 비즈니스 도메인을 기반으로 MVP 후보를 시장 잠재력·사용자 pain points·실현 가능성·경쟁 우위 4가지 팩터로 평가하여 최종 MVP 주제를 확정
- EXPECTED OUTCOME:
docs/plan/define/MVP정의.md— MVP 주제 정의, 선정 이유(4가지 팩터 평가표), 목표 비즈니스 도메인 - POST-ACTION:
- 사용자에게 MVP후보와 추천 주제를 제공하고 사용자에게 선택 시킴. AskUserQuestion을 사용하지 말고 화면에 선택지를 표시. 선택한 주제에 대해 아래 수행
- 사용자가 선택한 주제로
docs/plan/define/MVP정의.md파일 업데이트 - 프로젝트 AGENTS.md의
## 목표섹션에 확정된 MVP 주제에 기반하여 팀 목표를 기술 - 프로젝트 AGENTS.md의
## MVP > MVP 주제섹션에 확정된 MVP 주제를 기술 {NPD_PLUGIN_DIR}/resources/guides/plan/domain-context-guide.md의 가이드에 따라{PROJECT_DIR}/.npd/domain-context.yaml에 도메인 특화 정보 생성- 프로젝트 AGENTS.md의 멤버 중
domain-expert의 성향과 경력을{PROJECT_DIR}/.npd/domain-context.yaml을 참고하여 재작성 {PROJECT_DIR}/AGENTS.md에 마지막 완료 Phase/Step 업데이트
Step 2. 고객 분석 → Agent: service-planner
- GUIDE:
{NPD_PLUGIN_DIR}/resources/guides/plan/02-customer-analysis-guide.md - TASK: JTBD 프레임워크로 타겟 고객 유형을 정의하고 사용자 세그먼트(3-5개)별 인구통계·행동 패턴·현재 상황, 주요 Job과 원하는 결과를 도출
- EXPECTED OUTCOME:
docs/plan/define/고객분석.md— 타겟 고객 유형(JTBD 형식), 사용자 세그먼트 3-5개, Job to be Done - POST-ACTION:
- 프로젝트 AGENTS.md의
## MVP 주제섹션 다음에## 고객유형섹션을 추가하고, 선정된 고객유형과 최우선 고객 세그먼트를 기록 {PROJECT_DIR}/AGENTS.md에 마지막 완료 Phase/Step 업데이트
- 프로젝트 AGENTS.md의
Step 3. 시장 조사 → Agent: domain-expert
도메인 컨텍스트 주입:
domain-expert호출 시 프로젝트의{PROJECT_DIR}/.npd/domain-context.yaml을 읽어 프롬프트에 포함하여 도메인 특화 자문을 수행합니다.
- GUIDE:
{NPD_PLUGIN_DIR}/resources/guides/plan/03-market-research-guide.md - TASK: MVP 주제와 타겟 고객에 대해 시장 규모(TAM/SAM/SOM), 경쟁 환경(3-5개 경쟁사), 고객 트렌드, 규제 환경, SWOT 분석, 시장 진입 전략을 포함한 철저한 시장 조사를 수행
- EXPECTED OUTCOME:
docs/plan/define/시장조사.md— 시장 규모·성장, 경쟁 환경, 고객 트렌드, 규제 환경, SWOT, 시장 진입 전략 - POST-ACTION:
{PROJECT_DIR}/AGENTS.md에 마지막 완료 Phase/Step 업데이트
Phase 2: 문제 발견 및 방향성 (Discover)
Step 1. 고객경험 단계 정의 → Agent: service-planner
- GUIDE:
{NPD_PLUGIN_DIR}/resources/guides/plan/04-customer-journey-stages-guide.md - TASK: MVP 주제와 고객유형을 기반으로 현재 고객이 겪는 경험 단계(5-7개)를 문제 인식부터 해결/관리까지 순차적으로 정의
- EXPECTED OUTCOME:
docs/plan/define/고객경험단계.md— 고객경험 단계(화살표 연결), 단계별 설명(주요 행동·긍정/부정 느낌·Pain Points), 단계 도출 근거 - POST-ACTION:
{PROJECT_DIR}/AGENTS.md에 마지막 완료 Phase/Step 업데이트
Step 2. 고객 경험 조사 → Agent: service-planner × 3 병렬
조사 규모 설정: Step 2 시작 전, 고객 경험 조사의 규모를 사용자로부터 입력받습니다.
<!--ASK_USER-->{"title":"고객 경험 조사 규모 설정","questions":[ {"question":"고객경험 인터뷰 대상자 수를 입력해 주세요. (기본값: 5명)","type":"text","placeholder":"5"}, {"question":"관찰 조사 횟수를 입력해 주세요. (기본값: 5회)","type":"text","placeholder":"5"}, {"question":"체험 테스트 횟수를 입력해 주세요. (기본값: 5회)","type":"text","placeholder":"5"} ]}
<!--/ASK_USER-->사용자가 입력한 값을 각각
{인터뷰수},{관찰수},{체험수}로 사용합니다. 미입력 시 기본값 5를 적용합니다.
- GUIDE:
{NPD_PLUGIN_DIR}/resources/guides/plan/05-customer-experience-guide.md - 실행 방식: 3가지 조사를 서브에이전트로 병렬 수행한 후, 인터뷰 결과 취합을 순차 수행합니다.
Step 2-1. 관찰 조사 (병렬) → Agent: service-planner
- TASK: 고객경험 단계를 기준으로 {관찰수}회의 관찰 조사를 수행하여 고객 행동 데이터를 생성
- EXPECTED OUTCOME:
docs/plan/define/관찰결과.md— 관찰 {관찰수}회 결과(고객경험 단계별 관찰 행동·어려움·Pain Point·니즈·행동 패턴)
Step 2-2. 체험 조사 (병렬) → Agent: service-planner
- TASK: 고객경험 단계를 기준으로 {체험수}회의 체험 테스트를 수행하여 사용자 경험 데이터를 생성
- EXPECTED OUTCOME:
docs/plan/define/체험결과.md— 체험 {체험수}회 결과(고객경험 단계별 경험 내용·긍정/부정 측면·만족도)
Step 2-3. 고객경험 인터뷰 (병렬) → Agent: service-planner
- TASK: 고객경험 단계를 기준으로 {인터뷰수}명 대상 심층 인터뷰를 수행하여 개별 인터뷰 결과를 생성
- EXPECTED OUTCOME:
docs/plan/define/고객경험인터뷰결과.md— 인터뷰 {인터뷰수}명 개별 결과(고객경험 단계별 행동·생각·긍정적/부정적 느낌)
Step 2-4. 인터뷰 결과 취합 (2-D 완료 후 순차) → Agent: service-planner
- TASK: Step 2-3에서 생성된 개별 인터뷰 결과를 종합 분석하여 핵심 인사이트를 도출
- EXPECTED OUTCOME:
docs/plan/define/고객경험인터뷰결과취합.md— 인터뷰 종합 분석(핵심 인사이트·Pain Points·Needs·기대 가치) - POST-ACTION:
{PROJECT_DIR}/AGENTS.md에 마지막 완료 Phase/Step 업데이트
실행 지침: Step 2-1, 2-2, 2-3을
Agent(run_in_background=true)로 동시에 실행합니다. 3개 모두 완료되면 2-D를 순차 실행합니다. 모든 서브스텝이 완료되어야 Step 2 완료로 간주합니다.
Step 3. 고객 여정 맵 작성 → Agent: service-planner
- GUIDE:
{NPD_PLUGIN_DIR}/resources/guides/plan/06-journey-mapping-guide.md - TASK: 고객경험 단계를 X축으로, 경험 조사 데이터를 기반으로 페르소나 정의·단계별 행동/생각/감정/터치포인트/Pain Points/Gain Points·감정 곡선·핵심 인사이트·기회 영역이 포함된 User Journey Map을 작성
- EXPECTED OUTCOME:
docs/plan/define/유저저니맵.md— 페르소나·여정 맵 상세·감정 곡선·핵심 인사이트·기회 영역 /docs/plan/define/유저저니맵.svg— 시각화된 여정 맵 - POST-ACTION:
{PROJECT_DIR}/AGENTS.md에 마지막 완료 Phase/Step 업데이트
Step 4. 문제 가설 정의 → 전체 팀 협업 (발산-수렴-선택 패턴)
도메인 컨텍스트 주입:
domain-expert호출 시 프로젝트의{PROJECT_DIR}/.npd/domain-context.yaml을 읽어 프롬프트에 포함합니다.
- GUIDE:
{NPD_PLUGIN_DIR}/resources/guides/plan/07-problem-hypothesis-guide.md - 실행 방식: 5개 서브스텝을 순차/병렬 조합으로 수행합니다.
Step 4-1. 문제가설 정의 (발산-수렴-선택)
4-1a. 발산 — 5WHY 수행 (병렬) → Agent: product-owner, service-planner, domain-expert, architect, ai-engineer
- TASK: 각 팀원이 자신의 전문 관점에서 현상문제 3개를 도출하고 각각 5WHY로 근본원인을 분석
- EXPECTED OUTCOME: 팀원별 5WHY 분석 결과 (팀원당 문제 3개 × 5WHY)
- CONTEXT:
docs/plan/define/고객분석.md,docs/plan/define/유저저니맵.md, 고객 경험 조사 데이터 전체 - 실행: 5개 에이전트를
Agent(run_in_background=true)로 동시 실행
4-1b. 수렴 — 유사 항목 합치기 (순차) → Agent: service-planner
- TASK: 4-1a에서 도출된 5명의 5WHY 결과를 취합하고 유사한 문제와 근본원인을 그룹핑하여 다층적 근본원인 관점으로 재구조화
- EXPECTED OUTCOME: 수렴된 문제가설 후보 목록 (그룹핑된 문제 + 근본원인 + 출처 팀원 표기)
- CONTEXT: 4-1a 결과
4-1c. 선택 — 최종 문제가설 확정 (순차) → Agent: product-owner
- TASK: 수렴된 후보 중 핵심 문제 3개와 근본원인을 영향력·빈도·심각도 관점에서 선정하여 최종 문제가설로 확정
- EXPECTED OUTCOME:
docs/plan/define/문제가설.md— 문제 3개, 5WHY 분석, 다층적 근본원인 검토, 핵심 근본원인 선정 - CONTEXT: 4-1b 결과
Step 4-2. 문제 검증 인터뷰 (병렬) → Agent: product-owner, service-planner, domain-expert, architect, ai-engineer
인터뷰 규모 설정: Step 4-2 시작 전, 문제검증 인터뷰 대상자 수를 사용자로부터 입력받습니다.
<!--ASK_USER-->{"title":"문제검증 인터뷰 규모 설정","questions":[ {"question":"문제검증 인터뷰 대상자 수를 입력해 주세요. (기본값: 5명)","type":"text","placeholder":"5"} ]}
<!--/ASK_USER-->사용자가 입력한 값을
{문제검증인터뷰수}로 사용합니다. 미입력 시 기본값 5를 적용합니다.
- TASK: 확정된 문제가설을 기반으로 {문제검증인터뷰수}명 대상 문제검증 인터뷰를 에이전트 5명이 분담하여 병렬 수행
- EXPECTED OUTCOME:
docs/plan/define/문제검증인터뷰결과.md— {문제검증인터뷰수}명 개별 인터뷰 결과(중요도·불편도·근본원인 동의여부) - 실행: 5개 에이전트를
Agent(run_in_background=true)로 동시 실행, 각 에이전트가 분담된 인터뷰 수만큼 수행 후 결과를 하나의 파일로 병합
Step 4-3. 인터뷰 결과 취합 (순차) → Agent: service-planner
- TASK: 수집된 전체 인터뷰 결과를 종합 분석하여 문제별 중요도/불편도 평균, 근본원인 동의율, 핵심 인사이트를 도출
- EXPECTED OUTCOME:
docs/plan/define/문제검증인터뷰결과취합.md— 인터뷰 결과 종합 취합(문제별 통계·근본원인 검증·핵심 인사이트)
Step 4-4. 문제가설 피보팅 (순차) → Agent: product-owner
- TASK: 인터뷰 결과 취합을 반영하여 중요도/불편도가 낮거나 동의율이 낮은 항목을 조정하고 새로 발견된 문제를 반영하여 문제가설을 수정
- EXPECTED OUTCOME:
docs/plan/define/문제가설.md— 피보팅된 문제가설(기존 파일 덮어쓰기), 변경 사항과 피보팅 근거를 파일 상단에 명시
Step 4-5. 비즈
Content truncated.