code-ai-installer 4.0.0 → 4.0.1-b

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 (471) hide show
  1. package/README.md +83 -67
  2. package/dist/index.js +2 -0
  3. package/dist/mcp/audit_ledger.d.ts +12 -0
  4. package/dist/mcp/audit_ledger.js +82 -0
  5. package/dist/mcp/cli.js +7 -1
  6. package/dist/mcp/config.d.ts +23 -0
  7. package/dist/mcp/config.js +44 -6
  8. package/dist/mcp/index.d.ts +1 -2
  9. package/dist/mcp/index.js +1 -2
  10. package/dist/mcp/paths.d.ts +20 -2
  11. package/dist/mcp/paths.js +29 -5
  12. package/dist/mcp/proposal_dedup.d.ts +32 -0
  13. package/dist/mcp/proposal_dedup.js +102 -0
  14. package/dist/mcp/proposal_store.d.ts +18 -0
  15. package/dist/mcp/proposal_store.js +74 -0
  16. package/dist/mcp/scorecard.d.ts +140 -0
  17. package/dist/mcp/scorecard.js +103 -0
  18. package/dist/mcp/skill_invocations.d.ts +15 -0
  19. package/dist/mcp/skill_invocations.js +28 -0
  20. package/dist/mcp/task_state.d.ts +77 -2
  21. package/dist/mcp/tools/_subprocess.d.ts +16 -0
  22. package/dist/mcp/tools/_subprocess.js +56 -0
  23. package/dist/mcp/tools/advance_gate.js +2 -2
  24. package/dist/mcp/tools/aggregate_run_metrics.d.ts +19 -0
  25. package/dist/mcp/tools/aggregate_run_metrics.js +139 -0
  26. package/dist/mcp/tools/apply_diff.d.ts +2 -0
  27. package/dist/mcp/tools/apply_diff.js +29 -0
  28. package/dist/mcp/tools/audit_bilocale_parity.d.ts +2 -0
  29. package/dist/mcp/tools/audit_bilocale_parity.js +146 -0
  30. package/dist/mcp/tools/audit_budget_compliance.d.ts +35 -0
  31. package/dist/mcp/tools/audit_budget_compliance.js +172 -0
  32. package/dist/mcp/tools/build.d.ts +2 -0
  33. package/dist/mcp/tools/build.js +47 -0
  34. package/dist/mcp/tools/check_lint.d.ts +2 -0
  35. package/dist/mcp/tools/check_lint.js +23 -0
  36. package/dist/mcp/tools/classify_gate.js +2 -2
  37. package/dist/mcp/tools/current_gate.js +2 -2
  38. package/dist/mcp/tools/dependency_supply_chain.d.ts +2 -0
  39. package/dist/mcp/tools/dependency_supply_chain.js +59 -0
  40. package/dist/mcp/tools/docker_compose.d.ts +2 -0
  41. package/dist/mcp/tools/docker_compose.js +24 -0
  42. package/dist/mcp/tools/e2e_playwright.d.ts +2 -0
  43. package/dist/mcp/tools/e2e_playwright.js +88 -0
  44. package/dist/mcp/tools/get_skill.js +17 -0
  45. package/dist/mcp/tools/git_commit.d.ts +2 -0
  46. package/dist/mcp/tools/git_commit.js +30 -0
  47. package/dist/mcp/tools/list_proposals.d.ts +6 -0
  48. package/dist/mcp/tools/list_proposals.js +16 -0
  49. package/dist/mcp/tools/list_skills.js +9 -1
  50. package/dist/mcp/tools/load_role.d.ts +3 -4
  51. package/dist/mcp/tools/load_role.js +11 -13
  52. package/dist/mcp/tools/propose_change.d.ts +8 -0
  53. package/dist/mcp/tools/propose_change.js +36 -0
  54. package/dist/mcp/tools/record_decision.js +25 -25
  55. package/dist/mcp/tools/review_proposal.d.ts +17 -0
  56. package/dist/mcp/tools/review_proposal.js +99 -0
  57. package/dist/mcp/tools/run_drift_audit.d.ts +11 -0
  58. package/dist/mcp/tools/run_drift_audit.js +79 -0
  59. package/dist/mcp/tools/run_tests.d.ts +2 -0
  60. package/dist/mcp/tools/run_tests.js +92 -0
  61. package/dist/mcp/tools/sign_off.js +14 -2
  62. package/dist/mcp/tools/stubs.js +30 -9
  63. package/dist/mcp/tools/verify_claim.js +33 -6
  64. package/dist/mcp_setup.d.ts +14 -3
  65. package/dist/mcp_setup.js +15 -6
  66. package/dist/shared/frontmatter.d.ts +44 -2
  67. package/dist/shared/frontmatter.js +54 -6
  68. package/dist/shared/index.d.ts +0 -5
  69. package/dist/shared/index.js +0 -5
  70. package/dist/shared/persona.d.ts +2 -2
  71. package/dist/shared/persona.js +1 -1
  72. package/dist/shared/pipeline.d.ts +46 -1
  73. package/dist/shared/tools.d.ts +1382 -16
  74. package/dist/shared/tools.js +229 -0
  75. package/dist/shared/vocabulary.d.ts +99 -4
  76. package/dist/shared/vocabulary.js +94 -5
  77. package/domains/analytics/.agents/skills/ansoff-matrix/SKILL.md +316 -300
  78. package/domains/analytics/.agents/skills/bcg-matrix/SKILL.md +345 -329
  79. package/domains/analytics/.agents/skills/blue-ocean-strategy/SKILL.md +432 -416
  80. package/domains/analytics/.agents/skills/board/SKILL.md +22 -0
  81. package/domains/analytics/.agents/skills/cohort-analysis/SKILL.md +338 -322
  82. package/domains/analytics/.agents/skills/competitive-analysis/SKILL.md +413 -395
  83. package/domains/analytics/.agents/skills/customer-journey-mapping/SKILL.md +347 -331
  84. package/domains/analytics/.agents/skills/gates/SKILL.md +388 -366
  85. package/domains/analytics/.agents/skills/handoff/SKILL.md +402 -380
  86. package/domains/analytics/.agents/skills/html-pdf-report/SKILL.md +21 -289
  87. package/domains/analytics/.agents/skills/html-pdf-report-reference/SKILL.md +325 -0
  88. package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/claude.json +17 -0
  89. package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/copilot.json +17 -0
  90. package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/gemini.json +17 -0
  91. package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/kimi.yaml +15 -0
  92. package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/openai.yaml +10 -0
  93. package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/qwen.json +17 -0
  94. package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/skill.yaml +23 -0
  95. package/domains/analytics/.agents/skills/icp-buyer-persona/SKILL.md +407 -390
  96. package/domains/analytics/.agents/skills/jtbd-analysis/SKILL.md +357 -341
  97. package/domains/analytics/.agents/skills/karpathy-guidelines/SKILL.md +32 -0
  98. package/domains/analytics/.agents/skills/pest-analysis/SKILL.md +324 -305
  99. package/domains/analytics/.agents/skills/porters-five-forces/SKILL.md +377 -361
  100. package/domains/analytics/.agents/skills/report-design/SKILL.md +416 -398
  101. package/domains/analytics/.agents/skills/rfm-analysis/SKILL.md +330 -314
  102. package/domains/analytics/.agents/skills/session-prompt-generator/SKILL.md +400 -378
  103. package/domains/analytics/.agents/skills/swot-analysis/SKILL.md +340 -324
  104. package/domains/analytics/.agents/skills/tam-sam-som/SKILL.md +329 -312
  105. package/domains/analytics/.agents/skills/trend-analysis/SKILL.md +347 -331
  106. package/domains/analytics/.agents/skills/unit-economics/SKILL.md +430 -413
  107. package/domains/analytics/.agents/skills/value-chain-analysis/SKILL.md +346 -330
  108. package/domains/analytics/.agents/skills/web-research/SKILL.md +323 -308
  109. package/domains/analytics/AGENTS.md +1 -0
  110. package/domains/analytics/agents/auditor.md +76 -0
  111. package/domains/analytics/agents/conductor.md +11 -0
  112. package/domains/analytics/agents/data_analyst.md +11 -0
  113. package/domains/analytics/agents/designer.md +11 -0
  114. package/domains/analytics/agents/interviewer.md +11 -0
  115. package/domains/analytics/agents/layouter.md +11 -0
  116. package/domains/analytics/agents/mediator.md +11 -0
  117. package/domains/analytics/agents/researcher.md +11 -0
  118. package/domains/analytics/agents/strategist.md +11 -0
  119. package/domains/analytics/locales/en/.agents/skills/ansoff-matrix/SKILL.md +316 -300
  120. package/domains/analytics/locales/en/.agents/skills/bcg-matrix/SKILL.md +345 -329
  121. package/domains/analytics/locales/en/.agents/skills/blue-ocean-strategy/SKILL.md +432 -416
  122. package/domains/analytics/locales/en/.agents/skills/board/SKILL.md +22 -0
  123. package/domains/analytics/locales/en/.agents/skills/cohort-analysis/SKILL.md +338 -322
  124. package/domains/analytics/locales/en/.agents/skills/competitive-analysis/SKILL.md +413 -395
  125. package/domains/analytics/locales/en/.agents/skills/customer-journey-mapping/SKILL.md +347 -331
  126. package/domains/analytics/locales/en/.agents/skills/gates/SKILL.md +388 -366
  127. package/domains/analytics/locales/en/.agents/skills/handoff/SKILL.md +402 -380
  128. package/domains/analytics/locales/en/.agents/skills/html-pdf-report/SKILL.md +21 -289
  129. package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/SKILL.md +325 -0
  130. package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/claude.json +17 -0
  131. package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/copilot.json +17 -0
  132. package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/gemini.json +17 -0
  133. package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/kimi.yaml +15 -0
  134. package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/openai.yaml +10 -0
  135. package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/qwen.json +17 -0
  136. package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/skill.yaml +29 -0
  137. package/domains/analytics/locales/en/.agents/skills/icp-buyer-persona/SKILL.md +407 -390
  138. package/domains/analytics/locales/en/.agents/skills/jtbd-analysis/SKILL.md +357 -341
  139. package/domains/analytics/locales/en/.agents/skills/karpathy-guidelines/SKILL.md +32 -0
  140. package/domains/analytics/locales/en/.agents/skills/pest-analysis/SKILL.md +324 -305
  141. package/domains/analytics/locales/en/.agents/skills/porters-five-forces/SKILL.md +377 -361
  142. package/domains/analytics/locales/en/.agents/skills/report-design/SKILL.md +416 -398
  143. package/domains/analytics/locales/en/.agents/skills/rfm-analysis/SKILL.md +330 -314
  144. package/domains/analytics/locales/en/.agents/skills/session-prompt-generator/SKILL.md +400 -378
  145. package/domains/analytics/locales/en/.agents/skills/swot-analysis/SKILL.md +340 -324
  146. package/domains/analytics/locales/en/.agents/skills/tam-sam-som/SKILL.md +329 -312
  147. package/domains/analytics/locales/en/.agents/skills/trend-analysis/SKILL.md +347 -331
  148. package/domains/analytics/locales/en/.agents/skills/unit-economics/SKILL.md +430 -413
  149. package/domains/analytics/locales/en/.agents/skills/value-chain-analysis/SKILL.md +366 -350
  150. package/domains/analytics/locales/en/.agents/skills/web-research/SKILL.md +324 -309
  151. package/domains/analytics/locales/en/AGENTS.md +1 -0
  152. package/domains/analytics/locales/en/agents/auditor.md +76 -0
  153. package/domains/analytics/locales/en/agents/conductor.md +27 -0
  154. package/domains/analytics/locales/en/agents/data_analyst.md +29 -0
  155. package/domains/analytics/locales/en/agents/designer.md +27 -0
  156. package/domains/analytics/locales/en/agents/interviewer.md +11 -0
  157. package/domains/analytics/locales/en/agents/layouter.md +11 -0
  158. package/domains/analytics/locales/en/agents/mediator.md +11 -0
  159. package/domains/analytics/locales/en/agents/researcher.md +11 -0
  160. package/domains/analytics/locales/en/agents/strategist.md +11 -0
  161. package/domains/analytics/persona/persona-base.md +94 -0
  162. package/domains/analytics/pipeline.yaml +102 -0
  163. package/domains/content/.agents/skills/audience-analysis/SKILL.md +15 -0
  164. package/domains/content/.agents/skills/board/SKILL.md +20 -0
  165. package/domains/content/.agents/skills/brand-compliance/SKILL.md +15 -0
  166. package/domains/content/.agents/skills/brand-guidelines/SKILL.md +17 -0
  167. package/domains/content/.agents/skills/competitor-content-analysis/SKILL.md +15 -0
  168. package/domains/content/.agents/skills/content-brief/SKILL.md +15 -0
  169. package/domains/content/.agents/skills/content-calendar/SKILL.md +15 -0
  170. package/domains/content/.agents/skills/content-release-gate/SKILL.md +15 -0
  171. package/domains/content/.agents/skills/content-review-checklist/SKILL.md +15 -0
  172. package/domains/content/.agents/skills/cta-optimization/SKILL.md +15 -0
  173. package/domains/content/.agents/skills/data-storytelling/SKILL.md +15 -0
  174. package/domains/content/.agents/skills/email-copywriting/SKILL.md +15 -0
  175. package/domains/content/.agents/skills/email-engagement-tiers/SKILL.md +15 -0
  176. package/domains/content/.agents/skills/fact-checking/SKILL.md +15 -0
  177. package/domains/content/.agents/skills/gates/SKILL.md +20 -0
  178. package/domains/content/.agents/skills/google-stitch-content/SKILL.md +15 -0
  179. package/domains/content/.agents/skills/handoff/SKILL.md +24 -0
  180. package/domains/content/.agents/skills/headline-formulas/SKILL.md +15 -0
  181. package/domains/content/.agents/skills/image-prompt-engineering/SKILL.md +15 -0
  182. package/domains/content/.agents/skills/karpathy-guidelines/SKILL.md +28 -0
  183. package/domains/content/.agents/skills/mailerlite-email-ops/SKILL.md +15 -0
  184. package/domains/content/.agents/skills/marketing-psychology/SKILL.md +15 -0
  185. package/domains/content/.agents/skills/moodboard/SKILL.md +15 -0
  186. package/domains/content/.agents/skills/platform-compliance/SKILL.md +15 -0
  187. package/domains/content/.agents/skills/platform-strategy/SKILL.md +15 -0
  188. package/domains/content/.agents/skills/platform-visual-specs/SKILL.md +15 -0
  189. package/domains/content/.agents/skills/readability-scoring/SKILL.md +15 -0
  190. package/domains/content/.agents/skills/seo-copywriting/SKILL.md +15 -0
  191. package/domains/content/.agents/skills/social-media-formats/SKILL.md +15 -0
  192. package/domains/content/.agents/skills/source-verification/SKILL.md +15 -0
  193. package/domains/content/.agents/skills/storytelling-framework/SKILL.md +15 -0
  194. package/domains/content/.agents/skills/tone-of-voice/SKILL.md +15 -0
  195. package/domains/content/.agents/skills/topic-research/SKILL.md +15 -0
  196. package/domains/content/.agents/skills/trend-research/SKILL.md +15 -0
  197. package/domains/content/.agents/skills/visual-brief/SKILL.md +15 -0
  198. package/domains/content/AGENTS.md +4 -0
  199. package/domains/content/agents/auditor.md +76 -0
  200. package/domains/content/agents/conductor.md +11 -0
  201. package/domains/content/agents/copywriter.md +11 -0
  202. package/domains/content/agents/researcher.md +11 -0
  203. package/domains/content/agents/reviewer.md +11 -0
  204. package/domains/content/agents/strategist.md +11 -0
  205. package/domains/content/agents/visual_concept.md +11 -0
  206. package/domains/content/locales/en/.agents/skills/audience-analysis/SKILL.md +15 -0
  207. package/domains/content/locales/en/.agents/skills/board/SKILL.md +20 -0
  208. package/domains/content/locales/en/.agents/skills/brand-compliance/SKILL.md +15 -0
  209. package/domains/content/locales/en/.agents/skills/brand-guidelines/SKILL.md +17 -0
  210. package/domains/content/locales/en/.agents/skills/competitor-content-analysis/SKILL.md +15 -0
  211. package/domains/content/locales/en/.agents/skills/content-brief/SKILL.md +15 -0
  212. package/domains/content/locales/en/.agents/skills/content-calendar/SKILL.md +15 -0
  213. package/domains/content/locales/en/.agents/skills/content-release-gate/SKILL.md +15 -0
  214. package/domains/content/locales/en/.agents/skills/content-review-checklist/SKILL.md +15 -0
  215. package/domains/content/locales/en/.agents/skills/cta-optimization/SKILL.md +15 -0
  216. package/domains/content/locales/en/.agents/skills/data-storytelling/SKILL.md +15 -0
  217. package/domains/content/locales/en/.agents/skills/email-copywriting/SKILL.md +15 -0
  218. package/domains/content/locales/en/.agents/skills/email-engagement-tiers/SKILL.md +15 -0
  219. package/domains/content/locales/en/.agents/skills/fact-checking/SKILL.md +15 -0
  220. package/domains/content/locales/en/.agents/skills/gates/SKILL.md +20 -0
  221. package/domains/content/locales/en/.agents/skills/google-stitch-content/SKILL.md +15 -0
  222. package/domains/content/locales/en/.agents/skills/handoff/SKILL.md +24 -0
  223. package/domains/content/locales/en/.agents/skills/headline-formulas/SKILL.md +15 -0
  224. package/domains/content/locales/en/.agents/skills/image-prompt-engineering/SKILL.md +15 -0
  225. package/domains/content/locales/en/.agents/skills/karpathy-guidelines/SKILL.md +30 -1
  226. package/domains/content/locales/en/.agents/skills/mailerlite-email-ops/SKILL.md +15 -0
  227. package/domains/content/locales/en/.agents/skills/marketing-psychology/SKILL.md +15 -0
  228. package/domains/content/locales/en/.agents/skills/moodboard/SKILL.md +15 -0
  229. package/domains/content/locales/en/.agents/skills/platform-compliance/SKILL.md +15 -0
  230. package/domains/content/locales/en/.agents/skills/platform-strategy/SKILL.md +15 -0
  231. package/domains/content/locales/en/.agents/skills/platform-visual-specs/SKILL.md +15 -0
  232. package/domains/content/locales/en/.agents/skills/readability-scoring/SKILL.md +15 -0
  233. package/domains/content/locales/en/.agents/skills/seo-copywriting/SKILL.md +15 -0
  234. package/domains/content/locales/en/.agents/skills/social-media-formats/SKILL.md +15 -0
  235. package/domains/content/locales/en/.agents/skills/source-verification/SKILL.md +15 -0
  236. package/domains/content/locales/en/.agents/skills/storytelling-framework/SKILL.md +15 -0
  237. package/domains/content/locales/en/.agents/skills/tone-of-voice/SKILL.md +15 -0
  238. package/domains/content/locales/en/.agents/skills/topic-research/SKILL.md +15 -0
  239. package/domains/content/locales/en/.agents/skills/trend-research/SKILL.md +15 -0
  240. package/domains/content/locales/en/.agents/skills/visual-brief/SKILL.md +15 -0
  241. package/domains/content/locales/en/AGENTS.md +4 -0
  242. package/domains/content/locales/en/agents/auditor.md +76 -0
  243. package/domains/content/locales/en/agents/conductor.md +12 -0
  244. package/domains/content/locales/en/agents/copywriter.md +12 -0
  245. package/domains/content/locales/en/agents/researcher.md +12 -0
  246. package/domains/content/locales/en/agents/reviewer.md +12 -0
  247. package/domains/content/locales/en/agents/strategist.md +12 -0
  248. package/domains/content/locales/en/agents/visual_concept.md +12 -0
  249. package/domains/content/persona/persona-base.md +94 -0
  250. package/domains/content/pipeline.yaml +96 -0
  251. package/domains/development/.agents/skills/adr-log/SKILL.md +1 -0
  252. package/domains/development/.agents/skills/design-intake/SKILL.md +0 -4
  253. package/domains/development/.agents/skills/karpathy-guidelines/SKILL.md +2 -1
  254. package/domains/development/.agents/skills/lava-flow-legacy-detection/SKILL.md +15 -1
  255. package/domains/development/.agents/skills/mcp-integration/SKILL.md +211 -0
  256. package/domains/development/.agents/skills/mcp-integration/agents/claude.json +22 -0
  257. package/domains/development/.agents/skills/mcp-integration/agents/copilot.json +22 -0
  258. package/domains/development/.agents/skills/mcp-integration/agents/gemini.json +22 -0
  259. package/domains/development/.agents/skills/mcp-integration/agents/kimi.yaml +18 -0
  260. package/domains/development/.agents/skills/mcp-integration/agents/openai.yaml +8 -0
  261. package/domains/development/.agents/skills/mcp-integration/agents/qwen.json +22 -0
  262. package/domains/development/.agents/skills/mcp-integration/agents/skill.yaml +26 -0
  263. package/domains/development/.agents/skills/qa-ui-a11y-smoke/SKILL.md +1 -1
  264. package/domains/development/.agents/skills/ui-a11y-smoke-review/SKILL.md +1 -1
  265. package/domains/development/AGENTS.md +1 -0
  266. package/domains/development/AGENTS.yaml +1 -0
  267. package/domains/development/agents/architect.md +13 -1
  268. package/domains/development/agents/auditor.md +74 -0
  269. package/domains/development/agents/conductor.md +14 -3
  270. package/domains/development/agents/devops.md +8 -9
  271. package/domains/development/agents/reviewer.md +12 -0
  272. package/domains/development/agents/senior_full_stack.md +12 -0
  273. package/domains/development/agents/tester.md +10 -16
  274. package/domains/development/locales/en/.agents/skills/adr-log/SKILL.md +1 -0
  275. package/domains/development/locales/en/.agents/skills/current-state-analysis/SKILL.md +256 -172
  276. package/domains/development/locales/en/.agents/skills/karpathy-guidelines/SKILL.md +2 -1
  277. package/domains/development/locales/en/.agents/skills/lava-flow-legacy-detection/SKILL.md +15 -1
  278. package/domains/development/locales/en/.agents/skills/mcp-integration/SKILL.md +211 -0
  279. package/domains/development/locales/en/.agents/skills/mcp-integration/agents/claude.json +22 -0
  280. package/domains/development/locales/en/.agents/skills/mcp-integration/agents/copilot.json +22 -0
  281. package/domains/development/locales/en/.agents/skills/mcp-integration/agents/gemini.json +22 -0
  282. package/domains/development/locales/en/.agents/skills/mcp-integration/agents/kimi.yaml +18 -0
  283. package/domains/development/locales/en/.agents/skills/mcp-integration/agents/openai.yaml +8 -0
  284. package/domains/development/locales/en/.agents/skills/mcp-integration/agents/qwen.json +22 -0
  285. package/domains/development/locales/en/.agents/skills/mcp-integration/agents/skill.yaml +26 -0
  286. package/domains/development/locales/en/.agents/skills/qa-ui-a11y-smoke/SKILL.md +1 -1
  287. package/domains/development/locales/en/.agents/skills/ui-a11y-smoke-review/SKILL.md +1 -1
  288. package/domains/development/locales/en/AGENTS.md +5 -0
  289. package/domains/development/locales/en/AGENTS.yaml +1 -0
  290. package/domains/development/locales/en/agents/architect.md +13 -1
  291. package/domains/development/locales/en/agents/auditor.md +74 -0
  292. package/domains/development/locales/en/agents/conductor.md +14 -3
  293. package/domains/development/locales/en/agents/devops.md +8 -9
  294. package/domains/development/locales/en/agents/reviewer.md +12 -0
  295. package/domains/development/locales/en/agents/senior_full_stack.md +12 -0
  296. package/domains/development/locales/en/agents/tester.md +10 -16
  297. package/domains/development/persona/persona-base.md +94 -0
  298. package/domains/product/.agents/skills/aarrr-metrics/SKILL.md +451 -433
  299. package/domains/product/.agents/skills/ab-test-design/SKILL.md +428 -412
  300. package/domains/product/.agents/skills/acceptance-criteria/SKILL.md +422 -406
  301. package/domains/product/.agents/skills/assumption-mapping/SKILL.md +323 -307
  302. package/domains/product/.agents/skills/board/SKILL.md +24 -0
  303. package/domains/product/.agents/skills/design-brief/SKILL.md +433 -418
  304. package/domains/product/.agents/skills/epic-breakdown/SKILL.md +435 -420
  305. package/domains/product/.agents/skills/gates/SKILL.md +470 -446
  306. package/domains/product/.agents/skills/gtm-brief/SKILL.md +18 -321
  307. package/domains/product/.agents/skills/gtm-brief-reference/SKILL.md +348 -0
  308. package/domains/product/.agents/skills/gtm-brief-reference/agents/claude.json +17 -0
  309. package/domains/product/.agents/skills/gtm-brief-reference/agents/copilot.json +17 -0
  310. package/domains/product/.agents/skills/gtm-brief-reference/agents/gemini.json +17 -0
  311. package/domains/product/.agents/skills/gtm-brief-reference/agents/kimi.yaml +15 -0
  312. package/domains/product/.agents/skills/gtm-brief-reference/agents/openai.yaml +10 -0
  313. package/domains/product/.agents/skills/gtm-brief-reference/agents/qwen.json +17 -0
  314. package/domains/product/.agents/skills/gtm-brief-reference/agents/skill.yaml +22 -0
  315. package/domains/product/.agents/skills/handoff/SKILL.md +463 -439
  316. package/domains/product/.agents/skills/html-pdf-report/SKILL.md +21 -663
  317. package/domains/product/.agents/skills/html-pdf-report-reference/SKILL.md +699 -0
  318. package/domains/product/.agents/skills/html-pdf-report-reference/agents/claude.json +17 -0
  319. package/domains/product/.agents/skills/html-pdf-report-reference/agents/copilot.json +17 -0
  320. package/domains/product/.agents/skills/html-pdf-report-reference/agents/gemini.json +17 -0
  321. package/domains/product/.agents/skills/html-pdf-report-reference/agents/kimi.yaml +15 -0
  322. package/domains/product/.agents/skills/html-pdf-report-reference/agents/openai.yaml +10 -0
  323. package/domains/product/.agents/skills/html-pdf-report-reference/agents/qwen.json +17 -0
  324. package/domains/product/.agents/skills/html-pdf-report-reference/agents/skill.yaml +22 -0
  325. package/domains/product/.agents/skills/hypothesis-template/SKILL.md +484 -469
  326. package/domains/product/.agents/skills/jtbd-canvas/SKILL.md +274 -258
  327. package/domains/product/.agents/skills/kano-model/SKILL.md +370 -355
  328. package/domains/product/.agents/skills/karpathy-guidelines/SKILL.md +36 -0
  329. package/domains/product/.agents/skills/launch-checklist/SKILL.md +434 -419
  330. package/domains/product/.agents/skills/moscow-prioritization/SKILL.md +407 -392
  331. package/domains/product/.agents/skills/north-star-metric/SKILL.md +317 -301
  332. package/domains/product/.agents/skills/okr-framework/SKILL.md +299 -284
  333. package/domains/product/.agents/skills/opportunity-solution-tree/SKILL.md +472 -456
  334. package/domains/product/.agents/skills/prd-template/SKILL.md +18 -258
  335. package/domains/product/.agents/skills/prd-template-reference/SKILL.md +285 -0
  336. package/domains/product/.agents/skills/prd-template-reference/agents/claude.json +17 -0
  337. package/domains/product/.agents/skills/prd-template-reference/agents/copilot.json +17 -0
  338. package/domains/product/.agents/skills/prd-template-reference/agents/gemini.json +17 -0
  339. package/domains/product/.agents/skills/prd-template-reference/agents/kimi.yaml +16 -0
  340. package/domains/product/.agents/skills/prd-template-reference/agents/openai.yaml +10 -0
  341. package/domains/product/.agents/skills/prd-template-reference/agents/qwen.json +17 -0
  342. package/domains/product/.agents/skills/prd-template-reference/agents/skill.yaml +23 -0
  343. package/domains/product/.agents/skills/problem-statement/SKILL.md +327 -312
  344. package/domains/product/.agents/skills/product-roadmap/SKILL.md +320 -304
  345. package/domains/product/.agents/skills/product-vision/SKILL.md +409 -394
  346. package/domains/product/.agents/skills/release-notes/SKILL.md +18 -258
  347. package/domains/product/.agents/skills/release-notes-reference/SKILL.md +285 -0
  348. package/domains/product/.agents/skills/release-notes-reference/agents/claude.json +17 -0
  349. package/domains/product/.agents/skills/release-notes-reference/agents/copilot.json +17 -0
  350. package/domains/product/.agents/skills/release-notes-reference/agents/gemini.json +17 -0
  351. package/domains/product/.agents/skills/release-notes-reference/agents/kimi.yaml +15 -0
  352. package/domains/product/.agents/skills/release-notes-reference/agents/openai.yaml +10 -0
  353. package/domains/product/.agents/skills/release-notes-reference/agents/qwen.json +17 -0
  354. package/domains/product/.agents/skills/release-notes-reference/agents/skill.yaml +22 -0
  355. package/domains/product/.agents/skills/report-design/SKILL.md +17 -307
  356. package/domains/product/.agents/skills/report-design-reference/SKILL.md +331 -0
  357. package/domains/product/.agents/skills/report-design-reference/agents/claude.json +17 -0
  358. package/domains/product/.agents/skills/report-design-reference/agents/copilot.json +17 -0
  359. package/domains/product/.agents/skills/report-design-reference/agents/gemini.json +17 -0
  360. package/domains/product/.agents/skills/report-design-reference/agents/kimi.yaml +15 -0
  361. package/domains/product/.agents/skills/report-design-reference/agents/openai.yaml +10 -0
  362. package/domains/product/.agents/skills/report-design-reference/agents/qwen.json +17 -0
  363. package/domains/product/.agents/skills/report-design-reference/agents/skill.yaml +22 -0
  364. package/domains/product/.agents/skills/rice-scoring/SKILL.md +266 -251
  365. package/domains/product/.agents/skills/saas-metrics/SKILL.md +422 -404
  366. package/domains/product/.agents/skills/session-prompt-generator/SKILL.md +474 -450
  367. package/domains/product/.agents/skills/user-flow/SKILL.md +491 -476
  368. package/domains/product/.agents/skills/user-interview-script/SKILL.md +315 -298
  369. package/domains/product/.agents/skills/user-story/SKILL.md +401 -385
  370. package/domains/product/.agents/skills/wsjf-scoring/SKILL.md +333 -315
  371. package/domains/product/AGENTS.md +5 -0
  372. package/domains/product/AGENTS.yaml +1 -0
  373. package/domains/product/agents/auditor.md +76 -0
  374. package/domains/product/agents/conductor.md +11 -0
  375. package/domains/product/agents/data_analyst.md +11 -0
  376. package/domains/product/agents/designer.md +11 -0
  377. package/domains/product/agents/discovery.md +11 -0
  378. package/domains/product/agents/layouter.md +11 -0
  379. package/domains/product/agents/mediator.md +11 -0
  380. package/domains/product/agents/pm.md +11 -0
  381. package/domains/product/agents/product_strategist.md +11 -0
  382. package/domains/product/agents/tech_lead.md +11 -0
  383. package/domains/product/agents/ux_designer.md +11 -0
  384. package/domains/product/locales/en/.agents/skills/aarrr-metrics/SKILL.md +451 -433
  385. package/domains/product/locales/en/.agents/skills/ab-test-design/SKILL.md +428 -412
  386. package/domains/product/locales/en/.agents/skills/acceptance-criteria/SKILL.md +422 -406
  387. package/domains/product/locales/en/.agents/skills/assumption-mapping/SKILL.md +323 -307
  388. package/domains/product/locales/en/.agents/skills/board/SKILL.md +24 -0
  389. package/domains/product/locales/en/.agents/skills/design-brief/SKILL.md +433 -418
  390. package/domains/product/locales/en/.agents/skills/epic-breakdown/SKILL.md +435 -420
  391. package/domains/product/locales/en/.agents/skills/gates/SKILL.md +470 -446
  392. package/domains/product/locales/en/.agents/skills/gtm-brief/SKILL.md +18 -321
  393. package/domains/product/locales/en/.agents/skills/gtm-brief-reference/SKILL.md +348 -0
  394. package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/claude.json +17 -0
  395. package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/copilot.json +17 -0
  396. package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/gemini.json +17 -0
  397. package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/kimi.yaml +15 -0
  398. package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/openai.yaml +10 -0
  399. package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/qwen.json +17 -0
  400. package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/skill.yaml +22 -0
  401. package/domains/product/locales/en/.agents/skills/handoff/SKILL.md +463 -439
  402. package/domains/product/locales/en/.agents/skills/html-pdf-report/SKILL.md +21 -663
  403. package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/SKILL.md +699 -0
  404. package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/claude.json +17 -0
  405. package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/copilot.json +17 -0
  406. package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/gemini.json +17 -0
  407. package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/kimi.yaml +15 -0
  408. package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/openai.yaml +10 -0
  409. package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/qwen.json +17 -0
  410. package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/skill.yaml +22 -0
  411. package/domains/product/locales/en/.agents/skills/hypothesis-template/SKILL.md +484 -469
  412. package/domains/product/locales/en/.agents/skills/jtbd-canvas/SKILL.md +273 -257
  413. package/domains/product/locales/en/.agents/skills/kano-model/SKILL.md +370 -355
  414. package/domains/product/locales/en/.agents/skills/karpathy-guidelines/SKILL.md +36 -0
  415. package/domains/product/locales/en/.agents/skills/launch-checklist/SKILL.md +434 -419
  416. package/domains/product/locales/en/.agents/skills/moscow-prioritization/SKILL.md +407 -392
  417. package/domains/product/locales/en/.agents/skills/north-star-metric/SKILL.md +317 -301
  418. package/domains/product/locales/en/.agents/skills/okr-framework/SKILL.md +299 -284
  419. package/domains/product/locales/en/.agents/skills/opportunity-solution-tree/SKILL.md +472 -456
  420. package/domains/product/locales/en/.agents/skills/prd-template/SKILL.md +18 -258
  421. package/domains/product/locales/en/.agents/skills/prd-template-reference/SKILL.md +285 -0
  422. package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/claude.json +16 -0
  423. package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/copilot.json +16 -0
  424. package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/gemini.json +16 -0
  425. package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/kimi.yaml +15 -0
  426. package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/openai.yaml +10 -0
  427. package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/qwen.json +16 -0
  428. package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/skill.yaml +22 -0
  429. package/domains/product/locales/en/.agents/skills/problem-statement/SKILL.md +327 -312
  430. package/domains/product/locales/en/.agents/skills/product-roadmap/SKILL.md +321 -305
  431. package/domains/product/locales/en/.agents/skills/product-vision/SKILL.md +410 -395
  432. package/domains/product/locales/en/.agents/skills/release-notes/SKILL.md +18 -258
  433. package/domains/product/locales/en/.agents/skills/release-notes-reference/SKILL.md +285 -0
  434. package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/claude.json +16 -0
  435. package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/copilot.json +16 -0
  436. package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/gemini.json +16 -0
  437. package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/kimi.yaml +14 -0
  438. package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/openai.yaml +10 -0
  439. package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/qwen.json +16 -0
  440. package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/skill.yaml +21 -0
  441. package/domains/product/locales/en/.agents/skills/report-design/SKILL.md +17 -307
  442. package/domains/product/locales/en/.agents/skills/report-design-reference/SKILL.md +331 -0
  443. package/domains/product/locales/en/.agents/skills/report-design-reference/agents/claude.json +17 -0
  444. package/domains/product/locales/en/.agents/skills/report-design-reference/agents/copilot.json +17 -0
  445. package/domains/product/locales/en/.agents/skills/report-design-reference/agents/gemini.json +17 -0
  446. package/domains/product/locales/en/.agents/skills/report-design-reference/agents/kimi.yaml +15 -0
  447. package/domains/product/locales/en/.agents/skills/report-design-reference/agents/openai.yaml +10 -0
  448. package/domains/product/locales/en/.agents/skills/report-design-reference/agents/qwen.json +17 -0
  449. package/domains/product/locales/en/.agents/skills/report-design-reference/agents/skill.yaml +22 -0
  450. package/domains/product/locales/en/.agents/skills/rice-scoring/SKILL.md +266 -251
  451. package/domains/product/locales/en/.agents/skills/saas-metrics/SKILL.md +422 -404
  452. package/domains/product/locales/en/.agents/skills/session-prompt-generator/SKILL.md +474 -450
  453. package/domains/product/locales/en/.agents/skills/user-flow/SKILL.md +491 -476
  454. package/domains/product/locales/en/.agents/skills/user-interview-script/SKILL.md +314 -297
  455. package/domains/product/locales/en/.agents/skills/user-story/SKILL.md +401 -385
  456. package/domains/product/locales/en/.agents/skills/wsjf-scoring/SKILL.md +333 -315
  457. package/domains/product/locales/en/AGENTS.md +5 -0
  458. package/domains/product/locales/en/agents/auditor.md +76 -0
  459. package/domains/product/locales/en/agents/conductor.md +11 -0
  460. package/domains/product/locales/en/agents/data_analyst.md +11 -0
  461. package/domains/product/locales/en/agents/designer.md +11 -0
  462. package/domains/product/locales/en/agents/discovery.md +11 -0
  463. package/domains/product/locales/en/agents/layouter.md +11 -0
  464. package/domains/product/locales/en/agents/mediator.md +11 -0
  465. package/domains/product/locales/en/agents/pm.md +11 -0
  466. package/domains/product/locales/en/agents/product_strategist.md +11 -0
  467. package/domains/product/locales/en/agents/tech_lead.md +11 -0
  468. package/domains/product/locales/en/agents/ux_designer.md +11 -0
  469. package/domains/product/persona/persona-base.md +94 -0
  470. package/domains/product/pipeline.yaml +115 -0
  471. package/package.json +72 -70
