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.
Files changed (291) hide show
  1. package/LICENSE +21 -0
  2. package/README.es.md +518 -0
  3. package/README.ja.md +519 -0
  4. package/README.ko.md +518 -0
  5. package/README.md +520 -0
  6. package/README.zh-CN.md +518 -0
  7. package/README.zh-TW.md +518 -0
  8. package/SKILL.md +244 -0
  9. package/commands/product-build.md +13 -0
  10. package/commands/product-dev.md +21 -0
  11. package/commands/product-full.md +13 -0
  12. package/commands/product-prd.md +14 -0
  13. package/commands/product-quick.md +13 -0
  14. package/commands/product-report.md +12 -0
  15. package/commands/product-revision.md +13 -0
  16. package/i18n/en/SKILL.md +245 -0
  17. package/i18n/en/commands/product-build.md +13 -0
  18. package/i18n/en/commands/product-dev.md +21 -0
  19. package/i18n/en/commands/product-full.md +13 -0
  20. package/i18n/en/commands/product-prd.md +14 -0
  21. package/i18n/en/commands/product-quick.md +13 -0
  22. package/i18n/en/commands/product-report.md +12 -0
  23. package/i18n/en/commands/product-revision.md +13 -0
  24. package/i18n/en/references/00-opportunity-check.md +44 -0
  25. package/i18n/en/references/01-strategy.md +90 -0
  26. package/i18n/en/references/02a-persona.md +57 -0
  27. package/i18n/en/references/02b-jtbd.md +125 -0
  28. package/i18n/en/references/02c-ost-journey.md +65 -0
  29. package/i18n/en/references/03-define.md +118 -0
  30. package/i18n/en/references/04a-prfaq.md +112 -0
  31. package/i18n/en/references/04b-solutions.md +269 -0
  32. package/i18n/en/references/04c-mvp.md +21 -0
  33. package/i18n/en/references/05a-northstar-aha.md +93 -0
  34. package/i18n/en/references/05b-pmf-gtm.md +102 -0
  35. package/i18n/en/references/05c-validation-spec.md +117 -0
  36. package/i18n/en/references/06-html-report.md +128 -0
  37. package/i18n/en/references/07a-handoff-core.md +152 -0
  38. package/i18n/en/references/07b-tasks-tickets.md +215 -0
  39. package/i18n/en/references/07c-architecture-setup.md +197 -0
  40. package/i18n/en/references/08-security-checklist.md +221 -0
  41. package/i18n/en/references/rules-build.md +152 -0
  42. package/i18n/en/references/rules-change-propagation.md +74 -0
  43. package/i18n/en/references/rules-commands.md +98 -0
  44. package/i18n/en/references/rules-context.md +291 -0
  45. package/i18n/en/references/rules-custom.md +63 -0
  46. package/i18n/en/references/rules-document-tools.md +126 -0
  47. package/i18n/en/references/rules-end-of-flow.md +150 -0
  48. package/i18n/en/references/rules-export-document.md +346 -0
  49. package/i18n/en/references/rules-file-integration.md +65 -0
  50. package/i18n/en/references/rules-full.md +66 -0
  51. package/i18n/en/references/rules-import-document.md +261 -0
  52. package/i18n/en/references/rules-product-type.md +14 -0
  53. package/i18n/en/references/rules-progress.md +60 -0
  54. package/i18n/en/references/rules-quick.md +29 -0
  55. package/i18n/en/references/rules-revision.md +64 -0
  56. package/i18n/es/SKILL.md +245 -0
  57. package/i18n/es/commands/product-build.md +13 -0
  58. package/i18n/es/commands/product-dev.md +21 -0
  59. package/i18n/es/commands/product-full.md +13 -0
  60. package/i18n/es/commands/product-prd.md +14 -0
  61. package/i18n/es/commands/product-quick.md +13 -0
  62. package/i18n/es/commands/product-report.md +12 -0
  63. package/i18n/es/commands/product-revision.md +13 -0
  64. package/i18n/es/references/00-opportunity-check.md +44 -0
  65. package/i18n/es/references/01-strategy.md +90 -0
  66. package/i18n/es/references/02a-persona.md +57 -0
  67. package/i18n/es/references/02b-jtbd.md +125 -0
  68. package/i18n/es/references/02c-ost-journey.md +65 -0
  69. package/i18n/es/references/03-define.md +118 -0
  70. package/i18n/es/references/04a-prfaq.md +114 -0
  71. package/i18n/es/references/04b-solutions.md +269 -0
  72. package/i18n/es/references/04c-mvp.md +21 -0
  73. package/i18n/es/references/05a-northstar-aha.md +93 -0
  74. package/i18n/es/references/05b-pmf-gtm.md +102 -0
  75. package/i18n/es/references/05c-validation-spec.md +117 -0
  76. package/i18n/es/references/06-html-report.md +138 -0
  77. package/i18n/es/references/07a-handoff-core.md +152 -0
  78. package/i18n/es/references/07b-tasks-tickets.md +215 -0
  79. package/i18n/es/references/07c-architecture-setup.md +197 -0
  80. package/i18n/es/references/08-security-checklist.md +221 -0
  81. package/i18n/es/references/rules-build.md +152 -0
  82. package/i18n/es/references/rules-change-propagation.md +74 -0
  83. package/i18n/es/references/rules-commands.md +98 -0
  84. package/i18n/es/references/rules-context.md +291 -0
  85. package/i18n/es/references/rules-custom.md +63 -0
  86. package/i18n/es/references/rules-document-tools.md +126 -0
  87. package/i18n/es/references/rules-end-of-flow.md +150 -0
  88. package/i18n/es/references/rules-export-document.md +346 -0
  89. package/i18n/es/references/rules-file-integration.md +65 -0
  90. package/i18n/es/references/rules-full.md +66 -0
  91. package/i18n/es/references/rules-import-document.md +261 -0
  92. package/i18n/es/references/rules-product-type.md +14 -0
  93. package/i18n/es/references/rules-progress.md +60 -0
  94. package/i18n/es/references/rules-quick.md +29 -0
  95. package/i18n/es/references/rules-revision.md +64 -0
  96. package/i18n/ja/SKILL.md +245 -0
  97. package/i18n/ja/commands/product-build.md +13 -0
  98. package/i18n/ja/commands/product-dev.md +21 -0
  99. package/i18n/ja/commands/product-full.md +13 -0
  100. package/i18n/ja/commands/product-prd.md +14 -0
  101. package/i18n/ja/commands/product-quick.md +13 -0
  102. package/i18n/ja/commands/product-report.md +12 -0
  103. package/i18n/ja/commands/product-revision.md +13 -0
  104. package/i18n/ja/references/00-opportunity-check.md +44 -0
  105. package/i18n/ja/references/01-strategy.md +90 -0
  106. package/i18n/ja/references/02a-persona.md +57 -0
  107. package/i18n/ja/references/02b-jtbd.md +125 -0
  108. package/i18n/ja/references/02c-ost-journey.md +65 -0
  109. package/i18n/ja/references/03-define.md +118 -0
  110. package/i18n/ja/references/04a-prfaq.md +111 -0
  111. package/i18n/ja/references/04b-solutions.md +269 -0
  112. package/i18n/ja/references/04c-mvp.md +21 -0
  113. package/i18n/ja/references/05a-northstar-aha.md +93 -0
  114. package/i18n/ja/references/05b-pmf-gtm.md +102 -0
  115. package/i18n/ja/references/05c-validation-spec.md +117 -0
  116. package/i18n/ja/references/06-html-report.md +126 -0
  117. package/i18n/ja/references/07a-handoff-core.md +152 -0
  118. package/i18n/ja/references/07b-tasks-tickets.md +215 -0
  119. package/i18n/ja/references/07c-architecture-setup.md +197 -0
  120. package/i18n/ja/references/08-security-checklist.md +221 -0
  121. package/i18n/ja/references/rules-build.md +152 -0
  122. package/i18n/ja/references/rules-change-propagation.md +74 -0
  123. package/i18n/ja/references/rules-commands.md +98 -0
  124. package/i18n/ja/references/rules-context.md +291 -0
  125. package/i18n/ja/references/rules-custom.md +63 -0
  126. package/i18n/ja/references/rules-document-tools.md +126 -0
  127. package/i18n/ja/references/rules-end-of-flow.md +150 -0
  128. package/i18n/ja/references/rules-export-document.md +346 -0
  129. package/i18n/ja/references/rules-file-integration.md +65 -0
  130. package/i18n/ja/references/rules-full.md +66 -0
  131. package/i18n/ja/references/rules-import-document.md +261 -0
  132. package/i18n/ja/references/rules-product-type.md +14 -0
  133. package/i18n/ja/references/rules-progress.md +60 -0
  134. package/i18n/ja/references/rules-quick.md +29 -0
  135. package/i18n/ja/references/rules-revision.md +64 -0
  136. package/i18n/ko/SKILL.md +245 -0
  137. package/i18n/ko/commands/product-build.md +13 -0
  138. package/i18n/ko/commands/product-dev.md +21 -0
  139. package/i18n/ko/commands/product-full.md +13 -0
  140. package/i18n/ko/commands/product-prd.md +14 -0
  141. package/i18n/ko/commands/product-quick.md +13 -0
  142. package/i18n/ko/commands/product-report.md +12 -0
  143. package/i18n/ko/commands/product-revision.md +13 -0
  144. package/i18n/ko/references/00-opportunity-check.md +44 -0
  145. package/i18n/ko/references/01-strategy.md +90 -0
  146. package/i18n/ko/references/02a-persona.md +57 -0
  147. package/i18n/ko/references/02b-jtbd.md +125 -0
  148. package/i18n/ko/references/02c-ost-journey.md +65 -0
  149. package/i18n/ko/references/03-define.md +118 -0
  150. package/i18n/ko/references/04a-prfaq.md +112 -0
  151. package/i18n/ko/references/04b-solutions.md +269 -0
  152. package/i18n/ko/references/04c-mvp.md +21 -0
  153. package/i18n/ko/references/05a-northstar-aha.md +93 -0
  154. package/i18n/ko/references/05b-pmf-gtm.md +102 -0
  155. package/i18n/ko/references/05c-validation-spec.md +117 -0
  156. package/i18n/ko/references/06-html-report.md +126 -0
  157. package/i18n/ko/references/07a-handoff-core.md +152 -0
  158. package/i18n/ko/references/07b-tasks-tickets.md +215 -0
  159. package/i18n/ko/references/07c-architecture-setup.md +197 -0
  160. package/i18n/ko/references/08-security-checklist.md +221 -0
  161. package/i18n/ko/references/rules-build.md +152 -0
  162. package/i18n/ko/references/rules-change-propagation.md +74 -0
  163. package/i18n/ko/references/rules-commands.md +98 -0
  164. package/i18n/ko/references/rules-context.md +291 -0
  165. package/i18n/ko/references/rules-custom.md +63 -0
  166. package/i18n/ko/references/rules-document-tools.md +126 -0
  167. package/i18n/ko/references/rules-end-of-flow.md +150 -0
  168. package/i18n/ko/references/rules-export-document.md +346 -0
  169. package/i18n/ko/references/rules-file-integration.md +65 -0
  170. package/i18n/ko/references/rules-full.md +66 -0
  171. package/i18n/ko/references/rules-import-document.md +261 -0
  172. package/i18n/ko/references/rules-product-type.md +14 -0
  173. package/i18n/ko/references/rules-progress.md +60 -0
  174. package/i18n/ko/references/rules-quick.md +29 -0
  175. package/i18n/ko/references/rules-revision.md +64 -0
  176. package/i18n/zh-CN/SKILL.md +245 -0
  177. package/i18n/zh-CN/commands/product-build.md +13 -0
  178. package/i18n/zh-CN/commands/product-dev.md +21 -0
  179. package/i18n/zh-CN/commands/product-full.md +13 -0
  180. package/i18n/zh-CN/commands/product-prd.md +14 -0
  181. package/i18n/zh-CN/commands/product-quick.md +13 -0
  182. package/i18n/zh-CN/commands/product-report.md +12 -0
  183. package/i18n/zh-CN/commands/product-revision.md +13 -0
  184. package/i18n/zh-CN/references/00-opportunity-check.md +44 -0
  185. package/i18n/zh-CN/references/01-strategy.md +90 -0
  186. package/i18n/zh-CN/references/02a-persona.md +57 -0
  187. package/i18n/zh-CN/references/02b-jtbd.md +125 -0
  188. package/i18n/zh-CN/references/02c-ost-journey.md +65 -0
  189. package/i18n/zh-CN/references/03-define.md +118 -0
  190. package/i18n/zh-CN/references/04a-prfaq.md +106 -0
  191. package/i18n/zh-CN/references/04b-solutions.md +269 -0
  192. package/i18n/zh-CN/references/04c-mvp.md +21 -0
  193. package/i18n/zh-CN/references/05a-northstar-aha.md +93 -0
  194. package/i18n/zh-CN/references/05b-pmf-gtm.md +102 -0
  195. package/i18n/zh-CN/references/05c-validation-spec.md +117 -0
  196. package/i18n/zh-CN/references/06-html-report.md +123 -0
  197. package/i18n/zh-CN/references/07a-handoff-core.md +152 -0
  198. package/i18n/zh-CN/references/07b-tasks-tickets.md +215 -0
  199. package/i18n/zh-CN/references/07c-architecture-setup.md +197 -0
  200. package/i18n/zh-CN/references/08-security-checklist.md +221 -0
  201. package/i18n/zh-CN/references/rules-build.md +152 -0
  202. package/i18n/zh-CN/references/rules-change-propagation.md +74 -0
  203. package/i18n/zh-CN/references/rules-commands.md +98 -0
  204. package/i18n/zh-CN/references/rules-context.md +291 -0
  205. package/i18n/zh-CN/references/rules-custom.md +63 -0
  206. package/i18n/zh-CN/references/rules-document-tools.md +126 -0
  207. package/i18n/zh-CN/references/rules-end-of-flow.md +150 -0
  208. package/i18n/zh-CN/references/rules-export-document.md +346 -0
  209. package/i18n/zh-CN/references/rules-file-integration.md +65 -0
  210. package/i18n/zh-CN/references/rules-full.md +66 -0
  211. package/i18n/zh-CN/references/rules-import-document.md +261 -0
  212. package/i18n/zh-CN/references/rules-product-type.md +14 -0
  213. package/i18n/zh-CN/references/rules-progress.md +60 -0
  214. package/i18n/zh-CN/references/rules-quick.md +29 -0
  215. package/i18n/zh-CN/references/rules-revision.md +64 -0
  216. package/i18n/zh-TW/SKILL.md +244 -0
  217. package/i18n/zh-TW/commands/product-build.md +13 -0
  218. package/i18n/zh-TW/commands/product-dev.md +21 -0
  219. package/i18n/zh-TW/commands/product-full.md +13 -0
  220. package/i18n/zh-TW/commands/product-prd.md +14 -0
  221. package/i18n/zh-TW/commands/product-quick.md +13 -0
  222. package/i18n/zh-TW/commands/product-report.md +12 -0
  223. package/i18n/zh-TW/commands/product-revision.md +13 -0
  224. package/i18n/zh-TW/references/00-opportunity-check.md +44 -0
  225. package/i18n/zh-TW/references/01-strategy.md +90 -0
  226. package/i18n/zh-TW/references/02a-persona.md +57 -0
  227. package/i18n/zh-TW/references/02b-jtbd.md +125 -0
  228. package/i18n/zh-TW/references/02c-ost-journey.md +65 -0
  229. package/i18n/zh-TW/references/03-define.md +118 -0
  230. package/i18n/zh-TW/references/04a-prfaq.md +106 -0
  231. package/i18n/zh-TW/references/04b-solutions.md +269 -0
  232. package/i18n/zh-TW/references/04c-mvp.md +21 -0
  233. package/i18n/zh-TW/references/05a-northstar-aha.md +93 -0
  234. package/i18n/zh-TW/references/05b-pmf-gtm.md +102 -0
  235. package/i18n/zh-TW/references/05c-validation-spec.md +117 -0
  236. package/i18n/zh-TW/references/06-html-report.md +123 -0
  237. package/i18n/zh-TW/references/07a-handoff-core.md +152 -0
  238. package/i18n/zh-TW/references/07b-tasks-tickets.md +215 -0
  239. package/i18n/zh-TW/references/07c-architecture-setup.md +197 -0
  240. package/i18n/zh-TW/references/08-security-checklist.md +221 -0
  241. package/i18n/zh-TW/references/rules-build.md +152 -0
  242. package/i18n/zh-TW/references/rules-change-propagation.md +74 -0
  243. package/i18n/zh-TW/references/rules-commands.md +98 -0
  244. package/i18n/zh-TW/references/rules-context.md +291 -0
  245. package/i18n/zh-TW/references/rules-custom.md +63 -0
  246. package/i18n/zh-TW/references/rules-document-tools.md +126 -0
  247. package/i18n/zh-TW/references/rules-end-of-flow.md +150 -0
  248. package/i18n/zh-TW/references/rules-export-document.md +346 -0
  249. package/i18n/zh-TW/references/rules-file-integration.md +65 -0
  250. package/i18n/zh-TW/references/rules-full.md +66 -0
  251. package/i18n/zh-TW/references/rules-import-document.md +261 -0
  252. package/i18n/zh-TW/references/rules-product-type.md +14 -0
  253. package/i18n/zh-TW/references/rules-progress.md +60 -0
  254. package/i18n/zh-TW/references/rules-quick.md +29 -0
  255. package/i18n/zh-TW/references/rules-revision.md +64 -0
  256. package/install.sh +418 -0
  257. package/package.json +41 -0
  258. package/references/00-opportunity-check.md +44 -0
  259. package/references/01-strategy.md +90 -0
  260. package/references/02a-persona.md +57 -0
  261. package/references/02b-jtbd.md +125 -0
  262. package/references/02c-ost-journey.md +65 -0
  263. package/references/03-define.md +118 -0
  264. package/references/04a-prfaq.md +106 -0
  265. package/references/04b-solutions.md +269 -0
  266. package/references/04c-mvp.md +21 -0
  267. package/references/05a-northstar-aha.md +93 -0
  268. package/references/05b-pmf-gtm.md +102 -0
  269. package/references/05c-validation-spec.md +117 -0
  270. package/references/06-html-report.md +123 -0
  271. package/references/07a-handoff-core.md +152 -0
  272. package/references/07b-tasks-tickets.md +215 -0
  273. package/references/07c-architecture-setup.md +197 -0
  274. package/references/08-security-checklist.md +221 -0
  275. package/references/rules-build.md +152 -0
  276. package/references/rules-change-propagation.md +74 -0
  277. package/references/rules-commands.md +98 -0
  278. package/references/rules-context.md +291 -0
  279. package/references/rules-custom.md +63 -0
  280. package/references/rules-document-tools.md +126 -0
  281. package/references/rules-end-of-flow.md +150 -0
  282. package/references/rules-export-document.md +346 -0
  283. package/references/rules-file-integration.md +65 -0
  284. package/references/rules-full.md +66 -0
  285. package/references/rules-import-document.md +261 -0
  286. package/references/rules-product-type.md +14 -0
  287. package/references/rules-progress.md +60 -0
  288. package/references/rules-quick.md +29 -0
  289. package/references/rules-revision.md +64 -0
  290. package/references/templates/prd-style.css +464 -0
  291. package/references/templates/report-style.css +114 -0
