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,221 @@
|
|
|
1
|
+
# 보안 체크리스트
|
|
2
|
+
|
|
3
|
+
> 개발 핸드오프 패키지 작성 전에 로드됩니다. 제품 기획 단계에서 핵심 보안 요구사항이 고려되도록 하여, 보안이 사후 고려가 되지 않도록 합니다.
|
|
4
|
+
|
|
5
|
+
## 🔐 보안 아키텍처 빠른 점검
|
|
6
|
+
|
|
7
|
+
개발 핸드오프 패키지 작성 전에, 다음 보안 측면을 각각 검증하세요. 각각 ✅ (기획에 반영됨) 또는 ❌ (추가 필요)로 표시하세요.
|
|
8
|
+
|
|
9
|
+
### 1. 인증 & 인가
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
| 점검 항목 | 상태 | 비고 |
|
|
13
|
+
|----------|------|------|
|
|
14
|
+
| 인증 방식 결정됨 (JWT / Session / OAuth / Passkey) | | |
|
|
15
|
+
| 토큰 저장이 안전함 (HttpOnly Cookie, localStorage 아님) | | |
|
|
16
|
+
| 토큰 만료 및 갱신 메커니즘 설계됨 | | |
|
|
17
|
+
| 비밀번호 저장에 bcrypt / argon2 사용 (MD5/SHA 아님) | | |
|
|
18
|
+
| 권한 모델 정의됨 (RBAC / ABAC / 단순 역할) | | |
|
|
19
|
+
| 모든 API 엔드포인트에 해당 인가 체크 있음 | | |
|
|
20
|
+
| 로그인 실패에 무차별 대입 방어 (잠금 / 점진적 지연) | | |
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
**JWT 모범 사례 (JWT 사용 시):**
|
|
24
|
+
- 짧은 수명의 Access Token (15-30분) + 긴 수명의 Refresh Token 사용
|
|
25
|
+
- Refresh Token을 HttpOnly Secure Cookie에 저장
|
|
26
|
+
- Token Revocation 구현 (로그아웃 시 Refresh Token 무효화)
|
|
27
|
+
- JWT 페이로드에 민감한 정보 저장하지 않기
|
|
28
|
+
|
|
29
|
+
### 2. CORS 정책 (Cross-Origin Resource Sharing)
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
| 점검 항목 | 상태 | 비고 |
|
|
33
|
+
|----------|------|------|
|
|
34
|
+
| 허용 Origin 목록 정의됨 (와일드카드 * 사용 금지) | | |
|
|
35
|
+
| 필요한 HTTP 메서드만 허용됨 | | |
|
|
36
|
+
| Access-Control-Allow-Credentials 설정됨 | | |
|
|
37
|
+
| Preflight 캐시 기간이 합리적 (Access-Control-Max-Age) | | |
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
**CORS 설정 템플릿:**
|
|
41
|
+
```
|
|
42
|
+
허용 Origins:
|
|
43
|
+
- 프로덕션: https://[your-domain.com]
|
|
44
|
+
- 개발: http://localhost:[port]
|
|
45
|
+
|
|
46
|
+
허용 Methods: GET, POST, PUT, DELETE, PATCH
|
|
47
|
+
허용 Headers: Content-Type, Authorization
|
|
48
|
+
Credentials: true (쿠키 기반 인증 사용 시)
|
|
49
|
+
Max-Age: 86400 (24시간)
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### 3. 입력 유효성 검증 & 새니타이징
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
| 점검 항목 | 상태 | 비고 |
|
|
56
|
+
|----------|------|------|
|
|
57
|
+
| 모든 API 입력에 서버사이드 유효성 검증 있음 | | |
|
|
58
|
+
| SQL Injection 방지를 위해 파라미터화 쿼리 사용 | | |
|
|
59
|
+
| 사용자 입력이 HTML 렌더링 전 출력 인코딩됨 (XSS 방지) | | |
|
|
60
|
+
| 파일 업로드에 타입 / 크기 제한 있음 | | |
|
|
61
|
+
| URL / 리디렉트 대상에 화이트리스트 검증 (Open Redirect 방지) | | |
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**유효성 검증 원칙:**
|
|
65
|
+
- 프론트엔드 유효성 검증은 UX; 백엔드 유효성 검증은 보안 — 둘 다 필요하지만, 백엔드 유효성 검증은 타협 불가
|
|
66
|
+
- Schema Validation Library 사용 (예: Zod, Joi, Pydantic)으로 통합 유효성 검증 로직
|
|
67
|
+
- 예상 형식과 맞지 않는 입력은 거부 — 사용자 입력을 "수정"하려 하지 마세요
|
|
68
|
+
|
|
69
|
+
### 4. CSRF 방어 (Cross-Site Request Forgery)
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
| 점검 항목 | 상태 | 비고 |
|
|
73
|
+
|----------|------|------|
|
|
74
|
+
| 상태 변경 작업에 POST/PUT/DELETE 사용 (GET 아님) | | |
|
|
75
|
+
| CSRF Token 구현 또는 SameSite Cookie 사용 | | |
|
|
76
|
+
| 중요 작업에 2차 확인 있음 | | |
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### 5. 보안 헤더
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
| 헤더 | 용도 | 권장 값 |
|
|
83
|
+
|------|------|--------|
|
|
84
|
+
| Content-Security-Policy (CSP) | XSS, 데이터 주입 방지 | default-src 'self'; script-src 'self' |
|
|
85
|
+
| X-Content-Type-Options | MIME 스니핑 방지 | nosniff |
|
|
86
|
+
| X-Frame-Options | 클릭재킹 방지 | DENY 또는 SAMEORIGIN |
|
|
87
|
+
| Strict-Transport-Security (HSTS) | HTTPS 강제 | max-age=31536000; includeSubDomains |
|
|
88
|
+
| X-XSS-Protection | 브라우저 XSS 필터 | 0 (CSP에 의존하는 것이 더 신뢰성 있음) |
|
|
89
|
+
| Referrer-Policy | 리퍼러 정보 제어 | strict-origin-when-cross-origin |
|
|
90
|
+
| Permissions-Policy | 브라우저 기능 제한 | camera=(), microphone=(), geolocation=() |
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### 6. API 보안 & Rate Limiting
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
| 점검 항목 | 상태 | 비고 |
|
|
97
|
+
|----------|------|------|
|
|
98
|
+
| API에 글로벌 rate limiting 있음 (예: 100 req/min/IP) | | |
|
|
99
|
+
| 민감한 엔드포인트에 더 엄격한 제한 (로그인 5 req/min, 등록 3 req/min) | | |
|
|
100
|
+
| API 에러 응답에 내부 상세 노출 없음 (스택 트레이스, SQL문) | | |
|
|
101
|
+
| API 버전 관리 전략 결정됨 (/api/v1/) | | |
|
|
102
|
+
| 대량 데이터 엔드포인트에 페이지네이션 제한 있음 | | |
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
**Rate Limiting 설계 권장사항:**
|
|
106
|
+
```
|
|
107
|
+
| 엔드포인트 유형 | 권장 제한 | 식별 방법 |
|
|
108
|
+
|---------------|----------|----------|
|
|
109
|
+
| 일반 API | 100 req/min | IP + User ID |
|
|
110
|
+
| 로그인/등록 | 5 req/min | IP |
|
|
111
|
+
| 비밀번호 재설정 | 3 req/hour | IP + Email |
|
|
112
|
+
| 파일 업로드 | 10 req/min | User ID |
|
|
113
|
+
| 검색/쿼리 | 30 req/min | IP + User ID |
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### 7. 스크래핑 방지 & 봇 보호
|
|
117
|
+
|
|
118
|
+
```
|
|
119
|
+
| 점검 항목 | 상태 | 비고 |
|
|
120
|
+
|----------|------|------|
|
|
121
|
+
| robots.txt 설정됨 (민감한 경로 제한) | | |
|
|
122
|
+
| 중요 폼에 봇 보호 있음 (reCAPTCHA / hCaptcha / Honeypot) | | |
|
|
123
|
+
| API에 User-Agent 체크 있음 (선택) | | |
|
|
124
|
+
| 민감한 작업에 행동 분석 있음 (선택, 고급) | | |
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
**계층적 보호 전략:**
|
|
128
|
+
1. **기본 계층**: Rate Limiting + robots.txt — 모든 제품에 필수
|
|
129
|
+
2. **표준 계층**: + CAPTCHA (등록/로그인) + Honeypot 필드 — B2C 제품에 권장
|
|
130
|
+
3. **고급 계층**: + 행동 분석 + IP 평판 + Device Fingerprint — 고위험 제품
|
|
131
|
+
|
|
132
|
+
### 8. 민감한 데이터 보호
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
| 점검 항목 | 상태 | 비고 |
|
|
136
|
+
|----------|------|------|
|
|
137
|
+
| 민감한 데이터 전송 중 암호화 (HTTPS/TLS) | | |
|
|
138
|
+
| 민감한 데이터 저장 시 암호화 (필요한 경우) | | |
|
|
139
|
+
| 시크릿과 키가 코드에 저장되지 않음 | | |
|
|
140
|
+
| .env 및 민감 파일이 .gitignore에 추가됨 | | |
|
|
141
|
+
| 로그에 비밀번호, 토큰, 신용카드 번호 등 기록하지 않음 | | |
|
|
142
|
+
| 명확한 데이터 보존 및 삭제 정책 (해당되는 경우 GDPR) | | |
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
**시크릿 관리 권장사항:**
|
|
146
|
+
- 개발: `.env` 파일 (버전 관리에 포함하지 않음) + `.env.example` (키 이름만, 값 없음)
|
|
147
|
+
- 프로덕션: 플랫폼 제공 환경 변수 관리 사용 (Vercel Environment Variables / Railway Variables / AWS Secrets Manager)
|
|
148
|
+
- 커밋 메시지, PR 설명, 이슈에 시크릿 언급하지 않기
|
|
149
|
+
|
|
150
|
+
### 9. .gitignore 보안 템플릿
|
|
151
|
+
|
|
152
|
+
```gitignore
|
|
153
|
+
# 환경 변수 및 시크릿
|
|
154
|
+
.env
|
|
155
|
+
.env.local
|
|
156
|
+
.env.*.local
|
|
157
|
+
*.pem
|
|
158
|
+
*.key
|
|
159
|
+
|
|
160
|
+
# 제품 기획 진행 상황 (민감한 비즈니스 정보 포함 가능)
|
|
161
|
+
.product-playbook-progress.md
|
|
162
|
+
|
|
163
|
+
# IDE 및 OS
|
|
164
|
+
.idea/
|
|
165
|
+
.vscode/
|
|
166
|
+
*.swp
|
|
167
|
+
.DS_Store
|
|
168
|
+
Thumbs.db
|
|
169
|
+
|
|
170
|
+
# 의존성
|
|
171
|
+
node_modules/
|
|
172
|
+
__pycache__/
|
|
173
|
+
*.pyc
|
|
174
|
+
venv/
|
|
175
|
+
|
|
176
|
+
# 빌드 출력
|
|
177
|
+
dist/
|
|
178
|
+
build/
|
|
179
|
+
.next/
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## 🏷️ OWASP Top 10 빠른 참조
|
|
185
|
+
|
|
186
|
+
| # | 리스크 | 이 제품에 해당? | 대응 점검 |
|
|
187
|
+
|---|--------|--------------|----------|
|
|
188
|
+
| A01 | Broken Access Control | [예/아니오] | §1 인증 & 인가 |
|
|
189
|
+
| A02 | Cryptographic Failures | [예/아니오] | §8 민감한 데이터 보호 |
|
|
190
|
+
| A03 | Injection (SQL / XSS / Command) | [예/아니오] | §3 입력 유효성 검증 |
|
|
191
|
+
| A04 | Insecure Design | [예/아니오] | 전체 아키텍처 설계 |
|
|
192
|
+
| A05 | Security Misconfiguration | [예/아니오] | §5 헤더 + §2 CORS |
|
|
193
|
+
| A06 | Vulnerable Components | [예/아니오] | 의존성 관리 (npm audit / pip audit) |
|
|
194
|
+
| A07 | Authentication Failures | [예/아니오] | §1 인증 & 인가 |
|
|
195
|
+
| A08 | Data Integrity Failures | [예/아니오] | §3 입력 유효성 검증 + §8 데이터 보호 |
|
|
196
|
+
| A09 | Logging & Monitoring Failures | [예/아니오] | §8 로깅 규칙 |
|
|
197
|
+
| A10 | SSRF (Server-Side Request Forgery) | [예/아니오] | §3 URL 화이트리스트 검증 |
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## 📎 통합 타이밍
|
|
202
|
+
|
|
203
|
+
| 트리거 | 통합 작업 |
|
|
204
|
+
|--------|----------|
|
|
205
|
+
| 개발 핸드오프 패키지 작성 전 | 보안 빠른 점검 실행, 결과를 CLAUDE.md "리스크 알림" 및 ARCHITECTURE.md "보안 아키텍처" 섹션에 통합 |
|
|
206
|
+
| PRD 작성 시 | 보안 점검 결과를 PRD §6 "기술 고려사항 → 보안 요구사항"에 통합 |
|
|
207
|
+
| Pre-mortem 단계 | 사용자에게 보안 실패 시나리오를 고려하도록 프롬프트 |
|
|
208
|
+
| 리비전 모드 S1 | 사용자에게 기존 제품의 현재 보안 상태를 제공하도록 프롬프트 |
|
|
209
|
+
|
|
210
|
+
## 품질 자체 점검
|
|
211
|
+
|
|
212
|
+
```
|
|
213
|
+
| 점검 항목 | ✅/❌ |
|
|
214
|
+
|----------|------|
|
|
215
|
+
| 인증 방식이 명시적으로 선택됨, "TBD"로 남기지 않음 | |
|
|
216
|
+
| 최소 3개 보안 헤더 계획됨 | |
|
|
217
|
+
| Rate limiting 전략이 제품 특성에 맞게 조정됨 (템플릿 그대로 복사하지 않음) | |
|
|
218
|
+
| .gitignore에 모든 민감 파일 포함 | |
|
|
219
|
+
| "해당"으로 표시된 모든 OWASP Top 10 항목에 대응 조치 있음 | |
|
|
220
|
+
| 보안 조치 복잡성이 제품 단계에 적합 (MVP에 완벽한 보안은 필요 없지만, 기본은 타협 불가) | |
|
|
221
|
+
```
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
# ⚡ 빌드 모드 단계 시퀀스 (7단계 + 최종 산출물)
|
|
2
|
+
|
|
3
|
+
> 이 파일은 빌드 모드의 권위 있는 단계 정의입니다. SKILL.md 코어 디스패처에 의해 로드됩니다.
|
|
4
|
+
|
|
5
|
+
> ⚠️ 필수 알림: "사용자 리서치 단계를 건너뛰면 솔루션이 가정에 기반하게 됩니다. 실행 후 가능한 빨리 Continuous Discovery를 수행하여 검증하는 것을 권장합니다."
|
|
6
|
+
|
|
7
|
+
## 단계 시퀀스
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
S1. 문제 진술 확인 (한 문장)
|
|
11
|
+
S2. PR-FAQ → references/04a-prfaq.md 읽기
|
|
12
|
+
S3. 병렬 솔루션 → references/04b-solutions.md → 3.2 읽기
|
|
13
|
+
S4. Pre-mortem → references/04b-solutions.md → 3.3 읽기
|
|
14
|
+
S5. GEM + RICE 우선순위 → references/04b-solutions.md → 3.4 + 3.5 읽기
|
|
15
|
+
S6. MVP + Not Doing List → references/04c-mvp.md 읽기
|
|
16
|
+
S7. North Star + Aha Moment → references/05a-northstar-aha.md 읽기
|
|
17
|
+
────
|
|
18
|
+
최종 산출물 → 엔지니어 지향 실행 요약
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## 레퍼런스 로딩 지침
|
|
22
|
+
|
|
23
|
+
| 단계 | 레퍼런스 파일 |
|
|
24
|
+
|------|-------------|
|
|
25
|
+
| S1 | 외부 레퍼런스 필요 없음 (사용자가 문제를 진술하도록 직접 안내) |
|
|
26
|
+
| S2 | `references/04a-prfaq.md` |
|
|
27
|
+
| S3-S5 | `references/04b-solutions.md` |
|
|
28
|
+
| S6 | `references/04c-mvp.md` |
|
|
29
|
+
| S7 | `references/05a-northstar-aha.md` |
|
|
30
|
+
|
|
31
|
+
## 최종 산출물 형식
|
|
32
|
+
|
|
33
|
+
**엔지니어 지향 실행 요약**: 솔루션 결정 → MVP 경계 → 성공 지표 → 핵심 리스크
|
|
34
|
+
|
|
35
|
+
완료 후, `references/rules-end-of-flow.md`에 따라 플로우 종료 규칙을 실행하세요.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## 🔧 기능 확장 빠른 경로 (4단계)
|
|
40
|
+
|
|
41
|
+
> **기존 제품에 단일 기능을 추가**하는 경우 이 경로로 자동 전환됩니다.
|
|
42
|
+
> 트리거 조건: 사용자 설명에 "기능 추가", "새 기능", "XX 기능 추가", "기존 시스템에", "기존 제품에 필요한" 등의 표현 포함.
|
|
43
|
+
|
|
44
|
+
**전체 빌드 모드(7단계)와의 차이**: 기존 제품에는 이미 North Star, Aha Moment, 제품 포지셔닝이 있으므로 재정의할 필요가 없습니다. 단일 기능에는 PR-FAQ 보도자료나 전체 GEM+RICE 재우선순위가 필요하지 않습니다. 초점은 "무엇을 추가하고, 어떻게 추가하며, 기존 기능을 손상시키지 않는가"입니다.
|
|
45
|
+
|
|
46
|
+
### 기능 확장 단계 시퀀스
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
S1. 문제 + 기존 시스템 컨텍스트
|
|
50
|
+
S2. 3개 병렬 솔루션 + 장단점 + AI 추천 → references/04b-solutions.md → 3.2 읽기
|
|
51
|
+
S3. 리스크 평가 (회귀 + 호환성) → references/04b-solutions.md → 3.3 읽기
|
|
52
|
+
S4. 실행 범위 (할 것 / 건드리지 않을 것 / 인수 기준) → references/04c-mvp.md 읽기
|
|
53
|
+
────
|
|
54
|
+
최종 산출물 → 기능 개발 사양
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### S1 사전 단계: 제품 컨텍스트 로딩
|
|
58
|
+
|
|
59
|
+
S1에 진입하기 전, `references/rules-context.md`를 읽고 `.product-context.md`를 확인하세요:
|
|
60
|
+
|
|
61
|
+
- **완전한 컨텍스트 있음 (시나리오 1)**: 제품명, 기술 스택, 주요 모듈, 가장 최근 3개의 Decision History 항목을 자동으로 가져옵니다. S1 안내를 **확인 스타일**로 변경: "당신의 제품은 [이름]이고, [기술 스택]을 사용하며, 주요 모듈에는 [모듈 목록]이 있습니다. 어떤 기능을 추가하고 싶으신가요? 어떤 모듈이 영향을 받나요?" (질문 2와 질문 3의 일부가 사전 입력됨 — 확인만 필요)
|
|
62
|
+
- **컨텍스트 없음 (시나리오 2)**: Context Bootstrap을 트리거(`rules-context.md` 섹션 4)하고, 아래 표준 S1으로 진행
|
|
63
|
+
- **부분 컨텍스트 (시나리오 3)**: 알려진 기술 스택과 모듈을 가져오고(Decision History에서 병합), 누락된 부분을 수집합니다. 예: "[알려진 모듈] 외에 영향을 받을 수 있는 다른 모듈이 있나요?"
|
|
64
|
+
|
|
65
|
+
### S1 안내 내용 (문제 + 기존 시스템 컨텍스트)
|
|
66
|
+
|
|
67
|
+
Claude는 다음 정보를 수집해야 합니다 (단계적으로 안내 — 모든 질문을 한 번에 하지 마세요. 컨텍스트가 일부 답변을 사전 입력한 경우 재수집이 아닌 확인):
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
1. 어떤 기능을 추가하고 싶나요? 어떤 문제를 해결하나요?
|
|
71
|
+
2. 현재 제품 아키텍처 개요 (기술 스택, 주요 모듈) ← 컨텍스트가 사전 입력 가능
|
|
72
|
+
3. 이 기능이 어떤 기존 모듈에 영향을 미치나요? ← 컨텍스트가 부분 사전 입력 가능
|
|
73
|
+
4. 이 요구사항을 뒷받침하는 사용자 피드백이나 데이터가 있나요?
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### S2 안내 내용 (3개 병렬 솔루션 + AI 추천)
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
| HMW | 솔루션 A (보수적 / 최소 변경) | 솔루션 B (균형적) | 솔루션 C (대담한 / 리팩토링) |
|
|
80
|
+
|-----|--------------------------|----------------|------------------------|
|
|
81
|
+
| [문제] | | | |
|
|
82
|
+
|
|
83
|
+
| 솔루션 | 장점 | 단점 | 영향 범위 | 구현 복잡도 |
|
|
84
|
+
|--------|------|------|----------|-----------|
|
|
85
|
+
| A | | | | |
|
|
86
|
+
| B | | | | |
|
|
87
|
+
| C | | | | |
|
|
88
|
+
|
|
89
|
+
🤖 AI 추천: 솔루션 [X]
|
|
90
|
+
근거: [영향 범위, 복잡도, 리스크를 종합적으로 판단]
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### S3 안내 내용 (리스크 평가 — 회귀 & 호환성 중심)
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
| 리스크 유형 | 구체적 리스크 | 가능성 | 완화 조치 |
|
|
97
|
+
|-----------|------------|-------|----------|
|
|
98
|
+
| 회귀 리스크 | [기존 기능이 영향 받을 수 있는 영역] | | |
|
|
99
|
+
| 호환성 리스크 | [기존 아키텍처/데이터/API와의 충돌] | | |
|
|
100
|
+
| 성능 리스크 | [새 기능이 시스템 성능에 미치는 영향] | | |
|
|
101
|
+
| 보안 리스크 | [새 기능이 도입하는 보안 고려사항] | | |
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### S4 안내 내용 (실행 범위)
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
**할 것 (Scope)**:
|
|
108
|
+
- [추가할 구체적 기능 항목]
|
|
109
|
+
- [수정이 필요한 기존 모듈]
|
|
110
|
+
|
|
111
|
+
**건드리지 않을 것**:
|
|
112
|
+
- [명시적으로 수정하지 않을 모듈과 기능]
|
|
113
|
+
- [건드리지 않는 이유]
|
|
114
|
+
|
|
115
|
+
**인수 기준**:
|
|
116
|
+
- [ ] [구체적 테스트 가능 조건]
|
|
117
|
+
- [ ] [회귀 테스트: 기존 기능이 영향받지 않음 확인]
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### 기능 확장 최종 산출물 형식
|
|
121
|
+
|
|
122
|
+
**기능 개발 사양**: 문제 진술 → 선택한 솔루션 + 근거 → 영향 범위 → 실행 범위 + 인수 기준 → 리스크 목록
|
|
123
|
+
|
|
124
|
+
### 증분 문서 산출 (원본 문서가 있는 경우)
|
|
125
|
+
|
|
126
|
+
사용자가 프로세스 중에 원본 문서(PRD, 사양서 등)를 업로드한 경우:
|
|
127
|
+
|
|
128
|
+
1. **증분 버전** (원본 문서가 있을 때 기본값):
|
|
129
|
+
- 원본 문서 구조에 섹션을 삽입/수정
|
|
130
|
+
- 원본 파일의 형식, 스타일, 명명 규칙을 유지
|
|
131
|
+
- 새로운 콘텐츠에 `[NEW]` 표시
|
|
132
|
+
- 수정된 콘텐츠에 `[UPDATED]` 표시, 원본은 참고용으로 보존
|
|
133
|
+
- 새 기능과 관련 없는 섹션은 전혀 변경하지 않음
|
|
134
|
+
|
|
135
|
+
2. **독립 버전** (원본 문서가 없는 경우):
|
|
136
|
+
- 표준 기능 개발 사양 형식 사용 (위에서 정의한 대로)
|
|
137
|
+
|
|
138
|
+
3. **생성 전 사용자에게 확인**:
|
|
139
|
+
"[문서 유형]이 업로드된 것을 감지했습니다. 산출물 방식을 어떻게 하시겠습니까?
|
|
140
|
+
A) 원본 문서에 증분 업데이트 (권장)
|
|
141
|
+
B) 독립 기능 개발 사양"
|
|
142
|
+
|
|
143
|
+
### 레퍼런스 로딩 지침
|
|
144
|
+
|
|
145
|
+
| 단계 | 레퍼런스 파일 |
|
|
146
|
+
|------|-------------|
|
|
147
|
+
| S1 | 외부 레퍼런스 필요 없음 |
|
|
148
|
+
| S2 | `references/04b-solutions.md` → 3.2 |
|
|
149
|
+
| S3 | `references/04b-solutions.md` → 3.3 |
|
|
150
|
+
| S4 | `references/04c-mvp.md` |
|
|
151
|
+
|
|
152
|
+
완료 후, `references/rules-end-of-flow.md`에 따라 플로우 종료 규칙을 실행하세요.
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# 🔄 변경 전파 규칙
|
|
2
|
+
|
|
3
|
+
> 사용자가 이전에 완료한 단계를 수정할 때 로드됩니다.
|
|
4
|
+
|
|
5
|
+
## 📍 진행 표시기 (모든 단계에서 반드시 표시)
|
|
6
|
+
|
|
7
|
+
어떤 단계를 실행하든, Claude는 응답의 맨 처음에 진행 바를 반드시 표시해야 합니다, 다음 형식으로:
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
11
|
+
📍 [실행 모드] | 진행 S[현재 단계 번호] / S[전체 단계]
|
|
12
|
+
✅ S1: [단계명] (완료)
|
|
13
|
+
✅ S2: [단계명] (완료)
|
|
14
|
+
▶️ S3: [단계명] (진행 중)
|
|
15
|
+
⬜ S4: [단계명] (대기)
|
|
16
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
이 진행 표시기는 다음 상황에서 반드시 표시되어야 합니다:
|
|
20
|
+
- 새 단계에 진입할 때
|
|
21
|
+
- 사용자가 이전 단계로 돌아가 수정할 때
|
|
22
|
+
- 단계를 완료하고 다음 단계로 넘어가기 전 사용자 확인을 요청할 때
|
|
23
|
+
|
|
24
|
+
## 트리거 방법
|
|
25
|
+
- "Persona로 돌아가기", "JTBD로 돌아가기", "HMW로 돌아가기", "PR-FAQ로 돌아가기" 또는 다른 단계명
|
|
26
|
+
- "[단계명]을 수정하고 싶어요", "[단계명] — 변경하고 싶은 것이 있어요"
|
|
27
|
+
- 이미 작성된 테이블이나 내용을 직접 참조하며 "이것을 ...으로 변경해 주세요"
|
|
28
|
+
|
|
29
|
+
## 수정 후 필수 조치
|
|
30
|
+
|
|
31
|
+
어떤 단계가 수정되면, Claude는 **다음 점검을 능동적으로 수행해야 합니다**:
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
수정된 계층 영향받는 하위 (재확인 또는 업데이트 필수)
|
|
35
|
+
─────────────────────────────────────────────────────
|
|
36
|
+
Persona / JTBD → HMW, 기회 평가 테이블, 포지셔닝, PR-FAQ, North Star, 제품 스펙 요약
|
|
37
|
+
HMW / 기회 평가 → PR-FAQ, 병렬 솔루션, MVP, North Star, 제품 스펙 요약
|
|
38
|
+
포지셔닝 → PR-FAQ, 제품 스펙 요약
|
|
39
|
+
PR-FAQ / 솔루션 → Pre-mortem, GEM/RICE, MVP, Aha Moment, 제품 스펙 요약
|
|
40
|
+
MVP / Not Doing List → User Story, DB schema (이미 생성된 경우), 제품 스펙 요약
|
|
41
|
+
North Star / 지표 → 가설 검증 계획, 제품 스펙 요약
|
|
42
|
+
제품 스펙 요약 → HTML 보고서, PRD (이미 생성된 경우)
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### 기능 확장 의존 관계:
|
|
46
|
+
```
|
|
47
|
+
기능 확장 의존 관계:
|
|
48
|
+
─────────────────────────────────────────────────────
|
|
49
|
+
S1 (문제 + 컨텍스트) → S2 (솔루션), S3 (리스크), S4 (실행 범위)
|
|
50
|
+
S2 (선택된 솔루션) → S3 (리스크), S4 (실행 범위)
|
|
51
|
+
S3 (리스크 평가) → S4 (실행 범위)
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## 실행 프로세스
|
|
55
|
+
|
|
56
|
+
1. **사용자에게 영향 범위를 알림**: "당신이 [단계]를 수정했습니다. 이것은 [하위 단계 목록]에 영향을 미칩니다. 각각 업데이트하겠습니다."
|
|
57
|
+
2. **하위 항목을 확인하거나 자동 업데이트**:
|
|
58
|
+
- 하위 변경이 경미한 경우 (문구 조정) → 직접 업데이트하고 변경 내용 설명
|
|
59
|
+
- 하위 변경이 중대한 경우 (방향 전환) → 업데이트 전 사용자에게 새 방향 확인 요청
|
|
60
|
+
3. **제품 스펙 요약 재통합**
|
|
61
|
+
4. **HTML 보고서 또는 PRD가 이미 생성된 경우**: 직접 재생성하고 버전 스냅샷 출력:
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
📋 버전 스냅샷 v[이전 버전] → v[새 버전]
|
|
65
|
+
수정된 단계: [단계명]
|
|
66
|
+
수정 전 핵심 내용: [1-3문장]
|
|
67
|
+
수정 후 핵심 내용: [1-3문장]
|
|
68
|
+
트리거된 하위 업데이트: [함께 조정된 단계]
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## 원칙
|
|
72
|
+
- 어떤 수정도 무성하게 일어나지 않음 — 영향 범위를 항상 명시적으로 전달해야 함
|
|
73
|
+
- 사용자는 "이 단계만 수정하고, 하위는 당분간 그대로 두겠다"를 선택할 권리가 있음. Claude는 어떤 부분이 구식인지 표시해야 함 (⚠️ 업데이트 필요 라벨 추가)
|
|
74
|
+
- 수정 이력은 대화 내에서 추적 가능하게 유지
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# 🔧 프레임워크 메뉴 + 보조 명령
|
|
2
|
+
|
|
3
|
+
> 사용자가 "프레임워크 목록", "사용 가능한 프레임워크를 보여주세요"를 요청하거나 보조 명령을 사용할 때 로드됩니다.
|
|
4
|
+
|
|
5
|
+
## 프레임워크 지정
|
|
6
|
+
|
|
7
|
+
**두 가지 트리거 방법:**
|
|
8
|
+
|
|
9
|
+
**방법 A (사용자가 프레임워크를 직접 지정):** 해당 프레임워크의 안내 플로우로 바로 진행 — 다시 질문할 필요 없음.
|
|
10
|
+
|
|
11
|
+
**방법 B (사용자가 "프레임워크를 고르고 싶어요", "모든 프레임워크를 보여주세요" 등):** 다음 메뉴를 제시:
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
📚 사용 가능한 프레임워크 — 번호 또는 이름을 입력하세요:
|
|
15
|
+
|
|
16
|
+
【사용자 이해】
|
|
17
|
+
1. JTBD (Jobs to Be Done) — 사용자가 진정으로 완수하고 싶은 과업 식별
|
|
18
|
+
2. Persona — 사용/과업/동기 기반 사용자 프로필 구축
|
|
19
|
+
3. User Journey Map — 완전한 사용자 경험 여정 매핑
|
|
20
|
+
4. Continuous Discovery — 주간 사용자 소통 습관 구축
|
|
21
|
+
|
|
22
|
+
【문제 정의】
|
|
23
|
+
5. OST / Opportunity Solution Tree — 기회와 솔루션을 체계적으로 연결
|
|
24
|
+
6. 포지셔닝 / April Dunford — 실제 경쟁 영역과 차별화 발견
|
|
25
|
+
7. HMW — 페인포인트를 디자인 질문으로 재구성
|
|
26
|
+
|
|
27
|
+
【솔루션 설계】
|
|
28
|
+
8. Working Backwards / PR-FAQ — 사용자 성과에서 역으로 솔루션 도출
|
|
29
|
+
9. Pre-mortem — 실패가 발생하기 전에 예측하고 방지
|
|
30
|
+
10. GEM — Growth / Engagement / Monetization 3차원 우선순위
|
|
31
|
+
11. RICE — 정량적 기능 우선순위 결정
|
|
32
|
+
12. MVP — 최소 실행 가능한 제품 범위 정의
|
|
33
|
+
|
|
34
|
+
【전략 계층】
|
|
35
|
+
13. 전략 / Strategy Blocks — Mission → Vision → Strategy 계층
|
|
36
|
+
14. DHM Model — Delight / Hard to copy / Margin-enhancing 기회 평가
|
|
37
|
+
15. LNO Framework — Leverage / Neutral / Overhead 시간 배분
|
|
38
|
+
16. Empowered Teams — 임파워드 팀 vs. 기능 팀
|
|
39
|
+
|
|
40
|
+
【측정 계층】
|
|
41
|
+
17. North Star / North Star Metric — 핵심 사용자 가치를 대표하는 단일 지표 정의
|
|
42
|
+
18. PMF — 4단계 Product-Market Fit 평가
|
|
43
|
+
19. Sean Ellis Score — PMF 열정 수준 정량화
|
|
44
|
+
|
|
45
|
+
【비즈니스 계층】
|
|
46
|
+
20. 비즈니스 모델 & 프라이싱 — 수익 모델 선택 및 가치 기반 가격 정렬
|
|
47
|
+
21. GTM 전략 — Go-to-Market 출시 및 고객 획득 전략
|
|
48
|
+
|
|
49
|
+
【개발 핸드오프】
|
|
50
|
+
22. 개발 핸드오프 — CLAUDE.md + TASKS.md + TICKETS.md를 생성하여 Claude Code에 개발 핸드오프
|
|
51
|
+
|
|
52
|
+
프레임워크 번호 또는 이름을 입력하세요 (복수 선택 가능, 쉼표로 구분):
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## 디스커버리 건너뛰기 / 빌드로 바로 진행
|
|
56
|
+
|
|
57
|
+
사용자가 "사용자 리서치 건너뛰기", "문제는 이미 알고 있어요", "Develop으로 바로 가기"라고 말하면, `references/rules-build.md`를 읽고 빌드 모드 단계 시퀀스를 따르세요.
|
|
58
|
+
|
|
59
|
+
> 사용자에게 알림: "사용자 리서치 단계를 건너뛰면 솔루션이 가정에 기반하게 됩니다. 실행 후 가능한 빨리 Continuous Discovery를 수행하여 검증하는 것을 권장합니다."
|
|
60
|
+
|
|
61
|
+
## 기능 확장 모드 트리거
|
|
62
|
+
|
|
63
|
+
- "기능 추가" / "새 기능을 추가하고 싶어요" / "기존 제품에 새 기능" → 기능 확장 모드를 트리거합니다 (`references/rules-build.md` → 기능 확장 빠른 경로를 읽음)
|
|
64
|
+
|
|
65
|
+
## 보조 명령
|
|
66
|
+
|
|
67
|
+
| 명령 | 동작 |
|
|
68
|
+
|------|------|
|
|
69
|
+
| `"[프레임워크]로 전환"` | 즉시 전환, 완료된 내용 유지 |
|
|
70
|
+
| `"대상 독자를 바꾸고 싶어요"` | 프레임워크 우선순위와 표현 스타일 재조정 |
|
|
71
|
+
| `"이 단계를 건너뛰기"` | 필요성을 알리고, 결정을 존중하여 다음 단계로 이동 |
|
|
72
|
+
| `"[단계/프레임워크명]으로 돌아가기"` | 지정된 단계로 복귀하여 재안내 (`references/rules-change-propagation.md` 참조) |
|
|
73
|
+
| `"간소화"` / `"확장"` | 핵심만 요약 / 심층 분석 추가 |
|
|
74
|
+
| `"보고서 생성"` | `references/06-html-report.md`를 읽고 HTML 기획 보고서 작성 |
|
|
75
|
+
| `"PRD 생성"` / `"엔지니어 문서 생성"` | `references/04b-solutions.md`를 읽고 PR-FAQ + MVP + User Story + Pre-mortem 통합, **자동으로 추가 생성: 플로우차트(Mermaid) + DB schema(Mermaid ERD) + UI 와이어프레임(HTML)** |
|
|
76
|
+
| `"플로우차트 생성"` / `"플로우차트 그려주세요"` | Mermaid 구문으로 플로우차트 출력 (독립 트리거) |
|
|
77
|
+
| `"DB schema 생성"` / `"데이터베이스 설계"` | Mermaid ERD 구문으로 DB schema 출력 (독립 트리거) |
|
|
78
|
+
| `"UI 와이어프레임 생성"` / `"와이어프레임 그려주세요"` | HTML/SVG로 저충실도 UI 와이어프레임 출력 (독립 트리거) |
|
|
79
|
+
| `"프레젠테이션 생성"` / `"PPT 만들어 주세요"` | 시스템 pptx 스킬 호출 |
|
|
80
|
+
| `"이 문서를 [독자]에 맞게 조정"` | 지정된 독자에 맞게 프레임워크 하이라이트와 언어 재구성 |
|
|
81
|
+
| `"15분밖에 없어요"` | 가장 중요한 3가지 의사결정 질문 또는 행동 제공 |
|
|
82
|
+
| `"완성도 평가를 해 주세요"` | 어떤 영역이 견고하고 어떤 영역에 리스크가 있는지 평가 |
|
|
83
|
+
| `"가정을 찾아주세요"` | 모든 미검증 핵심 가정 식별 |
|
|
84
|
+
| `"Pre-mortem 실행"` | 모든 솔루션에 대해 즉시 Pre-mortem 실행 |
|
|
85
|
+
| `"다른 독자용 버전 생성"` | 여러 독자에 맞춘 요약을 자동 생성 |
|
|
86
|
+
| `"이 제품의 PMF 수준은?"` | PMF 수준 판단 및 다음 마일스톤 설명 |
|
|
87
|
+
| `"병목을 찾아주세요"` | Aha Moment 달성의 가장 큰 장애물 분석 |
|
|
88
|
+
| `"이것은 신규가 아니라 리비전이에요"` | 리비전 모드로 전환 (`references/rules-revision.md` 읽기) |
|
|
89
|
+
| `"상사를 설득해야 해요"` | 보스 모드로 전환 — 비즈니스 가치와 리소스 논리 강조 |
|
|
90
|
+
| `"개발 시작"` / `"개발 핸드오프 패키지 생성"` | `references/07a-handoff-core.md`를 읽고 기술 스택 확인 후 전체 개발 핸드오프 패키지 생성 |
|
|
91
|
+
| `"프로젝트 설정"` / `"Claude Code 연결"` | 위와 동일 |
|
|
92
|
+
| `"일시 정지"` / `"저장"` / `"다른 것 먼저"` | `references/rules-progress.md`에 따라 진행 저장 |
|
|
93
|
+
| `"계속"` / `"기획으로 돌아가기"` | `references/rules-progress.md`에 따라 재개 |
|
|
94
|
+
| `"진행 초기화"` / `"처음부터 다시"` | 진행 파일 삭제 후 처음부터 시작 |
|
|
95
|
+
| `/export [format]` | 지정된 형식으로 내보내기. format = `pdf` / `docx` / `pptx` / `html` / `md`. `references/rules-export-document.md`를 읽음. 최초 사용 시 먼저 `references/rules-document-tools.md`를 로드하여 도구 확인. |
|
|
96
|
+
| `/parse [file]` | 업로드된 문서를 Markdown으로 파싱. PDF / DOCX / PPTX / 이미지 지원. `references/rules-import-document.md`를 읽음. 최초 사용 시 먼저 `references/rules-document-tools.md`를 로드하여 도구 확인. |
|
|
97
|
+
|
|
98
|
+
**컨텍스트 인식 명령 힌트**: 각 단계 완료 후, 현재 진행 상황에 맞게 가장 관련 있는 사용 가능한 명령 2-3개를 능동적으로 제안하세요.
|