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,413 +1,430 @@
1
- ---
2
- name: unit-economics
3
- description: Unit economy analysis — CAC, LTV, margin, payback period, sensitivity
4
- ---
5
- # Unit Economics — Unit Level Economics Analysis
6
-
7
- ## When to use
8
- - When evaluating the viability of a business model — does the unit economics converge.
9
- - When planning for growth — under what conditions scaling is profitable.
10
- - When raising investments — investors demand unit economics.
11
- - When optimizing marketing — assessing the efficiency of acquisition channels.
12
-
13
- ## Input
14
-
15
- | Field | Required | Description |
16
- |------|:-----------:|----------|
17
- | Business model | ✅ | SaaS / E-commerce / Marketplace / Service |
18
- | Pricing model | ✅ | Subscription / transaction / license / freemium |
19
- | Average ticket (ACV/ARPU)| ✅ | Average revenue per customer per period |
20
- | Marketing expenses | ⬚ | Budget by channels (if known) |
21
- | Number of customers | ⬚ | Current base or forecast |
22
- | Churn rate | | Customer attrition percentage (if known) |
23
- | Gross margin | ⬚ | Gross margin of the product |
24
- | Acquisition channels | ⬚ | Which channels are used |
25
- | Historical data | | Metrics for past periods |
26
-
27
- > If mandatory fields are not provided **ask the user** before starting the analysis. Do not invent.
28
-
29
- > If real data is absent — the skill operates with **modeled data** based on industry benchmarks, clearly marked. The methodology remains applicable once real data becomes available.
30
-
31
- ## Data Sources
32
- 1. **Web Search** industry benchmarks (SaaS Capital, OpenView, ProfitWell, Baremetrics).
33
- 2. **Financial data** — public reporting of similar companies.
34
- 3. **Industry reports** average CAC, LTV, churn by verticals.
35
- 4. **Data from user** real metrics from CRM, analytics, accounting.
36
- 5. **Marketing platforms** acquisition cost by channels.
37
-
38
- > For benchmarks denote source, year, and applicability to the given business. Data older than 12 months — mark with ⚠️.
39
-
40
- ### Connection with other skills
41
- | Skill | What we take | When to call |
42
- |------|-----------|----------------|
43
- | `cohort-analysis` | Cohort LTV, retention curves for precise LTV calculation (step 3) | If cohort data exists — preferred method for LTV |
44
- | `rfm-analysis` | LTV per segment (Champions vs At Risk) for differentiated economics (step 3) | If unit economics by segments is needed |
45
- | `competitive-analysis` | CAC/LTV benchmarks of competitors (step 8) | For comparison with competitors |
46
- | `icp-buyer-persona` | CAC and LTV per persona different personas = different economics | If unit economics per persona is needed |
47
- | `tam-sam-som` | SOM × ARPU = revenue potential (step 8) | To tie unit economics to market size |
48
- | `web-research` | Industry benchmarks for CAC, LTV, churn | If real data is missing |
49
- | `customer-journey-mapping` | Attrition points where to optimize churn (step 8) | For recommendations on improving LTV |
50
-
51
- ## Protocol
52
-
53
- ### Step 0Collect Context
54
- 1. Check the availability of mandatory data.
55
- 2. Determine the business model type and the "unit" of analysis:
56
-
57
- | Business Model | Unit | ARPU = | Churn = | Typical Cycle |
58
- |---------------|---------|--------|---------|----------------|
59
- | SaaS (sub) | Account / seat | MRR per account | % accounts cancelling sub | Month |
60
- | E-commerce | Customer | Avg ticket × frequency | % not returning in 12 mo | Order |
61
- | Marketplace | Transaction | Take rate × GMV | % buyers/sellers churning| Transaction |
62
- | Service | Customer | Avg ticket × visits | % not returning | Visit |
63
-
64
- 3. Select currency and period.
65
-
66
- ### Step 1 Revenue Model (revenue flow)
67
-
68
- Visualize the unit economics flow:
69
-
70
- ```
71
- Revenue ($ARPU/mo)
72
- └─ COGS (-$XX) ──────────────────── = Gross Margin ($XX, XX%)
73
- └─ Variable Costs (-$XX) ───── = Contribution Margin ($XX, XX%)
74
- └─ Allocated Fixed (-$XX) = Net Margin ($XX, XX%)
75
- ```
76
-
77
- | Component | Value | % of Revenue | Description |
78
- |-----------|:--------:|:------------:|----------|
79
- | Revenue (ARPU) | $XX/mo | 100% | [Income source] |
80
- | COGS | -$XX | XX% | [Hosting, support, infrastructure] |
81
- | **Gross Margin** | **$XX** | **XX%** | Revenue - COGS |
82
- | Variable Costs | -$XX | XX% | [Onboarding, transactional] |
83
- | **Contribution Margin** | **$XX** | **XX%** | Gross Margin - Variable |
84
- | Allocated Fixed| -$XX | XX% | [R&D, G&A, allocated per unit] |
85
- | **Net Margin** | **$XX** | **XX%** | Contribution - Fixed |
86
-
87
- ### Step 2 — CAC (Customer Acquisition Cost)
88
-
89
- **Blended CAC:**
90
- `CAC = (Marketing + Sales + Tools) / Number of new customers`
91
-
92
- **CAC by channels:**
93
-
94
- | Channel | Budget | Customers | CAC | % of total | Channel LTV/CAC | Verdict |
95
- |-------|:------:|:-------:|:---:|:----------:|:--------------:|:-------:|
96
- | Paid (Google/FB) | $XX | N | $XX | XX% | X.Xx | Scale / Optimize / Disable |
97
- | Content/SEO | $XX | N | $XX | XX% | X.Xx | ... |
98
- | Sales (outbound) | $XX | N | $XX | XX% | X.Xx | ... |
99
- | Referral | $XX | N | $XX | XX% | X.Xx | ... |
100
- | Organic | $0 | N | $0 | XX% | | Maximize |
101
- | **Blended** | **$XX** | **N** | **$XX** | **100%** | **X.Xx** | |
102
-
103
- CAC dynamics: growing ↑ / stable → / decreasing ↓ (quarter-over-quarter).
104
-
105
- ### Step 3 — LTV (Lifetime Value)
106
-
107
- Calculate via **at least two methods** for cross-validation:
108
-
109
- | Method | Formula | Result | When to use | Assumptions |
110
- |-------|---------|:---------:|---------------------|-----------|
111
- | **Simple** | `ARPU × Gross Margin × (1 / Churn)` | $XX | No cohort data | Churn is constant |
112
- | **Cohort** | Σ(actual cohort revenue) / cohort size | $XX | Has `$cohort-analysis` data| Mature cohorts (≥12 mo) |
113
- | **DCF** | Σ(ARPU × GM × retention_rate_month_i / (1+r)^i) | $XX | For investors, precise config | Discount rate |
114
-
115
- **Cross-check:** if variance > 30% specify reason, justify choice of final value.
116
-
117
- > If `$rfm-analysis` exists calculate LTV per segment:
118
-
119
- | Segment | ARPU | Churn | LTV | % of base | % of revenue |
120
- |---------|:----:|:-----:|:---:|:------:|:---------:|
121
- | Champions | $XX | X% | $XX | X% | X% |
122
- | Loyal | $XX | X% | $XX | X% | X% |
123
- | At Risk | $XX | X% | $XX | X% | X% |
124
- | **Blended** | **$XX** | **X%** | **$XX** | **100%** | **100%** |
125
-
126
- ### Step 4 LTV/CAC Ratio
127
-
128
- | LTV/CAC | Interpretation | Action |
129
- |:-------:|---------------|----------|
130
- | < 1.0 | 🔴 Loss on every customer | Urgent: lower CAC or increase LTV |
131
- | 1.0-3.0 | 🟡 On the verge of payback | Optimization: churn, pricing, channels|
132
- | 3.0-5.0 | 🟢 Healthy economics | Scale, invest in growth |
133
- | > 5.0 | 🔵 Potentially underinvesting | Increase marketing spend, test new channels |
134
-
135
- Compare with industry benchmarks and company stage.
136
-
137
- ### Step 5 — Payback Period
138
-
139
- `Payback = CAC / (ARPU × Gross Margin) = X months`
140
-
141
- | Business Model | Healthy Payback | Problematic |
142
- |---------------|:----------------:|:----------:|
143
- | SaaS (SMB) | < 12 mo | > 18 mo |
144
- | SaaS (Enterprise) | < 18 mo | > 24 mo |
145
- | E-commerce | < 3 mo | > 6 mo |
146
- | Marketplace | < 6 mo | > 12 mo |
147
-
148
- Impact on cash flow: `Cash needed = CAC × New Customers/mo × Payback (mo)`.
149
-
150
- ### Step 6 Break-Even Analysis
151
-
152
- Determine the break-even point:
153
-
154
- **At the unit level:**
155
- `Break-even units = Fixed Costs / Contribution Margin per unit`
156
-
157
- **At the business level:**
158
-
159
- | Metric | Formula | Value |
160
- |---------|---------|:--------:|
161
- | Fixed Costs (mo) | [R&D + G&A + Infra] | $XX |
162
- | Contribution Margin per unit (mo)| [ARPU × GM - Variable] | $XX |
163
- | **Break-even clients** | Fixed / CM per unit | **N clients** |
164
- | Current base | | N clients |
165
- | Gap to break-even | | ±N clients |
166
- | At current growth — break-even in | | X mo |
167
-
168
- ### Step 7 — Sensitivity Analysis
169
-
170
- | Parameter | Base | Optimistic (+) | Pessimistic (-) |
171
- |----------|:-------:|:-------------:|:--------------:|
172
- | ARPU | $XX | $XX (+20%) | $XX (-20%) |
173
- | Churn | X% | X% (-30%) | X% (+30%) |
174
- | CAC | $XX | $XX (-25%) | $XX (+25%) |
175
- | Gross Margin | XX% | XX% (+10pp) | XX% (-10pp) |
176
-
177
- | Scenario | ARPU | Churn | CAC | LTV | LTV/CAC | Payback | Break-even |
178
- |----------|:----:|:-----:|:---:|:---:|:-------:|:-------:|:----------:|
179
- | Optimistic | $XX | X% | $XX | $XX | X.Xx | X mo | X mo |
180
- | **Base** | **$XX** | **X%** | **$XX** | **$XX** | **X.Xx** | **X mo** | **X mo** |
181
- | Pessimistic| $XX | X% | $XX | $XX | X.Xx | X mo | X mo |
182
-
183
- **Kill-condition:** Under what scenario is LTV/CAC < 1.0 the model is unviable.
184
-
185
- ### Step 8Benchmark and Recommendations
186
-
187
- Compare all metrics with industry benchmarks:
188
-
189
- | Metric | Ours | Benchmark (industry) | Δ | Rating |
190
- |---------|:----:|:-------------------:|:-:|:------:|
191
- | LTV/CAC | X.Xx | 3-5x | ±X.Xx | 🟢/🟡/🔴 |
192
- | Payback | X mo | 12-18 mo | ±X mo | 🟢/🟡/🔴 |
193
- | Gross Margin| XX% | 70-80% (SaaS) | ±Xpp | 🟢/🟡/🔴 |
194
- | Churn (mo) | X% | 2-5% (SaaS SMB) | ±Xpp | 🟢/🟡/🔴 |
195
-
196
- Recommendations tied to bottlenecks:
197
-
198
- | # | Bottleneck | Action | Target Metric | Expected Effect | Priority |
199
- |---|-------------|----------|-----------------|:----------------:|:---------:|
200
- | 1 | [CAC is too high] | [How to lower: channels, conversion] | CAC | -$XX (-X%) | P1 |
201
- | 2 | [Churn above benchmark]| [How to lower: onboarding, retention]| Churn | -Xpp | P1 |
202
- | 3 | [Margin below norm] | [How to improve: COGS, pricing] | GM | +Xpp | P2 |
203
-
204
- ## Example B2B SaaS: HR platform, per seat subscription
205
-
206
- **Context:** HR recruiting automation platform, B2B SaaS, subscription $500/mo per company (avg 10 seats × $50). 200 clients, RF.
207
-
208
- ### Revenue Model
209
-
210
- | Component | Value | % | Description |
211
- |-----------|:--------:|:-:|----------|
212
- | Revenue (ARPU) | $500/mo | 100% | 10 seats × $50 |
213
- | COGS | -$75 | 15% | Hosting, HH.ru API, L1 support |
214
- | **Gross Margin** | **$425** | **85%** | |
215
- | Variable Costs | -$50 | 10% | New client onboarding (amort.) |
216
- | **Contribution Margin** | **$375** | **75%** | |
217
-
218
- ### CAC by channels
219
-
220
- | Channel | Budget/mo | Clients/mo | CAC | LTV/CAC | Verdict |
221
- |-------|:----------:|:-----------:|:---:|:-------:|---------|
222
- | Google Ads | $8K | 5 | $1,600 | 3.5x | 🟢 Scale |
223
- | LinkedIn Ads | $5K | 2 | $2,500 | 2.2x | 🟡 Optimize |
224
- | Outbound Sales | $12K | 4 | $3,000 | 1.9x | 🟡 Optimize |
225
- | Content/SEO | $3K | 3 | $1,000 | 5.6x | 🟢 Scale |
226
- | Referral | $1K | 2 | $500 | 11.2x | 🟢 Maximize |
227
- | Organic | $0 | 4 | $0 | ∞ | 🟢 |
228
- | **Blended** | **$29K** | **20** | **$1,450** | **3.9x** | 🟢 |
229
-
230
- ### LTV
231
-
232
- | Method | Calculation | LTV |
233
- |-------|--------|:---:|
234
- | Simple | $500 × 85% × (1/3.5%) = $500 × 0.85 × 28.6 mo | **$12,143** |
235
- | Cohort | Avg cohort (12+ mo): $11,800 over lifetime | **$11,800** |
236
- | **Final estimate** | Average (variance 3%) | **$5,600** (3-year capped) |
237
-
238
- > Capped at 3 years (36 mo) for a conservative estimate: $500 × 0.85 × Σ(retention_i) = **$5,600**.
239
-
240
- ### Key Metrics
241
-
242
- | Metric | Ours | Benchmark (SaaS SMB) | Rating |
243
- |---------|:----:|:--------------------:|:------:|
244
- | LTV/CAC | 3.9x | 3-5x | 🟢 |
245
- | Payback | 3.4 mo | < 12 mo | 🟢 |
246
- | Gross Margin | 85% | 70-80% | 🟢 |
247
- | Monthly Churn | 3.5% | 2-5% | 🟡 |
248
- | Break-even | 160 clients ($60K fixed) | — | ✅ (200 > 160) |
249
-
250
- ### Sensitivity (SOM year 3)
251
-
252
- | Scenario | ARPU | Churn | CAC | LTV (3yr) | LTV/CAC | Payback |
253
- |----------|:----:|:-----:|:---:|:---------:|:-------:|:-------:|
254
- | Optimistic | $600 | 2.5% | $1,100 | $7,200 | 6.5x | 2.2 mo |
255
- | **Base** | **$500** | **3.5%** | **$1,450** | **$5,600** | **3.9x** | **3.4 mo** |
256
- | Pessimistic | $400 | 5% | $1,800 | $3,400 | 1.9x | 5.3 mo |
257
-
258
- **Kill-condition:** Churn > 7% → LTV/CAC < 1.0 → model is unviable.
259
-
260
- ### Recommendations
261
-
262
- | # | Bottleneck | Action | Effect | Priority |
263
- |---|-------------|----------|:------:|:---------:|
264
- | 1 | Churn 3.5% (upper bound) | Guided onboarding + health score alerts | Churn → 2.5%, LTV +29% | P1 |
265
- | 2 | LinkedIn CAC $2,500 (high) | A/B test creatives, narrow targeting | CAC $1,800 | P2 |
266
- | 3 | Referral only 10% of clients| Launch referral program "month for free" | +5 clients/mo, CAC $500| P2 |
267
-
268
- ## Validation (Quality Gate)
269
-
270
- - [ ] Revenue model is visualized: Revenue → COGS → Gross Margin → Variable → Contribution Margin
271
- - [ ] CAC runs calculated (blended + by channels with LTV/CAC per channel)
272
- - [ ] LTV calculated with min 2 methods, noting assumptions
273
- - [ ] Variance between LTV methods noted (< 30% or choice justified)
274
- - [ ] LTV/CAC ratio calculated and interpreted by scale
275
- - [ ] Payback period defined in months, compared with benchmark
276
- - [ ] Break-even calculated: number of clients and timeline to reach
277
- - [ ] Sensitivity analysis: 3 scenarios + kill-condition (at what LTV/CAC < 1.0)
278
- - [ ] Metrics compared against industry benchmarks (with sources)
279
- - [ ] Recommendations tied to bottlenecks with expected effect
280
- - [ ] If data is modeled — explicitly marked with benchmark sources
281
- - [ ] Data sources cited; data older than 12 mo marked ⚠️
282
-
283
- > If validation fails iterate until it passes, do not hand off further.
284
-
285
- ## Handoff
286
- The output of `$unit-economics` acts as input for:
287
- - **Strategist / Mediator** unit economics as foundation for growth strategy.
288
- - **`tam-sam-som`** revenue potential = SOM × ARPU.
289
- - **`cohort-analysis`** cohort LTV to polish the model.
290
- - **`rfm-analysis`** LTV by segments for differentiated marketing.
291
- - **`ansoff-matrix`** unit economics of new markets / products.
292
- - **`customer-journey-mapping`** churn points churn & CAC optimization.
293
-
294
- Output format: metrics dashboard + revenue model + CAC per channel + LTV (2 methods) + sensitivity + recommendations. When handing off — use `$handoff`.
295
-
296
- ## Anti-patterns
297
-
298
- | Mistake | Why it hurts | How to do it right |
299
- |--------|-------------|---------------|
300
- | LTV without churn | Massive overestimation | Always factor in churn; or use capped LTV (e.g. 3 yrs) |
301
- | CAC without sales | Marketing is not the entire CAC | Include sales salaries, tools, overhead |
302
- | Single LTV method | Different methods → different results | Minimal 2 methods, cross-check, justify choice |
303
- | No payback period | Cash flow burden is unseen | Payback in mo + cash needed = CAC × new × payback |
304
- | No benchmarks | Unclear if numbers are good | Contrast with industry (SaaS Capital, OpenView) |
305
- | Static model | Metrics shift every quarter | Recalculate quarterly |
306
- | No sensitivity | False confidence in one scenario | 3 scenarios + kill-condition (LTV/CAC < 1.0) |
307
- | Blended CAC only | Unclear which channel is bleeding money | CAC per channel + LTV/CAC per channel verdict |
308
- | No break-even | Unclear when business turns a profit | Break-even clients + timeframe to achieve |
309
-
310
- ## Output Template
311
-
312
- ```
313
- ### Unit Economics — [Product / Service]
314
-
315
- **Business Model:** [model]
316
- **Pricing Model:** [model]
317
- **Analysis Unit:** [client / account / order]
318
- **Currency:** [currency]
319
- **Period:** [period]
320
- **Data Type:** Real / Modeled (benchmark: [source])
321
- **Assessment Date:** [date]
322
-
323
- ---
324
-
325
- #### Revenue Model (Unit Economics Flow)
326
-
327
- | Component | Value/mo | % of Revenue | Description |
328
- |-----------|:------------:|:------------:|----------|
329
- | Revenue (ARPU) | $XX | 100% | [Source] |
330
- | COGS | -$XX | XX% | [What is included] |
331
- | **Gross Margin** | **$XX** | **XX%** | |
332
- | Variable Costs | -$XX | XX% | [What is included] |
333
- | **Contribution Margin** | **$XX** | **XX%** | |
334
-
335
- ---
336
-
337
- #### Key Metrics (Dashboard)
338
-
339
- | Metric | Value | Benchmark | Rating |
340
- |---------|:--------:|:--------:|:------:|
341
- | ARPU (mo) | $XX | $XX-$XX | 🟢/🟡/🔴 |
342
- | CAC (blended) | $XX | $XX-$XX | 🟢/🟡/🔴 |
343
- | LTV (capped 3yr)| $XX | $XX-$XX | 🟢/🟡/🔴 |
344
- | LTV/CAC | X.Xx | 3-5x | 🟢/🟡/🔴 |
345
- | Payback | X mo | X-X mo | 🟢/🟡/🔴 |
346
- | Gross Margin | XX% | XX-XX% | 🟢/🟡/🔴 |
347
- | Churn (mo) | X% | X-X% | 🟢/🟡/🔴 |
348
- | Break-even | N clients| | ✅/⚠️ |
349
-
350
- ---
351
-
352
- #### CAC by Channels
353
-
354
- | Channel | Budget | Clients | CAC | % total | LTV/CAC | Verdict |
355
- |-------|:------:|:-------:|:---:|:-------:|:-------:|:-------:|
356
- | [Channel] | $XX | N | $XX | XX% | X.Xx | 🟢/🟡/🔴 |
357
- | **Blended** | **$XX** | **N** | **$XX** | **100%** | **X.Xx** | |
358
-
359
- ---
360
-
361
- #### LTV Methodology
362
-
363
- | Method | Formula | Result | Assumptions |
364
- |-------|---------|:---------:|-----------|
365
- | Simple | ARPU × GM × (1/Churn) | $XX | [assumptions] |
366
- | Cohort | Actual cohort revenue | $XX | [assumptions] |
367
- | **Final estimate**| [method / average] | **$XX** | Variance: X% |
368
-
369
- ---
370
-
371
- #### Break-Even
372
-
373
- | Metric | Value |
374
- |---------|:--------:|
375
- | Fixed Costs (mo) | $XX |
376
- | Contribution Margin per unit | $XX |
377
- | Break-even clients | N |
378
- | Current base | N |
379
- | Gap | ±N |
380
- | Timeline to reach | X mo |
381
-
382
- ---
383
-
384
- #### Sensitivity Analysis
385
-
386
- | Scenario | ARPU | Churn | CAC | LTV | LTV/CAC | Payback |
387
- |----------|:----:|:-----:|:---:|:---:|:-------:|:-------:|
388
- | Optimistic | $XX | X% | $XX | $XX | X.Xx | X mo |
389
- | **Base** | **$XX** | **X%** | **$XX** | **$XX** | **X.Xx** | **X mo** |
390
- | Pessimistic | $XX | X% | $XX | $XX | X.Xx | X mo |
391
-
392
- **Kill-condition:** [Under what parameter LTV/CAC < 1.0]
393
-
394
- ---
395
-
396
- #### Recommendations
397
-
398
- | # | Bottleneck | Action | Target Metric | Expected Effect | Priority |
399
- |---|-------------|----------|-----------------|:----------------:|:---------:|
400
- | 1 | [Problem] | [Action] | [Metric] | [±X%] | P1 |
401
-
402
- **Recalculation:** quarterly
403
-
404
- ---
405
-
406
- #### Sources and Assumptions
407
-
408
- | # | Fact / Assumption | Source | Date | Confidence |
409
- |---|-------------------|----------|------|:-------------:|
410
- | 1 | [Fact] | [Source] | [Date] | ✅ / ⚠️ / 🔮 |
411
-
412
- Legend: ✅ Verified (real data / 2+ sources) | ⚠️ Estimated (benchmark) | 🔮 Assumed (modeling)
413
- ```
1
+ ---
2
+ name: unit-economics
3
+ description: Unit economy analysis — CAC, LTV, margin, payback period, sensitivity
4
+ type: triggered
5
+ domain: analytics
6
+ owners:
7
+ - data_analyst
8
+ gates:
9
+ - DATA_ANALYST
10
+ tech: []
11
+ topic: []
12
+ triggers:
13
+ - "unit-economics"
14
+ - "юнит-экономика"
15
+ - "CAC"
16
+ - "LTV"
17
+ - "payback period"
18
+ related: []
19
+ budget_lines: 430
20
+ schema_version: 1
21
+ ---
22
+ # Unit Economics Unit Level Economics Analysis
23
+
24
+ ## When to use
25
+ - When evaluating the viability of a business model does the unit economics converge.
26
+ - When planning for growth — under what conditions scaling is profitable.
27
+ - When raising investmentsinvestors demand unit economics.
28
+ - When optimizing marketing — assessing the efficiency of acquisition channels.
29
+
30
+ ## Input
31
+
32
+ | Field | Required | Description |
33
+ |------|:-----------:|----------|
34
+ | Business model | | SaaS / E-commerce / Marketplace / Service |
35
+ | Pricing model | | Subscription / transaction / license / freemium |
36
+ | Average ticket (ACV/ARPU)| | Average revenue per customer per period |
37
+ | Marketing expenses | ⬚ | Budget by channels (if known) |
38
+ | Number of customers | | Current base or forecast |
39
+ | Churn rate | ⬚ | Customer attrition percentage (if known) |
40
+ | Gross margin | ⬚ | Gross margin of the product |
41
+ | Acquisition channels | | Which channels are used |
42
+ | Historical data | ⬚ | Metrics for past periods |
43
+
44
+ > If mandatory fields are not provided **ask the user** before starting the analysis. Do not invent.
45
+
46
+ > If real data is absent the skill operates with **modeled data** based on industry benchmarks, clearly marked. The methodology remains applicable once real data becomes available.
47
+
48
+ ## Data Sources
49
+ 1. **Web Search** industry benchmarks (SaaS Capital, OpenView, ProfitWell, Baremetrics).
50
+ 2. **Financial data** — public reporting of similar companies.
51
+ 3. **Industry reports** — average CAC, LTV, churn by verticals.
52
+ 4. **Data from user** — real metrics from CRM, analytics, accounting.
53
+ 5. **Marketing platforms**acquisition cost by channels.
54
+
55
+ > For benchmarks denote source, year, and applicability to the given business. Data older than 12 months — mark with ⚠️.
56
+
57
+ ### Connection with other skills
58
+ | Skill | What we take | When to call |
59
+ |------|-----------|----------------|
60
+ | `cohort-analysis` | Cohort LTV, retention curves for precise LTV calculation (step 3) | If cohort data exists preferred method for LTV |
61
+ | `rfm-analysis` | LTV per segment (Champions vs At Risk) for differentiated economics (step 3) | If unit economics by segments is needed |
62
+ | `competitive-analysis` | CAC/LTV benchmarks of competitors (step 8) | For comparison with competitors |
63
+ | `icp-buyer-persona` | CAC and LTV per persona — different personas = different economics | If unit economics per persona is needed |
64
+ | `tam-sam-som` | SOM × ARPU = revenue potential (step 8) | To tie unit economics to market size |
65
+ | `web-research` | Industry benchmarks for CAC, LTV, churn | If real data is missing |
66
+ | `customer-journey-mapping` | Attrition points where to optimize churn (step 8) | For recommendations on improving LTV |
67
+
68
+ ## Protocol
69
+
70
+ ### Step 0 — Collect Context
71
+ 1. Check the availability of mandatory data.
72
+ 2. Determine the business model type and the "unit" of analysis:
73
+
74
+ | Business Model | Unit | ARPU = | Churn = | Typical Cycle |
75
+ |---------------|---------|--------|---------|----------------|
76
+ | SaaS (sub) | Account / seat | MRR per account | % accounts cancelling sub | Month |
77
+ | E-commerce | Customer | Avg ticket × frequency | % not returning in 12 mo | Order |
78
+ | Marketplace | Transaction | Take rate × GMV | % buyers/sellers churning| Transaction |
79
+ | Service | Customer | Avg ticket × visits | % not returning | Visit |
80
+
81
+ 3. Select currency and period.
82
+
83
+ ### Step 1 Revenue Model (revenue flow)
84
+
85
+ Visualize the unit economics flow:
86
+
87
+ ```
88
+ Revenue ($ARPU/mo)
89
+ └─ COGS (-$XX) ──────────────────── = Gross Margin ($XX, XX%)
90
+ └─ Variable Costs (-$XX) ───── = Contribution Margin ($XX, XX%)
91
+ └─ Allocated Fixed (-$XX) = Net Margin ($XX, XX%)
92
+ ```
93
+
94
+ | Component | Value | % of Revenue | Description |
95
+ |-----------|:--------:|:------------:|----------|
96
+ | Revenue (ARPU) | $XX/mo | 100% | [Income source] |
97
+ | COGS | -$XX | XX% | [Hosting, support, infrastructure] |
98
+ | **Gross Margin** | **$XX** | **XX%** | Revenue - COGS |
99
+ | Variable Costs | -$XX | XX% | [Onboarding, transactional] |
100
+ | **Contribution Margin** | **$XX** | **XX%** | Gross Margin - Variable |
101
+ | Allocated Fixed| -$XX | XX% | [R&D, G&A, allocated per unit] |
102
+ | **Net Margin** | **$XX** | **XX%** | Contribution - Fixed |
103
+
104
+ ### Step 2 — CAC (Customer Acquisition Cost)
105
+
106
+ **Blended CAC:**
107
+ `CAC = (Marketing + Sales + Tools) / Number of new customers`
108
+
109
+ **CAC by channels:**
110
+
111
+ | Channel | Budget | Customers | CAC | % of total | Channel LTV/CAC | Verdict |
112
+ |-------|:------:|:-------:|:---:|:----------:|:--------------:|:-------:|
113
+ | Paid (Google/FB) | $XX | N | $XX | XX% | X.Xx | Scale / Optimize / Disable |
114
+ | Content/SEO | $XX | N | $XX | XX% | X.Xx | ... |
115
+ | Sales (outbound) | $XX | N | $XX | XX% | X.Xx | ... |
116
+ | Referral | $XX | N | $XX | XX% | X.Xx | ... |
117
+ | Organic | $0 | N | $0 | XX% | ∞ | Maximize |
118
+ | **Blended** | **$XX** | **N** | **$XX** | **100%** | **X.Xx** | |
119
+
120
+ CAC dynamics: growing ↑ / stable → / decreasing ↓ (quarter-over-quarter).
121
+
122
+ ### Step 3 LTV (Lifetime Value)
123
+
124
+ Calculate via **at least two methods** for cross-validation:
125
+
126
+ | Method | Formula | Result | When to use | Assumptions |
127
+ |-------|---------|:---------:|---------------------|-----------|
128
+ | **Simple** | `ARPU × Gross Margin × (1 / Churn)` | $XX | No cohort data | Churn is constant |
129
+ | **Cohort** | Σ(actual cohort revenue) / cohort size | $XX | Has `$cohort-analysis` data| Mature cohorts (≥12 mo) |
130
+ | **DCF** | Σ(ARPU × GM × retention_rate_month_i / (1+r)^i) | $XX | For investors, precise config | Discount rate |
131
+
132
+ **Cross-check:** if variance > 30% specify reason, justify choice of final value.
133
+
134
+ > If `$rfm-analysis` exists — calculate LTV per segment:
135
+
136
+ | Segment | ARPU | Churn | LTV | % of base | % of revenue |
137
+ |---------|:----:|:-----:|:---:|:------:|:---------:|
138
+ | Champions | $XX | X% | $XX | X% | X% |
139
+ | Loyal | $XX | X% | $XX | X% | X% |
140
+ | At Risk | $XX | X% | $XX | X% | X% |
141
+ | **Blended** | **$XX** | **X%** | **$XX** | **100%** | **100%** |
142
+
143
+ ### Step 4 LTV/CAC Ratio
144
+
145
+ | LTV/CAC | Interpretation | Action |
146
+ |:-------:|---------------|----------|
147
+ | < 1.0 | 🔴 Loss on every customer | Urgent: lower CAC or increase LTV |
148
+ | 1.0-3.0 | 🟡 On the verge of payback | Optimization: churn, pricing, channels|
149
+ | 3.0-5.0 | 🟢 Healthy economics | Scale, invest in growth |
150
+ | > 5.0 | 🔵 Potentially underinvesting | Increase marketing spend, test new channels |
151
+
152
+ Compare with industry benchmarks and company stage.
153
+
154
+ ### Step 5 — Payback Period
155
+
156
+ `Payback = CAC / (ARPU × Gross Margin) = X months`
157
+
158
+ | Business Model | Healthy Payback | Problematic |
159
+ |---------------|:----------------:|:----------:|
160
+ | SaaS (SMB) | < 12 mo | > 18 mo |
161
+ | SaaS (Enterprise) | < 18 mo | > 24 mo |
162
+ | E-commerce | < 3 mo | > 6 mo |
163
+ | Marketplace | < 6 mo | > 12 mo |
164
+
165
+ Impact on cash flow: `Cash needed = CAC × New Customers/mo × Payback (mo)`.
166
+
167
+ ### Step 6 — Break-Even Analysis
168
+
169
+ Determine the break-even point:
170
+
171
+ **At the unit level:**
172
+ `Break-even units = Fixed Costs / Contribution Margin per unit`
173
+
174
+ **At the business level:**
175
+
176
+ | Metric | Formula | Value |
177
+ |---------|---------|:--------:|
178
+ | Fixed Costs (mo) | [R&D + G&A + Infra] | $XX |
179
+ | Contribution Margin per unit (mo)| [ARPU × GM - Variable] | $XX |
180
+ | **Break-even clients** | Fixed / CM per unit | **N clients** |
181
+ | Current base | | N clients |
182
+ | Gap to break-even | | ±N clients |
183
+ | At current growth break-even in | | X mo |
184
+
185
+ ### Step 7Sensitivity Analysis
186
+
187
+ | Parameter | Base | Optimistic (+) | Pessimistic (-) |
188
+ |----------|:-------:|:-------------:|:--------------:|
189
+ | ARPU | $XX | $XX (+20%) | $XX (-20%) |
190
+ | Churn | X% | X% (-30%) | X% (+30%) |
191
+ | CAC | $XX | $XX (-25%) | $XX (+25%) |
192
+ | Gross Margin | XX% | XX% (+10pp) | XX% (-10pp) |
193
+
194
+ | Scenario | ARPU | Churn | CAC | LTV | LTV/CAC | Payback | Break-even |
195
+ |----------|:----:|:-----:|:---:|:---:|:-------:|:-------:|:----------:|
196
+ | Optimistic | $XX | X% | $XX | $XX | X.Xx | X mo | X mo |
197
+ | **Base** | **$XX** | **X%** | **$XX** | **$XX** | **X.Xx** | **X mo** | **X mo** |
198
+ | Pessimistic| $XX | X% | $XX | $XX | X.Xx | X mo | X mo |
199
+
200
+ **Kill-condition:** Under what scenario is LTV/CAC < 1.0 the model is unviable.
201
+
202
+ ### Step 8 Benchmark and Recommendations
203
+
204
+ Compare all metrics with industry benchmarks:
205
+
206
+ | Metric | Ours | Benchmark (industry) | Δ | Rating |
207
+ |---------|:----:|:-------------------:|:-:|:------:|
208
+ | LTV/CAC | X.Xx | 3-5x | ±X.Xx | 🟢/🟡/🔴 |
209
+ | Payback | X mo | 12-18 mo | ±X mo | 🟢/🟡/🔴 |
210
+ | Gross Margin| XX% | 70-80% (SaaS) | ±Xpp | 🟢/🟡/🔴 |
211
+ | Churn (mo) | X% | 2-5% (SaaS SMB) | ±Xpp | 🟢/🟡/🔴 |
212
+
213
+ Recommendations tied to bottlenecks:
214
+
215
+ | # | Bottleneck | Action | Target Metric | Expected Effect | Priority |
216
+ |---|-------------|----------|-----------------|:----------------:|:---------:|
217
+ | 1 | [CAC is too high] | [How to lower: channels, conversion] | CAC | -$XX (-X%) | P1 |
218
+ | 2 | [Churn above benchmark]| [How to lower: onboarding, retention]| Churn | -Xpp | P1 |
219
+ | 3 | [Margin below norm] | [How to improve: COGS, pricing] | GM | +Xpp | P2 |
220
+
221
+ ## Example — B2B SaaS: HR platform, per seat subscription
222
+
223
+ **Context:** HR recruiting automation platform, B2B SaaS, subscription $500/mo per company (avg 10 seats × $50). 200 clients, RF.
224
+
225
+ ### Revenue Model
226
+
227
+ | Component | Value | % | Description |
228
+ |-----------|:--------:|:-:|----------|
229
+ | Revenue (ARPU) | $500/mo | 100% | 10 seats × $50 |
230
+ | COGS | -$75 | 15% | Hosting, HH.ru API, L1 support |
231
+ | **Gross Margin** | **$425** | **85%** | |
232
+ | Variable Costs | -$50 | 10% | New client onboarding (amort.) |
233
+ | **Contribution Margin** | **$375** | **75%** | |
234
+
235
+ ### CAC by channels
236
+
237
+ | Channel | Budget/mo | Clients/mo | CAC | LTV/CAC | Verdict |
238
+ |-------|:----------:|:-----------:|:---:|:-------:|---------|
239
+ | Google Ads | $8K | 5 | $1,600 | 3.5x | 🟢 Scale |
240
+ | LinkedIn Ads | $5K | 2 | $2,500 | 2.2x | 🟡 Optimize |
241
+ | Outbound Sales | $12K | 4 | $3,000 | 1.9x | 🟡 Optimize |
242
+ | Content/SEO | $3K | 3 | $1,000 | 5.6x | 🟢 Scale |
243
+ | Referral | $1K | 2 | $500 | 11.2x | 🟢 Maximize |
244
+ | Organic | $0 | 4 | $0 | ∞ | 🟢 |
245
+ | **Blended** | **$29K** | **20** | **$1,450** | **3.9x** | 🟢 |
246
+
247
+ ### LTV
248
+
249
+ | Method | Calculation | LTV |
250
+ |-------|--------|:---:|
251
+ | Simple | $500 × 85% × (1/3.5%) = $500 × 0.85 × 28.6 mo | **$12,143** |
252
+ | Cohort | Avg cohort (12+ mo): $11,800 over lifetime | **$11,800** |
253
+ | **Final estimate** | Average (variance 3%) | **$5,600** (3-year capped) |
254
+
255
+ > Capped at 3 years (36 mo) for a conservative estimate: $500 × 0.85 × Σ(retention_i) = **$5,600**.
256
+
257
+ ### Key Metrics
258
+
259
+ | Metric | Ours | Benchmark (SaaS SMB) | Rating |
260
+ |---------|:----:|:--------------------:|:------:|
261
+ | LTV/CAC | 3.9x | 3-5x | 🟢 |
262
+ | Payback | 3.4 mo | < 12 mo | 🟢 |
263
+ | Gross Margin | 85% | 70-80% | 🟢 |
264
+ | Monthly Churn | 3.5% | 2-5% | 🟡 |
265
+ | Break-even | 160 clients ($60K fixed) | | (200 > 160) |
266
+
267
+ ### Sensitivity (SOM year 3)
268
+
269
+ | Scenario | ARPU | Churn | CAC | LTV (3yr) | LTV/CAC | Payback |
270
+ |----------|:----:|:-----:|:---:|:---------:|:-------:|:-------:|
271
+ | Optimistic | $600 | 2.5% | $1,100 | $7,200 | 6.5x | 2.2 mo |
272
+ | **Base** | **$500** | **3.5%** | **$1,450** | **$5,600** | **3.9x** | **3.4 mo** |
273
+ | Pessimistic | $400 | 5% | $1,800 | $3,400 | 1.9x | 5.3 mo |
274
+
275
+ **Kill-condition:** Churn > 7% LTV/CAC < 1.0 model is unviable.
276
+
277
+ ### Recommendations
278
+
279
+ | # | Bottleneck | Action | Effect | Priority |
280
+ |---|-------------|----------|:------:|:---------:|
281
+ | 1 | Churn 3.5% (upper bound) | Guided onboarding + health score alerts | Churn → 2.5%, LTV +29% | P1 |
282
+ | 2 | LinkedIn CAC $2,500 (high) | A/B test creatives, narrow targeting | CAC → $1,800 | P2 |
283
+ | 3 | Referral only 10% of clients| Launch referral program "month for free" | +5 clients/mo, CAC $500| P2 |
284
+
285
+ ## Validation (Quality Gate)
286
+
287
+ - [ ] Revenue model is visualized: Revenue COGS Gross Margin → Variable → Contribution Margin
288
+ - [ ] CAC runs calculated (blended + by channels with LTV/CAC per channel)
289
+ - [ ] LTV calculated with min 2 methods, noting assumptions
290
+ - [ ] Variance between LTV methods noted (< 30% or choice justified)
291
+ - [ ] LTV/CAC ratio calculated and interpreted by scale
292
+ - [ ] Payback period defined in months, compared with benchmark
293
+ - [ ] Break-even calculated: number of clients and timeline to reach
294
+ - [ ] Sensitivity analysis: 3 scenarios + kill-condition (at what LTV/CAC < 1.0)
295
+ - [ ] Metrics compared against industry benchmarks (with sources)
296
+ - [ ] Recommendations tied to bottlenecks with expected effect
297
+ - [ ] If data is modeled — explicitly marked with benchmark sources
298
+ - [ ] Data sources cited; data older than 12 mo marked ⚠️
299
+
300
+ > If validation fails iterate until it passes, do not hand off further.
301
+
302
+ ## Handoff
303
+ The output of `$unit-economics` acts as input for:
304
+ - **Strategist / Mediator** unit economics as foundation for growth strategy.
305
+ - **`tam-sam-som`** revenue potential = SOM × ARPU.
306
+ - **`cohort-analysis`** cohort LTV to polish the model.
307
+ - **`rfm-analysis`** LTV by segments for differentiated marketing.
308
+ - **`ansoff-matrix`** unit economics of new markets / products.
309
+ - **`customer-journey-mapping`** — churn points → churn & CAC optimization.
310
+
311
+ Output format: metrics dashboard + revenue model + CAC per channel + LTV (2 methods) + sensitivity + recommendations. When handing off — use `$handoff`.
312
+
313
+ ## Anti-patterns
314
+
315
+ | Mistake | Why it hurts | How to do it right |
316
+ |--------|-------------|---------------|
317
+ | LTV without churn | Massive overestimation | Always factor in churn; or use capped LTV (e.g. 3 yrs) |
318
+ | CAC without sales | Marketing is not the entire CAC | Include sales salaries, tools, overhead |
319
+ | Single LTV method | Different methods → different results | Minimal 2 methods, cross-check, justify choice |
320
+ | No payback period | Cash flow burden is unseen | Payback in mo + cash needed = CAC × new × payback |
321
+ | No benchmarks | Unclear if numbers are good | Contrast with industry (SaaS Capital, OpenView) |
322
+ | Static model | Metrics shift every quarter | Recalculate quarterly |
323
+ | No sensitivity | False confidence in one scenario | 3 scenarios + kill-condition (LTV/CAC < 1.0) |
324
+ | Blended CAC only | Unclear which channel is bleeding money | CAC per channel + LTV/CAC per channel → verdict |
325
+ | No break-even | Unclear when business turns a profit | Break-even clients + timeframe to achieve |
326
+
327
+ ## Output Template
328
+
329
+ ```
330
+ ### Unit Economics [Product / Service]
331
+
332
+ **Business Model:** [model]
333
+ **Pricing Model:** [model]
334
+ **Analysis Unit:** [client / account / order]
335
+ **Currency:** [currency]
336
+ **Period:** [period]
337
+ **Data Type:** Real / Modeled (benchmark: [source])
338
+ **Assessment Date:** [date]
339
+
340
+ ---
341
+
342
+ #### Revenue Model (Unit Economics Flow)
343
+
344
+ | Component | Value/mo | % of Revenue | Description |
345
+ |-----------|:------------:|:------------:|----------|
346
+ | Revenue (ARPU) | $XX | 100% | [Source] |
347
+ | COGS | -$XX | XX% | [What is included] |
348
+ | **Gross Margin** | **$XX** | **XX%** | |
349
+ | Variable Costs | -$XX | XX% | [What is included] |
350
+ | **Contribution Margin** | **$XX** | **XX%** | |
351
+
352
+ ---
353
+
354
+ #### Key Metrics (Dashboard)
355
+
356
+ | Metric | Value | Benchmark | Rating |
357
+ |---------|:--------:|:--------:|:------:|
358
+ | ARPU (mo) | $XX | $XX-$XX | 🟢/🟡/🔴 |
359
+ | CAC (blended) | $XX | $XX-$XX | 🟢/🟡/🔴 |
360
+ | LTV (capped 3yr)| $XX | $XX-$XX | 🟢/🟡/🔴 |
361
+ | LTV/CAC | X.Xx | 3-5x | 🟢/🟡/🔴 |
362
+ | Payback | X mo | X-X mo | 🟢/🟡/🔴 |
363
+ | Gross Margin | XX% | XX-XX% | 🟢/🟡/🔴 |
364
+ | Churn (mo) | X% | X-X% | 🟢/🟡/🔴 |
365
+ | Break-even | N clients| | ✅/⚠️ |
366
+
367
+ ---
368
+
369
+ #### CAC by Channels
370
+
371
+ | Channel | Budget | Clients | CAC | % total | LTV/CAC | Verdict |
372
+ |-------|:------:|:-------:|:---:|:-------:|:-------:|:-------:|
373
+ | [Channel] | $XX | N | $XX | XX% | X.Xx | 🟢/🟡/🔴 |
374
+ | **Blended** | **$XX** | **N** | **$XX** | **100%** | **X.Xx** | |
375
+
376
+ ---
377
+
378
+ #### LTV Methodology
379
+
380
+ | Method | Formula | Result | Assumptions |
381
+ |-------|---------|:---------:|-----------|
382
+ | Simple | ARPU × GM × (1/Churn) | $XX | [assumptions] |
383
+ | Cohort | Actual cohort revenue | $XX | [assumptions] |
384
+ | **Final estimate**| [method / average] | **$XX** | Variance: X% |
385
+
386
+ ---
387
+
388
+ #### Break-Even
389
+
390
+ | Metric | Value |
391
+ |---------|:--------:|
392
+ | Fixed Costs (mo) | $XX |
393
+ | Contribution Margin per unit | $XX |
394
+ | Break-even clients | N |
395
+ | Current base | N |
396
+ | Gap | ±N |
397
+ | Timeline to reach | X mo |
398
+
399
+ ---
400
+
401
+ #### Sensitivity Analysis
402
+
403
+ | Scenario | ARPU | Churn | CAC | LTV | LTV/CAC | Payback |
404
+ |----------|:----:|:-----:|:---:|:---:|:-------:|:-------:|
405
+ | Optimistic | $XX | X% | $XX | $XX | X.Xx | X mo |
406
+ | **Base** | **$XX** | **X%** | **$XX** | **$XX** | **X.Xx** | **X mo** |
407
+ | Pessimistic | $XX | X% | $XX | $XX | X.Xx | X mo |
408
+
409
+ **Kill-condition:** [Under what parameter LTV/CAC < 1.0]
410
+
411
+ ---
412
+
413
+ #### Recommendations
414
+
415
+ | # | Bottleneck | Action | Target Metric | Expected Effect | Priority |
416
+ |---|-------------|----------|-----------------|:----------------:|:---------:|
417
+ | 1 | [Problem] | [Action] | [Metric] | [±X%] | P1 |
418
+
419
+ **Recalculation:** quarterly
420
+
421
+ ---
422
+
423
+ #### Sources and Assumptions
424
+
425
+ | # | Fact / Assumption | Source | Date | Confidence |
426
+ |---|-------------------|----------|------|:-------------:|
427
+ | 1 | [Fact] | [Source] | [Date] | ✅ / ⚠️ / 🔮 |
428
+
429
+ Legend: ✅ Verified (real data / 2+ sources) | ⚠️ Estimated (benchmark) | 🔮 Assumed (modeling)
430
+ ```