@@ -1,6 +1,23 @@
1
1
  ---
2
2
  name: html-pdf-report
3
3
  description: Generation of a self-contained HTML report for PDF printing — CSS print layout, Chart.js, Mermaid
4
+ type: triggered
5
+ domain: analytics
6
+ owners:
7
+ - layouter
8
+ gates:
9
+ - LAYOUTER
10
+ tech: []
11
+ topic: []
12
+ triggers:
13
+ - "html-pdf-report"
14
+ - "HTML отчёт"
15
+ - "PDF отчёт"
16
+ - "генерация отчёта"
17
+ related:
18
+ - html-pdf-report-reference
19
+ budget_lines: 297
20
+ schema_version: 1
4
21
  ---
5
22
  # HTML/PDF Report — Generation of a self-contained HTML for PDF printing
6
23
 
@@ -69,120 +86,7 @@ description: Generation of a self-contained HTML report for PDF printing — CSS
69
86
 
70
87
  Complete working CSS block:
71
88
 
72
- ```css
73
- /* ========== RESET & BASE ========== */
74
- *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
75
- body {
76
- font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
77
- font-size: 11pt;
78
- line-height: 1.6;
79
- color: #1a1a2e;
80
- background: #fff;
81
- }
82
- .report { max-width: 210mm; margin: 0 auto; padding: 20mm; }
83
-
84
- /* ========== TYPOGRAPHY ========== */
85
- h1 { font-size: 24pt; font-weight: 700; margin-bottom: 0.5em; color: var(--primary); }
86
- h2 { font-size: 18pt; font-weight: 600; margin: 1.5em 0 0.5em; padding-bottom: 0.3em;
87
- border-bottom: 2px solid var(--primary); color: var(--primary); }
88
- h3 { font-size: 14pt; font-weight: 600; margin: 1.2em 0 0.4em; color: var(--secondary); }
89
- h4 { font-size: 12pt; font-weight: 600; margin: 1em 0 0.3em; }
90
- p { margin-bottom: 0.8em; }
91
- blockquote { border-left: 4px solid var(--accent); padding: 0.8em 1.2em;
92
- margin: 1em 0; background: var(--bg-light); font-style: italic; }
93
-
94
- /* ========== CSS VARIABLES (from palette) ========== */
95
- :root {
96
- --primary: #1a1a2e; /* Replace from Design Spec */
97
- --secondary: #16213e;
98
- --accent: #0f3460;
99
- --highlight: #e94560;
100
- --bg-light: #f5f5f5;
101
- --border: #e0e0e0;
102
- --success: #2ecc71;
103
- --warning: #f39c12;
104
- --danger: #e74c3c;
105
- }
106
-
107
- /* ========== TITLE PAGE ========== */
108
- .title-page {
109
- display: flex; flex-direction: column; justify-content: center; align-items: center;
110
- min-height: 100vh; text-align: center;
111
- }
112
- .title-page h1 { font-size: 32pt; margin-bottom: 0.3em; }
113
- .title-page .subtitle { font-size: 16pt; color: var(--secondary); margin-bottom: 2em; }
114
- .title-page .meta { font-size: 10pt; color: #666; }
115
-
116
- /* ========== TOC ========== */
117
- .toc-list { list-style: none; counter-reset: toc; }
118
- .toc-list li { padding: 0.4em 0; border-bottom: 1px dotted var(--border); }
119
- .toc-list li::before { counter-increment: toc; content: counter(toc) ". "; font-weight: 600; }
120
- .toc-list a { text-decoration: none; color: var(--primary); }
121
- .toc-list a:hover { color: var(--accent); }
122
-
123
- /* ========== DATA TABLE ========== */
124
- .data-table { width: 100%; border-collapse: collapse; margin: 1em 0; font-size: 10pt; }
125
- .data-table th { background: var(--primary); color: #fff; padding: 8px 12px;
126
- text-align: left; font-weight: 600; }
127
- .data-table td { padding: 8px 12px; border-bottom: 1px solid var(--border); }
128
- .data-table tr:nth-child(even) { background: var(--bg-light); }
129
- .data-table .highlight { background: rgba(233, 69, 96, 0.1); font-weight: 600; }
130
-
131
- /* ========== MATRIX 2x2 ========== */
132
- .matrix-2x2 { display: grid; grid-template-columns: 1fr 1fr; gap: 2px;
133
- margin: 1em 0; border: 2px solid var(--border); }
134
- .matrix-2x2 .cell { padding: 1.2em; }
135
- .matrix-2x2 .cell-header { background: var(--primary); color: #fff; font-weight: 600;
136
- text-align: center; padding: 0.6em; }
137
- .matrix-2x2 .cell-tl { background: #e8f5e9; } /* Top-left: green */
138
- .matrix-2x2 .cell-tr { background: #fff3e0; } /* Top-right: orange */
139
- .matrix-2x2 .cell-bl { background: #e3f2fd; } /* Bottom-left: blue */
140
- .matrix-2x2 .cell-br { background: #fce4ec; } /* Bottom-right: red */
141
-
142
- /* ========== CALLOUT BOX ========== */
143
- .callout { padding: 1em 1.2em; margin: 1em 0; border-radius: 6px; border-left: 4px solid; }
144
- .callout-info { background: #e3f2fd; border-color: #2196f3; }
145
- .callout-success { background: #e8f5e9; border-color: var(--success); }
146
- .callout-warning { background: #fff3e0; border-color: var(--warning); }
147
- .callout-danger { background: #fce4ec; border-color: var(--danger); }
148
- .callout-title { font-weight: 700; margin-bottom: 0.3em; }
149
-
150
- /* ========== PULL QUOTE ========== */
151
- .pull-quote { font-size: 14pt; font-weight: 300; text-align: center;
152
- padding: 1.5em 2em; margin: 1.5em 0; color: var(--accent);
153
- border-top: 2px solid var(--accent); border-bottom: 2px solid var(--accent); }
154
-
155
- /* ========== CHART CONTAINER ========== */
156
- .chart-container { position: relative; margin: 1.5em 0; max-width: 100%; }
157
- .chart-container canvas { max-width: 100%; }
158
- .chart-container figcaption { font-size: 9pt; color: #666; text-align: center;
159
- margin-top: 0.5em; font-style: italic; }
160
-
161
- /* ========== SCORE / BADGE ========== */
162
- .score-badge { display: inline-block; padding: 0.2em 0.8em; border-radius: 12px;
163
- font-weight: 700; font-size: 10pt; }
164
- .score-high { background: var(--success); color: #fff; }
165
- .score-mid { background: var(--warning); color: #fff; }
166
- .score-low { background: var(--danger); color: #fff; }
167
-
168
- /* ========== PRINT ========== */
169
- @media print {
170
- @page { size: A4 portrait; margin: 20mm; }
171
- body { font-size: 10pt; }
172
- .report { max-width: none; padding: 0; }
173
- .title-page { min-height: auto; page-break-after: always; }
174
- .toc { page-break-after: always; }
175
- .executive-summary { page-break-after: always; }
176
- .appendix { page-break-before: always; }
177
- .data-table, .chart-container, .matrix-2x2, .mermaid, figure {
178
- page-break-inside: avoid;
179
- }
180
- h2, h3 { page-break-after: avoid; }
181
- .callout { page-break-inside: avoid; }
182
- a { color: inherit; text-decoration: none; }
183
- canvas { max-width: 100% !important; height: auto !important; }
184
- }
185
- ```
89
+ > 📦 <!--SPLIT-POINTER--> Полный блок — в `$html-pdf-report-reference` (§ Step 2 — CSS (Base + Print)).
186
90
 