@@ -0,0 +1,66 @@
1
+ # 📦 完整模式步驟序列(共 20 步 + 最終產出)
2
+
3
+ > 此檔案為完整模式的權威步驟定義。由 SKILL.md 核心派發載入。
4
+
5
+ ## 步驟序列
6
+
7
+ ```
8
+ Phase 0:前置
9
+ S1. 機會評估 + DHM → 讀取 references/00-opportunity-check.md
10
+ S2. Strategy Blocks + Rumelt 策略內核 → 讀取 references/01-strategy.md
11
+
12
+ Phase 1:Discovery
13
+ S3. Persona Table → 讀取 references/02a-persona.md
14
+ S4. Persona 卡片 → 讀取 references/02a-persona.md
15
+ S5. JTBD 分析 → 讀取 references/02b-jtbd.md
16
+ S6. 機會解法樹 OST → 讀取 references/02c-ost-journey.md
17
+ S7. User Journey Map → 讀取 references/02c-ost-journey.md
18
+
19
+ Phase 2:Define
20
+ S8. 痛點彙整表 → 讀取 references/03-define.md
21
+ S9. April Dunford 定位 → 讀取 references/03-define.md
22
+ S10. HMW 問題轉化 → 讀取 references/03-define.md
23
+ S11. 機會評估表 → 讀取 references/03-define.md
24
+
25
+ Phase 3:Develop
26
+ S12. PR-FAQ → 讀取 references/04a-prfaq.md
27
+ S13. 平行原型 → 讀取 references/04b-solutions.md
28
+ S14. Pre-mortem → 讀取 references/04b-solutions.md
29
+ S15. GEM + RICE 優先排序 → 讀取 references/04b-solutions.md
30
+ S16. User Story → 讀取 references/04b-solutions.md
31
+ S17. MVP + Not Doing List → 讀取 references/04c-mvp.md
32
+
33
+ Phase 4:Deliver
34
+ S18. North Star + 三層訊號 + Aha Moment → 讀取 references/05a-northstar-aha.md
35
+ S19. PMF 等級判定 + GTM 策略 + 商業模式 → 讀取 references/05b-pmf-gtm.md
36
+ S20. 假設驗證計畫 → 讀取 references/05c-validation-spec.md
37
+ ────
38
+ 最終產出 → 產品規格摘要(references/05c-validation-spec.md → 4.6)+ 最佳切入點分析
39
+ ```
40
+
41
+ > 完整模式中 4.1 Empowered Teams 在產出對象為老闆/跨部門時加入 S18 之前,否則跳過。
42
+
43
+ ## Reference 載入指示
44
+
45
+ 進入各步驟時,僅讀取對應的 reference 檔案(不要預先全部載入):
46
+
47
+ | 步驟 | Reference 檔案 |
48
+ |------|---------------|
49
+ | S1 | `references/00-opportunity-check.md` |
50
+ | S2 | `references/01-strategy.md` |
51
+ | S3-S4 | `references/02a-persona.md` |
52
+ | S5 | `references/02b-jtbd.md` |
53
+ | S6-S7 | `references/02c-ost-journey.md` |
54
+ | S8-S11 | `references/03-define.md` |
55
+ | S12 | `references/04a-prfaq.md` |
56
+ | S13-S16 | `references/04b-solutions.md` |
57
+ | S17 | `references/04c-mvp.md` |
58
+ | S18 | `references/05a-northstar-aha.md` |
59
+ | S19 | `references/05b-pmf-gtm.md` |
60
+ | S20 + 最終產出 | `references/05c-validation-spec.md` |
61
+
62
+ ## 最終產出格式
63
+
64
+ **最佳切入點分析**(完整邏輯鏈)+ **產品規格摘要**
65
+
66
+ 完成後,依 `references/rules-end-of-flow.md` 執行流程結束規則。
@@ -0,0 +1,261 @@
1
+ # 文件匯入解析規則
2
+
3
+ > 使用者上傳 PDF / DOCX / PPTX 檔案,或觸發 `/parse [file]` 時載入。
4
+ > 首次使用時先載入 `rules-document-tools.md` 確認工具已安裝。
5
+ > 本規則與 `rules-file-integration.md` 搭配使用——該檔定義「何時觸發」,本檔定義「如何解析」。
6
+
7
+ ---
8
+
9
+ ## 解析目標
10
+
11
+ 將任何格式的輸入文件轉換為**結構化 Markdown**,供後續流程使用:
12
+ - Feature Extension / Revision 模式的 S1 情境蒐集
13
+ - 增量更新的原始文件基底
14
+ - 一般性的文件內容提取
15
+
16
+ ---
17
+
18
+ ## PDF 解析:三層策略 + 逐頁檢測
19
+
20
+ ### 總覽
21
+
22
+ ```
23
+ 輸入 PDF
24
+
25
+
26
+ pymupdf 逐頁文字提取(零成本)
27
+
28
+ ├── 該頁文字 > 30 字元 → ✅ 直接轉 Markdown(層 1)
29
+
30
+ └── 該頁文字 ≤ 30 字元(空白 / 向量路徑 / 掃描件)
31
+
32
+ ├── 預設 → Claude Vision 語意解析(層 2)
33
+
34
+ └── Vision 不可用 / Token 預算不足 → Tesseract OCR(層 3)
35
+ ```
36
+
37
+ ### 步驟 1:逐頁類型檢測
38
+
39
+ **關鍵原則**:以「頁」為單位檢測,而非整份文件。一份 PDF 可能混合數位文字頁和掃描圖片頁。
40
+
41
+ ```python
42
+ import fitz # pymupdf
43
+
44
+ doc = fitz.open(pdf_path)
45
+ total_pages = len(doc)
46
+ page_results = {}
47
+
48
+ for i in range(total_pages):
49
+ page = doc[i]
50
+ text = page.get_text("text").strip()
51
+
52
+ if len(text) > 30:
53
+ # 層 1:數位文字,直接提取
54
+ page_results[i] = {"type": "digital", "text": text}
55
+ else:
56
+ # 需要 Vision 或 OCR
57
+ page_results[i] = {"type": "needs_vision", "text": None}
58
+
59
+ digital_count = sum(1 for p in page_results.values() if p["type"] == "digital")
60
+ vision_count = total_pages - digital_count
61
+
62
+ print(f"PDF 分析:{total_pages} 頁,{digital_count} 頁可直接提取,{vision_count} 頁需視覺解析")
63
+ ```
64
+
65
+ ### 步驟 2:大文件處理策略
66
+
67
+ | 條件 | 策略 |
68
+ |------|------|
69
+ | 全部頁面為 digital(vision_count = 0)| 直接提取所有頁面,零成本 |
70
+ | vision_count ≤ 20 | 一次用 Claude Vision 讀取所有需視覺解析的頁面 |
71
+ | vision_count > 20 | 分批處理(每批 ≤ 20 頁),合併結果 |
72
+ | 總頁數 > 50 且 vision_count > 20 | 詢問使用者是否全文解析或指定頁面範圍 |
73
+
74
+ **大文件(>50 頁)的使用者確認提示**:
75
+
76
+ ```
77
+ 📄 此 PDF 共 {total_pages} 頁:
78
+ • {digital_count} 頁可直接提取文字(免費)
79
+ • {vision_count} 頁需要視覺解析(消耗 Vision Token)
80
+
81
+ 請選擇:
82
+ 1️⃣ 全文解析(完整但消耗較多 Token)
83
+ 2️⃣ 只解析特定頁面(請輸入頁碼範圍,如 1-10,15,20-25)
84
+ 3️⃣ 只提取可直接提取的頁面(跳過掃描/向量頁面)
85
+ ```
86
+
87
+ ### 步驟 3:層 1 — pymupdf 直接提取
88
+
89
+ ```python
90
+ def extract_digital_pages(doc, page_results):
91
+ """提取所有數位文字頁面"""
92
+ markdown_parts = []
93
+ for i, result in sorted(page_results.items()):
94
+ if result["type"] == "digital":
95
+ markdown_parts.append(f"<!-- Page {i+1} -->\n{result['text']}")
96
+ return "\n\n".join(markdown_parts)
97
+ ```
98
+
99
+ ### 步驟 4:層 2 — Claude Vision 語意解析
100
+
101
+ 對於 `needs_vision` 類型的頁面,先用 pymupdf 渲染為 PNG 圖片,再用 Claude 的 Read 工具讀取。
102
+
103
+ **渲染為圖片**:
104
+ ```python
105
+ def render_pages_to_png(doc, page_indices, dpi=300):
106
+ """將指定頁面渲染為 PNG"""
107
+ output_files = []
108
+ for i in page_indices:
109
+ page = doc[i]
110
+ pix = page.get_pixmap(dpi=dpi)
111
+ output_path = f"/tmp/pdf-page-{i+1:04d}.png"
112
+ pix.save(output_path)
113
+ output_files.append((i, output_path))
114
+ return output_files
115
+ ```
116
+
117
+ **Claude Vision 解析 Prompt**:
118
+
119
+ 對每個需要視覺解析的頁面(或批次),使用 Read 工具讀取 PNG 後,依以下 prompt 轉換:
120
+
121
+ ```
122
+ 你正在閱讀一份 PDF 文件的第 {page_num}/{total_pages} 頁。
123
+ 請將此頁面的內容精確轉換為 Markdown 格式。
124
+
125
+ 嚴格規則:
126
+ 1. 表格 → Markdown table(保留所有欄位、行數、對齊方式)
127
+ 2. 標題 → # / ## / ### 對應原始層級
128
+ 3. 編號清單 → 1. 2. 3.(保留原始編號)
129
+ 4. 項目符號 → - 或 •
130
+ 5. 粗體/斜體 → **粗體** / *斜體*
131
+ 6. 圖表/圖片 → > [圖表:簡述內容]
132
+ 7. 頁首、頁尾、頁碼 → 忽略
133
+ 8. 數字、日期、人名、帳號 → 必須 100% 精確,不得猜測
134
+ 9. 不要添加原文沒有的內容
135
+ 10. 不要翻譯——保留原文語言
136
+ ```
137
+
138
+ > **為什麼這比 OCR 強**:Claude 理解表格的「語意結構」(第一行是表頭、哪些欄位對齊),而 Tesseract 只能逐字元辨識後用規則重建表格,經常失敗。
139
+
140
+ ### 步驟 5:層 3 — Tesseract OCR Fallback
141
+
142
+ 僅在以下情況使用:
143
+ - 使用者明確要求節省 Token
144
+ - Claude Vision 不可用(API 限制等)
145
+ - 離線環境
146
+
147
+ ```python
148
+ import subprocess
149
+ from PIL import Image
150
+
151
+ def ocr_page(png_path, lang="chi_tra+eng"):
152
+ """Tesseract OCR 單頁"""
153
+ # macOS 的 tesseract 可能無法直接讀取 PNG,需先轉 TIFF 或用 stdin
154
+ tiff_path = png_path.replace('.png', '.tiff')
155
+ Image.open(png_path).save(tiff_path)
156
+
157
+ result = subprocess.run(
158
+ ['tesseract', 'stdin', 'stdout', '-l', lang],
159
+ stdin=open(tiff_path, 'rb'),
160
+ capture_output=True, text=True, timeout=120
161
+ )
162
+ return result.stdout
163
+ ```
164
+
165
+ **Tesseract 注意事項(實戰經驗)**:
166
+ - macOS 上 tesseract 可能無法直接讀取 PNG 檔案,需用 `stdin` 管道或先轉 TIFF
167
+ - 建議解析度 300dpi
168
+ - `chi_tra+eng` 語言包同時辨識繁體中文和英文
169
+ - OCR 結果需後處理:合併斷行、修復表格結構
170
+
171
+ ### 步驟 6:合併所有頁面
172
+
173
+ ```python
174
+ def merge_all_pages(digital_md, vision_md_list):
175
+ """按頁序合併所有頁面的 Markdown"""
176
+ all_pages = {}
177
+ # digital pages
178
+ for page_num, md in digital_md.items():
179
+ all_pages[page_num] = md
180
+ # vision/ocr pages
181
+ for page_num, md in vision_md_list.items():
182
+ all_pages[page_num] = md
183
+
184
+ # 按頁碼排序,合併
185
+ final_md = []
186
+ for i in sorted(all_pages.keys()):
187
+ final_md.append(all_pages[i])
188
+
189
+ return "\n\n---\n\n".join(final_md)
190
+ ```
191
+
192
+ ### 步驟 7:輸出並告知使用者
193
+
194
+ ```
195
+ 📄 PDF 解析完成:
196
+ • 總頁數:{total_pages}
197
+ • 直接提取:{digital_count} 頁(pymupdf)
198
+ • 視覺解析:{vision_count} 頁(Claude Vision)
199
+ • 輸出:{output_path}(Markdown,{字數} 字)
200
+ ```
201
+
202
+ ---
203
+
204
+ ## DOCX 解析
205
+
206
+ ```bash
207
+ pandoc "{input_path}" -t markdown -o "/tmp/parsed-{timestamp}.md" --wrap=none
208
+ ```
209
+
210
+ **後處理**:
211
+ - 移除 Pandoc 產生的多餘空行
212
+ - 確認表格格式正確
213
+
214
+ ---
215
+
216
+ ## PPTX 解析
217
+
218
+ ```bash
219
+ pandoc "{input_path}" -t markdown -o "/tmp/parsed-{timestamp}.md" --wrap=none
220
+ ```
221
+
222
+ > Pandoc 會將每張投影片轉為一個 `##` 標題區段。
223
+
224
+ ---
225
+
226
+ ## HTML 解析
227
+
228
+ ```bash
229
+ pandoc "{input_path}" -f html -t markdown -o "/tmp/parsed-{timestamp}.md" --wrap=none
230
+ ```
231
+
232
+ ---
233
+
234
+ ## 圖片解析
235
+
236
+ 直接使用 Claude Read 工具讀取圖片,然後依照 Vision 解析 Prompt 轉換為 Markdown。
237
+
238
+ ---
239
+
240
+ ## 與 rules-file-integration.md 的協作
241
+
242
+ 當 `rules-file-integration.md` 偵測到以下場景時,載入本規則:
243
+
244
+ | 場景 | 動作 |
245
+ |------|------|
246
+ | 使用者在 Feature Extension S1 上傳 PDF | 載入本規則 → 解析 PDF → 提取既有系統背景 |
247
+ | 使用者在 Revision S1 上傳舊版 PRD | 載入本規則 → 解析 PDF → 作為改版基底 |
248
+ | 使用者用 `/parse` 指令 | 載入本規則 → 解析指定檔案 → 輸出 Markdown |
249
+ | 使用者上傳市場報告 PDF | 載入本規則 → 提取關鍵資訊 → 整合到對應步驟 |
250
+
251
+ ### 原始文件識別
252
+
253
+ 解析完成後,若判斷該檔案是「原始文件」(PRD、規格書等),自動標記:
254
+
255
+ ```
256
+ 📎 偵測到原始文件——最終產出將基於此檔案進行增量更新。
257
+ 文件結構:{章節數} 個章節,{表格數} 個表格
258
+ 格式慣例:[識別到的格式特徵]
259
+ ```
260
+
261
+ 並將文件結構記錄,供 `rules-export-document.md` 在最終產出時使用。
@@ -0,0 +1,14 @@
1
+ # 🏢 B2B / B2C 差異化調整
2
+
3
+ > 確認產品類型後載入此檔案。Claude 自動在各框架中套用以下調整。
4
+
5
+ | 框架 | B2C 調整 | B2B 調整 |
6
+ |------|---------|---------|
7
+ | **Persona** | 以個人動機/習慣分群 | 區分「購買決策者」和「實際使用者」兩類 Persona;加入「組織規模」「採購流程」欄位 |
8
+ | **JTBD** | 聚焦個人情感性和社交性工作 | 加入「組織層級工作」:幫公司達成什麼目標?個人在組織中完成什麼工作? |
9
+ | **PMF 判斷** | 以 DAU/MAU、留存率、Sean Ellis Score 為主 | 以「付費客戶數 + 擴展率 + NPS」為主;Level 1 = 3-5 個付費客戶 |
10
+ | **Aha Moment** | 首次使用中體驗到核心價值 | 可能在 Onboarding/試用期才出現;需設計「Time-to-Value」指標 |
11
+ | **MVP** | 可以是一個完整的輕量產品 | 可能需要是一個 Pilot(針對特定客戶的客製化部署) |
12
+ | **GTM** | 以產品驅動增長(PLG)或社群為主 | 以銷售驅動或合作夥伴渠道為主 |
13
+ | **定價** | Freemium / Subscription / 按用量 | 年度合約 / 按座位 / 按用量 / 客製報價 |
14
+ | **North Star** | 用戶活躍度或核心動作完成次數 | ARR、Net Revenue Retention、Active Accounts |
@@ -0,0 +1,60 @@
1
+ # 🔁 進度持久化與中斷恢復
2
+
3
+ > 使用者說「暫停」「存檔」或 skill 啟動時檢查進度時載入。
4
+
5
+ ## 進度檔案格式
6
+
7
+ 每完成一個步驟,在專案目錄下建立或更新 `.product-playbook-progress.md`:
8
+
9
+ ```
10
+ # Product Playbook 進度存檔
11
+
12
+ - 模式:[快速模式 / 完整模式 / ...]
13
+ - 產品類型:[B2C / B2B / ...]
14
+ - 產品描述:[使用者的產品描述]
15
+ - 當前進度:S[X] / S[Y]
16
+ - 最後更新:[時間戳]
17
+
18
+ ## 已完成步驟
19
+
20
+ ### S1:[步驟名稱] ✅
21
+ [該步驟的核心產出,保留足夠細節以便恢復時不需要重做]
22
+
23
+ ### S2:[步驟名稱] ✅
24
+ [同上]
25
+
26
+ ## 待執行步驟
27
+ - S3:[步驟名稱]
28
+ - S4:[步驟名稱]
29
+ - ...
30
+ ```
31
+
32
+ ### 功能擴充模式範例
33
+ ```markdown
34
+ 模式:功能擴充
35
+ 步驟:S2/S4
36
+ S1:問題 + 現有系統情境 ✅
37
+ S2:三個平行解法 + AI 推薦 ▶️
38
+ S3:風險評估 ⬜
39
+ S4:執行範圍 ⬜
40
+ ```
41
+
42
+ ## 觸發規則
43
+
44
+ 1. **自動儲存**:每個步驟完成並獲得使用者確認後,立即更新進度檔案
45
+ 2. **啟動時檢查**:skill 觸發時,先檢查是否存在 `.product-playbook-progress.md`。若存在,顯示:
46
+ ```
47
+ 偵測到未完成的產品規劃進度([模式名稱],S[X]/S[Y]):
48
+ 1️⃣ 繼續 — 從 S[X] 接續
49
+ 2️⃣ 重新開始 — 清除舊進度,重頭來過
50
+ (輸入 1 或 2)
51
+ ```
52
+ 3. **暫停指令**:使用者說「暫停」「先做別的」「存檔」時,確認進度檔案已更新,回覆:「進度已存檔至 .product-playbook-progress.md(S[X]/S[Y])。下次在此專案啟動 skill 時會自動偵測。」
53
+ 4. **完成時清理**:流程全部完成並產出最終文件後,詢問使用者是否刪除進度檔案
54
+ 6. **版控提醒**:首次建立 `.product-playbook-progress.md` 時,提醒使用者:「⚠️ 建議將 `.product-playbook-progress.md` 加入 `.gitignore`,此檔案可能包含敏感的產品策略資訊。」
55
+ 5. **中斷存檔**:當流程進行中偵測到無關 prompt 時(見 SKILL.md 流程中斷處理規則),即使當前步驟尚未完成,也必須存檔。存檔格式在當前步驟標記為 `🔶`(進行中)而非 `✅`,並保存已產出的部分內容:
56
+ ```
57
+ ### S[X]:[步驟名稱] 🔶(進行中,部分完成)
58
+ [已產出的部分內容]
59
+ ⚠️ 此步驟尚未完成,恢復時需從此處繼續
60
+ ```
@@ -0,0 +1,29 @@
1
+ # 🚀 快速模式步驟序列(共 3 步 + 最終產出)
2
+
3
+ > 此檔案為快速模式的權威步驟定義。由 SKILL.md 核心派發載入。
4
+
5
+ ## 步驟序列
6
+
7
+ ```
8
+ S1. JTBD 陳述 → 讀取 references/02b-jtbd.md
9
+ S2. PR-FAQ → 讀取 references/04a-prfaq.md
10
+ S3. North Star Metric + Aha Moment → 讀取 references/05a-northstar-aha.md
11
+ ────
12
+ 最終產出 → 一頁式方向摘要
13
+ ```
14
+
15
+ ## Reference 載入指示
16
+
17
+ 進入各步驟時,讀取對應的 reference 檔案:
18
+
19
+ | 步驟 | Reference 檔案 |
20
+ |------|---------------|
21
+ | S1 | `references/02b-jtbd.md` |
22
+ | S2 | `references/04a-prfaq.md` |
23
+ | S3 | `references/05a-northstar-aha.md` |
24
+
25
+ ## 最終產出格式
26
+
27
+ **一頁式方向摘要**:問題 → 解法 → 成功定義,三段式結構,適合快速簡報或同步用。
28
+
29
+ 完成後,依 `references/rules-end-of-flow.md` 執行流程結束規則。快速模式只問是否需要簡報,不問 PRD 和開發交接包(內容不夠完整)。
@@ -0,0 +1,64 @@
1
+ # 🔄 改版模式步驟序列(共 12 步 + 最終產出)
2
+
3
+ > 此檔案為改版模式的權威步驟定義。由 SKILL.md 核心派發載入。
4
+
5
+ ## 步驟序列
6
+
7
+ ```
8
+ Phase 0:現況分析
9
+ S1. 既有產品現況回顧(用戶數據概覽 + 核心指標 + 已知問題 + 安全現況)
10
+ S2. 現有用戶 JTBD 重新檢驗(哪些 Job 做得好?哪些做不好?)
11
+
12
+ Phase 1:問題收斂
13
+ S3. 用戶痛點收集(留存/流失分析 + 用戶反饋彙整 + 行為數據)
14
+ S4. 痛點彙整表 → 讀取 references/03-define.md → 2.1
15
+ S5. Positioning 重新評估 → 讀取 references/03-define.md → 2.2(焦點:定位是否需要調整?)
16
+ S6. HMW 問題轉化 → 讀取 references/03-define.md → 2.3
17
+ S7. 機會評估表 → 讀取 references/03-define.md → 2.4
18
+
19
+ Phase 2:解法設計
20
+ S8. PR-FAQ → 讀取 references/04a-prfaq.md(描述改版後的體驗)
21
+ S9. Pre-mortem → 讀取 references/04b-solutions.md → 3.3
22
+ S10. MVP 範圍 + Not Doing List → 讀取 references/04c-mvp.md(焦點:改什麼 / 不改什麼)
23
+
24
+ Phase 3:驗證
25
+ S11. North Star + Aha Moment → 讀取 references/05a-northstar-aha.md(比較改版前後指標)
26
+ S12. 假設驗證計畫 → 讀取 references/05c-validation-spec.md
27
+ ────
28
+ 最終產出 → 產品規格摘要(改版版)
29
+ ```
30
+
31
+ ### S1 前置:產品上下文載入
32
+
33
+ 進入 S1 前,讀取 `references/rules-context.md` 並檢查 `.product-context.md`:
34
+
35
+ - **有完整上下文(情境 1)**:自動帶入 PMF 等級、North Star、已知痛點、安全現況、近 3 筆 Decision History。S1 引導改為**差異式**:「上次評估時,你的 PMF 等級為 [X],北極星指標為 [Y]。目前這些有變化嗎?最新的 DAU/MAU 和留存率是多少?」— 已有的歷史決策和已知痛點不需要重新收集
36
+ - **無上下文(情境 2)**:觸發 Context Bootstrap(`rules-context.md` Section 4,Round 1 + 3),完成後再進入下方標準 S1 數據收集
37
+ - **部分上下文(情境 3)**:從 Decision History 帶入功能變更歷史(知道哪些模組被改過、有哪些風險被識別過),但需詢問整體產品策略和指標(之前只做過功能擴充,缺全局視角)
38
+
39
+ ### S1 標準引導
40
+
41
+ > 改版模式的 S1 會主動詢問使用者提供既有產品數據:DAU/MAU、留存率、主要用戶反饋、過去版本的關鍵決策等。若 context 已預填部分答案,改為確認而非重新收集。
42
+ > S1 同時收集安全現況:現有認證/授權機制、已知安全漏洞或技術債、近期安全事件。這些資訊會影響改版的風險評估和 Pre-mortem。
43
+
44
+ ### 快速路徑
45
+
46
+ 當使用者在 S1 已提供充分數據(含用戶反饋、指標、痛點),S4-S7(痛點→定位→HMW→機會評估)可在單次對話中連續產出,中間只需一次確認而非四次。觸發條件:S3 收集到的痛點清單已有明確的優先級和數據支持。Hard Gate 規則不變 — 每個步驟的產出仍須完整呈現,只是確認節奏加快。
47
+
48
+ ## Reference 載入指示
49
+
50
+ | 步驟 | Reference 檔案 |
51
+ |------|---------------|
52
+ | S1-S3 | 無需外部 reference(直接引導使用者提供數據) |
53
+ | S4-S7 | `references/03-define.md` |
54
+ | S8 | `references/04a-prfaq.md` |
55
+ | S9 | `references/04b-solutions.md` |
56
+ | S10 | `references/04c-mvp.md` |
57
+ | S11 | `references/05a-northstar-aha.md` |
58
+ | S12 + 最終產出 | `references/05c-validation-spec.md` |
59
+
60
+ ## 最終產出格式
61
+
62
+ **改版產品規格摘要**:改版前後對照 + 改什麼/不改什麼 + 成功指標
63
+
64
+ 完成後,依 `references/rules-end-of-flow.md` 執行流程結束規則。