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` 执行流程结束规则。