code-ai-installer 4.0.0 → 4.0.1-a

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 +36 -0
  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 +8 -0
  65. package/dist/mcp_setup.js +4 -1
  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,312 +1,329 @@
1
- ---
2
- name: tam-sam-som
3
- description: Market size estimation — total, serviceable, and obtainable market volume
4
- ---
5
- # TAM/SAM/SOM — Market Size Estimation
6
-
7
- ## When to use
8
- - When entering a new market or launching a new product — to justify the potential.
9
- - When preparing investment materials (pitch deck, business plan) — investors require market size.
10
- - During strategic planning — choosing between markets, verticals, or geographies.
11
- - When reviewing strategy — if the market has changed (regulation, technologies, competition).
12
-
13
- ## Input
14
-
15
- | Field | Required | Description |
16
- |------|:-----------:|----------|
17
- | Product / service | ✅ | What exactly is being offered to the market |
18
- | Target geography | ✅ | Countries / regions for estimation |
19
- | Business model | ✅ | B2B / B2C / B2B2C / SaaS / Marketplace, etc. |
20
- | Pricing model | ✅ | Subscription / transaction / license / freemium |
21
- | Average Check (ACV) | ⬚ | If known; otherwise it will be estimated |
22
- | Target segments | | If already defined (company size, industry, demographics) |
23
- | Competitors | ⬚ | Known players on the market |
24
- | Forecast horizon | ⬚ | For how many years (default — 3-5 years) |
25
-
26
- > If mandatory fields are not provided **ask the user** before starting the analysis. Do not invent.
27
-
28
- ## Data Sources
29
- 1. **Web Search** — industry reports (Statista, Grand View Research, Mordor Intelligence, IBISWorld, McKinsey, Gartner).
30
- 2. **Financial data** — public reporting of competitors (SEC filings, annual reports).
31
- 3. **Statistical databases** — government statistical data (Rosstat, Eurostat, Census Bureau, World Bank).
32
- 4. **Industry associations** field-specific associations, chambers of commerce.
33
- 5. **Data from user** — internal analytics, CRM, current sales.
34
-
35
- > Provide source and date for every number. Data older than 24 months — mark with ⚠️ and verify via `web-research`. Extrapolations — mark as 🔮 Assumed.
36
-
37
- ### Connection with other skills
38
- | Skill | What we take | When to call |
39
- |------|-----------|----------------|
40
- | `web-research` | Industry reports, market sizes, CAGR (steps 2-4) | Main tool call for each level of the funnel |
41
- | `pest-analysis` | Macro limitations on TAM: regulatory, economic (step 3) | If regulation or macro environment restricts the market |
42
- | `competitive-analysis` | Competitors' shares to justify SOM capture rate (step 4) | If the competitive market structure is unknown |
43
- | `icp-buyer-persona` | SAM filters: ICP defines the target segment (step 3) | If target segments are not defined |
44
- | `ansoff-matrix` | New market TAM for Market Development and Diversification strategies | After calculation — to evaluate growth strategies |
45
- | `blue-ocean-strategy` | TAM of new market space (noncustomers) | If the core market is small — evaluate Blue Ocean TAM |
46
-
47
- ## Protocol
48
-
49
- ### Step 0Collect Context
50
- 1. Check that all mandatory inputs are provided. If something is missing — ask the user.
51
- 2. Determine the unit of measurement (USD, EUR, RUB) and time horizon.
52
- 3. Clearly state the problem the product solves.
53
- 4. Define the market category (industry → subcategory → niche).
54
- 5. Outline the market boundaries: what is included, what is excluded.
55
-
56
- ### Step 1 — TAM (Total Addressable Market)
57
- Estimate using **two methods** for cross-validation:
58
-
59
- **Top-down:**
60
- 1. Find the total industry volume (from industry reports).
61
- 2. Apply filter for the product category.
62
- 3. Apply geographical filter.
63
- 4. Record: source, year, report methodology.
64
-
65
- **Bottom-up:**
66
- 1. Determine the total number of potential customers in the category.
67
- 2. Multiply by the average check (ACV) × purchase frequency per year.
68
- 3. `TAM (bottom-up) = Number of customers × ACV × Frequency`.
69
- 4. Record: data source for number of customers, justification for ACV.
70
-
71
- **Cross-check:**
72
-
73
- | Condition | Action |
74
- |---------|----------|
75
- | Variance < 30% | Use the average. Normal discrepancy |
76
- | Variance 30-100% | Investigate reason. Record both figures, justify choice of the final one |
77
- | Variance > 100% | 🔴 Problem: redefine market boundaries or sources. Do not average — find the error |
78
-
79
- ### Step 2 — SAM (Serviceable Addressable Market)
80
- Apply filters to TAM:
81
-
82
- | # | Filter | Description | Multiplier | Justification | Source |
83
- |---|--------|----------|:---------:|-------------|----------|
84
- | 1 | Geography | Where we actually operate | ×XX% | [Why] | [Source] |
85
- | 2 | Segment | B2B: size, industry; B2C: demographics | ×XX% | [Why] | [Source] |
86
- | 3 | Regulation | Licenses, certifications, bans | ×XX% | [Why] | [Source] |
87
- | 4 | Technologies | Language, platform, integrations | ×XX% | [Why] | [Source] |
88
-
89
- `SAM = TAM × Filter₁ × Filter₂ × ... × FilterN`
90
-
91
- > If `$icp-buyer-persona` exists — use ICP criteria as SAM filters (ideal + acceptable).
92
-
93
- ### Step 3 SOM (Serviceable Obtainable Market)
94
- Determine a realistic share of SAM:
95
-
96
- 1. Estimate the capture rate:
97
-
98
- | Stage | Typical capture rate | Justification |
99
- |--------|:---------------------:|-------------|
100
- | Pre-product (idea) | 0.5-1% | No product, no customers |
101
- | Startup (MVP, <$1M ARR) | 1-3% | First customers, seeking PMF |
102
- | Growing ($1M-10M ARR) | 3-5% | PMF found, scaling |
103
- | Mature (>$10M ARR) | 5-15% | Established brand and channels |
104
- | Market leader | 15-30% | Dominant position |
105
-
106
- 2. Factor in competitive intensity:
107
- - If `$competitive-analysis` exists — use competitors' market shares for justification.
108
- - If notevaluate based on the number and size of players.
109
-
110
- 3. `SOM = SAM × Capture Rate`.
111
- 4. Calculate for 3 horizons: year 1, year 3, year 5.
112
-
113
- ### Step 4 Sensitivity Analysis
114
- Estimate how SOM changes when varying key parameters:
115
-
116
- | Parameter | Variation | Effect on SOM |
117
- |----------|:--------:|:--------------:|
118
- | ACV | ±20% | SOM ±20% |
119
- | Capture rate | ±50% | SOM ±50% |
120
- | Target segment size | ±30% | SAM/SOM ±30% |
121
-
122
- 3 scenarios:
123
-
124
- | Scenario | TAM | SAM | SOM (year 3) | Key Assumption |
125
- |----------|:---:|:---:|:-----------:|---------------------|
126
- | Optimistic | $XB | $XM | $XM | [What must come true] |
127
- | Base | $XB | $XM | $XM | [Current trends] |
128
- | Pessimistic | $XB | $XM | $XM | [What might go wrong] |
129
-
130
- ### Step 5Dynamics and Growth (YoY)
131
- 1. Determine the market's CAGR (historical + forecast).
132
- 2. Growth drivers: technologies, regulation, consumer behavior.
133
- 3. Hindrance factors: saturation, substitution, crises.
134
- 4. Forecast TAM/SAM/SOM for the 3-5 year horizon.
135
-
136
- ## Example B2B SaaS: Corporate Learning Platform, RF
137
-
138
- **Context:** AI-powered corporate training platform, B2B SaaS, per seat subscription, RF. ACV is $6K/yr. Horizon: 2026-2031.
139
-
140
- ### TAM
141
-
142
- **Top-down:**
143
- - EdTech Market RF = $4.2B (Smart Ranking, 2026)
144
- - Corporate learning = 43% of EdTech = $1.8B (HSE, 2026)
145
- - **TAM (top-down) = $1.8B**
146
-
147
- **Bottom-up:**
148
- - Companies in RF with 50+ employees: ~85,000 (Rosstat, 2025)
149
- - Average training budget: $18K/yr (HH.ru Research, 2026) ⚠️ (1 source)
150
- - **TAM (bottom-up) = 85,000 × $18K = $1.53B**
151
-
152
- **Cross-check:** 15% variance ($1.53B vs $1.8B) — normal. **TAM = $1.65B** (average).
153
-
154
- ### SAM
155
-
156
- | # | Filter | Multiplier | Justification | Source |
157
- |---|--------|:---------:|-------------|----------|
158
- | 1 | Only SaaS solutions (no trainers, no offline) | ×35% | 35% of budgets go to digital | HSE, 2026 ✅ |
159
- | 2 | Companies 50-2000 ppl (our sweet spot) | ×60% | Ent >2000 — SAP/Oracle; <50 — don't buy | CRM + benchmark |
160
- | 3 | IT, fintech, retail, manufacturing | ×70% | Other industries — low digitization | Rosstat ⚠️ |
161
-
162
- **SAM = $1.65B × 0.35 × 0.60 × 0.70 = $243M**
163
-
164
- ### SOM
165
-
166
- | Horizon | Capture Rate | SOM | Justification |
167
- |:--------:|:-----------:|:---:|-------------|
168
- | Year 1 | 1.5% | $3.6M | Startup, 50 clients, $6K ACV |
169
- | Year 3 | 4% | $9.7M | PMF found, 160 clients |
170
- | Year 5 | 8% | $19.4M | Leader in the AI training niche |
171
-
172
- ### Sensitivity Analysis (SOM year 3)
173
-
174
- | Scenario | TAM | SAM | SOM | Assumption |
175
- |----------|:---:|:---:|:---:|-----------|
176
- | Optimistic | $2.1B | $310M | $15.5M | CAGR 25% + state subsidies up 50% |
177
- | Base | $1.65B | $243M | $9.7M | CAGR 18%, current competition |
178
- | Pessimistic | $1.3B | $182M | $5.5M | Inflation squeezes budgets, capture 3% |
179
-
180
- ### Dynamics
181
-
182
- | Year | TAM | CAGR | SAM | SOM |
183
- |:---:|:---:|:----:|:---:|:---:|
184
- | 2026 | $1.65B | — | $243M | $3.6M |
185
- | 2027 | $1.95B | 18% | $287M | $5.7M |
186
- | 2029 | $2.71B | 18% | $399M | $15.9M |
187
- | 2031 | $3.77B | 18% | $555M | $44.4M |
188
-
189
- **Growth drivers:** personnel shortage (HR budgets ), AI personalization, "Kadry" state program.
190
- **Hindrance factors:** inflation (8-10%), competition (Yandex, Skillbox), regulatory barriers (FZ-152).
191
-
192
- ## Validation (Quality Gate)
193
-
194
- - [ ] TAM calculated via two methods (top-down + bottom-up)
195
- - [ ] Variance between methods recorded and handled by rule (<30% / 30-100% / >100%)
196
- - [ ] SAM has clear filters, each justified with a multiplier and source
197
- - [ ] SOM based on a realistic capture rate, justified by the company's stage
198
- - [ ] SOM calculated for 3 horizons (year 1 / 3 / 5)
199
- - [ ] Sensitivity analysis: 3 scenarios varying ACV, capture rate, segment
200
- - [ ] CAGR and 3-5 year forecast with growth and hindrance factors
201
- - [ ] TAM SAM SOM (no internal contradictions)
202
- - [ ] Units of measurement and currency are consistent
203
- - [ ] All figures cited; >24 mo = ⚠️; extrapolations = 🔮
204
- - [ ] Conflicting sources documented explaining the choice made
205
-
206
- > If validation fails iterate until it passes, do not hand off further.
207
-
208
- ## Handoff
209
- The output of `$tam-sam-som` acts as input for:
210
- - **Strategist / Mediator** — market size as a factor when choosing strategy.
211
- - **`unit-economics`** market size to calculate potential revenue.
212
- - **`competitive-analysis`** competitors' market shares for benchmarking.
213
- - **`ansoff-matrix`** new market TAM for Market Development strategies.
214
- - **`bcg-matrix`** market growth to classify business units.
215
- - **`blue-ocean-strategy`** TAM of new space (noncustomers).
216
-
217
- Output format: TAM/SAM/SOM funnel + filters + sensitivity + dynamics + assumptions. When handing off — use `$handoff`.
218
-
219
- ## Anti-patterns
220
-
221
- | Mistake | Why it hurts | How to do it right |
222
- |--------|-------------|---------------|
223
- | Top-down only | One methodology gives a skewed picture | Always use two methods: top-down + bottom-up + cross-check |
224
- | TAM = entire industry | Inflating by 10x+, loss of trust | Clearly bound the product category |
225
- | SOM without capture rate | Pure fantasy instead of forecast | Justify capture rate by company stage and competitive environment |
226
- | Old data | Markets change quickly | Sources ≤ 24 mo; older = ⚠️ + verify |
227
- | No sensitivity analysis | False precision one number instead of a range | 3 scenarios: ACV ±20%, capture ±50%, segment ±30% |
228
- | SAM = TAM | No filtering, useless estimate | Filters: geo, segment, regulation, tech — each with a multiplier |
229
- | Not stating assumptions | Impossible to assess estimation reliability | Each assumption with its impact on the result |
230
- | Top-down & bottom-up differ > 100% | One method is flawed, cannot be averaged | Find the error source, do not average |
231
-
232
- ## Output Template
233
-
234
- ```
235
- ### Market Size Estimation — [Product / Service]
236
-
237
- **Market Category:** [industry → subcategory → niche]
238
- **Geography:** [regions]
239
- **Business Model:** [model]
240
- **Currency:** [USD / EUR / RUB]
241
- **Horizon:** [year year]
242
- **Assessment Date:** [date]
243
-
244
- ---
245
-
246
- #### TAM SAM SOM Funnel
247
-
248
- | Metric | Volume | Method | Source | Confidence |
249
- |---------|:-----:|-------|----------|:-------------:|
250
- | **TAM** (top-down) | $[X]B | [method] | [source, year] | ✅ / ⚠️ / 🔮 |
251
- | **TAM** (bottom-up) | $[Y]B | [quantity] × [ACV] × [frequency] | [source] | ✅ / ⚠️ / 🔮 |
252
- | **TAM** (final) | $[Z]B | [Average / weighted / choice] | Variance: X% | |
253
- | **SAM** | $[X]M | TAM × filters | [sources] | |
254
- | **SOM** (year 1) | $[X]M | SAM × [X]% capture | [justification] | |
255
- | **SOM** (year 3) | $[X]M | SAM × [X]% capture | [justification] | |
256
- | **SOM** (year 5) | $[X]M | SAM × [X]% capture | [justification] | |
257
-
258
- ---
259
-
260
- #### SAM Filters
261
-
262
- | # | Filter | Multiplier | Justification | Source |
263
- |---|--------|:---------:|-------------|----------|
264
- | 1 | [Geo] | ×XX% | [Why] | [Source] |
265
- | 2 | [Segment] | ×XX% | [Why] | [Source] |
266
-
267
- `SAM = TAM × F₁ × F₂ × ... = $[X]M`
268
-
269
- ---
270
-
271
- #### Capture Rate (SOM)
272
-
273
- | Horizon | Capture Rate | SOM | Justification |
274
- |:--------:|:-----------:|:---:|-------------|
275
- | Year 1 | X% | $XM | [Stage + competition] |
276
- | Year 3 | X% | $XM | [Stage + competition] |
277
- | Year 5 | X% | $XM | [Stage + competition] |
278
-
279
- ---
280
-
281
- #### Sensitivity Analysis
282
-
283
- | Scenario | TAM | SAM | SOM (year 3) | Key Assumption |
284
- |----------|:---:|:---:|:-----------:|---------------------|
285
- | Optimistic | $XB | $XM | $XM | [What must come true] |
286
- | Base | $XB | $XM | $XM | [Current trends] |
287
- | Pessimistic | $XB | $XM | $XM | [What might go wrong] |
288
-
289
- ---
290
-
291
- #### Market Dynamics (YoY)
292
-
293
- | Year | TAM | CAGR | SAM | SOM |
294
- |:---:|:---:|:----:|:---:|:---:|
295
- | [current] | $XB | — | $XM | $XM |
296
- | [+1] | $XB | X% | $XM | $XM |
297
- | [+3] | $XB | X% | $XM | $XM |
298
- | [+5] | $XB | X% | $XM | $XM |
299
-
300
- **Growth drivers:** [list]
301
- **Hindrance factors:** [list]
302
-
303
- ---
304
-
305
- #### Sources and Assumptions
306
-
307
- | # | Fact / Assumption | Source | Date | Confidence |
308
- |---|-------------------|----------|------|:-------------:|
309
- | 1 | [Fact] | [Source] | [Date] | ✅ / ⚠️ / 🔮 |
310
-
311
- Legend: ✅ Verified (2+ sources) | ⚠️ Estimated (1 source) | 🔮 Assumed (extrapolation / calculation)
312
- ```
1
+ ---
2
+ name: tam-sam-som
3
+ description: Market size estimation — total, serviceable, and obtainable market volume
4
+ type: triggered
5
+ domain: analytics
6
+ owners:
7
+ - strategist
8
+ gates:
9
+ - STRATEGIST
10
+ tech: []
11
+ topic: []
12
+ triggers:
13
+ - "tam-sam-som"
14
+ - "TAM"
15
+ - "SAM"
16
+ - "SOM"
17
+ - "размер рынка"
18
+ related: []
19
+ budget_lines: 329
20
+ schema_version: 1
21
+ ---
22
+ # TAM/SAM/SOM Market Size Estimation
23
+
24
+ ## When to use
25
+ - When entering a new market or launching a new product — to justify the potential.
26
+ - When preparing investment materials (pitch deck, business plan) investors require market size.
27
+ - During strategic planning — choosing between markets, verticals, or geographies.
28
+ - When reviewing strategy — if the market has changed (regulation, technologies, competition).
29
+
30
+ ## Input
31
+
32
+ | Field | Required | Description |
33
+ |------|:-----------:|----------|
34
+ | Product / service | ✅ | What exactly is being offered to the market |
35
+ | Target geography | | Countries / regions for estimation |
36
+ | Business model | ✅ | B2B / B2C / B2B2C / SaaS / Marketplace, etc. |
37
+ | Pricing model | ✅ | Subscription / transaction / license / freemium |
38
+ | Average Check (ACV) | | If known; otherwise it will be estimated |
39
+ | Target segments | ⬚ | If already defined (company size, industry, demographics) |
40
+ | Competitors | | Known players on the market |
41
+ | Forecast horizon | | For how many years (default 3-5 years) |
42
+
43
+ > If mandatory fields are not provided **ask the user** before starting the analysis. Do not invent.
44
+
45
+ ## Data Sources
46
+ 1. **Web Search** — industry reports (Statista, Grand View Research, Mordor Intelligence, IBISWorld, McKinsey, Gartner).
47
+ 2. **Financial data** — public reporting of competitors (SEC filings, annual reports).
48
+ 3. **Statistical databases** — government statistical data (Rosstat, Eurostat, Census Bureau, World Bank).
49
+ 4. **Industry associations**field-specific associations, chambers of commerce.
50
+ 5. **Data from user** internal analytics, CRM, current sales.
51
+
52
+ > Provide source and date for every number. Data older than 24 months mark with ⚠️ and verify via `web-research`. Extrapolations — mark as 🔮 Assumed.
53
+
54
+ ### Connection with other skills
55
+ | Skill | What we take | When to call |
56
+ |------|-----------|----------------|
57
+ | `web-research` | Industry reports, market sizes, CAGR (steps 2-4) | Main tool — call for each level of the funnel |
58
+ | `pest-analysis` | Macro limitations on TAM: regulatory, economic (step 3) | If regulation or macro environment restricts the market |
59
+ | `competitive-analysis` | Competitors' shares to justify SOM capture rate (step 4) | If the competitive market structure is unknown |
60
+ | `icp-buyer-persona` | SAM filters: ICP defines the target segment (step 3) | If target segments are not defined |
61
+ | `ansoff-matrix` | New market TAM for Market Development and Diversification strategies | After calculation — to evaluate growth strategies |
62
+ | `blue-ocean-strategy` | TAM of new market space (noncustomers) | If the core market is small — evaluate Blue Ocean TAM |
63
+
64
+ ## Protocol
65
+
66
+ ### Step 0 Collect Context
67
+ 1. Check that all mandatory inputs are provided. If something is missing — ask the user.
68
+ 2. Determine the unit of measurement (USD, EUR, RUB) and time horizon.
69
+ 3. Clearly state the problem the product solves.
70
+ 4. Define the market category (industry → subcategory → niche).
71
+ 5. Outline the market boundaries: what is included, what is excluded.
72
+
73
+ ### Step 1 TAM (Total Addressable Market)
74
+ Estimate using **two methods** for cross-validation:
75
+
76
+ **Top-down:**
77
+ 1. Find the total industry volume (from industry reports).
78
+ 2. Apply filter for the product category.
79
+ 3. Apply geographical filter.
80
+ 4. Record: source, year, report methodology.
81
+
82
+ **Bottom-up:**
83
+ 1. Determine the total number of potential customers in the category.
84
+ 2. Multiply by the average check (ACV) × purchase frequency per year.
85
+ 3. `TAM (bottom-up) = Number of customers × ACV × Frequency`.
86
+ 4. Record: data source for number of customers, justification for ACV.
87
+
88
+ **Cross-check:**
89
+
90
+ | Condition | Action |
91
+ |---------|----------|
92
+ | Variance < 30% | Use the average. Normal discrepancy |
93
+ | Variance 30-100% | Investigate reason. Record both figures, justify choice of the final one |
94
+ | Variance > 100% | 🔴 Problem: redefine market boundaries or sources. Do not average — find the error |
95
+
96
+ ### Step 2 SAM (Serviceable Addressable Market)
97
+ Apply filters to TAM:
98
+
99
+ | # | Filter | Description | Multiplier | Justification | Source |
100
+ |---|--------|----------|:---------:|-------------|----------|
101
+ | 1 | Geography | Where we actually operate | ×XX% | [Why] | [Source] |
102
+ | 2 | Segment | B2B: size, industry; B2C: demographics | ×XX% | [Why] | [Source] |
103
+ | 3 | Regulation | Licenses, certifications, bans | ×XX% | [Why] | [Source] |
104
+ | 4 | Technologies | Language, platform, integrations | ×XX% | [Why] | [Source] |
105
+
106
+ `SAM = TAM × Filter₁ × Filter₂ × ... × FilterN`
107
+
108
+ > If `$icp-buyer-persona` exists use ICP criteria as SAM filters (ideal + acceptable).
109
+
110
+ ### Step 3 SOM (Serviceable Obtainable Market)
111
+ Determine a realistic share of SAM:
112
+
113
+ 1. Estimate the capture rate:
114
+
115
+ | Stage | Typical capture rate | Justification |
116
+ |--------|:---------------------:|-------------|
117
+ | Pre-product (idea) | 0.5-1% | No product, no customers |
118
+ | Startup (MVP, <$1M ARR) | 1-3% | First customers, seeking PMF |
119
+ | Growing ($1M-10M ARR) | 3-5% | PMF found, scaling |
120
+ | Mature (>$10M ARR) | 5-15% | Established brand and channels |
121
+ | Market leader | 15-30% | Dominant position |
122
+
123
+ 2. Factor in competitive intensity:
124
+ - If `$competitive-analysis` exists use competitors' market shares for justification.
125
+ - If not — evaluate based on the number and size of players.
126
+
127
+ 3. `SOM = SAM × Capture Rate`.
128
+ 4. Calculate for 3 horizons: year 1, year 3, year 5.
129
+
130
+ ### Step 4Sensitivity Analysis
131
+ Estimate how SOM changes when varying key parameters:
132
+
133
+ | Parameter | Variation | Effect on SOM |
134
+ |----------|:--------:|:--------------:|
135
+ | ACV | ±20% | SOM ±20% |
136
+ | Capture rate | ±50% | SOM ±50% |
137
+ | Target segment size | ±30% | SAM/SOM ±30% |
138
+
139
+ 3 scenarios:
140
+
141
+ | Scenario | TAM | SAM | SOM (year 3) | Key Assumption |
142
+ |----------|:---:|:---:|:-----------:|---------------------|
143
+ | Optimistic | $XB | $XM | $XM | [What must come true] |
144
+ | Base | $XB | $XM | $XM | [Current trends] |
145
+ | Pessimistic | $XB | $XM | $XM | [What might go wrong] |
146
+
147
+ ### Step 5 — Dynamics and Growth (YoY)
148
+ 1. Determine the market's CAGR (historical + forecast).
149
+ 2. Growth drivers: technologies, regulation, consumer behavior.
150
+ 3. Hindrance factors: saturation, substitution, crises.
151
+ 4. Forecast TAM/SAM/SOM for the 3-5 year horizon.
152
+
153
+ ## Example — B2B SaaS: Corporate Learning Platform, RF
154
+
155
+ **Context:** AI-powered corporate training platform, B2B SaaS, per seat subscription, RF. ACV is $6K/yr. Horizon: 2026-2031.
156
+
157
+ ### TAM
158
+
159
+ **Top-down:**
160
+ - EdTech Market RF = $4.2B (Smart Ranking, 2026)
161
+ - Corporate learning = 43% of EdTech = $1.8B (HSE, 2026) ✅
162
+ - **TAM (top-down) = $1.8B**
163
+
164
+ **Bottom-up:**
165
+ - Companies in RF with 50+ employees: ~85,000 (Rosstat, 2025) ✅
166
+ - Average training budget: $18K/yr (HH.ru Research, 2026) ⚠️ (1 source)
167
+ - **TAM (bottom-up) = 85,000 × $18K = $1.53B**
168
+
169
+ **Cross-check:** 15% variance ($1.53B vs $1.8B) normal. **TAM = $1.65B** (average).
170
+
171
+ ### SAM
172
+
173
+ | # | Filter | Multiplier | Justification | Source |
174
+ |---|--------|:---------:|-------------|----------|
175
+ | 1 | Only SaaS solutions (no trainers, no offline) | ×35% | 35% of budgets go to digital | HSE, 2026 ✅ |
176
+ | 2 | Companies 50-2000 ppl (our sweet spot) | ×60% | Ent >2000 SAP/Oracle; <50 — don't buy | CRM + benchmark |
177
+ | 3 | IT, fintech, retail, manufacturing | ×70% | Other industries low digitization | Rosstat ⚠️ |
178
+
179
+ **SAM = $1.65B × 0.35 × 0.60 × 0.70 = $243M**
180
+
181
+ ### SOM
182
+
183
+ | Horizon | Capture Rate | SOM | Justification |
184
+ |:--------:|:-----------:|:---:|-------------|
185
+ | Year 1 | 1.5% | $3.6M | Startup, 50 clients, $6K ACV |
186
+ | Year 3 | 4% | $9.7M | PMF found, 160 clients |
187
+ | Year 5 | 8% | $19.4M | Leader in the AI training niche |
188
+
189
+ ### Sensitivity Analysis (SOM year 3)
190
+
191
+ | Scenario | TAM | SAM | SOM | Assumption |
192
+ |----------|:---:|:---:|:---:|-----------|
193
+ | Optimistic | $2.1B | $310M | $15.5M | CAGR 25% + state subsidies up 50% |
194
+ | Base | $1.65B | $243M | $9.7M | CAGR 18%, current competition |
195
+ | Pessimistic | $1.3B | $182M | $5.5M | Inflation squeezes budgets, capture 3% |
196
+
197
+ ### Dynamics
198
+
199
+ | Year | TAM | CAGR | SAM | SOM |
200
+ |:---:|:---:|:----:|:---:|:---:|
201
+ | 2026 | $1.65B | | $243M | $3.6M |
202
+ | 2027 | $1.95B | 18% | $287M | $5.7M |
203
+ | 2029 | $2.71B | 18% | $399M | $15.9M |
204
+ | 2031 | $3.77B | 18% | $555M | $44.4M |
205
+
206
+ **Growth drivers:** personnel shortage (HR budgets ↑), AI personalization, "Kadry" state program.
207
+ **Hindrance factors:** inflation (8-10%), competition (Yandex, Skillbox), regulatory barriers (FZ-152).
208
+
209
+ ## Validation (Quality Gate)
210
+
211
+ - [ ] TAM calculated via two methods (top-down + bottom-up)
212
+ - [ ] Variance between methods recorded and handled by rule (<30% / 30-100% / >100%)
213
+ - [ ] SAM has clear filters, each justified with a multiplier and source
214
+ - [ ] SOM based on a realistic capture rate, justified by the company's stage
215
+ - [ ] SOM calculated for 3 horizons (year 1 / 3 / 5)
216
+ - [ ] Sensitivity analysis: 3 scenarios varying ACV, capture rate, segment
217
+ - [ ] CAGR and 3-5 year forecast with growth and hindrance factors
218
+ - [ ] TAM ≥ SAM ≥ SOM (no internal contradictions)
219
+ - [ ] Units of measurement and currency are consistent
220
+ - [ ] All figures cited; >24 mo = ⚠️; extrapolations = 🔮
221
+ - [ ] Conflicting sources documented explaining the choice made
222
+
223
+ > If validation fails iterate until it passes, do not hand off further.
224
+
225
+ ## Handoff
226
+ The output of `$tam-sam-som` acts as input for:
227
+ - **Strategist / Mediator**market size as a factor when choosing strategy.
228
+ - **`unit-economics`** market size to calculate potential revenue.
229
+ - **`competitive-analysis`**competitors' market shares for benchmarking.
230
+ - **`ansoff-matrix`** new market TAM for Market Development strategies.
231
+ - **`bcg-matrix`** — market growth to classify business units.
232
+ - **`blue-ocean-strategy`** — TAM of new space (noncustomers).
233
+
234
+ Output format: TAM/SAM/SOM funnel + filters + sensitivity + dynamics + assumptions. When handing off — use `$handoff`.
235
+
236
+ ## Anti-patterns
237
+
238
+ | Mistake | Why it hurts | How to do it right |
239
+ |--------|-------------|---------------|
240
+ | Top-down only | One methodology gives a skewed picture | Always use two methods: top-down + bottom-up + cross-check |
241
+ | TAM = entire industry | Inflating by 10x+, loss of trust | Clearly bound the product category |
242
+ | SOM without capture rate | Pure fantasy instead of forecast | Justify capture rate by company stage and competitive environment |
243
+ | Old data | Markets change quickly | Sources ≤ 24 mo; older = ⚠️ + verify |
244
+ | No sensitivity analysis | False precision — one number instead of a range | 3 scenarios: ACV ±20%, capture ±50%, segment ±30% |
245
+ | SAM = TAM | No filtering, useless estimate | Filters: geo, segment, regulation, tech — each with a multiplier |
246
+ | Not stating assumptions | Impossible to assess estimation reliability | Each assumption — with its impact on the result |
247
+ | Top-down & bottom-up differ > 100% | One method is flawed, cannot be averaged | Find the error source, do not average |
248
+
249
+ ## Output Template
250
+
251
+ ```
252
+ ### Market Size Estimation [Product / Service]
253
+
254
+ **Market Category:** [industry subcategory niche]
255
+ **Geography:** [regions]
256
+ **Business Model:** [model]
257
+ **Currency:** [USD / EUR / RUB]
258
+ **Horizon:** [year — year]
259
+ **Assessment Date:** [date]
260
+
261
+ ---
262
+
263
+ #### TAM → SAM → SOM Funnel
264
+
265
+ | Metric | Volume | Method | Source | Confidence |
266
+ |---------|:-----:|-------|----------|:-------------:|
267
+ | **TAM** (top-down) | $[X]B | [method] | [source, year] | ✅ / ⚠️ / 🔮 |
268
+ | **TAM** (bottom-up) | $[Y]B | [quantity] × [ACV] × [frequency] | [source] | ✅ / ⚠️ / 🔮 |
269
+ | **TAM** (final) | $[Z]B | [Average / weighted / choice] | Variance: X% | |
270
+ | **SAM** | $[X]M | TAM × filters | [sources] | |
271
+ | **SOM** (year 1) | $[X]M | SAM × [X]% capture | [justification] | |
272
+ | **SOM** (year 3) | $[X]M | SAM × [X]% capture | [justification] | |
273
+ | **SOM** (year 5) | $[X]M | SAM × [X]% capture | [justification] | |
274
+
275
+ ---
276
+
277
+ #### SAM Filters
278
+
279
+ | # | Filter | Multiplier | Justification | Source |
280
+ |---|--------|:---------:|-------------|----------|
281
+ | 1 | [Geo] | ×XX% | [Why] | [Source] |
282
+ | 2 | [Segment] | ×XX% | [Why] | [Source] |
283
+
284
+ `SAM = TAM × F₁ × F₂ × ... = $[X]M`
285
+
286
+ ---
287
+
288
+ #### Capture Rate (SOM)
289
+
290
+ | Horizon | Capture Rate | SOM | Justification |
291
+ |:--------:|:-----------:|:---:|-------------|
292
+ | Year 1 | X% | $XM | [Stage + competition] |
293
+ | Year 3 | X% | $XM | [Stage + competition] |
294
+ | Year 5 | X% | $XM | [Stage + competition] |
295
+
296
+ ---
297
+
298
+ #### Sensitivity Analysis
299
+
300
+ | Scenario | TAM | SAM | SOM (year 3) | Key Assumption |
301
+ |----------|:---:|:---:|:-----------:|---------------------|
302
+ | Optimistic | $XB | $XM | $XM | [What must come true] |
303
+ | Base | $XB | $XM | $XM | [Current trends] |
304
+ | Pessimistic | $XB | $XM | $XM | [What might go wrong] |
305
+
306
+ ---
307
+
308
+ #### Market Dynamics (YoY)
309
+
310
+ | Year | TAM | CAGR | SAM | SOM |
311
+ |:---:|:---:|:----:|:---:|:---:|
312
+ | [current] | $XB | — | $XM | $XM |
313
+ | [+1] | $XB | X% | $XM | $XM |
314
+ | [+3] | $XB | X% | $XM | $XM |
315
+ | [+5] | $XB | X% | $XM | $XM |
316
+
317
+ **Growth drivers:** [list]
318
+ **Hindrance factors:** [list]
319
+
320
+ ---
321
+
322
+ #### Sources and Assumptions
323
+
324
+ | # | Fact / Assumption | Source | Date | Confidence |
325
+ |---|-------------------|----------|------|:-------------:|
326
+ | 1 | [Fact] | [Source] | [Date] | ✅ / ⚠️ / 🔮 |
327
+
328
+ Legend: ✅ Verified (2+ sources) | ⚠️ Estimated (1 source) | 🔮 Assumed (extrapolation / calculation)
329
+ ```