187
91
  > **Palette:** replace CSS variables from the Design Spec. All colors should be accessed via `var(--name)` so the palette can be changed in one place.
188
92
 
@@ -194,99 +98,7 @@ For each chart from the Visualization Map:
194
98
 
195
99
  **Configurations by type:**
196
100
 
197
- ```javascript
198
- // ========== BAR CHART (competitor comparison, scoring) ==========
199
- new Chart(document.getElementById('chart-competitors'), {
200
- type: 'bar',
201
- data: {
202
- labels: ['Competitor A', 'Competitor B', 'Competitor C', 'Our Product'],
203
- datasets: [{
204
- label: 'Threat Score',
205
- data: [7.2, 7.3, 4.8, null],
206
- backgroundColor: ['#e74c3c', '#e74c3c', '#f39c12', '#2ecc71'],
207
- borderWidth: 0,
208
- borderRadius: 4
209
- }]
210
- },
211
- options: {
212
- animation: false, responsive: true,
213
- plugins: { legend: { display: false },
214
- title: { display: true, text: 'Competitor Threat Score', font: { size: 14 } } },
215
- scales: { y: { beginAtZero: true, max: 10, title: { display: true, text: 'Score' } } }
216
- }
217
- });
218
-
219
- // ========== RADAR CHART (multi-criteria comparison) ==========
220
- new Chart(document.getElementById('chart-radar'), {
221
- type: 'radar',
222
- data: {
223
- labels: ['Functionality', 'Price', 'UX', 'Support', 'Ecosystem', 'Brand'],
224
- datasets: [
225
- { label: 'Our Product', data: [7, 8, 6, 5, 4, 3],
226
- borderColor: '#0f3460', backgroundColor: 'rgba(15,52,96,0.1)', borderWidth: 2 },
227
- { label: 'Market Leader', data: [9, 4, 8, 7, 9, 9],
228
- borderColor: '#e94560', backgroundColor: 'rgba(233,69,96,0.1)', borderWidth: 2 }
229
- ]
230
- },
231
- options: {
232
- animation: false, responsive: true,
233
- scales: { r: { beginAtZero: true, max: 10, ticks: { stepSize: 2 } } }
234
- }
235
- });
236
-
237
- // ========== PIE / DOUGHNUT (shares, distribution) ==========
238
- new Chart(document.getElementById('chart-share'), {
239
- type: 'doughnut',
240
- data: {
241
- labels: ['Segment A', 'Segment B', 'Segment C', 'Others'],
242
- datasets: [{ data: [35, 28, 22, 15],
243
- backgroundColor: ['#1a1a2e', '#0f3460', '#e94560', '#ccc'],
244
- borderWidth: 2, borderColor: '#fff' }]
245
- },
246
- options: {
247
- animation: false, responsive: true,
248
- plugins: { legend: { position: 'right' } }
249
- }
250
- });
251
-
252
- // ========== LINE CHART (trends, retention curves) ==========
253
- new Chart(document.getElementById('chart-retention'), {
254
- type: 'line',
255
- data: {
256
- labels: ['M0', 'M1', 'M2', 'M3', 'M6', 'M12'],
257
- datasets: [
258
- { label: 'Jan Cohort', data: [100, 42, 31, 26, 20, 16],
259
- borderColor: '#e94560', fill: false, tension: 0.3 },
260
- { label: 'Mar Cohort', data: [100, 55, 44, 38, null, null],
261
- borderColor: '#2ecc71', fill: false, tension: 0.3 }
262
- ]
263
- },
264
- options: {
265
- animation: false, responsive: true,
266
- scales: { y: { beginAtZero: true, max: 100, title: { display: true, text: 'Retention %' } } }
267
- }
268
- });
269
-
270
- // ========== SCATTER (2D positioning) ==========
271
- new Chart(document.getElementById('chart-positioning'), {
272
- type: 'scatter',
273
- data: {
274
- datasets: [
275
- { label: 'Competitor A', data: [{ x: 8, y: 7 }], pointRadius: 10,
276
- backgroundColor: '#e74c3c' },
277
- { label: 'Our Product', data: [{ x: 5, y: 6 }], pointRadius: 12,
278
- backgroundColor: '#2ecc71', pointStyle: 'star' }
279
- ]
280
- },
281
- options: {
282
- animation: false, responsive: true,
283
- scales: {
284
- x: { min: 0, max: 10, title: { display: true, text: 'Functionality' } },
285
- y: { min: 0, max: 10, title: { display: true, text: 'Price' } }
286
- }
287
- }
288
- });
289
- ```
101
+ > 📦 <!--SPLIT-POINTER--> Полный блок — в `$html-pdf-report-reference` (§ Step 3 — Chart.js).
290
102
 
