code-ai-installer 2.1.0 → 2.2.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 (362) hide show
  1. package/dist/domainResolver.js +2 -2
  2. package/dist/index.js +4 -4
  3. package/dist/types.d.ts +1 -1
  4. package/domains/analytics/.agents/skills/ansoff-matrix/SKILL.md +300 -0
  5. package/domains/analytics/.agents/skills/ansoff-matrix/agents/claude.json +10 -0
  6. package/domains/analytics/.agents/skills/ansoff-matrix/agents/copilot.json +10 -0
  7. package/domains/analytics/.agents/skills/ansoff-matrix/agents/gemini.json +10 -0
  8. package/domains/analytics/.agents/skills/ansoff-matrix/agents/openai.yaml +8 -0
  9. package/domains/analytics/.agents/skills/ansoff-matrix/agents/qwen.json +10 -0
  10. package/domains/analytics/.agents/skills/ansoff-matrix/agents/skill.yaml +21 -0
  11. package/domains/analytics/.agents/skills/bcg-matrix/SKILL.md +329 -0
  12. package/domains/analytics/.agents/skills/bcg-matrix/agents/claude.json +10 -0
  13. package/domains/analytics/.agents/skills/bcg-matrix/agents/copilot.json +10 -0
  14. package/domains/analytics/.agents/skills/bcg-matrix/agents/gemini.json +10 -0
  15. package/domains/analytics/.agents/skills/bcg-matrix/agents/openai.yaml +8 -0
  16. package/domains/analytics/.agents/skills/bcg-matrix/agents/qwen.json +10 -0
  17. package/domains/analytics/.agents/skills/bcg-matrix/agents/skill.yaml +21 -0
  18. package/domains/analytics/.agents/skills/blue-ocean-strategy/SKILL.md +416 -0
  19. package/domains/analytics/.agents/skills/blue-ocean-strategy/agents/claude.json +10 -0
  20. package/domains/analytics/.agents/skills/blue-ocean-strategy/agents/copilot.json +10 -0
  21. package/domains/analytics/.agents/skills/blue-ocean-strategy/agents/gemini.json +10 -0
  22. package/domains/analytics/.agents/skills/blue-ocean-strategy/agents/openai.yaml +8 -0
  23. package/domains/analytics/.agents/skills/blue-ocean-strategy/agents/qwen.json +10 -0
  24. package/domains/analytics/.agents/skills/blue-ocean-strategy/agents/skill.yaml +21 -0
  25. package/domains/analytics/.agents/skills/board/SKILL.md +364 -0
  26. package/domains/analytics/.agents/skills/board/agents/claude.json +10 -0
  27. package/domains/analytics/.agents/skills/board/agents/copilot.json +10 -0
  28. package/domains/analytics/.agents/skills/board/agents/gemini.json +10 -0
  29. package/domains/analytics/.agents/skills/board/agents/openai.yaml +8 -0
  30. package/domains/analytics/.agents/skills/board/agents/qwen.json +10 -0
  31. package/domains/analytics/.agents/skills/board/agents/skill.yaml +20 -0
  32. package/domains/analytics/.agents/skills/cohort-analysis/SKILL.md +322 -0
  33. package/domains/analytics/.agents/skills/cohort-analysis/agents/claude.json +10 -0
  34. package/domains/analytics/.agents/skills/cohort-analysis/agents/copilot.json +10 -0
  35. package/domains/analytics/.agents/skills/cohort-analysis/agents/gemini.json +10 -0
  36. package/domains/analytics/.agents/skills/cohort-analysis/agents/openai.yaml +8 -0
  37. package/domains/analytics/.agents/skills/cohort-analysis/agents/qwen.json +10 -0
  38. package/domains/analytics/.agents/skills/cohort-analysis/agents/skill.yaml +21 -0
  39. package/domains/analytics/.agents/skills/competitive-analysis/SKILL.md +395 -0
  40. package/domains/analytics/.agents/skills/competitive-analysis/agents/claude.json +10 -0
  41. package/domains/analytics/.agents/skills/competitive-analysis/agents/copilot.json +10 -0
  42. package/domains/analytics/.agents/skills/competitive-analysis/agents/gemini.json +10 -0
  43. package/domains/analytics/.agents/skills/competitive-analysis/agents/openai.yaml +8 -0
  44. package/domains/analytics/.agents/skills/competitive-analysis/agents/qwen.json +10 -0
  45. package/domains/analytics/.agents/skills/competitive-analysis/agents/skill.yaml +21 -0
  46. package/domains/analytics/.agents/skills/customer-journey-mapping/SKILL.md +331 -0
  47. package/domains/analytics/.agents/skills/customer-journey-mapping/agents/claude.json +10 -0
  48. package/domains/analytics/.agents/skills/customer-journey-mapping/agents/copilot.json +10 -0
  49. package/domains/analytics/.agents/skills/customer-journey-mapping/agents/gemini.json +10 -0
  50. package/domains/analytics/.agents/skills/customer-journey-mapping/agents/openai.yaml +8 -0
  51. package/domains/analytics/.agents/skills/customer-journey-mapping/agents/qwen.json +10 -0
  52. package/domains/analytics/.agents/skills/customer-journey-mapping/agents/skill.yaml +21 -0
  53. package/domains/analytics/.agents/skills/gates/SKILL.md +366 -0
  54. package/domains/analytics/.agents/skills/gates/agents/claude.json +10 -0
  55. package/domains/analytics/.agents/skills/gates/agents/copilot.json +10 -0
  56. package/domains/analytics/.agents/skills/gates/agents/gemini.json +10 -0
  57. package/domains/analytics/.agents/skills/gates/agents/openai.yaml +8 -0
  58. package/domains/analytics/.agents/skills/gates/agents/qwen.json +10 -0
  59. package/domains/analytics/.agents/skills/gates/agents/skill.yaml +20 -0
  60. package/domains/analytics/.agents/skills/handoff/SKILL.md +370 -0
  61. package/domains/analytics/.agents/skills/handoff/agents/claude.json +10 -0
  62. package/domains/analytics/.agents/skills/handoff/agents/copilot.json +10 -0
  63. package/domains/analytics/.agents/skills/handoff/agents/gemini.json +10 -0
  64. package/domains/analytics/.agents/skills/handoff/agents/openai.yaml +8 -0
  65. package/domains/analytics/.agents/skills/handoff/agents/qwen.json +10 -0
  66. package/domains/analytics/.agents/skills/handoff/agents/skill.yaml +20 -0
  67. package/domains/analytics/.agents/skills/html-pdf-report/SKILL.md +565 -0
  68. package/domains/analytics/.agents/skills/html-pdf-report/agents/claude.json +12 -0
  69. package/domains/analytics/.agents/skills/html-pdf-report/agents/copilot.json +12 -0
  70. package/domains/analytics/.agents/skills/html-pdf-report/agents/gemini.json +12 -0
  71. package/domains/analytics/.agents/skills/html-pdf-report/agents/openai.yaml +8 -0
  72. package/domains/analytics/.agents/skills/html-pdf-report/agents/qwen.json +12 -0
  73. package/domains/analytics/.agents/skills/html-pdf-report/agents/skill.yaml +21 -0
  74. package/domains/analytics/.agents/skills/icp-buyer-persona/SKILL.md +390 -0
  75. package/domains/analytics/.agents/skills/icp-buyer-persona/agents/claude.json +10 -0
  76. package/domains/analytics/.agents/skills/icp-buyer-persona/agents/copilot.json +10 -0
  77. package/domains/analytics/.agents/skills/icp-buyer-persona/agents/gemini.json +10 -0
  78. package/domains/analytics/.agents/skills/icp-buyer-persona/agents/openai.yaml +8 -0
  79. package/domains/analytics/.agents/skills/icp-buyer-persona/agents/qwen.json +10 -0
  80. package/domains/analytics/.agents/skills/icp-buyer-persona/agents/skill.yaml +22 -0
  81. package/domains/analytics/.agents/skills/jtbd-analysis/SKILL.md +341 -0
  82. package/domains/analytics/.agents/skills/jtbd-analysis/agents/claude.json +10 -0
  83. package/domains/analytics/.agents/skills/jtbd-analysis/agents/copilot.json +10 -0
  84. package/domains/analytics/.agents/skills/jtbd-analysis/agents/gemini.json +10 -0
  85. package/domains/analytics/.agents/skills/jtbd-analysis/agents/openai.yaml +8 -0
  86. package/domains/analytics/.agents/skills/jtbd-analysis/agents/qwen.json +10 -0
  87. package/domains/analytics/.agents/skills/jtbd-analysis/agents/skill.yaml +21 -0
  88. package/domains/analytics/.agents/skills/pest-analysis/SKILL.md +305 -0
  89. package/domains/analytics/.agents/skills/pest-analysis/agents/claude.json +10 -0
  90. package/domains/analytics/.agents/skills/pest-analysis/agents/copilot.json +10 -0
  91. package/domains/analytics/.agents/skills/pest-analysis/agents/gemini.json +10 -0
  92. package/domains/analytics/.agents/skills/pest-analysis/agents/openai.yaml +8 -0
  93. package/domains/analytics/.agents/skills/pest-analysis/agents/qwen.json +10 -0
  94. package/domains/analytics/.agents/skills/pest-analysis/agents/skill.yaml +22 -0
  95. package/domains/analytics/.agents/skills/porters-five-forces/SKILL.md +361 -0
  96. package/domains/analytics/.agents/skills/porters-five-forces/agents/claude.json +10 -0
  97. package/domains/analytics/.agents/skills/porters-five-forces/agents/copilot.json +10 -0
  98. package/domains/analytics/.agents/skills/porters-five-forces/agents/gemini.json +10 -0
  99. package/domains/analytics/.agents/skills/porters-five-forces/agents/openai.yaml +8 -0
  100. package/domains/analytics/.agents/skills/porters-five-forces/agents/qwen.json +10 -0
  101. package/domains/analytics/.agents/skills/porters-five-forces/agents/skill.yaml +21 -0
  102. package/domains/analytics/.agents/skills/report-design/SKILL.md +398 -0
  103. package/domains/analytics/.agents/skills/report-design/agents/claude.json +12 -0
  104. package/domains/analytics/.agents/skills/report-design/agents/copilot.json +12 -0
  105. package/domains/analytics/.agents/skills/report-design/agents/gemini.json +12 -0
  106. package/domains/analytics/.agents/skills/report-design/agents/openai.yaml +8 -0
  107. package/domains/analytics/.agents/skills/report-design/agents/qwen.json +12 -0
  108. package/domains/analytics/.agents/skills/report-design/agents/skill.yaml +21 -0
  109. package/domains/analytics/.agents/skills/rfm-analysis/SKILL.md +314 -0
  110. package/domains/analytics/.agents/skills/rfm-analysis/agents/claude.json +10 -0
  111. package/domains/analytics/.agents/skills/rfm-analysis/agents/copilot.json +10 -0
  112. package/domains/analytics/.agents/skills/rfm-analysis/agents/gemini.json +10 -0
  113. package/domains/analytics/.agents/skills/rfm-analysis/agents/openai.yaml +8 -0
  114. package/domains/analytics/.agents/skills/rfm-analysis/agents/qwen.json +10 -0
  115. package/domains/analytics/.agents/skills/rfm-analysis/agents/skill.yaml +21 -0
  116. package/domains/analytics/.agents/skills/session-prompt-generator/SKILL.md +378 -0
  117. package/domains/analytics/.agents/skills/session-prompt-generator/agents/claude.json +10 -0
  118. package/domains/analytics/.agents/skills/session-prompt-generator/agents/copilot.json +10 -0
  119. package/domains/analytics/.agents/skills/session-prompt-generator/agents/gemini.json +10 -0
  120. package/domains/analytics/.agents/skills/session-prompt-generator/agents/openai.yaml +8 -0
  121. package/domains/analytics/.agents/skills/session-prompt-generator/agents/qwen.json +10 -0
  122. package/domains/analytics/.agents/skills/session-prompt-generator/agents/skill.yaml +20 -0
  123. package/domains/analytics/.agents/skills/swot-analysis/SKILL.md +324 -0
  124. package/domains/analytics/.agents/skills/swot-analysis/agents/claude.json +10 -0
  125. package/domains/analytics/.agents/skills/swot-analysis/agents/copilot.json +10 -0
  126. package/domains/analytics/.agents/skills/swot-analysis/agents/gemini.json +10 -0
  127. package/domains/analytics/.agents/skills/swot-analysis/agents/openai.yaml +8 -0
  128. package/domains/analytics/.agents/skills/swot-analysis/agents/qwen.json +10 -0
  129. package/domains/analytics/.agents/skills/swot-analysis/agents/skill.yaml +21 -0
  130. package/domains/analytics/.agents/skills/tam-sam-som/SKILL.md +312 -0
  131. package/domains/analytics/.agents/skills/tam-sam-som/agents/claude.json +10 -0
  132. package/domains/analytics/.agents/skills/tam-sam-som/agents/copilot.json +10 -0
  133. package/domains/analytics/.agents/skills/tam-sam-som/agents/gemini.json +10 -0
  134. package/domains/analytics/.agents/skills/tam-sam-som/agents/openai.yaml +8 -0
  135. package/domains/analytics/.agents/skills/tam-sam-som/agents/qwen.json +10 -0
  136. package/domains/analytics/.agents/skills/tam-sam-som/agents/skill.yaml +22 -0
  137. package/domains/analytics/.agents/skills/trend-analysis/SKILL.md +331 -0
  138. package/domains/analytics/.agents/skills/trend-analysis/agents/claude.json +10 -0
  139. package/domains/analytics/.agents/skills/trend-analysis/agents/copilot.json +10 -0
  140. package/domains/analytics/.agents/skills/trend-analysis/agents/gemini.json +10 -0
  141. package/domains/analytics/.agents/skills/trend-analysis/agents/openai.yaml +8 -0
  142. package/domains/analytics/.agents/skills/trend-analysis/agents/qwen.json +10 -0
  143. package/domains/analytics/.agents/skills/trend-analysis/agents/skill.yaml +21 -0
  144. package/domains/analytics/.agents/skills/unit-economics/SKILL.md +413 -0
  145. package/domains/analytics/.agents/skills/unit-economics/agents/claude.json +10 -0
  146. package/domains/analytics/.agents/skills/unit-economics/agents/copilot.json +10 -0
  147. package/domains/analytics/.agents/skills/unit-economics/agents/gemini.json +10 -0
  148. package/domains/analytics/.agents/skills/unit-economics/agents/openai.yaml +8 -0
  149. package/domains/analytics/.agents/skills/unit-economics/agents/qwen.json +10 -0
  150. package/domains/analytics/.agents/skills/unit-economics/agents/skill.yaml +22 -0
  151. package/domains/analytics/.agents/skills/value-chain-analysis/SKILL.md +330 -0
  152. package/domains/analytics/.agents/skills/value-chain-analysis/agents/claude.json +10 -0
  153. package/domains/analytics/.agents/skills/value-chain-analysis/agents/copilot.json +10 -0
  154. package/domains/analytics/.agents/skills/value-chain-analysis/agents/gemini.json +10 -0
  155. package/domains/analytics/.agents/skills/value-chain-analysis/agents/openai.yaml +8 -0
  156. package/domains/analytics/.agents/skills/value-chain-analysis/agents/qwen.json +10 -0
  157. package/domains/analytics/.agents/skills/value-chain-analysis/agents/skill.yaml +21 -0
  158. package/domains/analytics/.agents/skills/web-research/SKILL.md +308 -0
  159. package/domains/analytics/.agents/skills/web-research/agents/claude.json +10 -0
  160. package/domains/analytics/.agents/skills/web-research/agents/copilot.json +10 -0
  161. package/domains/analytics/.agents/skills/web-research/agents/gemini.json +10 -0
  162. package/domains/analytics/.agents/skills/web-research/agents/openai.yaml +8 -0
  163. package/domains/analytics/.agents/skills/web-research/agents/qwen.json +10 -0
  164. package/domains/analytics/.agents/skills/web-research/agents/skill.yaml +20 -0
  165. package/domains/analytics/.agents/workflows/analytics-pipeline-rules.md +288 -0
  166. package/domains/analytics/.agents/workflows/analyze.md +395 -0
  167. package/domains/analytics/.agents/workflows/quick-insight.md +282 -0
  168. package/domains/analytics/AGENTS.md +95 -0
  169. package/domains/analytics/AGENTS.yaml +62 -0
  170. package/domains/analytics/CONTEXT.md +25 -0
  171. package/domains/analytics/agents/conductor.md +447 -0
  172. package/domains/analytics/agents/data_analyst.md +426 -0
  173. package/domains/analytics/agents/designer.md +428 -0
  174. package/domains/analytics/agents/interviewer.md +466 -0
  175. package/domains/analytics/agents/layouter.md +348 -0
  176. package/domains/analytics/agents/mediator.md +476 -0
  177. package/domains/analytics/agents/orchestrator.claude.json +10 -0
  178. package/domains/analytics/agents/orchestrator.copilot.json +10 -0
  179. package/domains/analytics/agents/orchestrator.gemini.json +10 -0
  180. package/domains/analytics/agents/orchestrator.openai.yaml +8 -0
  181. package/domains/analytics/agents/orchestrator.qwen.json +10 -0
  182. package/domains/analytics/agents/researcher.md +430 -0
  183. package/domains/analytics/agents/strategist.md +433 -0
  184. package/domains/analytics/domain.json +5 -0
  185. package/domains/analytics/locales/en/.agents/skills/ansoff-matrix/SKILL.md +300 -0
  186. package/domains/analytics/locales/en/.agents/skills/ansoff-matrix/agents/claude.json +17 -0
  187. package/domains/analytics/locales/en/.agents/skills/ansoff-matrix/agents/copilot.json +17 -0
  188. package/domains/analytics/locales/en/.agents/skills/ansoff-matrix/agents/gemini.json +17 -0
  189. package/domains/analytics/locales/en/.agents/skills/ansoff-matrix/agents/openai.yaml +8 -0
  190. package/domains/analytics/locales/en/.agents/skills/ansoff-matrix/agents/qwen.json +17 -0
  191. package/domains/analytics/locales/en/.agents/skills/ansoff-matrix/agents/skill.yaml +25 -0
  192. package/domains/analytics/locales/en/.agents/skills/bcg-matrix/SKILL.md +329 -0
  193. package/domains/analytics/locales/en/.agents/skills/bcg-matrix/agents/claude.json +17 -0
  194. package/domains/analytics/locales/en/.agents/skills/bcg-matrix/agents/copilot.json +17 -0
  195. package/domains/analytics/locales/en/.agents/skills/bcg-matrix/agents/gemini.json +17 -0
  196. package/domains/analytics/locales/en/.agents/skills/bcg-matrix/agents/openai.yaml +8 -0
  197. package/domains/analytics/locales/en/.agents/skills/bcg-matrix/agents/qwen.json +17 -0
  198. package/domains/analytics/locales/en/.agents/skills/bcg-matrix/agents/skill.yaml +25 -0
  199. package/domains/analytics/locales/en/.agents/skills/blue-ocean-strategy/SKILL.md +416 -0
  200. package/domains/analytics/locales/en/.agents/skills/blue-ocean-strategy/agents/claude.json +16 -0
  201. package/domains/analytics/locales/en/.agents/skills/blue-ocean-strategy/agents/copilot.json +16 -0
  202. package/domains/analytics/locales/en/.agents/skills/blue-ocean-strategy/agents/gemini.json +16 -0
  203. package/domains/analytics/locales/en/.agents/skills/blue-ocean-strategy/agents/openai.yaml +8 -0
  204. package/domains/analytics/locales/en/.agents/skills/blue-ocean-strategy/agents/qwen.json +16 -0
  205. package/domains/analytics/locales/en/.agents/skills/blue-ocean-strategy/agents/skill.yaml +25 -0
  206. package/domains/analytics/locales/en/.agents/skills/board/SKILL.md +364 -0
  207. package/domains/analytics/locales/en/.agents/skills/board/agents/claude.json +16 -0
  208. package/domains/analytics/locales/en/.agents/skills/board/agents/copilot.json +16 -0
  209. package/domains/analytics/locales/en/.agents/skills/board/agents/gemini.json +16 -0
  210. package/domains/analytics/locales/en/.agents/skills/board/agents/openai.yaml +8 -0
  211. package/domains/analytics/locales/en/.agents/skills/board/agents/qwen.json +16 -0
  212. package/domains/analytics/locales/en/.agents/skills/board/agents/skill.yaml +22 -0
  213. package/domains/analytics/locales/en/.agents/skills/cohort-analysis/SKILL.md +322 -0
  214. package/domains/analytics/locales/en/.agents/skills/cohort-analysis/agents/claude.json +17 -0
  215. package/domains/analytics/locales/en/.agents/skills/cohort-analysis/agents/copilot.json +17 -0
  216. package/domains/analytics/locales/en/.agents/skills/cohort-analysis/agents/gemini.json +17 -0
  217. package/domains/analytics/locales/en/.agents/skills/cohort-analysis/agents/openai.yaml +8 -0
  218. package/domains/analytics/locales/en/.agents/skills/cohort-analysis/agents/qwen.json +17 -0
  219. package/domains/analytics/locales/en/.agents/skills/cohort-analysis/agents/skill.yaml +25 -0
  220. package/domains/analytics/locales/en/.agents/skills/competitive-analysis/SKILL.md +395 -0
  221. package/domains/analytics/locales/en/.agents/skills/competitive-analysis/agents/claude.json +17 -0
  222. package/domains/analytics/locales/en/.agents/skills/competitive-analysis/agents/copilot.json +17 -0
  223. package/domains/analytics/locales/en/.agents/skills/competitive-analysis/agents/gemini.json +17 -0
  224. package/domains/analytics/locales/en/.agents/skills/competitive-analysis/agents/openai.yaml +8 -0
  225. package/domains/analytics/locales/en/.agents/skills/competitive-analysis/agents/qwen.json +17 -0
  226. package/domains/analytics/locales/en/.agents/skills/competitive-analysis/agents/skill.yaml +25 -0
  227. package/domains/analytics/locales/en/.agents/skills/customer-journey-mapping/SKILL.md +331 -0
  228. package/domains/analytics/locales/en/.agents/skills/customer-journey-mapping/agents/claude.json +18 -0
  229. package/domains/analytics/locales/en/.agents/skills/customer-journey-mapping/agents/copilot.json +18 -0
  230. package/domains/analytics/locales/en/.agents/skills/customer-journey-mapping/agents/gemini.json +18 -0
  231. package/domains/analytics/locales/en/.agents/skills/customer-journey-mapping/agents/openai.yaml +8 -0
  232. package/domains/analytics/locales/en/.agents/skills/customer-journey-mapping/agents/qwen.json +18 -0
  233. package/domains/analytics/locales/en/.agents/skills/customer-journey-mapping/agents/skill.yaml +26 -0
  234. package/domains/analytics/locales/en/.agents/skills/gates/SKILL.md +366 -0
  235. package/domains/analytics/locales/en/.agents/skills/gates/agents/claude.json +16 -0
  236. package/domains/analytics/locales/en/.agents/skills/gates/agents/copilot.json +16 -0
  237. package/domains/analytics/locales/en/.agents/skills/gates/agents/gemini.json +16 -0
  238. package/domains/analytics/locales/en/.agents/skills/gates/agents/openai.yaml +8 -0
  239. package/domains/analytics/locales/en/.agents/skills/gates/agents/qwen.json +16 -0
  240. package/domains/analytics/locales/en/.agents/skills/gates/agents/skill.yaml +22 -0
  241. package/domains/analytics/locales/en/.agents/skills/handoff/SKILL.md +370 -0
  242. package/domains/analytics/locales/en/.agents/skills/handoff/agents/claude.json +16 -0
  243. package/domains/analytics/locales/en/.agents/skills/handoff/agents/copilot.json +16 -0
  244. package/domains/analytics/locales/en/.agents/skills/handoff/agents/gemini.json +16 -0
  245. package/domains/analytics/locales/en/.agents/skills/handoff/agents/openai.yaml +8 -0
  246. package/domains/analytics/locales/en/.agents/skills/handoff/agents/qwen.json +16 -0
  247. package/domains/analytics/locales/en/.agents/skills/handoff/agents/skill.yaml +22 -0
  248. package/domains/analytics/locales/en/.agents/skills/html-pdf-report/SKILL.md +565 -0
  249. package/domains/analytics/locales/en/.agents/skills/html-pdf-report/agents/claude.json +17 -0
  250. package/domains/analytics/locales/en/.agents/skills/html-pdf-report/agents/copilot.json +17 -0
  251. package/domains/analytics/locales/en/.agents/skills/html-pdf-report/agents/gemini.json +17 -0
  252. package/domains/analytics/locales/en/.agents/skills/html-pdf-report/agents/openai.yaml +8 -0
  253. package/domains/analytics/locales/en/.agents/skills/html-pdf-report/agents/qwen.json +17 -0
  254. package/domains/analytics/locales/en/.agents/skills/html-pdf-report/agents/skill.yaml +27 -0
  255. package/domains/analytics/locales/en/.agents/skills/icp-buyer-persona/SKILL.md +390 -0
  256. package/domains/analytics/locales/en/.agents/skills/icp-buyer-persona/agents/claude.json +17 -0
  257. package/domains/analytics/locales/en/.agents/skills/icp-buyer-persona/agents/copilot.json +17 -0
  258. package/domains/analytics/locales/en/.agents/skills/icp-buyer-persona/agents/gemini.json +17 -0
  259. package/domains/analytics/locales/en/.agents/skills/icp-buyer-persona/agents/openai.yaml +8 -0
  260. package/domains/analytics/locales/en/.agents/skills/icp-buyer-persona/agents/qwen.json +17 -0
  261. package/domains/analytics/locales/en/.agents/skills/icp-buyer-persona/agents/skill.yaml +26 -0
  262. package/domains/analytics/locales/en/.agents/skills/jtbd-analysis/SKILL.md +341 -0
  263. package/domains/analytics/locales/en/.agents/skills/jtbd-analysis/agents/claude.json +18 -0
  264. package/domains/analytics/locales/en/.agents/skills/jtbd-analysis/agents/copilot.json +18 -0
  265. package/domains/analytics/locales/en/.agents/skills/jtbd-analysis/agents/gemini.json +18 -0
  266. package/domains/analytics/locales/en/.agents/skills/jtbd-analysis/agents/openai.yaml +8 -0
  267. package/domains/analytics/locales/en/.agents/skills/jtbd-analysis/agents/qwen.json +18 -0
  268. package/domains/analytics/locales/en/.agents/skills/jtbd-analysis/agents/skill.yaml +26 -0
  269. package/domains/analytics/locales/en/.agents/skills/pest-analysis/SKILL.md +305 -0
  270. package/domains/analytics/locales/en/.agents/skills/pest-analysis/agents/claude.json +17 -0
  271. package/domains/analytics/locales/en/.agents/skills/pest-analysis/agents/copilot.json +17 -0
  272. package/domains/analytics/locales/en/.agents/skills/pest-analysis/agents/gemini.json +17 -0
  273. package/domains/analytics/locales/en/.agents/skills/pest-analysis/agents/openai.yaml +8 -0
  274. package/domains/analytics/locales/en/.agents/skills/pest-analysis/agents/qwen.json +17 -0
  275. package/domains/analytics/locales/en/.agents/skills/pest-analysis/agents/skill.yaml +29 -0
  276. package/domains/analytics/locales/en/.agents/skills/porters-five-forces/SKILL.md +361 -0
  277. package/domains/analytics/locales/en/.agents/skills/porters-five-forces/agents/claude.json +18 -0
  278. package/domains/analytics/locales/en/.agents/skills/porters-five-forces/agents/copilot.json +18 -0
  279. package/domains/analytics/locales/en/.agents/skills/porters-five-forces/agents/gemini.json +18 -0
  280. package/domains/analytics/locales/en/.agents/skills/porters-five-forces/agents/openai.yaml +8 -0
  281. package/domains/analytics/locales/en/.agents/skills/porters-five-forces/agents/qwen.json +18 -0
  282. package/domains/analytics/locales/en/.agents/skills/porters-five-forces/agents/skill.yaml +28 -0
  283. package/domains/analytics/locales/en/.agents/skills/report-design/SKILL.md +398 -0
  284. package/domains/analytics/locales/en/.agents/skills/report-design/agents/claude.json +16 -0
  285. package/domains/analytics/locales/en/.agents/skills/report-design/agents/copilot.json +16 -0
  286. package/domains/analytics/locales/en/.agents/skills/report-design/agents/gemini.json +16 -0
  287. package/domains/analytics/locales/en/.agents/skills/report-design/agents/openai.yaml +8 -0
  288. package/domains/analytics/locales/en/.agents/skills/report-design/agents/qwen.json +16 -0
  289. package/domains/analytics/locales/en/.agents/skills/report-design/agents/skill.yaml +25 -0
  290. package/domains/analytics/locales/en/.agents/skills/rfm-analysis/SKILL.md +314 -0
  291. package/domains/analytics/locales/en/.agents/skills/rfm-analysis/agents/claude.json +17 -0
  292. package/domains/analytics/locales/en/.agents/skills/rfm-analysis/agents/copilot.json +17 -0
  293. package/domains/analytics/locales/en/.agents/skills/rfm-analysis/agents/gemini.json +17 -0
  294. package/domains/analytics/locales/en/.agents/skills/rfm-analysis/agents/openai.yaml +8 -0
  295. package/domains/analytics/locales/en/.agents/skills/rfm-analysis/agents/qwen.json +17 -0
  296. package/domains/analytics/locales/en/.agents/skills/rfm-analysis/agents/skill.yaml +25 -0
  297. package/domains/analytics/locales/en/.agents/skills/session-prompt-generator/SKILL.md +378 -0
  298. package/domains/analytics/locales/en/.agents/skills/session-prompt-generator/agents/claude.json +16 -0
  299. package/domains/analytics/locales/en/.agents/skills/session-prompt-generator/agents/copilot.json +16 -0
  300. package/domains/analytics/locales/en/.agents/skills/session-prompt-generator/agents/gemini.json +16 -0
  301. package/domains/analytics/locales/en/.agents/skills/session-prompt-generator/agents/openai.yaml +8 -0
  302. package/domains/analytics/locales/en/.agents/skills/session-prompt-generator/agents/qwen.json +16 -0
  303. package/domains/analytics/locales/en/.agents/skills/session-prompt-generator/agents/skill.yaml +22 -0
  304. package/domains/analytics/locales/en/.agents/skills/swot-analysis/SKILL.md +324 -0
  305. package/domains/analytics/locales/en/.agents/skills/swot-analysis/agents/claude.json +17 -0
  306. package/domains/analytics/locales/en/.agents/skills/swot-analysis/agents/copilot.json +17 -0
  307. package/domains/analytics/locales/en/.agents/skills/swot-analysis/agents/gemini.json +17 -0
  308. package/domains/analytics/locales/en/.agents/skills/swot-analysis/agents/openai.yaml +8 -0
  309. package/domains/analytics/locales/en/.agents/skills/swot-analysis/agents/qwen.json +17 -0
  310. package/domains/analytics/locales/en/.agents/skills/swot-analysis/agents/skill.yaml +25 -0
  311. package/domains/analytics/locales/en/.agents/skills/tam-sam-som/SKILL.md +312 -0
  312. package/domains/analytics/locales/en/.agents/skills/tam-sam-som/agents/claude.json +19 -0
  313. package/domains/analytics/locales/en/.agents/skills/tam-sam-som/agents/copilot.json +19 -0
  314. package/domains/analytics/locales/en/.agents/skills/tam-sam-som/agents/gemini.json +19 -0
  315. package/domains/analytics/locales/en/.agents/skills/tam-sam-som/agents/openai.yaml +8 -0
  316. package/domains/analytics/locales/en/.agents/skills/tam-sam-som/agents/qwen.json +19 -0
  317. package/domains/analytics/locales/en/.agents/skills/tam-sam-som/agents/skill.yaml +27 -0
  318. package/domains/analytics/locales/en/.agents/skills/trend-analysis/SKILL.md +331 -0
  319. package/domains/analytics/locales/en/.agents/skills/trend-analysis/agents/claude.json +17 -0
  320. package/domains/analytics/locales/en/.agents/skills/trend-analysis/agents/copilot.json +17 -0
  321. package/domains/analytics/locales/en/.agents/skills/trend-analysis/agents/gemini.json +17 -0
  322. package/domains/analytics/locales/en/.agents/skills/trend-analysis/agents/openai.yaml +8 -0
  323. package/domains/analytics/locales/en/.agents/skills/trend-analysis/agents/qwen.json +17 -0
  324. package/domains/analytics/locales/en/.agents/skills/trend-analysis/agents/skill.yaml +25 -0
  325. package/domains/analytics/locales/en/.agents/skills/unit-economics/SKILL.md +413 -0
  326. package/domains/analytics/locales/en/.agents/skills/unit-economics/agents/claude.json +18 -0
  327. package/domains/analytics/locales/en/.agents/skills/unit-economics/agents/copilot.json +18 -0
  328. package/domains/analytics/locales/en/.agents/skills/unit-economics/agents/gemini.json +18 -0
  329. package/domains/analytics/locales/en/.agents/skills/unit-economics/agents/openai.yaml +8 -0
  330. package/domains/analytics/locales/en/.agents/skills/unit-economics/agents/qwen.json +18 -0
  331. package/domains/analytics/locales/en/.agents/skills/unit-economics/agents/skill.yaml +24 -0
  332. package/domains/analytics/locales/en/.agents/skills/value-chain-analysis/SKILL.md +350 -0
  333. package/domains/analytics/locales/en/.agents/skills/value-chain-analysis/agents/claude.json +16 -0
  334. package/domains/analytics/locales/en/.agents/skills/value-chain-analysis/agents/copilot.json +16 -0
  335. package/domains/analytics/locales/en/.agents/skills/value-chain-analysis/agents/gemini.json +16 -0
  336. package/domains/analytics/locales/en/.agents/skills/value-chain-analysis/agents/openai.yaml +8 -0
  337. package/domains/analytics/locales/en/.agents/skills/value-chain-analysis/agents/qwen.json +16 -0
  338. package/domains/analytics/locales/en/.agents/skills/value-chain-analysis/agents/skill.yaml +25 -0
  339. package/domains/analytics/locales/en/.agents/skills/web-research/SKILL.md +309 -0
  340. package/domains/analytics/locales/en/.agents/skills/web-research/agents/claude.json +16 -0
  341. package/domains/analytics/locales/en/.agents/skills/web-research/agents/copilot.json +16 -0
  342. package/domains/analytics/locales/en/.agents/skills/web-research/agents/gemini.json +16 -0
  343. package/domains/analytics/locales/en/.agents/skills/web-research/agents/openai.yaml +8 -0
  344. package/domains/analytics/locales/en/.agents/skills/web-research/agents/qwen.json +16 -0
  345. package/domains/analytics/locales/en/.agents/skills/web-research/agents/skill.yaml +22 -0
  346. package/domains/analytics/locales/en/.agents/workflows/analytics-pipeline-rules.md +288 -0
  347. package/domains/analytics/locales/en/.agents/workflows/analyze.md +395 -0
  348. package/domains/analytics/locales/en/.agents/workflows/quick-insight.md +282 -0
  349. package/domains/analytics/locales/en/AGENTS.md +95 -0
  350. package/domains/analytics/locales/en/AGENTS.yaml +62 -0
  351. package/domains/analytics/locales/en/CONTEXT.md +25 -0
  352. package/domains/analytics/locales/en/agents/conductor.md +430 -0
  353. package/domains/analytics/locales/en/agents/data_analyst.md +409 -0
  354. package/domains/analytics/locales/en/agents/designer.md +413 -0
  355. package/domains/analytics/locales/en/agents/interviewer.md +466 -0
  356. package/domains/analytics/locales/en/agents/layouter.md +348 -0
  357. package/domains/analytics/locales/en/agents/mediator.md +476 -0
  358. package/domains/analytics/locales/en/agents/researcher.md +430 -0
  359. package/domains/analytics/locales/en/agents/strategist.md +433 -0
  360. package/domains/analytics/locales/en/prompt-examples.md +17 -0
  361. package/domains/analytics/prompt-examples.md +17 -0
  362. package/package.json +2 -2
