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,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
+ **重要な原則**:「ページ」単位で検出し、ドキュメント全体ではない。1つの 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 解析プロンプト**:
118
+
119
+ 視覚解析が必要な各ページ(またはバッチ)について、Read ツールで PNG を読み込んだ後、以下のプロンプトで変換:
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 解析プロンプトに従って 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
+ | **ペルソナ** | 個人のモチベーション/習慣でセグメント | 「購買意思決定者」と「実際のエンドユーザー」を2つのペルソナタイプとして区別;「組織規模」と「調達プロセス」フィールドを追加 |
8
+ | **JTBD** | 個人の感情的・社会的ジョブにフォーカス | 「組織レベルのジョブ」を追加:会社のどんな目標達成に貢献するか?組織内で個人はどんなジョブを達成するか? |
9
+ | **PMF評価** | 主にDAU/MAU、リテンション率、Sean Ellis Scoreに基づく | 主に「有料顧客 + 拡張率 + NPS」に基づく;レベル1 = 有料顧客3-5社 |
10
+ | **Aha Moment** | 初回使用時にコア価値を体験 | オンボーディング/トライアル期間まで出現しない可能性;「Time-to-Value」メトリクスを設計 |
11
+ | **MVP** | 完全な軽量プロダクトが可能 | Pilot(特定顧客向けのカスタマイズデプロイ)が必要な場合あり |
12
+ | **GTM** | 主にProduct-Led Growth(PLG)またはコミュニティ駆動 | 主にセールス駆動またはパートナーチャネル駆動 |
13
+ | **プライシング** | Freemium / サブスクリプション / 従量課金 | 年間契約 / シートベース / 従量課金 / カスタム見積 |
14
+ | **North Star** | ユーザーアクティビティまたはコアアクション完了数 | ARR、Net Revenue Retention、アクティブアカウント |
@@ -0,0 +1,60 @@
1
+ # 🔁 進捗の永続化と中断リカバリー
2
+
3
+ > ユーザーが「一時停止」「保存」と言った時、またはスキルが起動時に進捗をチェックする時に読み込みます。
4
+
5
+ ## 進捗ファイルフォーマット
6
+
7
+ 各ステップ完了後、プロジェクトディレクトリに`.product-playbook-progress.md`を作成または更新:
8
+
9
+ ```
10
+ # Product Playbook Progress Save
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:3つの並行ソリューション + AI推奨 ▶️
38
+ S3:リスク評価 ⬜
39
+ S4:実行スコープ ⬜
40
+ ```
41
+
42
+ ## トリガールール
43
+
44
+ 1. **自動保存**:各ステップが完了しユーザーに確認された後、即座に進捗ファイルを更新
45
+ 2. **起動時チェック**:スキルがトリガーされた際、まず`.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])。次回このプロジェクトでスキルを起動する際に自動的に検出されます。」
53
+ 4. **完了時のクリーンアップ**:フロー全体が完了し最終ドキュメントが作成された後、進捗ファイルを削除するかユーザーに確認
54
+ 6. **バージョン管理リマインダー**:`.product-playbook-progress.md`が初めて作成された際、ユーザーにリマインド:「⚠️ `.product-playbook-progress.md`を`.gitignore`に追加することをお勧めします — このファイルには機密プロダクト戦略情報が含まれる可能性があります。」
55
+ 5. **中断保存**:フロー中に無関係なプロンプトが検出された場合(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 Statement → 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
+ 最終出力 → 1ページの方向性サマリー
13
+ ```
14
+
15
+ ## リファレンス読み込み指示
16
+
17
+ 各ステップに入る時に対応するリファレンスファイルを読み込み:
18
+
19
+ | ステップ | リファレンスファイル |
20
+ |------|---------------|
21
+ | S1 | `references/02b-jtbd.md` |
22
+ | S2 | `references/04a-prfaq.md` |
23
+ | S3 | `references/05a-northstar-aha.md` |
24
+
25
+ ## 最終出力フォーマット
26
+
27
+ **1ページの方向性サマリー**:問題 → ソリューション → 成功の定義、の3部構成。クイックブリーフィングやチームシンクに適しています。
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の再検証(うまくいっているジョブは?いないジョブは?)
11
+
12
+ Phase 1:問題の収束
13
+ S3. ユーザーペインポイント収集(リテンション/チャーン分析 + ユーザーフィードバック統合 + 行動データ)
14
+ S4. ペインポイントサマリー表 → references/03-define.md → 2.1 を読み込み
15
+ S5. ポジショニング再評価 → 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]、North Star Metricは[Y]でした。変化はありますか?最新のDAU/MAUとリテンション数値はどうですか?」— 以前収集した決定履歴と既知のペインポイントは再収集不要。
36
+ - **コンテキストなし(シナリオ2)**:Context Bootstrap(`rules-context.md`セクション4、ラウンド1 + 3)をトリガーし、以下の標準S1データ収集に進む。
37
+ - **部分的コンテキスト(シナリオ3)**:Decision Historyから機能変更履歴を読み込み(どのモジュールが変更され、どのリスクが特定されたかを把握)、全体的なプロダクト戦略とメトリクスについては確認(過去の作業は機能拡張のみで全体像が不足)。
38
+
39
+ ### S1 標準ガイダンス
40
+
41
+ > リビジョンモードのS1はユーザーに既存プロダクトデータの提供を積極的に求めます:DAU/MAU、リテンション率、主要ユーザーフィードバック、過去のバージョン決定など。コンテキストが一部の回答を事前入力している場合は、再収集ではなく確認。
42
+ > S1では現在のセキュリティステータスも収集:既存の認証/認可メカニズム、既知のセキュリティ脆弱性や技術的負債、最近のセキュリティインシデント。この情報はリビジョンのリスク評価とPre-mortemに影響します。
43
+
44
+ ### ファストパス
45
+
46
+ S1でユーザーが十分なデータ(ユーザーフィードバック、メトリクス、ペインポイントを含む)を提供した場合、S4-S7(ペインポイント → ポジショニング → HMW → 機会評価)を単一の会話ターンで作成可能、4回ではなく1回の確認のみ。トリガー条件:S3で収集したペインポイントリストに既に明確な優先順位付けとデータの裏付けがある。ハードゲートルールは変更なし — 各ステップの出力は完全に提示する必要がある;確認のリズムのみ加速。
47
+
48
+ ## リファレンス読み込み指示
49
+
50
+ | ステップ | リファレンスファイル |
51
+ |------|---------------|
52
+ | S1-S3 | 外部リファレンス不要(ユーザーにデータを直接提供するようガイド) |
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
+ **リビジョンプロダクトスペックサマリー**:Before/After比較 + 変更すること / 変更しないこと + 成功メトリクス
63
+
64
+ 完了後、`references/rules-end-of-flow.md`に従ってエンドオブフロールールを実行してください。