291
103
  ### Step 4 — Mermaid
292
104
 
@@ -296,51 +108,7 @@ mermaid.initialize({ startOnLoad: true, theme: 'neutral', securityLevel: 'loose'
296
108
 
297
109
  **Diagrams by type:**
298
110
 
299
- ```html
300
- <!-- ========== FLOWCHART (processes, pipelines) ========== -->
301
- <div class="mermaid">
302
- flowchart TD
303
- A[Awareness] --> B[Consideration]
304
- B --> C[Decision]
305
- C --> D[Purchase]
306
- D --> E[Retention]
307
- E --> F[Advocacy]
308
- E -.->|churn| G[Exit]
309
- style G fill:#fce4ec,stroke:#e74c3c
310
- </div>
311
-
312
- <!-- ========== MINDMAP (structure, hierarchy) ========== -->
313
- <div class="mermaid">
314
- mindmap
315
- root((Growth Strategy))
316
- Penetration
317
- Upsell
318
- Cross-sell
319
- Market Development
320
- CIS
321
- Enterprise
322
- Product Development
323
- AI Module
324
- Mobile App
325
- Diversification
326
- White-label
327
- </div>
328
-
329
- <!-- ========== QUADRANT CHART (2x2 matrices) ========== -->
330
- <div class="mermaid">
331
- quadrantChart
332
- title Impact vs Effort
333
- x-axis Low Effort --> High Effort
334
- y-axis Low Impact --> High Impact
335
- quadrant-1 Big Bets
336
- quadrant-2 Quick Wins
337
- quadrant-3 Fill-ins
338
- quadrant-4 Avoid
339
- Action A: [0.3, 0.8]
340
- Action B: [0.7, 0.9]
341
- Action C: [0.2, 0.3]
342
- </div>
343
- ```
111
+ > 📦 <!--SPLIT-POINTER--> Полный блок — в `$html-pdf-report-reference` (§ Step 4 — Mermaid).
344
112
 
345
113
  > Every Mermaid diagram is wrapped in a `<figure>` with a `<figcaption>` and `page-break-inside: avoid`.
346
114
 
@@ -452,43 +220,7 @@ quadrantChart
452
220
 
453
221
  ## Example — Executive Summary Section
454
222
 
455
- ```html
456
- <section class="executive-summary" id="executive-summary">
457
- <h2>Executive Summary</h2>
458
-
459
- <div class="pull-quote">
460
- "The Russian EdTech market will reach $4.2B by 2027. The primary opportunity is
461
- corporate training (28% CAGR), where competition is fragmented."
462
- </div>
463
-
464
- <h3>Key Takeaways</h3>
465
- <div class="callout callout-success">
466
- <div class="callout-title">✅ Main Insight</div>
467
- <p>AI personalization of learning is an unoccupied niche. None of the 5 key competitors
468
- offer adaptive learning paths at a ★★★ level.</p>
469
- </div>
470
-
471
- <table class="data-table">
472
- <caption>Key Metrics Summary</caption>
473
- <thead>
474
- <tr><th scope="col">Metric</th><th scope="col">Value</th><th scope="col">Benchmark</th><th scope="col">Rating</th></tr>
475
- </thead>
476
- <tbody>
477
- <tr><td>TAM</td><td>$4.2B</td><td>—</td>
478
- <td><span class="score-badge score-high">Large</span></td></tr>
479
- <tr><td>SOM (Year 1)</td><td>$180M</td><td>—</td>
480
- <td><span class="score-badge score-mid">Medium</span></td></tr>
481
- <tr><td>Main Threat</td><td>Yandex Praktikum</td><td>Score 7.6</td>
482
- <td><span class="score-badge score-low">High</span></td></tr>
483
- </tbody>
484
- </table>
485
-
486
- <figure class="chart-container" role="img" aria-label="Threat Score: Skillbox 7.2, Netology 6.8, Yandex 7.6, GeekBrains 4.1, Skyeng 5.3">
487
- <canvas id="chart-exec-threats"></canvas>
488
- <figcaption>Fig. 1 — Threat Score of key competitors</figcaption>
489
- </figure>
490
- </section>
491
- ```
223
+ > 📦 <!--SPLIT-POINTER--> Полный блок — в `$html-pdf-report-reference` (§ Example — Executive Summary Section).
492
224
 
493
225
  ## Validation (Quality Gate)
494
226
 
@@ -0,0 +1,325 @@
1
+ ---
2
+ name: html-pdf-report-reference
3
+ description: Generation of a self-contained HTML report for PDF printing — CSS print layout, Chart.js, Mermaid — reference (code & worked-example library)
4
+ type: reference
5
+ domain: analytics
6
+ owners:
7
+ - layouter
8
+ gates:
9
+ - LAYOUTER
10
+ tech: []
11
+ topic: []
12
+ triggers:
13
+ - "html-pdf-report"
14
+ - "HTML отчёт"
15
+ - "PDF отчёт"
16
+ - "генерация отчёта"
17
+ related:
18
+ - html-pdf-report
19
+ budget_lines: 325
20
+ schema_version: 1
21
+ ---
22
+ # html-pdf-report — Reference (code & worked-example library)
23
+
24
+ > Verbatim code blocks and the worked example extracted from `$html-pdf-report` (workflow). Copy-paste library; the procedure lives in the workflow skill.
25
+
26
+ ## Step 2 — CSS (Base + Print)
27
+
28
+ ```css
29
+ /* ========== RESET & BASE ========== */
30
+ *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
31
+ body {
32
+ font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
33
+ font-size: 11pt;
34
+ line-height: 1.6;
35
+ color: #1a1a2e;
36
+ background: #fff;
37
+ }
38
+ .report { max-width: 210mm; margin: 0 auto; padding: 20mm; }
39
+
40
+ /* ========== TYPOGRAPHY ========== */
41
+ h1 { font-size: 24pt; font-weight: 700; margin-bottom: 0.5em; color: var(--primary); }
42
+ h2 { font-size: 18pt; font-weight: 600; margin: 1.5em 0 0.5em; padding-bottom: 0.3em;
43
+ border-bottom: 2px solid var(--primary); color: var(--primary); }
44
+ h3 { font-size: 14pt; font-weight: 600; margin: 1.2em 0 0.4em; color: var(--secondary); }
45
+ h4 { font-size: 12pt; font-weight: 600; margin: 1em 0 0.3em; }
46
+ p { margin-bottom: 0.8em; }
47
+ blockquote { border-left: 4px solid var(--accent); padding: 0.8em 1.2em;
48
+ margin: 1em 0; background: var(--bg-light); font-style: italic; }
49
+
50
+ /* ========== CSS VARIABLES (from palette) ========== */
51
+ :root {
52
+ --primary: #1a1a2e; /* Replace from Design Spec */
53
+ --secondary: #16213e;
54
+ --accent: #0f3460;
55
+ --highlight: #e94560;
56
+ --bg-light: #f5f5f5;
57
+ --border: #e0e0e0;
58
+ --success: #2ecc71;
59
+ --warning: #f39c12;
60
+ --danger: #e74c3c;
61
+ }
62
+
63
+ /* ========== TITLE PAGE ========== */
64
+ .title-page {
65
+ display: flex; flex-direction: column; justify-content: center; align-items: center;
66
+ min-height: 100vh; text-align: center;
67
+ }
68
+ .title-page h1 { font-size: 32pt; margin-bottom: 0.3em; }
69
+ .title-page .subtitle { font-size: 16pt; color: var(--secondary); margin-bottom: 2em; }
70
+ .title-page .meta { font-size: 10pt; color: #666; }
71
+
72
+ /* ========== TOC ========== */
73
+ .toc-list { list-style: none; counter-reset: toc; }
74
+ .toc-list li { padding: 0.4em 0; border-bottom: 1px dotted var(--border); }
75
+ .toc-list li::before { counter-increment: toc; content: counter(toc) ". "; font-weight: 600; }
76
+ .toc-list a { text-decoration: none; color: var(--primary); }
77
+ .toc-list a:hover { color: var(--accent); }
78
+
79
+ /* ========== DATA TABLE ========== */
80
+ .data-table { width: 100%; border-collapse: collapse; margin: 1em 0; font-size: 10pt; }
81
+ .data-table th { background: var(--primary); color: #fff; padding: 8px 12px;
82
+ text-align: left; font-weight: 600; }
83
+ .data-table td { padding: 8px 12px; border-bottom: 1px solid var(--border); }
84
+ .data-table tr:nth-child(even) { background: var(--bg-light); }
85
+ .data-table .highlight { background: rgba(233, 69, 96, 0.1); font-weight: 600; }
86
+
87
+ /* ========== MATRIX 2x2 ========== */
88
+ .matrix-2x2 { display: grid; grid-template-columns: 1fr 1fr; gap: 2px;
89
+ margin: 1em 0; border: 2px solid var(--border); }
90
+ .matrix-2x2 .cell { padding: 1.2em; }
91
+ .matrix-2x2 .cell-header { background: var(--primary); color: #fff; font-weight: 600;
92
+ text-align: center; padding: 0.6em; }
93
+ .matrix-2x2 .cell-tl { background: #e8f5e9; } /* Top-left: green */
94
+ .matrix-2x2 .cell-tr { background: #fff3e0; } /* Top-right: orange */
95
+ .matrix-2x2 .cell-bl { background: #e3f2fd; } /* Bottom-left: blue */
96
+ .matrix-2x2 .cell-br { background: #fce4ec; } /* Bottom-right: red */
97
+
98
+ /* ========== CALLOUT BOX ========== */
99
+ .callout { padding: 1em 1.2em; margin: 1em 0; border-radius: 6px; border-left: 4px solid; }
100
+ .callout-info { background: #e3f2fd; border-color: #2196f3; }
101
+ .callout-success { background: #e8f5e9; border-color: var(--success); }
102
+ .callout-warning { background: #fff3e0; border-color: var(--warning); }
103
+ .callout-danger { background: #fce4ec; border-color: var(--danger); }
104
+ .callout-title { font-weight: 700; margin-bottom: 0.3em; }
105
+
106
+ /* ========== PULL QUOTE ========== */
107
+ .pull-quote { font-size: 14pt; font-weight: 300; text-align: center;
108
+ padding: 1.5em 2em; margin: 1.5em 0; color: var(--accent);
109
+ border-top: 2px solid var(--accent); border-bottom: 2px solid var(--accent); }
110
+
111
+ /* ========== CHART CONTAINER ========== */
112
+ .chart-container { position: relative; margin: 1.5em 0; max-width: 100%; }
113
+ .chart-container canvas { max-width: 100%; }
114
+ .chart-container figcaption { font-size: 9pt; color: #666; text-align: center;
115
+ margin-top: 0.5em; font-style: italic; }
116
+
117
+ /* ========== SCORE / BADGE ========== */
118
+ .score-badge { display: inline-block; padding: 0.2em 0.8em; border-radius: 12px;
119
+ font-weight: 700; font-size: 10pt; }
120
+ .score-high { background: var(--success); color: #fff; }
121
+ .score-mid { background: var(--warning); color: #fff; }
122
+ .score-low { background: var(--danger); color: #fff; }
123
+
124
+ /* ========== PRINT ========== */
125
+ @media print {
126
+ @page { size: A4 portrait; margin: 20mm; }
127
+ body { font-size: 10pt; }
128
+ .report { max-width: none; padding: 0; }
129
+ .title-page { min-height: auto; page-break-after: always; }
130
+ .toc { page-break-after: always; }
131
+ .executive-summary { page-break-after: always; }
132
+ .appendix { page-break-before: always; }
133
+ .data-table, .chart-container, .matrix-2x2, .mermaid, figure {
134
+ page-break-inside: avoid;
135
+ }
136
+ h2, h3 { page-break-after: avoid; }
137
+ .callout { page-break-inside: avoid; }
138
+ a { color: inherit; text-decoration: none; }
139
+ canvas { max-width: 100% !important; height: auto !important; }
140
+ }
141
+ ```
142
+
143
+ ## Step 3 — Chart.js
144
+
145
+ ```javascript
146
+ // ========== BAR CHART (competitor comparison, scoring) ==========
147
+ new Chart(document.getElementById('chart-competitors'), {
148
+ type: 'bar',
149
+ data: {
150
+ labels: ['Competitor A', 'Competitor B', 'Competitor C', 'Our Product'],
151
+ datasets: [{
152
+ label: 'Threat Score',
153
+ data: [7.2, 7.3, 4.8, null],
154
+ backgroundColor: ['#e74c3c', '#e74c3c', '#f39c12', '#2ecc71'],
155
+ borderWidth: 0,
156
+ borderRadius: 4
157
+ }]
158
+ },
159
+ options: {
160
+ animation: false, responsive: true,
161
+ plugins: { legend: { display: false },
162
+ title: { display: true, text: 'Competitor Threat Score', font: { size: 14 } } },
163
+ scales: { y: { beginAtZero: true, max: 10, title: { display: true, text: 'Score' } } }
164
+ }
165
+ });
166
+
167
+ // ========== RADAR CHART (multi-criteria comparison) ==========
168
+ new Chart(document.getElementById('chart-radar'), {
169
+ type: 'radar',
170
+ data: {
171
+ labels: ['Functionality', 'Price', 'UX', 'Support', 'Ecosystem', 'Brand'],
172
+ datasets: [
173
+ { label: 'Our Product', data: [7, 8, 6, 5, 4, 3],
174
+ borderColor: '#0f3460', backgroundColor: 'rgba(15,52,96,0.1)', borderWidth: 2 },
175
+ { label: 'Market Leader', data: [9, 4, 8, 7, 9, 9],
176
+ borderColor: '#e94560', backgroundColor: 'rgba(233,69,96,0.1)', borderWidth: 2 }
177
+ ]
178
+ },
179
+ options: {
180
+ animation: false, responsive: true,
181
+ scales: { r: { beginAtZero: true, max: 10, ticks: { stepSize: 2 } } }
182
+ }
183
+ });
184
+
185
+ // ========== PIE / DOUGHNUT (shares, distribution) ==========
186
+ new Chart(document.getElementById('chart-share'), {
187
+ type: 'doughnut',
188
+ data: {
189
+ labels: ['Segment A', 'Segment B', 'Segment C', 'Others'],
190
+ datasets: [{ data: [35, 28, 22, 15],
191
+ backgroundColor: ['#1a1a2e', '#0f3460', '#e94560', '#ccc'],
192
+ borderWidth: 2, borderColor: '#fff' }]
193
+ },
194
+ options: {
195
+ animation: false, responsive: true,
196
+ plugins: { legend: { position: 'right' } }
197
+ }
198
+ });
199
+
200
+ // ========== LINE CHART (trends, retention curves) ==========
201
+ new Chart(document.getElementById('chart-retention'), {
202
+ type: 'line',
203
+ data: {
204
+ labels: ['M0', 'M1', 'M2', 'M3', 'M6', 'M12'],
205
+ datasets: [
206
+ { label: 'Jan Cohort', data: [100, 42, 31, 26, 20, 16],
207
+ borderColor: '#e94560', fill: false, tension: 0.3 },
208
+ { label: 'Mar Cohort', data: [100, 55, 44, 38, null, null],
209
+ borderColor: '#2ecc71', fill: false, tension: 0.3 }
210
+ ]
211
+ },
212
+ options: {
213
+ animation: false, responsive: true,
214
+ scales: { y: { beginAtZero: true, max: 100, title: { display: true, text: 'Retention %' } } }
215
+ }
216
+ });
217
+
218
+ // ========== SCATTER (2D positioning) ==========
219
+ new Chart(document.getElementById('chart-positioning'), {
220
+ type: 'scatter',
221
+ data: {
222
+ datasets: [
223
+ { label: 'Competitor A', data: [{ x: 8, y: 7 }], pointRadius: 10,
224
+ backgroundColor: '#e74c3c' },
225
+ { label: 'Our Product', data: [{ x: 5, y: 6 }], pointRadius: 12,
226
+ backgroundColor: '#2ecc71', pointStyle: 'star' }
227
+ ]
228
+ },
229
+ options: {
230
+ animation: false, responsive: true,
231
+ scales: {
232
+ x: { min: 0, max: 10, title: { display: true, text: 'Functionality' } },
233
+ y: { min: 0, max: 10, title: { display: true, text: 'Price' } }
234
+ }
235
+ }
236
+ });
237
+ ```
238
+
239
+ ## Step 4 — Mermaid
240
+
241
+ ```html
242
+ <!-- ========== FLOWCHART (processes, pipelines) ========== -->
243
+ <div class="mermaid">
244
+ flowchart TD
245
+ A[Awareness] --> B[Consideration]
246
+ B --> C[Decision]
247
+ C --> D[Purchase]
248
+ D --> E[Retention]
249
+ E --> F[Advocacy]
250
+ E -.->|churn| G[Exit]
251
+ style G fill:#fce4ec,stroke:#e74c3c
252
+ </div>
253
+
254
+ <!-- ========== MINDMAP (structure, hierarchy) ========== -->
255
+ <div class="mermaid">
256
+ mindmap
257
+ root((Growth Strategy))
258
+ Penetration
259
+ Upsell
260
+ Cross-sell
261
+ Market Development
262
+ CIS
263
+ Enterprise
264
+ Product Development
265
+ AI Module
266
+ Mobile App
267
+ Diversification
268
+ White-label
269
+ </div>
270
+
271
+ <!-- ========== QUADRANT CHART (2x2 matrices) ========== -->
272
+ <div class="mermaid">
273
+ quadrantChart
274
+ title Impact vs Effort
275
+ x-axis Low Effort --> High Effort
276
+ y-axis Low Impact --> High Impact
277
+ quadrant-1 Big Bets
278
+ quadrant-2 Quick Wins
279
+ quadrant-3 Fill-ins
280
+ quadrant-4 Avoid
281
+ Action A: [0.3, 0.8]
282
+ Action B: [0.7, 0.9]
283
+ Action C: [0.2, 0.3]
284
+ </div>
285
+ ```
286
+
287
+ ## Example — Executive Summary Section
288
+
289
+ ```html
290
+ <section class="executive-summary" id="executive-summary">
291
+ <h2>Executive Summary</h2>
292
+
293
+ <div class="pull-quote">
294
+ "The Russian EdTech market will reach $4.2B by 2027. The primary opportunity is
295
+ corporate training (28% CAGR), where competition is fragmented."
296
+ </div>
297
+
298
+ <h3>Key Takeaways</h3>
299
+ <div class="callout callout-success">
300
+ <div class="callout-title">✅ Main Insight</div>
301
+ <p>AI personalization of learning is an unoccupied niche. None of the 5 key competitors
302
+ offer adaptive learning paths at a ★★★ level.</p>
303
+ </div>
304
+
305
+ <table class="data-table">
306
+ <caption>Key Metrics Summary</caption>
307
+ <thead>
308
+ <tr><th scope="col">Metric</th><th scope="col">Value</th><th scope="col">Benchmark</th><th scope="col">Rating</th></tr>
309
+ </thead>
310
+ <tbody>
311
+ <tr><td>TAM</td><td>$4.2B</td><td>—</td>
312
+ <td><span class="score-badge score-high">Large</span></td></tr>
313
+ <tr><td>SOM (Year 1)</td><td>$180M</td><td>—</td>
314
+ <td><span class="score-badge score-mid">Medium</span></td></tr>
315
+ <tr><td>Main Threat</td><td>Yandex Praktikum</td><td>Score 7.6</td>
316
+ <td><span class="score-badge score-low">High</span></td></tr>
317
+ </tbody>
318
+ </table>
319
+
320
+ <figure class="chart-container" role="img" aria-label="Threat Score: Skillbox 7.2, Netology 6.8, Yandex 7.6, GeekBrains 4.1, Skyeng 5.3">
321
+ <canvas id="chart-exec-threats"></canvas>
322
+ <figcaption>Fig. 1 — Threat Score of key competitors</figcaption>
323
+ </figure>
324
+ </section>
325
+ ```
@@ -0,0 +1,17 @@
1
+ {
2
+ "name": "html-pdf-report-reference",
3
+ "display_name": "HTML/PDF Report Reference",
4
+ "description": "Generation of a self-contained HTML report for PDF printing — CSS print layout, Chart.js, Mermaid — reference (code & worked-example library)",
5
+ "default_prompt": "Use $html-pdf-report-reference when the task relates to the \"HTML/PDF Report Reference\" skill.",
6
+ "triggers": [
7
+ "html-pdf-report",
8
+ "HTML report",
9
+ "PDF report",
10
+ "report generation"
11
+ ],
12
+ "capabilities": [
13
+ "html-pdf-report-reference"
14
+ ],
15
+ "tools": [],
16
+ "implicit_invocation": true
17
+ }