@@ -0,0 +1,565 @@
1
+ ---
2
+ name: html-pdf-report
3
+ description: Генерация self-contained HTML-отчёта для печати в PDF — CSS print layout, Chart.js, Mermaid
4
+ ---
5
+ # HTML/PDF-отчёт — Генерация self-contained HTML для печати в PDF
6
+
7
+ ## Когда использовать
8
+ - При реализации **финального аналитического отчёта** по Report Design Spec от Дизайнера.
9
+ - При создании **self-contained HTML-файла** с Chart.js, Mermaid и print-optimized CSS.
10
+ - При генерации **PDF-ready документа** через Print-to-PDF в браузере.
11
+ - При вёрстке **аналитических отчётов** с таблицами, матрицами, графиками и диаграммами.
12
+
13
+ ## Вход
14
+
15
+ | Поле | Обязательно | Описание |
16
+ |------|:-----------:|----------|
17
+ | Report Design Spec | ✅ | Структура секций, визуализации, emphasis levels |
18
+ | Executive Summary Draft | ✅ | Черновик от Дизайнера |
19
+ | Color Palette | ✅ | Цвета primary, secondary, accent и т.д. |
20
+ | Visualization Map | ✅ | Список визуализаций с типами и данными |
21
+ | Raw text отчётов | ✅ | Заключение Медиатора, Alpha/Beta Reports, Brief |
22
+ | Числовые данные для графиков | ✅ | Извлечённые из отчётов или предоставленные |
23
+
24
+ > Если обязательные поля не предоставлены — **запросить у пользователя** до начала работы. Не генерировать заглушки.
25
+
26
+ ## Источники данных
27
+ 1. Report Design Spec от Дизайнера — структура, визуализации, палитра.
28
+ 2. session-1 через session-4 handoff файлы — raw text для секций и приложений.
29
+
30
+ ### Связь с другими скилами
31
+ | Скил | Взаимодействие | Когда |
32
+ |------|----------------|-------|
33
+ | `$gates` (DS-01) | Макет и спецификации визуализаций — главный вход для вёрстки | Перед началом работы |
34
+ | `$handoff` | Session handoff файлы — raw text для секций отчёта | Загрузка контента |
35
+ | `$board` | Обновление статуса LY-01 при завершении | После генерации HTML |
36
+ | `$gates` (LY-01) | Валидация HTML перед Release Gate | После завершения |
37
+ | Фреймворк-скилы | Таблицы, матрицы, scoring-модели — визуализировать по Visualization Map | Для Chart.js / таблиц |
38
+
39
+ ## Протокол
40
+
41
+ ### Шаг 0 — Валидация входов
42
+ 1. Проверить наличие Report Design Spec (P0 BLOCKER если отсутствует).
43
+ 2. Проверить наличие всех raw text артефактов.
44
+ 3. Извлечь числовые данные для Chart.js из отчётов.
45
+ 4. Сопоставить Visualization Map с доступными данными.
46
+ 5. Если данные неполны — запросить у пользователя.
47
+
48
+ ### Шаг 1 — HTML Skeleton
49
+ 1. `<!DOCTYPE html>` с `lang="ru"`, `charset="UTF-8"`.
50
+ 2. CDN: Chart.js 4.x, Mermaid 10.x.
51
+ 3. `<style>` для всех CSS, `<script>` для Chart.js и Mermaid init.
52
+ 4. Структура body:
53
+
54
+ ```html
55
+ <div class="report">
56
+ <section class="title-page" id="title">...</section>
57
+ <nav class="toc" id="toc">...</nav>
58
+ <section class="executive-summary" id="executive-summary">...</section>
59
+ <section class="main-section" id="section-1">...</section>
60
+ <section class="main-section" id="section-2">...</section>
61
+ <section class="appendix" id="appendix-a">...</section>
62
+ </div>
63
+ ```
64
+
65
+ 5. Каждая секция — семантический HTML: `<section>`, `<article>`, `<figure>`, `<figcaption>`.
66
+ 6. Графики — `<figure>` с `<figcaption>` для accessibility и подписи.
67
+
68
+ ### Шаг 2 — CSS (Base + Print)
69
+
70
+ Полный рабочий CSS-блок:
71
+
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 (из палитры) ========== */
95
+ :root {
96
+ --primary: #1a1a2e; /* Заменить из 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
+ ```
186
+
187
+ > **Палитра:** заменить CSS variables из Design Spec. Все цвета — через `var(--name)`, чтобы палитра менялась в одном месте.
188
+
189
+ ### Шаг 3 — Chart.js
190
+
191
+ Для каждого графика из Visualization Map:
192
+ 1. `<figure class="chart-container">` → `<canvas id="chart-N">` → `<figcaption>`.
193
+ 2. Config: `animation: false`, `responsive: true`, палитра из CSS variables.
194
+
195
+ **Конфигурации по типам:**
196
+
197
+ ```javascript
198
+ // ========== BAR CHART (сравнение конкурентов, scoring) ==========
199
+ new Chart(document.getElementById('chart-competitors'), {
200
+ type: 'bar',
201
+ data: {
202
+ labels: ['Конкурент A', 'Конкурент B', 'Конкурент C', 'Наш продукт'],
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: 'Threat Score конкурентов', font: { size: 14 } } },
215
+ scales: { y: { beginAtZero: true, max: 10, title: { display: true, text: 'Score' } } }
216
+ }
217
+ });
218
+
219
+ // ========== RADAR CHART (мультикритериальное сравнение) ==========
220
+ new Chart(document.getElementById('chart-radar'), {
221
+ type: 'radar',
222
+ data: {
223
+ labels: ['Функционал', 'Цена', 'UX', 'Поддержка', 'Экосистема', 'Бренд'],
224
+ datasets: [
225
+ { label: 'Наш продукт', data: [7, 8, 6, 5, 4, 3],
226
+ borderColor: '#0f3460', backgroundColor: 'rgba(15,52,96,0.1)', borderWidth: 2 },
227
+ { label: 'Лидер рынка', 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 (доли, распределение) ==========
238
+ new Chart(document.getElementById('chart-share'), {
239
+ type: 'doughnut',
240
+ data: {
241
+ labels: ['Сегмент A', 'Сегмент B', 'Сегмент C', 'Прочие'],
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 (тренды, 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: 'Когорта Янв', data: [100, 42, 31, 26, 20, 16],
259
+ borderColor: '#e94560', fill: false, tension: 0.3 },
260
+ { label: 'Когорта Мар', 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) ==========
271
+ new Chart(document.getElementById('chart-positioning'), {
272
+ type: 'scatter',
273
+ data: {
274
+ datasets: [
275
+ { label: 'Конкурент A', data: [{ x: 8, y: 7 }], pointRadius: 10,
276
+ backgroundColor: '#e74c3c' },
277
+ { label: 'Наш продукт', 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: 'Функционал' } },
285
+ y: { min: 0, max: 10, title: { display: true, text: 'Цена' } }
286
+ }
287
+ }
288
+ });
289
+ ```
290
+
291
+ ### Шаг 4 — Mermaid
292
+
293
+ ```javascript
294
+ mermaid.initialize({ startOnLoad: true, theme: 'neutral', securityLevel: 'loose' });
295
+ ```
296
+
297
+ **Диаграммы по типам:**
298
+
299
+ ```html
300
+ <!-- ========== FLOWCHART (процессы, пайплайны) ========== -->
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 (структура, иерархия) ========== -->
313
+ <div class="mermaid">
314
+ mindmap
315
+ root((Стратегия роста))
316
+ Проникновение
317
+ Upsell
318
+ Cross-sell
319
+ Развитие рынка
320
+ СНГ
321
+ Enterprise
322
+ Развитие продукта
323
+ AI-модуль
324
+ Mobile app
325
+ Диверсификация
326
+ White-label
327
+ </div>
328
+
329
+ <!-- ========== QUADRANT CHART (матрицы 2x2) ========== -->
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
+ ```
344
+
345
+ > Каждая Mermaid-диаграмма оборачивается в `<figure>` с `<figcaption>` и `page-break-inside: avoid`.
346
+
347
+ ### Шаг 5 — Компоненты (HTML-фрагменты)
348
+
349
+ **Data Table:**
350
+ ```html
351
+ <table class="data-table">
352
+ <thead>
353
+ <tr><th>Конкурент</th><th>Score</th><th>Ранг</th></tr>
354
+ </thead>
355
+ <tbody>
356
+ <tr><td>Компания A</td><td>7.6</td>
357
+ <td><span class="score-badge score-high">High</span></td></tr>
358
+ <tr class="highlight"><td><strong>Наш продукт</strong></td><td>6.2</td>
359
+ <td><span class="score-badge score-mid">Medium</span></td></tr>
360
+ </tbody>
361
+ </table>
362
+ ```
363
+
364
+ **Matrix 2×2:**
365
+ ```html
366
+ <div class="matrix-2x2">
367
+ <div class="cell-header">Высокая доля</div>
368
+ <div class="cell-header">Низкая доля</div>
369
+ <div class="cell cell-tl">
370
+ <h4>★ Звёзды</h4>
371
+ <p>Продукт A ($30M, рост 18%)</p>
372
+ </div>
373
+ <div class="cell cell-tr">
374
+ <h4>? Вопросительные Знаки</h4>
375
+ <p>Продукт C ($10M, рост 35%)</p>
376
+ </div>
377
+ <div class="cell cell-bl">
378
+ <h4>$ Дойные Коровы</h4>
379
+ <p>Продукт B ($45M, рост 3%)</p>
380
+ </div>
381
+ <div class="cell cell-br">
382
+ <h4>✕ Собаки</h4>
383
+ <p>Продукт D ($5M, рост 1%)</p>
384
+ </div>
385
+ </div>
386
+ ```
387
+
388
+ **Callout Box:**
389
+ ```html
390
+ <div class="callout callout-warning">
391
+ <div class="callout-title">⚠️ Ключевой риск</div>
392
+ <p>TAM рынка оценён на основе 2 источников (вместо 3). Данные помечены как Estimated.</p>
393
+ </div>
394
+ ```
395
+
396
+ **Pull Quote:**
397
+ ```html
398
+ <div class="pull-quote">
399
+ «AI-first CRM для малого бизнеса — единственная незанятая позиция на рынке»
400
+ </div>
401
+ ```
402
+
403
+ ### Шаг 6 — TOC (Table of Contents)
404
+
405
+ ```html
406
+ <nav class="toc" id="toc">
407
+ <h2>Содержание</h2>
408
+ <ol class="toc-list">
409
+ <li><a href="#executive-summary">Executive Summary</a></li>
410
+ <li><a href="#section-1">Анализ рынка</a></li>
411
+ <li><a href="#section-2">Конкурентный ландшафт</a></li>
412
+ <li><a href="#section-3">Стратегические рекомендации</a></li>
413
+ <li><a href="#appendix-a">Приложение A — Research Brief</a></li>
414
+ <li><a href="#appendix-b">Приложение B — Данные Аналитиков</a></li>
415
+ <li><a href="#appendix-c">Приложение C — Данные Критиков</a></li>
416
+ <li><a href="#appendix-d">Приложение D — Источники</a></li>
417
+ </ol>
418
+ </nav>
419
+ ```
420
+
421
+ ### Шаг 7 — Accessibility
422
+
423
+ 1. Все `<img>` и `<canvas>` — с `alt` / `aria-label`:
424
+ ```html
425
+ <figure class="chart-container" role="img" aria-label="Threat Score конкурентов: A=7.2, B=7.3, C=4.8">
426
+ <canvas id="chart-competitors"></canvas>
427
+ <figcaption>Рис. 1 — Threat Score конкурентов (шкала 1-10)</figcaption>
428
+ </figure>
429
+ ```
430
+ 2. Таблицы — `<caption>` и `scope="col"` / `scope="row"` для `<th>`.
431
+ 3. Цветовая кодировка — не единственный способ передачи информации (+ текстовые метки, иконки).
432
+ 4. Контраст: текст на фоне ≥ 4.5:1 (WCAG AA).
433
+
434
+ ### Шаг 8 — Assembly и тестирование
435
+
436
+ 1. Собрать все компоненты в единый HTML.
437
+ 2. Проверить: все id уникальны, все canvas имеют конфигурацию, TOC якоря работают.
438
+ 3. **Протокол тестирования PDF:**
439
+
440
+ | # | Проверка | Как тестировать | Типичная проблема |
441
+ |---|----------|-----------------|-------------------|
442
+ | 1 | Открыть в Chrome/Edge | Файл → Открыть файл | Mermaid не рендерится → проверить CDN |
443
+ | 2 | Ctrl+P → Preview | Проверить layout | Графики обрезаны → уменьшить canvas |
444
+ | 3 | Все графики видны | Скроллить preview | Пустой canvas → `animation: false` |
445
+ | 4 | Page breaks корректны | Каждая appendix на новой странице | Сливается → `page-break-before: always` |
446
+ | 5 | Таблицы не разрезаны | Таблицы целиком на странице | Разрез → `page-break-inside: avoid` |
447
+ | 6 | TOC якоря кликабельны | Нажать ссылки в TOC | Не работает → проверить id |
448
+ | 7 | Background graphics | Включить в настройках печати | Цвета пропали → «Background graphics: ON» |
449
+ | 8 | Текст читаем | Проверить font-size в print | Мелко → увеличить `@media print` font-size |
450
+
451
+ > **Инструкция для пользователя:** Chrome/Edge → Ctrl+P → Destination: Save as PDF → Layout: Portrait → Paper: A4 → Margins: Default → **Background graphics: ON** → Save.
452
+
453
+ ## Пример — Секция Executive Summary
454
+
455
+ ```html
456
+ <section class="executive-summary" id="executive-summary">
457
+ <h2>Executive Summary</h2>
458
+
459
+ <div class="pull-quote">
460
+ «Рынок EdTech РФ достигнет $4.2B к 2027. Основная возможность —
461
+ корпоративное обучение (CAGR 28%), где конкуренция фрагментирована.»
462
+ </div>
463
+
464
+ <h3>Ключевые выводы</h3>
465
+ <div class="callout callout-success">
466
+ <div class="callout-title">✅ Главный инсайт</div>
467
+ <p>AI-персонализация обучения — незанятая ниша. Ни один из 5 ключевых конкурентов
468
+ не предлагает адаптивные траектории на уровне ★★★.</p>
469
+ </div>
470
+
471
+ <table class="data-table">
472
+ <caption>Сводка по ключевым метрикам</caption>
473
+ <thead>
474
+ <tr><th scope="col">Метрика</th><th scope="col">Значение</th><th scope="col">Бенчмарк</th><th scope="col">Оценка</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">Крупный</span></td></tr>
479
+ <tr><td>SOM (Year 1)</td><td>$180M</td><td>—</td>
480
+ <td><span class="score-badge score-mid">Средний</span></td></tr>
481
+ <tr><td>Главная угроза</td><td>Яндекс Практикум</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, Нетология 6.8, Яндекс 7.6, GeekBrains 4.1, Skyeng 5.3">
487
+ <canvas id="chart-exec-threats"></canvas>
488
+ <figcaption>Рис. 1 — Threat Score ключевых конкурентов</figcaption>
489
+ </figure>
490
+ </section>
491
+ ```
492
+
493
+ ## Валидация (Quality Gate)
494
+
495
+ - [ ] HTML self-contained (нет внешних CSS/JS кроме CDN для Chart.js и Mermaid)
496
+ - [ ] Все секции из Design Spec реализованы
497
+ - [ ] Все визуализации из Visualization Map присутствуют
498
+ - [ ] CSS variables соответствуют палитре из Design Spec
499
+ - [ ] TOC якоря работают (каждый `<a href="#id">` → `<section id="id">`)
500
+ - [ ] `@media print` корректен (A4, 20mm, page breaks)
501
+ - [ ] Chart.js: `animation: false`, `responsive: true` на каждом графике
502
+ - [ ] Mermaid: `startOnLoad: true`, `theme: 'neutral'`
503
+ - [ ] HTML валиден (нет дублированных id, незакрытых тегов)
504
+ - [ ] Accessibility: `alt` / `aria-label` на графиках, `caption` на таблицах, контраст ≥ 4.5:1
505
+ - [ ] Протокол тестирования PDF пройден (8 проверок)
506
+ - [ ] Print preview: все графики видны, page breaks корректны, таблицы не разрезаны
507
+
508
+ ## Handoff
509
+ Результат передаётся:
510
+ - **Пользователь** — открыть в браузере → Ctrl+P → Save as PDF (инструкция в отчёте).
511
+ - **`$gates` (RG-01)** — Release Gate: финальная проверка перед публикацией.
512
+ - **`$board`** — обновить LY-01 → `[✓]`.
513
+
514
+ Формат передачи: `report.html` (единый файл) + инструкция по печати в PDF.
515
+
516
+ ## Anti-patterns
517
+
518
+ | Ошибка | Почему плохо | Как правильно |
519
+ |--------|-------------|---------------|
520
+ | Внешние CSS-фреймворки (Bootstrap и т.д.) | Не работает offline, лишний вес | Только inline CSS |
521
+ | `animation: true` | Пустые графики в PDF (canvas не отрисован) | Всегда `animation: false` |
522
+ | Fixed canvas size (`width="600"`) | Не масштабируется при печати | `responsive: true`, размер через CSS |
523
+ | Пропуск page breaks | Секции сливаются, таблицы разрезаны | `page-break-before/after/inside` по протоколу |
524
+ | Broken TOC anchors | Навигация сломана | Уникальные id на каждой секции, проверить все ссылки |
525
+ | Цвета хардкодом | Палитра не меняется из одного места | CSS variables: `var(--primary)`, `var(--accent)` |
526
+ | Нет `<figcaption>` на графиках | Непонятно, что показывает график | `<figure>` + `<figcaption>` + `aria-label` |
527
+ | Нет fallback для Mermaid | Если JS не загрузился — пустое место | `<noscript>` с текстовым описанием диаграммы |
528
+ | Не включён Background graphics | Цвета, фоны таблиц пропадают в PDF | Инструкция пользователю: Background graphics: ON |
529
+
530
+ ## Шаблон вывода
531
+
532
+ ```
533
+ ## HTML Report: [Название]
534
+ **Файл:** docs/analytics/report.html
535
+ **Размер:** ~XXX KB
536
+ **Секций:** N основных + N приложений
537
+ **Дата:** [YYYY-MM-DD]
538
+
539
+ ### Компоненты
540
+ | Тип | Количество | ID |
541
+ |-----|:----------:|-----|
542
+ | Chart.js (bar, radar, etc.) | N | chart-1, chart-2, ... |
543
+ | Mermaid (flowchart, mindmap) | N | — (auto) |
544
+ | Data Tables | N | — |
545
+ | Matrices 2×2 | N | — |
546
+ | Callout Boxes | N | — |
547
+ | Pull Quotes | N | — |
548
+
549
+ ### Палитра
550
+ | Variable | Hex | Использование |
551
+ |----------|-----|---------------|
552
+ | --primary | #XXXXXX | Заголовки, таблицы |
553
+ | --accent | #XXXXXX | Акценты, ссылки |
554
+ | --highlight | #XXXXXX | Ключевые метрики |
555
+
556
+ ### Протокол тестирования
557
+ - [ ] Chrome/Edge открывает без ошибок
558
+ - [ ] Все графики отрисованы (не пустые)
559
+ - [ ] Ctrl+P → preview корректный
560
+ - [ ] Page breaks на местах
561
+ - [ ] Background graphics: ON
562
+
563
+ ### Инструкция для PDF
564
+ Chrome/Edge → Ctrl+P → Save as PDF → Portrait → A4 → Default margins → **Background graphics: ON** → Save
565
+ ```
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "html-pdf-report",
3
+ "display_name": "HTML/PDF-отчёт",
4
+ "description": "Генерация self-contained HTML-отчёта для печати в PDF — CSS print layout, Chart.js, Mermaid",
5
+ "default_prompt": "Используй $html-pdf-report, когда задача относится к навыку \"HTML/PDF-отчёт\".",
6
+ "triggers": ["html-pdf-report", "HTML отчёт", "PDF отчёт", "генерация отчёта"],
7
+ "capabilities": [
8
+ "html-pdf-report"
9
+ ],
10
+ "tools": [],
11
+ "implicit_invocation": true
12
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "html-pdf-report",
3
+ "display_name": "HTML/PDF-отчёт",
4
+ "description": "Генерация self-contained HTML-отчёта для печати в PDF — CSS print layout, Chart.js, Mermaid",
5
+ "default_prompt": "Используй $html-pdf-report, когда задача относится к навыку \"HTML/PDF-отчёт\".",
6
+ "triggers": ["html-pdf-report", "HTML отчёт", "PDF отчёт", "генерация отчёта"],
7
+ "capabilities": [
8
+ "html-pdf-report"
9
+ ],
10
+ "tools": [],
11
+ "implicit_invocation": true
12
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "html-pdf-report",
3
+ "display_name": "HTML/PDF-отчёт",
4
+ "description": "Генерация self-contained HTML-отчёта для печати в PDF — CSS print layout, Chart.js, Mermaid",
5
+ "default_prompt": "Используй $html-pdf-report, когда задача относится к навыку \"HTML/PDF-отчёт\".",
6
+ "triggers": ["html-pdf-report", "HTML отчёт", "PDF отчёт", "генерация отчёта"],
7
+ "capabilities": [
8
+ "html-pdf-report"
9
+ ],
10
+ "tools": [],
11
+ "implicit_invocation": true
12
+ }
@@ -0,0 +1,8 @@
1
+ interface:
2
+ display_name: "HTML/PDF-отчёт"
3
+ short_description: "Генерация self-contained HTML-отчёта для печати в PDF — CSS print layout, Chart.js, Mermaid"
4
+ default_prompt: "Используй $html-pdf-report, когда задача относится к навыку \"HTML/PDF-отчёт\"."
5
+ dependencies:
6
+ tools: []
7
+ policy:
8
+ allow_implicit_invocation: true
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "html-pdf-report",
3
+ "display_name": "HTML/PDF-отчёт",
4
+ "description": "Генерация self-contained HTML-отчёта для печати в PDF — CSS print layout, Chart.js, Mermaid",
5
+ "default_prompt": "Используй $html-pdf-report, когда задача относится к навыку \"HTML/PDF-отчёт\".",
6
+ "triggers": ["html-pdf-report", "HTML отчёт", "PDF отчёт", "генерация отчёта"],
7
+ "capabilities": [
8
+ "html-pdf-report"
9
+ ],
10
+ "tools": [],
11
+ "implicit_invocation": true
12
+ }
@@ -0,0 +1,21 @@
1
+ version: 1
2
+ name: "html-pdf-report"
3
+ display_name: "HTML/PDF-отчёт"
4
+ description: "Генерация self-contained HTML-отчёта для печати в PDF — CSS print layout, Chart.js, Mermaid"
5
+ default_prompt: "Используй $html-pdf-report, когда задача относится к навыку \"HTML/PDF-отчёт\"."
6
+ triggers:
7
+ - "html-pdf-report"
8
+ - "HTML отчёт"
9
+ - "PDF отчёт"
10
+ - "генерация отчёта"
11
+ capabilities:
12
+ - "html-pdf-report"
13
+ tools: []
14
+ invocation:
15
+ explicit: true
16
+ implicit: true
17
+ localization:
18
+ default_locale: "ru"
19
+ available_locales:
20
+ - "ru"
21
+ - "en"