From npd
Orchestrates an 18-step service planning workflow from MVP definition through prototype, with AI-powered collaboration across product owner, planner, architect, and engineering roles. Includes phased approval modes.
How this skill is triggered — by the user, by Claude, or both
Slash command
/npd:planThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
[NPD 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=조립된 프롬프트) 호출{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 이후부터 자동 재개.
1단계: 정의 (MVP정의 + 고객분석 + 시장조사)
↓
2단계: 문제 발견 (고객경험단계 + 고객경험조사 + 여정맵 + 문제가설 + 방향성)
↓
3단계: 솔루션 (아이디어발상 + 솔루션선정)
↓
4단계: 비즈니스 모델 (비즈니스모델 + 발표자료)
↓
5단계: 제품 설계 (이벤트스토밍 + 유저스토리 + UI/UX설계)
↓
6단계: 프로토타입 + 플로우 스크립트
기획 워크플로우 시작 전, 각 단계별 승인 여부를 선택합니다.
{"title":"진행 모드 선택","questions":[ {"question":"각 단계 완료 후 승인을 받고 진행할까요, 자동으로 진행할까요?","type":"radio","options":["단계별 승인","자동 진행"]} ]}
승인 요청 ASK_USER 형식:
{"title":"단계 승인","questions":[ {"question":"{완료된 스텝명} 단계가 완료되었습니다. 결과 파일({생성된 파일 경로})을 검토하고 {다음 스텝명} 단계로 계속 진행할 지 승인해 주십시오.","type":"radio","options":["승인","재작업 요청","중단"]} ]}
없음이라고 입력하세요.","type":"text"}
product-owner에 전달{NPD_PLUGIN_DIR}/resources/guides/plan/01-mvp-definition-guide.mddocs/plan/define/MVP정의.md — MVP 주제 정의, 선정 이유(4가지 팩터 평가표), 목표 비즈니스 도메인docs/plan/define/MVP정의.md 파일 업데이트## 목표 섹션에 확정된 MVP 주제에 기반하여 팀 목표를 기술## MVP > MVP 주제 섹션에 확정된 MVP 주제를 기술{NPD_PLUGIN_DIR}/resources/guides/plan/domain-context-guide.md의 가이드에 따라 {PROJECT_DIR}/.npd/domain-context.yaml에 도메인 특화 정보 생성domain-expert의 성향과 경력을 {PROJECT_DIR}/.npd/domain-context.yaml을 참고하여 재작성{PROJECT_DIR}/AGENTS.md에 마지막 완료 Phase/Step 업데이트{NPD_PLUGIN_DIR}/resources/guides/plan/02-customer-analysis-guide.mddocs/plan/define/고객분석.md — 타겟 고객 유형(JTBD 형식), 사용자 세그먼트 3-5개, Job to be Done## MVP 주제 섹션 다음에 ## 고객유형 섹션을 추가하고, 선정된 고객유형과 최우선 고객 세그먼트를 기록{PROJECT_DIR}/AGENTS.md에 마지막 완료 Phase/Step 업데이트도메인 컨텍스트 주입:
domain-expert호출 시 프로젝트의{PROJECT_DIR}/.npd/domain-context.yaml을 읽어 프롬프트에 포함하여 도메인 특화 자문을 수행합니다.
{NPD_PLUGIN_DIR}/resources/guides/plan/03-market-research-guide.mddocs/plan/define/시장조사.md — 시장 규모·성장, 경쟁 환경, 고객 트렌드, 규제 환경, SWOT, 시장 진입 전략{PROJECT_DIR}/AGENTS.md에 마지막 완료 Phase/Step 업데이트{NPD_PLUGIN_DIR}/resources/guides/plan/04-customer-journey-stages-guide.mddocs/plan/define/고객경험단계.md — 고객경험 단계(화살표 연결), 단계별 설명(주요 행동·긍정/부정 느낌·Pain Points), 단계 도출 근거{PROJECT_DIR}/AGENTS.md에 마지막 완료 Phase/Step 업데이트조사 규모 설정: Step 2 시작 전, 고객 경험 조사의 규모를 사용자로부터 입력받습니다.
{"title":"고객 경험 조사 규모 설정","questions":[ {"question":"고객경험 인터뷰 대상자 수를 입력해 주세요. (기본값: 5명)","type":"text","placeholder":"5"}, {"question":"관찰 조사 횟수를 입력해 주세요. (기본값: 5회)","type":"text","placeholder":"5"}, {"question":"체험 테스트 횟수를 입력해 주세요. (기본값: 5회)","type":"text","placeholder":"5"} ]}
사용자가 입력한 값을 각각
{인터뷰수},{관찰수},{체험수}로 사용합니다. 미입력 시 기본값 5를 적용합니다.
{NPD_PLUGIN_DIR}/resources/guides/plan/05-customer-experience-guide.mddocs/plan/define/관찰결과.md — 관찰 {관찰수}회 결과(고객경험 단계별 관찰 행동·어려움·Pain Point·니즈·행동 패턴)docs/plan/define/체험결과.md — 체험 {체험수}회 결과(고객경험 단계별 경험 내용·긍정/부정 측면·만족도)docs/plan/define/고객경험인터뷰결과.md — 인터뷰 {인터뷰수}명 개별 결과(고객경험 단계별 행동·생각·긍정적/부정적 느낌)docs/plan/define/고객경험인터뷰결과취합.md — 인터뷰 종합 분석(핵심 인사이트·Pain Points·Needs·기대 가치){PROJECT_DIR}/AGENTS.md에 마지막 완료 Phase/Step 업데이트실행 지침: Step 2-1, 2-2, 2-3을
Agent(run_in_background=true)로 동시에 실행합니다. 3개 모두 완료되면 2-D를 순차 실행합니다. 모든 서브스텝이 완료되어야 Step 2 완료로 간주합니다.
{NPD_PLUGIN_DIR}/resources/guides/plan/06-journey-mapping-guide.mddocs/plan/define/유저저니맵.md — 페르소나·여정 맵 상세·감정 곡선·핵심 인사이트·기회 영역 / docs/plan/define/유저저니맵.svg — 시각화된 여정 맵{PROJECT_DIR}/AGENTS.md에 마지막 완료 Phase/Step 업데이트도메인 컨텍스트 주입:
domain-expert호출 시 프로젝트의{PROJECT_DIR}/.npd/domain-context.yaml을 읽어 프롬프트에 포함합니다.
{NPD_PLUGIN_DIR}/resources/guides/plan/07-problem-hypothesis-guide.md4-1a. 발산 — 5WHY 수행 (병렬) → Agent: product-owner, service-planner, domain-expert, architect, ai-engineer
docs/plan/define/고객분석.md, docs/plan/define/유저저니맵.md, 고객 경험 조사 데이터 전체Agent(run_in_background=true)로 동시 실행4-1b. 수렴 — 유사 항목 합치기 (순차) → Agent: service-planner
4-1c. 선택 — 최종 문제가설 확정 (순차) → Agent: product-owner
docs/plan/define/문제가설.md — 문제 3개, 5WHY 분석, 다층적 근본원인 검토, 핵심 근본원인 선정인터뷰 규모 설정: Step 4-2 시작 전, 문제검증 인터뷰 대상자 수를 사용자로부터 입력받습니다.
{"title":"문제검증 인터뷰 규모 설정","questions":[ {"question":"문제검증 인터뷰 대상자 수를 입력해 주세요. (기본값: 5명)","type":"text","placeholder":"5"} ]}
사용자가 입력한 값을
{문제검증인터뷰수}로 사용합니다. 미입력 시 기본값 5를 적용합니다.
docs/plan/define/문제검증인터뷰결과.md — {문제검증인터뷰수}명 개별 인터뷰 결과(중요도·불편도·근본원인 동의여부)Agent(run_in_background=true)로 동시 실행, 각 에이전트가 분담된 인터뷰 수만큼 수행 후 결과를 하나의 파일로 병합docs/plan/define/문제검증인터뷰결과취합.md — 인터뷰 결과 종합 취합(문제별 통계·근본원인 검증·핵심 인사이트)docs/plan/define/문제가설.md — 피보팅된 문제가설(기존 파일 덮어쓰기), 변경 사항과 피보팅 근거를 파일 상단에 명시4-5a. 발산 — 가치 도출 (병렬) → Agent: product-owner, service-planner, domain-expert, architect, ai-engineer
docs/plan/define/문제가설.md (피보팅 버전), docs/plan/define/문제검증인터뷰결과취합.mdAgent(run_in_background=true)로 동시 실행4-5b. 수렴 — 유사 항목 합치기 (순차) → Agent: service-planner
4-5c. 선택 — 최종 비즈니스 가치 확정 (순차) → Agent: product-owner
docs/plan/define/비즈니스가치.md — 고객/회사 측면 비즈니스 가치(각 3개 이하, 선정 근거 포함){PROJECT_DIR}/AGENTS.md에 마지막 완료 Phase/Step 업데이트전체 산출물:
문제가설.md(피보팅 최종본),문제검증인터뷰결과.md,문제검증인터뷰결과취합.md,비즈니스가치.md
{NPD_PLUGIN_DIR}/resources/guides/plan/08-direction-setting-guide.md'<고객유형>는 <목적>을 위하여 <원하는 것>이 필요하다.' 형식의 Needs Statement로 방향성을 정의docs/plan/think/킹핀문제.md — 검증된 문제 리스트·인과관계·5가지 기준 평가·킹핀 문제 선정 / docs/plan/think/문제해결방향성.md — Needs Statement·상세 설명(고객유형·목적·원하는 것){PROJECT_DIR}/AGENTS.md에 마지막 완료 Phase/Step 업데이트{NPD_PLUGIN_DIR}/resources/guides/plan/09-ideation-guide.mddocs/plan/think/솔루션탐색.md — 팀원별 아이디어 표 / docs/plan/think/솔루션후보.md — 수렴된 솔루션 후보(각 후보 상세 설명)Agent(run_in_background=true)로 동시 실행, 솔루션 수렴은 service-planner가 순차 수행{PROJECT_DIR}/AGENTS.md에 마지막 완료 Phase/Step 업데이트{NPD_PLUGIN_DIR}/resources/guides/plan/10-solution-selection-guide.mddocs/plan/think/솔루션평가.md — 투표 결과 집계표 / docs/plan/think/솔루션우선순위평가.svg — 우선순위 매트릭스 SVG / docs/plan/think/핵심솔루션.md — 선정된 핵심 솔루션(3개 이하, 상세 설명)Agent(run_in_background=true)로 동시 실행, 집계 및 선정은 product-owner가 순차 수행{PROJECT_DIR}/AGENTS.md에 마지막 완료 Phase/Step 업데이트{NPD_PLUGIN_DIR}/resources/guides/plan/11-business-modeling-guide.mddocs/plan/think/비즈니스모델.md — Lean Canvas 9영역 전체·가격 전략·수익 전망·비용 구조·Key Metrics·경쟁 매트릭스·GTM 전략·재무 계획{PROJECT_DIR}/AGENTS.md에 마지막 완료 Phase/Step 업데이트{NPD_PLUGIN_DIR}/resources/guides/plan/12-presentation-guide.mddocs/plan/think/서비스기획서스크립트.md — 10-15장 슬라이드 스크립트(각 장표 핵심 메시지 3개 이하, 장표 간 --- 구분, 비주얼 제안 포함){PROJECT_DIR}/AGENTS.md에 마지막 완료 Phase/Step 업데이트{NPD_PLUGIN_DIR}/resources/guides/plan/13-event-storming-guide.mddocs/plan/think/es/userflow.puml — 유저플로우 연결도 / docs/plan/think/es/{순번}-{유저플로우명}.puml — 각 유저플로우 시퀀스 다이어그램docs/plan/think/es/리뷰의견.md — 팀원별 리뷰 의견(관점·의견·수정 제안)docs/plan/think/es/userflow.puml, docs/plan/think/es/*.pumlAgent(run_in_background=true)로 동시 실행docs/plan/think/es/*.puml 파일 업데이트(반영 사항 주석 추가), docs/plan/think/es/리뷰반영결과.md — 반영/미반영 판단 근거(ai-engineer AI 기회 발굴 의견 별도 섹션)docs/plan/think/es/리뷰의견.md, 기존 이벤트 스토밍 산출물{PROJECT_DIR}/AGENTS.md에 마지막 완료 Phase/Step 업데이트{NPD_PLUGIN_DIR}/resources/guides/plan/14-user-stories-guide.mddocs/plan/design/userstory.md — 마이크로서비스별 유저스토리(최소 20개 UFR)·사용자 역할·Feature Story Map·우선순위 매트릭스·스프린트 계획·비기능 요구사항·Definition of Done·리스크docs/plan/design/userstory-리뷰의견.md — 검토자별 의견(관점·의견·수정 제안)docs/plan/design/userstory.md, docs/plan/think/es/*.pumlAgent(run_in_background=true)로 동시 실행docs/plan/design/userstory.md 업데이트(기존 파일 덮어쓰기), docs/plan/design/userstory-리뷰반영결과.md — 반영/미반영 판단 근거(최종 UFR 최소 20개 확인)docs/plan/design/userstory-리뷰의견.md, 기존 유저스토리{PROJECT_DIR}/AGENTS.md에 마지막 완료 Phase/Step 업데이트{NPD_PLUGIN_DIR}/resources/guides/plan/15-uiux-design-guide.mddocs/plan/design/uiux/uiux.md — UI/UX 디자인 명세 전체 / docs/plan/design/uiux/style-guide.md — 스타일 가이드{PROJECT_DIR}/AGENTS.md에 마지막 완료 Phase/Step 업데이트디자인 레퍼런스 입력을 사용자에게 요청. 반드시 https://wwit.design 사이트를 추천해야 함.
AskUserQuestion 사용하지 않고 아래와 같이 요청.
참고할 디자인 레퍼런스가 있으시면 제공해 주세요. URL, 이미지 경로, 이미지 붙여넣기 모두 가능합니다.
추천 사이트: https://wwit.design
docs/plan/design/uiux/references/에 저장하고 디자인 분석docs/plan/design/uiux/references/에 저장docs/plan/design/uiux/references/레퍼런스분석.md에 분석 결과 저장POST-ACTION: {PROJECT_DIR}/AGENTS.md에 마지막 완료 Phase/Step 업데이트
{"title":"이미지 생성용 Gemini API Key (선택)","questions":[ {"question":"프로토타입에 이미지가 필요한 경우 AI로 생성할 수 있습니다. Gemini API Key를 입력해 주세요. 없으면 '없음'을 입력하세요. (https://aistudio.google.com/apikey 에서 발급)","type":"text","placeholder":"없음"} ]}
사용자가 API Key를 제공한 경우: {PROJECT_DIR}/.npd/.env 파일에 GEMINI_API_KEY={입력값} 저장 (.npd/는 .gitignore에 포함되어 git에 업로드되지 않음)
사용자가 '없음' 또는 미응답 시: 이미지 없이 진행 (placeholder 텍스트 사용)
GUIDE: {NPD_PLUGIN_DIR}/resources/guides/plan/16-prototype-development-guide.md
EXPECTED OUTCOME: docs/plan/design/uiux/prototype/ 디렉토리 — common.css·common.js·{2자리번호}-{한글화면명}.html·테스트결과.md
POST-ACTION: {PROJECT_DIR}/AGENTS.md에 마지막 완료 Phase/Step 업데이트
common.css와 Web Components 공통 UI·샘플 데이터·화면 전환·localStorage 유틸리티가 포함된 common.js를 개발UI/UX 설계서의 사용자 플로우를 분석하여 화면 간 의존관계를 파악하고, 독립적인 화면은 병렬로 개발함.
Level 1: [로그인] [회원가입] [소개] ← 병렬 개발
Level 2: [메인홈] [마이페이지] ← Level 1 완료 후 병렬 개발
Level 3: [상세] [결제] ← Level 2 완료 후 병렬 개발
browser_navigate로 해당 HTML 파일 열기browser_console_messages로 콘솔 에러 확인 → 에러 있으면 즉시 수정browser_snapshot으로 접근성 구조 확인browser_take_screenshot으로 UI 렌더링 상태 확인 (캡처 이미지는 .temp 디렉토리에 저장)browser_resize 375x812)로 반응형 확인 (캡처 이미지는 .temp 디렉토리에 저장)모든 화면 개발 완료 후, Playwright로 전체 프로토타입을 자동 검증함.
캡처 이미지 저장 경로: 통합 테스트 중 촬영하는 모든 스크린샷은
.temp디렉토리에 저장합니다.
browser_click으로 클릭 → 올바른 페이지로 이동하는지 확인browser_type), 버튼 클릭, 모달/드롭다운 동작 확인.temp 디렉토리에 저장)browser_console_messages 에러 레벨 확인테스트 결과를 테스트결과.md에 기록:
### 화면별 기능 동작
| 화면 | 기능/액션 | 예상 결과 | 실제 결과 | 상태 |
### 화면간 연결성
| 출발화면 | 연결방법 | 도착화면 | 상태 |
### 화면간 데이터 일관성
| 데이터 | 사용 화면 | 일관성 |
Step 1-3에서 발견된 실패 항목을 수정 → 재테스트 → 모두 통과할 때까지 반복함. 최대 반복횟수는 5번으로 한정하고 초과하는 경우 결과 레포트에 반드시 명시
POST-ACTION: {PROJECT_DIR}/AGENTS.md에 마지막 완료 Phase/Step 업데이트
{NPD_PLUGIN_DIR}/resources/guides/plan/17-flow-presentation-guide.mddocs/plan/design/uiux/prototype/screenshots/{번호}-{화면명}.png — 자막 포함 화면별 스크린샷 / docs/plan/design/uiux/prototype/flow-script.html — 사용자 플로우 인터랙티브 프리젠테이션{PROJECT_DIR}/AGENTS.md에 마지막 완료 Phase/Step 업데이트## 기획 완료
### 생성된 산출물
#### define/ (정의 단계)
- docs/plan/define/MVP정의.md — MVP 주제 정의
- docs/plan/define/고객분석.md — 고객 분석 (JTBD)
- docs/plan/define/시장조사.md — 시장 조사
- docs/plan/define/고객경험단계.md — 고객경험 단계
- docs/plan/define/관찰결과.md — 관찰 조사 결과
- docs/plan/define/체험결과.md — 체험 조사 결과
- docs/plan/define/고객경험인터뷰결과.md — 고객 경험 인터뷰 결과
- docs/plan/define/고객경험인터뷰결과취합.md — 인터뷰 결과 취합
- docs/plan/define/유저저니맵.md — 고객 여정 맵
- docs/plan/define/유저저니맵.svg — 고객 여정 맵 시각화
- docs/plan/define/문제가설.md — 문제 가설 및 5WHY 분석
- docs/plan/define/문제검증인터뷰결과.md — 문제 검증 인터뷰
- docs/plan/define/문제검증인터뷰결과취합.md — 문제 검증 취합
- docs/plan/define/비즈니스가치.md — 비즈니스 가치
#### think/ (사고 단계)
- docs/plan/think/킹핀문제.md — 킹핀 문제 분석
- docs/plan/think/문제해결방향성.md — Needs Statement
- docs/plan/think/솔루션탐색.md — 솔루션 탐색 (팀원별)
- docs/plan/think/솔루션후보.md — 솔루션 후보 (수렴)
- docs/plan/think/솔루션평가.md — 솔루션 투표 평가
- docs/plan/think/솔루션우선순위평가.svg — 우선순위 매트릭스
- docs/plan/think/핵심솔루션.md — 핵심 솔루션
- docs/plan/think/비즈니스모델.md — 비즈니스 모델 (Lean Canvas)
- docs/plan/think/서비스기획서스크립트.md — 발표자료 스크립트
- docs/plan/think/es/userflow.puml — 유저플로우 연결도
- docs/plan/think/es/{순번}-{유저플로우명}.puml — 시퀀스 다이어그램
#### design/ (설계 단계)
- docs/plan/design/userstory.md — 유저스토리
- docs/plan/design/uiux/uiux.md — UI/UX 설계
- docs/plan/design/uiux/style-guide.md — 스타일 가이드
- docs/plan/design/uiux/prototype/*.html — 프로토타입
- docs/plan/design/uiux/prototype/screenshots/*.png — 화면 캡처 (자막 포함)
- docs/plan/design/uiux/prototype/flow-script.html — 사용자 플로우 프리젠테이션
### 다음 단계
`/npd:design` 으로 기술 설계를 시작하세요.
각 스텝 완료 후:
특정 단계만 실행 가능:
스텝 실패 시:
| # | 규칙 |
|---|---|
| 1 | <!--ASK_USER--> 발견 시 AskUserQuestion 도구를 호출할 것 (텍스트 출력 금지) |
docs/plan/ 하위 디렉토리(define/think/design/)에 생성됨docs/plan/design/uiux/prototype/에 생성됨완료 시 임시 상태 파일 정리. 산출물은 유지.
npx claudepluginhub unicorn-plugins/npd --plugin npdPlans and facilitates design sprints from challenge framing through prototype testing, with 5-day structure, variations, checklists, and best practices.
Guides product discovery through 10 phases to produce a structured PRD with Mermaid wireframes, journeys, and architecture diagrams. Use for idea validation, PRD creation, or product shaping.
Orchestrates interactive product/feature design from fuzzy ideas to structured briefs via adaptive phases, collaborative refinement, and HTML/CSS visual prototypes. Use before coding.