product-playbook 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.es.md +518 -0
- package/README.ja.md +519 -0
- package/README.ko.md +518 -0
- package/README.md +520 -0
- package/README.zh-CN.md +518 -0
- package/README.zh-TW.md +518 -0
- package/SKILL.md +244 -0
- package/commands/product-build.md +13 -0
- package/commands/product-dev.md +21 -0
- package/commands/product-full.md +13 -0
- package/commands/product-prd.md +14 -0
- package/commands/product-quick.md +13 -0
- package/commands/product-report.md +12 -0
- package/commands/product-revision.md +13 -0
- package/i18n/en/SKILL.md +245 -0
- package/i18n/en/commands/product-build.md +13 -0
- package/i18n/en/commands/product-dev.md +21 -0
- package/i18n/en/commands/product-full.md +13 -0
- package/i18n/en/commands/product-prd.md +14 -0
- package/i18n/en/commands/product-quick.md +13 -0
- package/i18n/en/commands/product-report.md +12 -0
- package/i18n/en/commands/product-revision.md +13 -0
- package/i18n/en/references/00-opportunity-check.md +44 -0
- package/i18n/en/references/01-strategy.md +90 -0
- package/i18n/en/references/02a-persona.md +57 -0
- package/i18n/en/references/02b-jtbd.md +125 -0
- package/i18n/en/references/02c-ost-journey.md +65 -0
- package/i18n/en/references/03-define.md +118 -0
- package/i18n/en/references/04a-prfaq.md +112 -0
- package/i18n/en/references/04b-solutions.md +269 -0
- package/i18n/en/references/04c-mvp.md +21 -0
- package/i18n/en/references/05a-northstar-aha.md +93 -0
- package/i18n/en/references/05b-pmf-gtm.md +102 -0
- package/i18n/en/references/05c-validation-spec.md +117 -0
- package/i18n/en/references/06-html-report.md +128 -0
- package/i18n/en/references/07a-handoff-core.md +152 -0
- package/i18n/en/references/07b-tasks-tickets.md +215 -0
- package/i18n/en/references/07c-architecture-setup.md +197 -0
- package/i18n/en/references/08-security-checklist.md +221 -0
- package/i18n/en/references/rules-build.md +152 -0
- package/i18n/en/references/rules-change-propagation.md +74 -0
- package/i18n/en/references/rules-commands.md +98 -0
- package/i18n/en/references/rules-context.md +291 -0
- package/i18n/en/references/rules-custom.md +63 -0
- package/i18n/en/references/rules-document-tools.md +126 -0
- package/i18n/en/references/rules-end-of-flow.md +150 -0
- package/i18n/en/references/rules-export-document.md +346 -0
- package/i18n/en/references/rules-file-integration.md +65 -0
- package/i18n/en/references/rules-full.md +66 -0
- package/i18n/en/references/rules-import-document.md +261 -0
- package/i18n/en/references/rules-product-type.md +14 -0
- package/i18n/en/references/rules-progress.md +60 -0
- package/i18n/en/references/rules-quick.md +29 -0
- package/i18n/en/references/rules-revision.md +64 -0
- package/i18n/es/SKILL.md +245 -0
- package/i18n/es/commands/product-build.md +13 -0
- package/i18n/es/commands/product-dev.md +21 -0
- package/i18n/es/commands/product-full.md +13 -0
- package/i18n/es/commands/product-prd.md +14 -0
- package/i18n/es/commands/product-quick.md +13 -0
- package/i18n/es/commands/product-report.md +12 -0
- package/i18n/es/commands/product-revision.md +13 -0
- package/i18n/es/references/00-opportunity-check.md +44 -0
- package/i18n/es/references/01-strategy.md +90 -0
- package/i18n/es/references/02a-persona.md +57 -0
- package/i18n/es/references/02b-jtbd.md +125 -0
- package/i18n/es/references/02c-ost-journey.md +65 -0
- package/i18n/es/references/03-define.md +118 -0
- package/i18n/es/references/04a-prfaq.md +114 -0
- package/i18n/es/references/04b-solutions.md +269 -0
- package/i18n/es/references/04c-mvp.md +21 -0
- package/i18n/es/references/05a-northstar-aha.md +93 -0
- package/i18n/es/references/05b-pmf-gtm.md +102 -0
- package/i18n/es/references/05c-validation-spec.md +117 -0
- package/i18n/es/references/06-html-report.md +138 -0
- package/i18n/es/references/07a-handoff-core.md +152 -0
- package/i18n/es/references/07b-tasks-tickets.md +215 -0
- package/i18n/es/references/07c-architecture-setup.md +197 -0
- package/i18n/es/references/08-security-checklist.md +221 -0
- package/i18n/es/references/rules-build.md +152 -0
- package/i18n/es/references/rules-change-propagation.md +74 -0
- package/i18n/es/references/rules-commands.md +98 -0
- package/i18n/es/references/rules-context.md +291 -0
- package/i18n/es/references/rules-custom.md +63 -0
- package/i18n/es/references/rules-document-tools.md +126 -0
- package/i18n/es/references/rules-end-of-flow.md +150 -0
- package/i18n/es/references/rules-export-document.md +346 -0
- package/i18n/es/references/rules-file-integration.md +65 -0
- package/i18n/es/references/rules-full.md +66 -0
- package/i18n/es/references/rules-import-document.md +261 -0
- package/i18n/es/references/rules-product-type.md +14 -0
- package/i18n/es/references/rules-progress.md +60 -0
- package/i18n/es/references/rules-quick.md +29 -0
- package/i18n/es/references/rules-revision.md +64 -0
- package/i18n/ja/SKILL.md +245 -0
- package/i18n/ja/commands/product-build.md +13 -0
- package/i18n/ja/commands/product-dev.md +21 -0
- package/i18n/ja/commands/product-full.md +13 -0
- package/i18n/ja/commands/product-prd.md +14 -0
- package/i18n/ja/commands/product-quick.md +13 -0
- package/i18n/ja/commands/product-report.md +12 -0
- package/i18n/ja/commands/product-revision.md +13 -0
- package/i18n/ja/references/00-opportunity-check.md +44 -0
- package/i18n/ja/references/01-strategy.md +90 -0
- package/i18n/ja/references/02a-persona.md +57 -0
- package/i18n/ja/references/02b-jtbd.md +125 -0
- package/i18n/ja/references/02c-ost-journey.md +65 -0
- package/i18n/ja/references/03-define.md +118 -0
- package/i18n/ja/references/04a-prfaq.md +111 -0
- package/i18n/ja/references/04b-solutions.md +269 -0
- package/i18n/ja/references/04c-mvp.md +21 -0
- package/i18n/ja/references/05a-northstar-aha.md +93 -0
- package/i18n/ja/references/05b-pmf-gtm.md +102 -0
- package/i18n/ja/references/05c-validation-spec.md +117 -0
- package/i18n/ja/references/06-html-report.md +126 -0
- package/i18n/ja/references/07a-handoff-core.md +152 -0
- package/i18n/ja/references/07b-tasks-tickets.md +215 -0
- package/i18n/ja/references/07c-architecture-setup.md +197 -0
- package/i18n/ja/references/08-security-checklist.md +221 -0
- package/i18n/ja/references/rules-build.md +152 -0
- package/i18n/ja/references/rules-change-propagation.md +74 -0
- package/i18n/ja/references/rules-commands.md +98 -0
- package/i18n/ja/references/rules-context.md +291 -0
- package/i18n/ja/references/rules-custom.md +63 -0
- package/i18n/ja/references/rules-document-tools.md +126 -0
- package/i18n/ja/references/rules-end-of-flow.md +150 -0
- package/i18n/ja/references/rules-export-document.md +346 -0
- package/i18n/ja/references/rules-file-integration.md +65 -0
- package/i18n/ja/references/rules-full.md +66 -0
- package/i18n/ja/references/rules-import-document.md +261 -0
- package/i18n/ja/references/rules-product-type.md +14 -0
- package/i18n/ja/references/rules-progress.md +60 -0
- package/i18n/ja/references/rules-quick.md +29 -0
- package/i18n/ja/references/rules-revision.md +64 -0
- package/i18n/ko/SKILL.md +245 -0
- package/i18n/ko/commands/product-build.md +13 -0
- package/i18n/ko/commands/product-dev.md +21 -0
- package/i18n/ko/commands/product-full.md +13 -0
- package/i18n/ko/commands/product-prd.md +14 -0
- package/i18n/ko/commands/product-quick.md +13 -0
- package/i18n/ko/commands/product-report.md +12 -0
- package/i18n/ko/commands/product-revision.md +13 -0
- package/i18n/ko/references/00-opportunity-check.md +44 -0
- package/i18n/ko/references/01-strategy.md +90 -0
- package/i18n/ko/references/02a-persona.md +57 -0
- package/i18n/ko/references/02b-jtbd.md +125 -0
- package/i18n/ko/references/02c-ost-journey.md +65 -0
- package/i18n/ko/references/03-define.md +118 -0
- package/i18n/ko/references/04a-prfaq.md +112 -0
- package/i18n/ko/references/04b-solutions.md +269 -0
- package/i18n/ko/references/04c-mvp.md +21 -0
- package/i18n/ko/references/05a-northstar-aha.md +93 -0
- package/i18n/ko/references/05b-pmf-gtm.md +102 -0
- package/i18n/ko/references/05c-validation-spec.md +117 -0
- package/i18n/ko/references/06-html-report.md +126 -0
- package/i18n/ko/references/07a-handoff-core.md +152 -0
- package/i18n/ko/references/07b-tasks-tickets.md +215 -0
- package/i18n/ko/references/07c-architecture-setup.md +197 -0
- package/i18n/ko/references/08-security-checklist.md +221 -0
- package/i18n/ko/references/rules-build.md +152 -0
- package/i18n/ko/references/rules-change-propagation.md +74 -0
- package/i18n/ko/references/rules-commands.md +98 -0
- package/i18n/ko/references/rules-context.md +291 -0
- package/i18n/ko/references/rules-custom.md +63 -0
- package/i18n/ko/references/rules-document-tools.md +126 -0
- package/i18n/ko/references/rules-end-of-flow.md +150 -0
- package/i18n/ko/references/rules-export-document.md +346 -0
- package/i18n/ko/references/rules-file-integration.md +65 -0
- package/i18n/ko/references/rules-full.md +66 -0
- package/i18n/ko/references/rules-import-document.md +261 -0
- package/i18n/ko/references/rules-product-type.md +14 -0
- package/i18n/ko/references/rules-progress.md +60 -0
- package/i18n/ko/references/rules-quick.md +29 -0
- package/i18n/ko/references/rules-revision.md +64 -0
- package/i18n/zh-CN/SKILL.md +245 -0
- package/i18n/zh-CN/commands/product-build.md +13 -0
- package/i18n/zh-CN/commands/product-dev.md +21 -0
- package/i18n/zh-CN/commands/product-full.md +13 -0
- package/i18n/zh-CN/commands/product-prd.md +14 -0
- package/i18n/zh-CN/commands/product-quick.md +13 -0
- package/i18n/zh-CN/commands/product-report.md +12 -0
- package/i18n/zh-CN/commands/product-revision.md +13 -0
- package/i18n/zh-CN/references/00-opportunity-check.md +44 -0
- package/i18n/zh-CN/references/01-strategy.md +90 -0
- package/i18n/zh-CN/references/02a-persona.md +57 -0
- package/i18n/zh-CN/references/02b-jtbd.md +125 -0
- package/i18n/zh-CN/references/02c-ost-journey.md +65 -0
- package/i18n/zh-CN/references/03-define.md +118 -0
- package/i18n/zh-CN/references/04a-prfaq.md +106 -0
- package/i18n/zh-CN/references/04b-solutions.md +269 -0
- package/i18n/zh-CN/references/04c-mvp.md +21 -0
- package/i18n/zh-CN/references/05a-northstar-aha.md +93 -0
- package/i18n/zh-CN/references/05b-pmf-gtm.md +102 -0
- package/i18n/zh-CN/references/05c-validation-spec.md +117 -0
- package/i18n/zh-CN/references/06-html-report.md +123 -0
- package/i18n/zh-CN/references/07a-handoff-core.md +152 -0
- package/i18n/zh-CN/references/07b-tasks-tickets.md +215 -0
- package/i18n/zh-CN/references/07c-architecture-setup.md +197 -0
- package/i18n/zh-CN/references/08-security-checklist.md +221 -0
- package/i18n/zh-CN/references/rules-build.md +152 -0
- package/i18n/zh-CN/references/rules-change-propagation.md +74 -0
- package/i18n/zh-CN/references/rules-commands.md +98 -0
- package/i18n/zh-CN/references/rules-context.md +291 -0
- package/i18n/zh-CN/references/rules-custom.md +63 -0
- package/i18n/zh-CN/references/rules-document-tools.md +126 -0
- package/i18n/zh-CN/references/rules-end-of-flow.md +150 -0
- package/i18n/zh-CN/references/rules-export-document.md +346 -0
- package/i18n/zh-CN/references/rules-file-integration.md +65 -0
- package/i18n/zh-CN/references/rules-full.md +66 -0
- package/i18n/zh-CN/references/rules-import-document.md +261 -0
- package/i18n/zh-CN/references/rules-product-type.md +14 -0
- package/i18n/zh-CN/references/rules-progress.md +60 -0
- package/i18n/zh-CN/references/rules-quick.md +29 -0
- package/i18n/zh-CN/references/rules-revision.md +64 -0
- package/i18n/zh-TW/SKILL.md +244 -0
- package/i18n/zh-TW/commands/product-build.md +13 -0
- package/i18n/zh-TW/commands/product-dev.md +21 -0
- package/i18n/zh-TW/commands/product-full.md +13 -0
- package/i18n/zh-TW/commands/product-prd.md +14 -0
- package/i18n/zh-TW/commands/product-quick.md +13 -0
- package/i18n/zh-TW/commands/product-report.md +12 -0
- package/i18n/zh-TW/commands/product-revision.md +13 -0
- package/i18n/zh-TW/references/00-opportunity-check.md +44 -0
- package/i18n/zh-TW/references/01-strategy.md +90 -0
- package/i18n/zh-TW/references/02a-persona.md +57 -0
- package/i18n/zh-TW/references/02b-jtbd.md +125 -0
- package/i18n/zh-TW/references/02c-ost-journey.md +65 -0
- package/i18n/zh-TW/references/03-define.md +118 -0
- package/i18n/zh-TW/references/04a-prfaq.md +106 -0
- package/i18n/zh-TW/references/04b-solutions.md +269 -0
- package/i18n/zh-TW/references/04c-mvp.md +21 -0
- package/i18n/zh-TW/references/05a-northstar-aha.md +93 -0
- package/i18n/zh-TW/references/05b-pmf-gtm.md +102 -0
- package/i18n/zh-TW/references/05c-validation-spec.md +117 -0
- package/i18n/zh-TW/references/06-html-report.md +123 -0
- package/i18n/zh-TW/references/07a-handoff-core.md +152 -0
- package/i18n/zh-TW/references/07b-tasks-tickets.md +215 -0
- package/i18n/zh-TW/references/07c-architecture-setup.md +197 -0
- package/i18n/zh-TW/references/08-security-checklist.md +221 -0
- package/i18n/zh-TW/references/rules-build.md +152 -0
- package/i18n/zh-TW/references/rules-change-propagation.md +74 -0
- package/i18n/zh-TW/references/rules-commands.md +98 -0
- package/i18n/zh-TW/references/rules-context.md +291 -0
- package/i18n/zh-TW/references/rules-custom.md +63 -0
- package/i18n/zh-TW/references/rules-document-tools.md +126 -0
- package/i18n/zh-TW/references/rules-end-of-flow.md +150 -0
- package/i18n/zh-TW/references/rules-export-document.md +346 -0
- package/i18n/zh-TW/references/rules-file-integration.md +65 -0
- package/i18n/zh-TW/references/rules-full.md +66 -0
- package/i18n/zh-TW/references/rules-import-document.md +261 -0
- package/i18n/zh-TW/references/rules-product-type.md +14 -0
- package/i18n/zh-TW/references/rules-progress.md +60 -0
- package/i18n/zh-TW/references/rules-quick.md +29 -0
- package/i18n/zh-TW/references/rules-revision.md +64 -0
- package/install.sh +418 -0
- package/package.json +41 -0
- package/references/00-opportunity-check.md +44 -0
- package/references/01-strategy.md +90 -0
- package/references/02a-persona.md +57 -0
- package/references/02b-jtbd.md +125 -0
- package/references/02c-ost-journey.md +65 -0
- package/references/03-define.md +118 -0
- package/references/04a-prfaq.md +106 -0
- package/references/04b-solutions.md +269 -0
- package/references/04c-mvp.md +21 -0
- package/references/05a-northstar-aha.md +93 -0
- package/references/05b-pmf-gtm.md +102 -0
- package/references/05c-validation-spec.md +117 -0
- package/references/06-html-report.md +123 -0
- package/references/07a-handoff-core.md +152 -0
- package/references/07b-tasks-tickets.md +215 -0
- package/references/07c-architecture-setup.md +197 -0
- package/references/08-security-checklist.md +221 -0
- package/references/rules-build.md +152 -0
- package/references/rules-change-propagation.md +74 -0
- package/references/rules-commands.md +98 -0
- package/references/rules-context.md +291 -0
- package/references/rules-custom.md +63 -0
- package/references/rules-document-tools.md +126 -0
- package/references/rules-end-of-flow.md +150 -0
- package/references/rules-export-document.md +346 -0
- package/references/rules-file-integration.md +65 -0
- package/references/rules-full.md +66 -0
- package/references/rules-import-document.md +261 -0
- package/references/rules-product-type.md +14 -0
- package/references/rules-progress.md +60 -0
- package/references/rules-quick.md +29 -0
- package/references/rules-revision.md +64 -0
- package/references/templates/prd-style.css +464 -0
- package/references/templates/report-style.css +114 -0
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
# 📦 제품 컨텍스트 축적 규칙
|
|
2
|
+
|
|
3
|
+
> 이 파일은 `.product-context.md`의 형식, 읽기/쓰기 규칙, 시나리오 처리, 충돌 해결을 정의합니다.
|
|
4
|
+
> SKILL.md 시작 플로우 또는 각 모드의 S1 사전 단계에 의해 로드됩니다.
|
|
5
|
+
|
|
6
|
+
## 1. 파일 위치 & 생명주기
|
|
7
|
+
|
|
8
|
+
- **경로**: 프로젝트 루트 디렉토리의 `.product-context.md` (`.product-playbook-progress.md`와 같은 레벨)
|
|
9
|
+
- **영구 보존**: 이 파일은 플로우 종료 시 **삭제되지 않습니다** — 세션 간에 지속되며 축적됩니다
|
|
10
|
+
- **최초 생성 시**, 사용자에게 알림: "⚠️ `.product-context.md`를 `.gitignore`에 추가하는 것을 권장합니다 — 이 파일에 민감한 제품 전략 정보가 포함될 수 있습니다."
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## 2. 파일 형식
|
|
15
|
+
|
|
16
|
+
```markdown
|
|
17
|
+
# Product Context
|
|
18
|
+
<!-- Auto-maintained by product-playbook. Do not delete. -->
|
|
19
|
+
<!-- last-updated: [ISO 타임스탬프] -->
|
|
20
|
+
|
|
21
|
+
## Identity
|
|
22
|
+
- **제품명**: [이름]
|
|
23
|
+
- **제품 유형**: [B2C / B2B / B2B2C / 내부 도구]
|
|
24
|
+
- **원라이너**: [한 문장 설명]
|
|
25
|
+
- **타겟 독자**: [1차 Persona 요약]
|
|
26
|
+
|
|
27
|
+
## Core Strategy
|
|
28
|
+
- **핵심 JTBD**: [타겟 고객] + 이 원하는 것은 [Job] + [맥락]에서
|
|
29
|
+
- 기능적: [...]
|
|
30
|
+
- 감정적: [...]
|
|
31
|
+
- 사회적: [...]
|
|
32
|
+
- **포지셔닝 (April Dunford)**:
|
|
33
|
+
- 실제 경쟁 대안: [...]
|
|
34
|
+
- 고유 속성: [...]
|
|
35
|
+
- 핵심 가치: [...]
|
|
36
|
+
- 타겟 시장: [...]
|
|
37
|
+
- 시장 카테고리: [...]
|
|
38
|
+
- **North Star Metric**: [지표명 + 정의]
|
|
39
|
+
- **Aha Moment**: [설명]
|
|
40
|
+
|
|
41
|
+
## Architecture & Tech Stack
|
|
42
|
+
- **기술 스택**: [언어, 프레임워크, 인프라]
|
|
43
|
+
- **주요 모듈**: [주요 모듈 목록]
|
|
44
|
+
- **데이터 모델 하이라이트**: [핵심 데이터 엔터티, 알려진 경우]
|
|
45
|
+
|
|
46
|
+
## Decision History
|
|
47
|
+
<!-- Append-only. 플로우 완료 시마다 하나의 항목 추가. -->
|
|
48
|
+
|
|
49
|
+
### [ISO 날짜] - [플로우 유형: Full/Quick/Revision/Feature Extension/Custom/Build]
|
|
50
|
+
- **범위**: [기획/변경 범위]
|
|
51
|
+
- **핵심 결정**: [주요 결정]
|
|
52
|
+
- **식별된 리스크**: [리스크]
|
|
53
|
+
- **MVP 경계**: [할 것 / 하지 않을 것]
|
|
54
|
+
- **성공 지표**: [성공 지표 + 목표 값]
|
|
55
|
+
|
|
56
|
+
## Language Preference
|
|
57
|
+
- **설치 언어**: [.lang 파일에서 자동 감지 또는 사용자의 언어]
|
|
58
|
+
- **사용자 선호 언어**: [사용자가 소통에 사용하는 언어]
|
|
59
|
+
|
|
60
|
+
## Accumulated Insights
|
|
61
|
+
- **알려진 페인포인트**: [페인포인트 목록, 출처 포함]
|
|
62
|
+
- **사용자 피드백 주제**: [세션 간 피드백 주제]
|
|
63
|
+
- **PMF 상태**: [가장 최근 평가 수준 + 날짜]
|
|
64
|
+
- **보안 상태**: [인증/인가 방법, 알려진 취약점]
|
|
65
|
+
- **기술 부채**: [세션 간 축적된 기술 부채]
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## 3. 세 가지 시나리오 감지
|
|
71
|
+
|
|
72
|
+
시작 시 (진행 파일 점검 후, 모드 선택 전), `.product-context.md`의 상태를 감지합니다:
|
|
73
|
+
|
|
74
|
+
| 조건 | 시나리오 | 행동 |
|
|
75
|
+
|------|---------|------|
|
|
76
|
+
| 파일 존재, `Core Strategy` 섹션에 실제 내용 있음 (비어있지 않음 / 플레이스홀더 아님) | **시나리오 1: 완전한 컨텍스트** | 조용히 로드. 표시: "📦 **[제품명]**의 제품 컨텍스트가 감지되었습니다 — 이번 기획 세션의 기준선으로 사용됩니다." |
|
|
77
|
+
| 파일 존재하지 않음 | **시나리오 2: 컨텍스트 없음** | 이 상태를 기록. 기능 확장 또는 리비전 모드 진입 시 Context Bootstrap 트리거 (섹션 4 참조) |
|
|
78
|
+
| 파일 존재, `Core Strategy`가 비어있거나 플레이스홀더만 포함, `Decision History`에 최소 하나의 항목 있음 | **시나리오 3: 부분 컨텍스트** | 알려진 정보 요약을 표시하고 보완 옵션 제공 (섹션 5 참조) |
|
|
79
|
+
|
|
80
|
+
**감지 로직**:
|
|
81
|
+
1. 파일이 존재하는가?
|
|
82
|
+
2. `Identity` 섹션에 제품명이 있는가 (플레이스홀더 아닌)?
|
|
83
|
+
3. `Core Strategy` 섹션에 핵심 JTBD가 있는가 (플레이스홀더 아닌)? → 예 = 시나리오 1
|
|
84
|
+
4. `Decision History` 섹션에 `###` 항목이 있는가? → 예이지만 3이 아니오 = 시나리오 3
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## 4. Context Bootstrap (시나리오 2 전용)
|
|
89
|
+
|
|
90
|
+
사용자가 **기능 확장** 또는 **리비전 모드**에 진입하지만 `.product-context.md`가 없는 경우, 모드의 S1 앞에 "Step 0"을 삽입합니다.
|
|
91
|
+
|
|
92
|
+
**표시**:
|
|
93
|
+
```
|
|
94
|
+
📦 이 프로젝트에서 제품 기획 도구를 처음 사용하시는군요. 후속 플로우를 더 효율적으로 만들기 위해,
|
|
95
|
+
기본적인 제품 정보를 먼저 수집하겠습니다 (약 2-3분). 향후 사용을 위해 자동 저장됩니다.
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### 점진적 수집 (모든 질문을 한 번에 하지 마세요)
|
|
99
|
+
|
|
100
|
+
**라운드 1 (모든 모드에 필수)**:
|
|
101
|
+
- 제품의 이름은 무엇인가요?
|
|
102
|
+
- 한 문장으로 무엇을 하는지 설명해 주세요.
|
|
103
|
+
- 제품 유형은? (B2C / B2B / B2B2C / 내부 도구)
|
|
104
|
+
|
|
105
|
+
**라운드 2 (기능 확장에 필수, 리비전에 선택)**:
|
|
106
|
+
- 어떤 기술 스택을 사용하나요? (언어, 프레임워크, 데이터베이스, 인프라)
|
|
107
|
+
- 주요 모듈이나 서비스는 무엇인가요?
|
|
108
|
+
|
|
109
|
+
**라운드 3 (리비전에 필수, 기능 확장에 선택)**:
|
|
110
|
+
- DAU/MAU나 리텐션율 데이터가 있나요?
|
|
111
|
+
- 가장 흔한 사용자 피드백이나 불만은 무엇인가요?
|
|
112
|
+
- 알려진 보안 이슈나 기술 부채가 있나요?
|
|
113
|
+
|
|
114
|
+
### 기술 스택 자동 감지
|
|
115
|
+
|
|
116
|
+
사용자의 구두 입력 외에, Bootstrap은 **프로젝트 파일을 읽어** 감지를 보조할 수 있습니다 (읽기 전용 — 하드 게이트를 위반하지 않음):
|
|
117
|
+
|
|
118
|
+
| 파일 | 감지 내용 |
|
|
119
|
+
|------|----------|
|
|
120
|
+
| `package.json` | Node.js 생태계, 프레임워크, 의존성 |
|
|
121
|
+
| `Cargo.toml` | Rust |
|
|
122
|
+
| `go.mod` | Go |
|
|
123
|
+
| `requirements.txt` / `pyproject.toml` | Python |
|
|
124
|
+
| `Dockerfile` / `docker-compose.yml` | 컨테이너화 아키텍처 |
|
|
125
|
+
| 프로젝트 루트 디렉토리 구조 (`src/`, `app/`, `lib/` 등) | 모듈 추론 |
|
|
126
|
+
|
|
127
|
+
감지 후, **확인 스타일**로 제시:
|
|
128
|
+
```
|
|
129
|
+
프로젝트가 다음을 사용하는 것으로 감지되었습니다:
|
|
130
|
+
- 기술 스택: Next.js 14 + TypeScript + PostgreSQL + Redis
|
|
131
|
+
- 주요 모듈: auth/, billing/, dashboard/, api/
|
|
132
|
+
맞나요? 추가하거나 수정할 것이 있나요?
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
사용자가 확인한 후에만 `.product-context.md`에 쓰기.
|
|
136
|
+
|
|
137
|
+
### Bootstrap 완료 후
|
|
138
|
+
|
|
139
|
+
수집된 정보를 `.product-context.md`에 쓰고, 미수집 섹션은 비워두고(플레이스홀더 사용), 모드의 정식 S1으로 진행합니다.
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## 5. 부분 컨텍스트 처리 (시나리오 3)
|
|
144
|
+
|
|
145
|
+
`.product-context.md`가 존재하지만 Core Strategy가 비어있고, Decision History 항목만 있을 때:
|
|
146
|
+
|
|
147
|
+
**표시**:
|
|
148
|
+
```
|
|
149
|
+
📦 이전 [N]회 기획 세션의 기록이 있습니다:
|
|
150
|
+
- 기술 스택: [Decision History에서 병합된 알려진 스택]
|
|
151
|
+
- 이전에 수정된 모듈: [Decision History에서 병합된 영향받은 모듈]
|
|
152
|
+
- 핵심 제품 전략은 아직 기록되지 않았습니다.
|
|
153
|
+
|
|
154
|
+
어떻게 하시겠습니까:
|
|
155
|
+
1️⃣ 바로 시작 (알려진 정보 사용, 전략 섹션 건너뛰기)
|
|
156
|
+
2️⃣ 전략 정보 먼저 보완 (JTBD, 포지셔닝, North Star Metric)
|
|
157
|
+
3️⃣ 이 정보가 맞지 않아요 — 수정하겠습니다
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
**자동 재구축 시도**: 모든 Decision History 항목을 스캔하고, `영향받은 모듈`, `범위`, `핵심 결정`에서 반복되는 제품명, 기술 스택, 모듈명을 추출하여 `Architecture & Tech Stack`에 자동 입력합니다. `<!-- inferred from decision history -->`로 표시하여 추론 출처를 나타냅니다.
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## 6. 컨텍스트 자동 읽기 규칙
|
|
165
|
+
|
|
166
|
+
각 모드의 S1 사전 단계에서 컨텍스트를 로딩할 때, **관련 섹션만 주입** — 전체 파일 내용을 사용자에게 표시하지 마세요:
|
|
167
|
+
|
|
168
|
+
| 모드 + 단계 | 주입되는 컨텍스트 섹션 |
|
|
169
|
+
|------------|---------------------|
|
|
170
|
+
| 기능 확장 S1 | Identity, Architecture & Tech Stack, 가장 최근 3개 Decision History 항목 |
|
|
171
|
+
| 리비전 S1 | Identity, Core Strategy, Accumulated Insights (페인포인트, PMF, 보안), 가장 최근 3개 Decision History 항목 |
|
|
172
|
+
| Full/Quick/Build S1 | Identity만 (제품명, 유형, 원라이너) |
|
|
173
|
+
| 모든 모드의 Pre-mortem | 보안 상태 + 기술 부채 (Accumulated Insights에서) |
|
|
174
|
+
|
|
175
|
+
**비대화 제어**: Decision History는 기본적으로 가장 최근 3개 항목만 주입합니다. 사용자가 더 많이 요청할 수 있습니다.
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## 7. 빈 섹션 건너뛰기 규칙
|
|
180
|
+
|
|
181
|
+
컨텍스트 파일이 존재하지만 일부 섹션이 비어있을 때, **모드**에 따라 건너뛰기 또는 수집을 결정합니다:
|
|
182
|
+
|
|
183
|
+
| 섹션 | 기능 확장 | 리비전 모드 | Full/Quick/Build |
|
|
184
|
+
|------|----------|-----------|-----------------|
|
|
185
|
+
| Identity | 필수 (누락 시 Bootstrap) | 필수 (누락 시 Bootstrap) | 플로우 자체가 이를 생성 — 사전 로딩 불필요 |
|
|
186
|
+
| Core Strategy | **건너뛸 수 있음** | 필수 (누락 시 S1 내에서 빠른 Q&A 수집) | 플로우 자체가 이를 생성 |
|
|
187
|
+
| Architecture & Tech Stack | 필수 (누락 시 Bootstrap 또는 자동 감지) | 건너뛸 수 있음 | 플로우 자체가 이를 생성 |
|
|
188
|
+
| Decision History | 건너뛸 수 있음 | 있으면 포함, 없으면 건너뛰기 | 플로우 자체가 이를 생성 |
|
|
189
|
+
| Accumulated Insights | 건너뛸 수 있음 | 있으면 포함, 없으면 건너뛰기 | 플로우 자체가 이를 생성 |
|
|
190
|
+
|
|
191
|
+
| 기능 확장 | Identity(확인만)、Architecture & Tech Stack(필수)、Core Strategy(건너뛰기 가능) |
|
|
192
|
+
|
|
193
|
+
**원칙**: 빈 섹션은 **플로우를 차단하지 않습니다**. 현재 모드에 "필수"이면서 비어있는 섹션만 수집을 트리거합니다.
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## 8. 컨텍스트 자동 쓰기 규칙 (플로우 종료 시 추출)
|
|
198
|
+
|
|
199
|
+
플로우 종료 시 (`rules-end-of-flow.md`의 종료 조건 점검과 동기화), 자동으로 컨텍스트를 추출합니다:
|
|
200
|
+
|
|
201
|
+
| 플로우 유형 | 작성/업데이트되는 섹션 |
|
|
202
|
+
|-----------|---------------------|
|
|
203
|
+
| Quick | Identity, Core Strategy (JTBD + North Star), Decision History에 추가 |
|
|
204
|
+
| Full | **모든 섹션** (Identity/Strategy/Insights 덮어쓰기, History에 추가) |
|
|
205
|
+
| Revision | Core Strategy 업데이트 (재포지셔닝 시), Insights 업데이트, History에 추가 |
|
|
206
|
+
| Feature Extension | Architecture 병합, Decision History에 추가 (기능별 템플릿) |
|
|
207
|
+
| Custom | 완료된 단계에 해당하는 섹션 업데이트 |
|
|
208
|
+
| Build (7단계) | Identity, Core Strategy (부분), History에 추가 |
|
|
209
|
+
|
|
210
|
+
### 쓰기 전략
|
|
211
|
+
|
|
212
|
+
| 섹션 | 전략 | 참고 |
|
|
213
|
+
|------|------|------|
|
|
214
|
+
| Identity | **최신으로 덮어쓰기** | 항상 가장 최근 플로우의 데이터로 덮어쓰기 |
|
|
215
|
+
| Core Strategy | **최신으로 덮어쓰기** | 위와 동일. 리비전 후 전략이 리비전 전 전략을 대체 |
|
|
216
|
+
| Architecture & Tech Stack | **병합** | 새 모듈은 추가, 기존 모듈은 삭제하지 않음. 새 기술 항목은 추가 |
|
|
217
|
+
| Decision History | **추가 전용** | 이전 항목을 절대 삭제하지 않음. 플로우 완료 시마다 하나의 항목 추가 |
|
|
218
|
+
| Accumulated Insights | **병합 및 중복 제거** | 페인포인트와 피드백 주제는 중복 제거 후 추가. PMF와 보안은 최신 값으로 덮어쓰기 |
|
|
219
|
+
|
|
220
|
+
### Decision History 추가 템플릿
|
|
221
|
+
|
|
222
|
+
**일반 템플릿**:
|
|
223
|
+
```markdown
|
|
224
|
+
### [ISO 날짜] - [플로우 유형]
|
|
225
|
+
- **범위**: [...]
|
|
226
|
+
- **핵심 결정**: [...]
|
|
227
|
+
- **식별된 리스크**: [...]
|
|
228
|
+
- **MVP 경계**: [...]
|
|
229
|
+
- **성공 지표**: [...]
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
**기능 확장 템플릿**:
|
|
233
|
+
```markdown
|
|
234
|
+
### [ISO 날짜] - Feature Extension: [기능명]
|
|
235
|
+
- **문제**: [한 문장 문제 진술]
|
|
236
|
+
- **선택한 솔루션**: [선택한 솔루션 + 근거]
|
|
237
|
+
- **영향받는 모듈**: [영향받는 모듈]
|
|
238
|
+
- **범위**: [할 것 / 건드리지 않을 것]
|
|
239
|
+
- **인수 기준**: [인수 기준]
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
### 완료 알림
|
|
243
|
+
|
|
244
|
+
```
|
|
245
|
+
✅ 제품 컨텍스트가 `.product-context.md`에 업데이트되었습니다 — 다음 기획 세션에서 자동으로 로드됩니다.
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## 9. 충돌 해결
|
|
251
|
+
|
|
252
|
+
### 사용자가 기존 컨텍스트를 수정
|
|
253
|
+
|
|
254
|
+
완전히 허용됩니다. 사용자가 제공한 수정은 해당 섹션을 직접 덮어씁니다 (최신 우선).
|
|
255
|
+
|
|
256
|
+
### 사용자 제공 데이터가 코드베이스와 충돌
|
|
257
|
+
|
|
258
|
+
S1 사전 단계에서 `.product-context.md`와 프로젝트 파일(예: `package.json`)을 모두 읽고 불일치를 발견할 때:
|
|
259
|
+
|
|
260
|
+
```
|
|
261
|
+
⚠️ 불일치가 감지되었습니다:
|
|
262
|
+
- 컨텍스트 기록: [컨텍스트의 값]
|
|
263
|
+
- 프로젝트 코드베이스: [코드에서 감지된 값]
|
|
264
|
+
어느 것이 맞나요?
|
|
265
|
+
1️⃣ 코드베이스를 진실의 원천으로 사용 (컨텍스트 업데이트)
|
|
266
|
+
2️⃣ 컨텍스트를 진실의 원천으로 사용 (마이그레이션 중일 수 있음)
|
|
267
|
+
3️⃣ 둘 다 불완전 — 설명하겠습니다
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
**처리 원칙**:
|
|
271
|
+
- **자동 덮어쓰기 금지** — 사용자가 결정하게 함
|
|
272
|
+
- 사용자가 선택한 후 `.product-context.md` 업데이트
|
|
273
|
+
- "마이그레이션 중"이 선택되면, Architecture 섹션에 주석: `[Migrating] React → Vue 3`
|
|
274
|
+
- 충돌을 Decision History에 기록
|
|
275
|
+
|
|
276
|
+
### 플로우의 새 데이터가 컨텍스트를 재정의
|
|
277
|
+
|
|
278
|
+
플로우 중 생성된 데이터가 컨텍스트의 기존 데이터와 다른 경우(예: 리비전 모드가 JTBD를 재정의), **플로우 데이터가 우선**합니다. 플로우 종료 시 자동으로 덮어쓰기됩니다.
|
|
279
|
+
|
|
280
|
+
---
|
|
281
|
+
|
|
282
|
+
## 10. 언어 설정
|
|
283
|
+
|
|
284
|
+
`.product-context.md`가 생성되거나 업데이트될 때, `Language Preference` 섹션에 언어 설정을 기록합니다:
|
|
285
|
+
|
|
286
|
+
- **설치 언어**: 스킬 설치 디렉토리의 `.lang` 파일에서 감지하거나, 사용자의 로케일에서 가져옵니다.
|
|
287
|
+
- **사용자 선호 언어**: 세션 중 사용자가 소통에 사용하는 언어.
|
|
288
|
+
|
|
289
|
+
**로딩 규칙**: 기존 `.product-context.md`를 로드할 때, 언어 설정이 기록되어 있으면 해당 언어로 세션을 계속합니다.
|
|
290
|
+
|
|
291
|
+
**쓰기 시점**: 언어 설정은 Context Bootstrap(섹션 4) 시 또는 컨텍스트 파일을 처음 생성하는 플로우 종료 시에 기록됩니다. 사용자가 세션 중 명시적으로 언어를 변경하면 업데이트됩니다.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# ✏️ 커스텀 모드 단계 시퀀스
|
|
2
|
+
|
|
3
|
+
> 이 파일은 커스텀 모드의 권위 있는 단계 정의입니다. SKILL.md 코어 디스패처에 의해 로드됩니다.
|
|
4
|
+
|
|
5
|
+
사용자가 선택한 완성도 수준에 따라:
|
|
6
|
+
|
|
7
|
+
## 🔴 낮음 (린) — 4단계
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
S1. JTBD 선언문 → references/02b-jtbd.md 로드
|
|
11
|
+
S2. HMW 1개 → references/03-define.md → 2.3 로드
|
|
12
|
+
S3. PR-FAQ → references/04a-prfaq.md 로드
|
|
13
|
+
S4. North Star → references/05a-northstar-aha.md 로드
|
|
14
|
+
(사용자가 모든 단계를 다른 프레임워크로 교체 가능)
|
|
15
|
+
────
|
|
16
|
+
최종 산출물 → 제품 스펙 요약 (미실행 필드는 "미실행"으로 표시)
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## 🟡 중간 (표준) — 10단계
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
S1. Persona 테이블 + Persona 카드 → references/02a-persona.md 로드
|
|
23
|
+
S2. JTBD 분석 → references/02b-jtbd.md 로드
|
|
24
|
+
S3. 페인포인트 요약 테이블 → references/03-define.md 로드
|
|
25
|
+
S4. HMW 질문 재구성 → references/03-define.md 로드
|
|
26
|
+
S5. April Dunford 포지셔닝 → references/03-define.md 로드
|
|
27
|
+
S6. PR-FAQ → references/04a-prfaq.md 로드
|
|
28
|
+
S7. 병렬 솔루션 + MVP + Not Doing List → references/04b-solutions.md + references/04c-mvp.md 로드
|
|
29
|
+
S8. North Star + 3계층 시그널 + Aha Moment → references/05a-northstar-aha.md 로드
|
|
30
|
+
S9. PMF 수준 평가 → references/05b-pmf-gtm.md 로드
|
|
31
|
+
S10. 제품 스펙 요약 → references/05c-validation-spec.md 로드
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## 🟢 높음 (종합) — 16단계
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
S1. Strategy Blocks + Rumelt → references/01-strategy.md 로드
|
|
38
|
+
S2. Persona 테이블 + Persona 카드 → references/02a-persona.md 로드
|
|
39
|
+
S3. JTBD 분석 → references/02b-jtbd.md 로드
|
|
40
|
+
S4. OST Opportunity Solution Tree → references/02c-ost-journey.md 로드
|
|
41
|
+
S5. User Journey Map → references/02c-ost-journey.md 로드
|
|
42
|
+
S6. 페인포인트 요약 테이블 → references/03-define.md 로드
|
|
43
|
+
S7. HMW + April Dunford 포지셔닝 → references/03-define.md 로드
|
|
44
|
+
S8. 기회 평가 테이블 → references/03-define.md 로드
|
|
45
|
+
S9. PR-FAQ → references/04a-prfaq.md 로드
|
|
46
|
+
S10. 병렬 프로토타입 → references/04b-solutions.md 로드
|
|
47
|
+
S11. Pre-mortem → references/04b-solutions.md 로드
|
|
48
|
+
S12. GEM + RICE → references/04b-solutions.md 로드
|
|
49
|
+
S13. MVP + Not Doing List → references/04c-mvp.md 로드
|
|
50
|
+
S14. North Star + 3계층 시그널 + Aha Moment → references/05a-northstar-aha.md 로드
|
|
51
|
+
S15. 가설 검증 계획 → references/05c-validation-spec.md 로드
|
|
52
|
+
S16. 제품 스펙 요약 → references/05c-validation-spec.md 로드
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## 레퍼런스 로딩 규칙
|
|
56
|
+
|
|
57
|
+
각 단계에 진입할 때만 해당 레퍼런스 파일을 로드하세요 (모든 파일을 사전 로드하지 마세요). 위의 각 단계에 레퍼런스 경로가 주석으로 표시되어 있습니다.
|
|
58
|
+
|
|
59
|
+
## 최종 산출물 형식
|
|
60
|
+
|
|
61
|
+
**제품 스펙 요약** (완료된 단계만 통합; 미실행 필드는 "미실행"으로 표시)
|
|
62
|
+
|
|
63
|
+
완료 시, `references/rules-end-of-flow.md`에 따라 플로우 종료 규칙을 실행하세요.
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# 문서 변환 도구 의존성 관리
|
|
2
|
+
|
|
3
|
+
> `/export` 또는 `/parse` 명령 최초 트리거 시 로드됩니다.
|
|
4
|
+
|
|
5
|
+
## 의존성 티어
|
|
6
|
+
|
|
7
|
+
| 티어 | 도구 | 목적 | 설치 방법 | 크기 |
|
|
8
|
+
|------|------|------|----------|------|
|
|
9
|
+
| **Core (설치 불필요)** | Claude Read tool (Vision) | PDF 시맨틱 파싱 | 내장 | 0 |
|
|
10
|
+
| **Core (설치 불필요)** | Playwright MCP | PDF 렌더링 | 내장 | 0 |
|
|
11
|
+
| **Basic** | pymupdf (fitz) | PDF 텍스트 추출 + 이미지 렌더링 | `pip3 install --break-system-packages pymupdf` | ~23MB |
|
|
12
|
+
| **Basic** | pikepdf | PDF 북마크 삽입 + 메타데이터 | `pip3 install --break-system-packages pikepdf` | ~5MB |
|
|
13
|
+
| **Extended** | pandoc | DOCX / PPTX 변환 | `brew install pandoc` | ~50MB |
|
|
14
|
+
| **Fallback** | tesseract + chi_tra | 오프라인 OCR (Vision 사용 불가 시) | `brew install tesseract tesseract-lang` | ~150MB |
|
|
15
|
+
| **Advanced** | python-docx | 고품질 DOCX 출력 | `pip3 install --break-system-packages python-docx` | ~5MB |
|
|
16
|
+
|
|
17
|
+
## 시작 시 감지 플로우
|
|
18
|
+
|
|
19
|
+
사용자가 문서 변환 기능을 처음 트리거하면, 다음 순서로 감지 및 설치를 진행합니다:
|
|
20
|
+
|
|
21
|
+
### 1단계: 필요한 도구 결정
|
|
22
|
+
|
|
23
|
+
| 사용자 액션 | 필요한 도구 |
|
|
24
|
+
|------------|-----------|
|
|
25
|
+
| `/export pdf` | pymupdf + pikepdf + Playwright MCP |
|
|
26
|
+
| `/export docx` 또는 `/export pptx` | pandoc |
|
|
27
|
+
| `/parse [PDF 파일]` | pymupdf (+ Claude Vision 또는 tesseract) |
|
|
28
|
+
| `/parse [DOCX/PPTX 파일]` | pandoc |
|
|
29
|
+
|
|
30
|
+
### 2단계: 설치된 도구 감지
|
|
31
|
+
|
|
32
|
+
다음 Bash 명령을 실행합니다 (무음 감지, 출력 표시 안 함):
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
# pymupdf
|
|
36
|
+
python3 -c "import fitz; print(fitz.version)" 2>/dev/null && echo "pymupdf: OK" || echo "pymupdf: MISSING"
|
|
37
|
+
|
|
38
|
+
# pikepdf
|
|
39
|
+
python3 -c "import pikepdf; print(pikepdf.__version__)" 2>/dev/null && echo "pikepdf: OK" || echo "pikepdf: MISSING"
|
|
40
|
+
|
|
41
|
+
# pandoc
|
|
42
|
+
which pandoc >/dev/null 2>&1 && echo "pandoc: OK" || echo "pandoc: MISSING"
|
|
43
|
+
|
|
44
|
+
# tesseract (명시적으로 필요한 경우에만 감지)
|
|
45
|
+
which tesseract >/dev/null 2>&1 && tesseract --list-langs 2>&1 | grep -q chi_tra && echo "tesseract: OK" || echo "tesseract: MISSING"
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### 3단계: 누락된 도구 자동 설치
|
|
49
|
+
|
|
50
|
+
누락된 도구가 감지되면, 다음 메시지를 표시하고 자동으로 설치합니다:
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
📦 문서 변환에 다음 도구가 필요합니다:
|
|
54
|
+
☐ [도구명] ([목적], [크기])
|
|
55
|
+
...
|
|
56
|
+
설치 중입니다, 잠시 기다려 주세요...
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
설치 명령을 순서대로 실행합니다:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
# pymupdf + pikepdf (함께 설치)
|
|
63
|
+
pip3 install --break-system-packages pymupdf pikepdf
|
|
64
|
+
|
|
65
|
+
# pandoc
|
|
66
|
+
brew install pandoc
|
|
67
|
+
|
|
68
|
+
# tesseract (오프라인 OCR이 필요한 경우에만)
|
|
69
|
+
brew install tesseract tesseract-lang
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
설치 완료 후 표시:
|
|
73
|
+
```
|
|
74
|
+
✅ 도구 설치 완료, 계속 진행합니다...
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### 4단계: Playwright MCP 감지
|
|
78
|
+
|
|
79
|
+
Playwright MCP는 PDF 렌더링의 핵심 의존성입니다. 감지 방법:
|
|
80
|
+
|
|
81
|
+
1. `mcp__plugin_playwright_playwright__browser_run_code` 호출 시도
|
|
82
|
+
2. MCP 사용 가능 → 정상 사용
|
|
83
|
+
3. MCP 사용 불가 (연결 안 됨) → 표시:
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
⚠️ Playwright MCP가 연결되어 있지 않습니다. PDF 렌더링에는 Playwright 브라우저가 필요합니다.
|
|
87
|
+
다음 중 하나를 수행해 주세요:
|
|
88
|
+
1. Playwright MCP 시작 (권장)
|
|
89
|
+
2. 또는 ! npx playwright install chromium 을 실행하여 로컬 Chromium 설치
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
**Playwright 폴백** (MCP 사용 불가 시):
|
|
93
|
+
|
|
94
|
+
사용자가 로컬 Chromium을 설치한 경우, Bash로 Node.js 스크립트를 실행하여 PDF 렌더링:
|
|
95
|
+
```bash
|
|
96
|
+
node -e "
|
|
97
|
+
const { chromium } = require('playwright');
|
|
98
|
+
(async () => {
|
|
99
|
+
const browser = await chromium.launch();
|
|
100
|
+
const page = await browser.newPage();
|
|
101
|
+
await page.setContent(require('fs').readFileSync('/tmp/export.html', 'utf8'));
|
|
102
|
+
await page.pdf({ path: '${OUTPUT_PATH}', format: 'A4', printBackground: true,
|
|
103
|
+
margin: { top: '1.8cm', bottom: '1.8cm', left: '2cm', right: '2cm' } });
|
|
104
|
+
await browser.close();
|
|
105
|
+
})();
|
|
106
|
+
"
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## 도구 상태 캐시
|
|
110
|
+
|
|
111
|
+
최초 감지 결과를 메모리에 기록합니다 (반복 감지 방지):
|
|
112
|
+
- 동일 대화 세션 내에서, 설치 확인된 도구는 재감지하지 않음
|
|
113
|
+
- 설치 실패 시, 오류 메시지를 기록하고 다음 트리거 시 재시도
|
|
114
|
+
|
|
115
|
+
## 플랫폼 호환성
|
|
116
|
+
|
|
117
|
+
| 플랫폼 | pymupdf | pikepdf | pandoc | tesseract | Playwright |
|
|
118
|
+
|--------|---------|---------|--------|-----------|------------|
|
|
119
|
+
| macOS (Homebrew) | ✅ pip3 | ✅ pip3 | ✅ brew | ✅ brew | ✅ MCP/npx |
|
|
120
|
+
| Linux (apt) | ✅ pip3 | ✅ pip3 | ✅ apt | ✅ apt | ✅ MCP/npx |
|
|
121
|
+
| Windows (WSL) | ✅ pip3 | ✅ pip3 | ✅ choco | ✅ choco | ✅ MCP/npx |
|
|
122
|
+
|
|
123
|
+
사용자의 운영 체제에 따라 해당 패키지 관리자를 자동으로 선택합니다. 감지 방법:
|
|
124
|
+
```bash
|
|
125
|
+
[[ "$(uname)" == "Darwin" ]] && echo "macOS" || echo "Linux"
|
|
126
|
+
```
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
# 🏁 플로우 종료 규칙
|
|
2
|
+
|
|
3
|
+
> 모든 단계가 완료되면 로드됩니다.
|
|
4
|
+
|
|
5
|
+
## ⛔ 종료 조건 점검
|
|
6
|
+
|
|
7
|
+
최종 통합 산출물을 작성하기 전에, 다음을 검증해야 합니다:
|
|
8
|
+
|
|
9
|
+
1. 진행 표시기의 모든 단계가 ✅ 표시되었는지 확인
|
|
10
|
+
2. 건너뛴 단계가 있으면 (사용자의 명시적 요청에 의해), 최종 산출물에 "⚠️ 건너뜀"으로 표시
|
|
11
|
+
3. ⬜ (미실행) 표시된 단계가 있으면, 최종 산출물로 진행하지 않음
|
|
12
|
+
4. **보안 빠른 점검**: 사용자가 개발 단계에 진입할 경우 (개발 핸드오프 패키지 생성), 최종 산출물에 보안 알림을 포함하고, 개발 핸드오프 패키지 생성 시 자동으로 `references/08-security-checklist.md`를 읽어 해당 보안 아키텍처 섹션을 작성
|
|
13
|
+
|
|
14
|
+
이 규칙의 위반 예: 독자적으로 "나머지 단계는 중요하지 않다"고 판단하여 건너뛰기, 불완전한 단계를 완료로 표시, 여러 단계를 단일 산출물로 합치기.
|
|
15
|
+
|
|
16
|
+
## 🔍 의사결정 일관성 검사
|
|
17
|
+
|
|
18
|
+
최종 통합 산출물을 생성하기 전에, 완료된 모든 단계를 스캔하고 단계 간 일관성을 검증합니다:
|
|
19
|
+
|
|
20
|
+
### 모드별 검사 항목
|
|
21
|
+
|
|
22
|
+
**🚀 퀵 모드** (3 단계 — 2개 교차 참조 검사):
|
|
23
|
+
1. JTBD ↔ PR-FAQ: PR-FAQ가 JTBD 선언문과 동일한 문제를 다루고 있는가?
|
|
24
|
+
2. PR-FAQ ↔ North Star: North Star Metric이 PR-FAQ가 약속한 성과를 측정하고 있는가?
|
|
25
|
+
|
|
26
|
+
**📦 풀 모드** (20 단계 — 전체 7항목 검사):
|
|
27
|
+
1. 타겟 사용자 — JTBD, 포지셔닝, PR-FAQ, North Star에서 동일한 페르소나를 참조하고 있는가?
|
|
28
|
+
2. 핵심 문제 / JTBD — PR-FAQ가 동일한 문제를 다루는가? MVP가 이를 해결하는가?
|
|
29
|
+
3. 포지셔닝 — PR-FAQ 헤드라인과 솔루션 방향에 반영되어 있는가?
|
|
30
|
+
4. 솔루션 방향 — 선택된 솔루션이 MVP 범위와 일치하는가?
|
|
31
|
+
5. MVP 범위 — PR-FAQ 약속과 일치하는가? "하지 않을 것" 항목이 준수되고 있는가?
|
|
32
|
+
6. North Star Metric — JTBD 성과를 측정하는가? MVP 범위 내에서 달성 가능한가?
|
|
33
|
+
7. Pre-mortem 리스크 — 최종 솔루션과 MVP를 고려할 때 여전히 관련성이 있는가?
|
|
34
|
+
|
|
35
|
+
**🔄 리비전 모드** (12 단계 — 4항목 검사):
|
|
36
|
+
1. 기존 JTBD ↔ 페인포인트 ↔ 포지셔닝: 재평가 후에도 일관성이 있는가?
|
|
37
|
+
2. PR-FAQ ↔ MVP 범위: 리비전 범위가 PR-FAQ 설명과 일치하는가?
|
|
38
|
+
3. North Star ↔ 전후 비교: 지표 비교가 논리적인가?
|
|
39
|
+
4. Pre-mortem 리스크: 개정된 제품에 대해 여전히 관련성이 있는가?
|
|
40
|
+
|
|
41
|
+
**⚡ 빌드 모드** (7 단계 — 4항목 검사):
|
|
42
|
+
1. 문제 선언문 ↔ PR-FAQ: 동일한 문제를 다루고 있는가?
|
|
43
|
+
2. 솔루션 방향 ↔ MVP 범위: 선택된 솔루션이 MVP와 일치하는가?
|
|
44
|
+
3. North Star ↔ MVP: 지표가 MVP 범위 내에서 달성 가능한가?
|
|
45
|
+
4. Pre-mortem 리스크: 최종 솔루션에 대해 여전히 관련성이 있는가?
|
|
46
|
+
|
|
47
|
+
**🔧 기능 확장 모드** (4 단계 — 3항목 검사):
|
|
48
|
+
1. 문제 ↔ 선택된 솔루션: 솔루션이 명시된 문제를 직접 해결하는가?
|
|
49
|
+
2. 솔루션 ↔ 실행 범위: 범위가 선택된 솔루션을 올바르게 구현하는가?
|
|
50
|
+
3. 리스크 평가: 식별된 리스크가 실행 범위에 대해 여전히 관련성이 있는가?
|
|
51
|
+
|
|
52
|
+
**✏️ 커스텀 모드** — 사용자가 실제로 실행한 단계 간의 교차 참조만 검사합니다. 커스텀 선택에 포함되지 않은 단계의 검사는 건너뜁니다.
|
|
53
|
+
|
|
54
|
+
### 실행 방법
|
|
55
|
+
1. 각 핵심 의사결정을 한 줄 요약으로 나열 (예: "타겟 사용자: 초기 스타트업 창업자")
|
|
56
|
+
2. 단계 간 모순이나 오래된 참조가 있는지 확인
|
|
57
|
+
3. 불일치가 발견된 경우:
|
|
58
|
+
- 표시: "⚠️ 일관성 검사에서 최종 산출물 전에 [N]개의 문제를 발견했습니다:"
|
|
59
|
+
- 각 문제와 영향받는 단계를 나열
|
|
60
|
+
- 사용자에게 질문: "최종 산출물을 생성하기 전에 이를 수정할까요, 아니면 그대로 진행할까요?"
|
|
61
|
+
4. 모두 일관된 경우:
|
|
62
|
+
- 표시: "✅ 의사결정 일관성 검사 통과 — 모든 단계가 정렬되었습니다."
|
|
63
|
+
- 최종 산출물 생성으로 진행
|
|
64
|
+
|
|
65
|
+
### 이 검사가 중요한 이유
|
|
66
|
+
반복적인 기획 과정에서, 사용자는 상위 의사결정(예: JTBD 변경)을 수정할 수 있지만, 일부 하위 단계에는 오래된 내용이 남아 있을 수 있습니다. 이 검사는 최종 문서가 생성되기 전에 이러한 격차를 포착하여, 일관성 없는 산출물이 만들어지는 것을 방지합니다.
|
|
67
|
+
|
|
68
|
+
## 📦 제품 컨텍스트 자동 추출
|
|
69
|
+
|
|
70
|
+
모든 단계가 완료되고 최종 통합 산출물을 작성하면서, `references/rules-context.md` 섹션 8을 읽어 컨텍스트 추출을 수행하세요:
|
|
71
|
+
|
|
72
|
+
1. **`.product-context.md` 존재 여부 확인**
|
|
73
|
+
- 존재하지 않음 → 새 파일 생성
|
|
74
|
+
- 존재함 → 규칙에 따라 업데이트 (Identity/Core Strategy 덮어쓰기, Decision History 추가, Architecture 병합, Insights 병합 및 중복 제거)
|
|
75
|
+
|
|
76
|
+
2. **내용 추출** (`rules-context.md` 섹션 8 테이블의 플로우 유형 매핑에 따라)
|
|
77
|
+
|
|
78
|
+
3. **사용자에게 알림**: 최종 산출물 후 표시:
|
|
79
|
+
"✅ 제품 컨텍스트가 `.product-context.md`에 업데이트되었습니다 — 다음 기획 세션에서 자동으로 로드됩니다."
|
|
80
|
+
|
|
81
|
+
4. **버전 관리 알림** (최초 생성 시에만):
|
|
82
|
+
"⚠️ `.product-context.md`를 `.gitignore`에 추가하는 것을 권장합니다 — 이 파일에 민감한 제품 전략 정보가 포함될 수 있습니다."
|
|
83
|
+
|
|
84
|
+
## 최적 진입점 분석 (풀 모드 전용)
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
[Persona 페인포인트] → [JTBD 선언문] → [OST 기회] → [HMW 질문]
|
|
88
|
+
→ [포지셔닝 (April Dunford)] → [PR-FAQ 검증] → [솔루션 선택]
|
|
89
|
+
→ [Aha Moment] → [North Star Metric] → [PMF 수준 평가]
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
분석 포인트: 가장 해결할 가치 있는 문제 / 핵심 JTBD / 제품 포지셔닝 / PMF 수준과 다음 마일스톤 / 첫 번째 행동 단계 / Pre-mortem 리스크 알림
|
|
93
|
+
|
|
94
|
+
## 모드별 최종 산출물
|
|
95
|
+
|
|
96
|
+
| 모드 | 최종 통합 산출물 |
|
|
97
|
+
|------|---------------|
|
|
98
|
+
| 🔧 기능 확장 모드 | 기능 개발 사양: 문제 → 선택한 솔루션 → 영향 범위 → 실행 범위 → 리스크 |
|
|
99
|
+
| 🚀 퀵 모드 | 1페이지 방향 요약: 문제 → 솔루션 → 성공 정의 |
|
|
100
|
+
| 📦 풀 모드 | 최적 진입점 분석 + 제품 스펙 요약 |
|
|
101
|
+
| 🔄 리비전 모드 | 리비전 제품 스펙 요약: 전후 비교 + 변경/유지 + 성공 지표 |
|
|
102
|
+
| ✏️ 커스텀 모드 | 제품 스펙 요약 (미실행 필드는 "미실행"으로 표시) |
|
|
103
|
+
| ⚡ 빌드 모드 | 엔지니어 지향 실행 요약 |
|
|
104
|
+
|
|
105
|
+
### 산출물 언어 오버라이드
|
|
106
|
+
|
|
107
|
+
사용자는 기획 세션과 다른 언어로 산출물을 요청할 수 있습니다:
|
|
108
|
+
- "PR-FAQ를 일본어로 생성해줘"
|
|
109
|
+
- "보고서를 스페인어로 출력해줘"
|
|
110
|
+
- "PRD를 중국어로 작성해줘"
|
|
111
|
+
|
|
112
|
+
언어 오버라이드가 요청된 경우:
|
|
113
|
+
1. 요청된 언어로 산출물 내용을 생성
|
|
114
|
+
2. 프레임워크 이름은 영어로 유지 (JTBD, PR-FAQ, North Star 등)
|
|
115
|
+
3. 산출물 생성 후 기획 세션의 원래 언어로 복귀
|
|
116
|
+
4. 참고: 이는 산출물 문서의 언어에만 영향을 미치며, 참조 파일이나 기획 플로우에는 영향을 주지 않음
|
|
117
|
+
|
|
118
|
+
## 확장 산출물 프롬프트
|
|
119
|
+
|
|
120
|
+
최종 통합 산출물을 완료한 후, 능동적으로 질문하세요:
|
|
121
|
+
|
|
122
|
+
```
|
|
123
|
+
"기획 내용이 모두 통합되었습니다! 다음 문서를 생성해 드릴까요?
|
|
124
|
+
|
|
125
|
+
□ 업데이트된 [문서 유형] (업로드된 원본 문서 기반 증분 업데이트) ← 원본 문서가 업로드된 경우에만 표시
|
|
126
|
+
□ PDF 문서 (전문적인 레이아웃과 북마크 내비게이션, 공식 공유에 적합)
|
|
127
|
+
□ HTML 기획 보고서 (인터랙티브, 온라인 공유에 적합)
|
|
128
|
+
□ Word 문서 (협업 편집에 적합)
|
|
129
|
+
□ PRD 엔지니어 딜리버리 패키지 (플로우차트, DB schema, UI 와이어프레임 포함)
|
|
130
|
+
□ 프레젠테이션 PPTX (회의 발표에 적합, 내보내기 후 Keynote / PowerPoint로 다듬기 권장)
|
|
131
|
+
□ 개발 핸드오프 패키지 (CLAUDE.md + TASKS.md + TICKETS.md + 기술 아키텍처 — Claude Code에서 바로 개발 시작)
|
|
132
|
+
□ 위의 모두
|
|
133
|
+
|
|
134
|
+
'아니요, 괜찮습니다'라고 말하면 종료하거나, 특정 문서를 지정하세요.
|
|
135
|
+
/export [pdf|docx|pptx|html|md] 명령으로 언제든지 내보낼 수 있습니다."
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
**옵션 표시 규칙**:
|
|
139
|
+
- 원본 문서가 업로드됨 → "업데이트된 [문서 유형]"을 먼저 나열하고 "(추천)" 라벨 표시
|
|
140
|
+
- 대상 독자가 엔지니어 → PRD와 개발 핸드오프 패키지를 먼저 나열
|
|
141
|
+
- 대상 독자가 경영진/리더십 → PDF와 프레젠테이션을 먼저 나열
|
|
142
|
+
- 대상 독자가 크로스펑셔널 → PDF, HTML 보고서와 프레젠테이션 모두 나열
|
|
143
|
+
- 퀵 모드 → PDF 또는 프레젠테이션이 필요한지만 질문
|
|
144
|
+
- 대상 독자가 본인 → 개발 핸드오프 패키지를 먼저 나열
|
|
145
|
+
|
|
146
|
+
**내보내기 트리거 규칙**:
|
|
147
|
+
- 사용자가 PDF / Word / 프레젠테이션 PPTX 선택 → `rules-export-document.md` 로드
|
|
148
|
+
- 문서 내보내기 최초 트리거 시 → 먼저 `rules-document-tools.md`를 로드하여 필요한 도구 확인 및 설치
|
|
149
|
+
- 사용자가 HTML 기획 보고서 선택 → `06-html-report.md` 로드 (기존 규칙)
|
|
150
|
+
- 사용자가 "위의 모두" 선택 → 각 형식 내보내기를 순차적으로 실행
|