codymaster 5.2.0 → 7.0.1

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 (380) hide show
  1. package/CHANGELOG.md +276 -0
  2. package/README.md +216 -333
  3. package/dist/agent/antigravity.js +152 -0
  4. package/dist/agent/backend.js +2 -0
  5. package/dist/agent/claude.js +196 -0
  6. package/dist/agent/codex.js +204 -0
  7. package/dist/agent/copilot.js +284 -0
  8. package/dist/agent/cursor.js +211 -0
  9. package/dist/agent/factory.js +30 -0
  10. package/dist/agent/gemini.js +142 -0
  11. package/dist/agent/opencode.js +205 -0
  12. package/dist/agent/spawn-helper.js +237 -0
  13. package/dist/agent/version.js +25 -0
  14. package/dist/browse/adapter-factory.js +69 -0
  15. package/dist/browse/adapters/agent-browser-adapter.js +305 -0
  16. package/dist/browse/adapters/playwright-adapter.js +309 -0
  17. package/dist/browse/adapters/types.js +6 -0
  18. package/dist/browse/error-collector.js +132 -0
  19. package/dist/browse/event-log.js +109 -0
  20. package/dist/browse/index.js +17 -0
  21. package/dist/browse-server.js +204 -120
  22. package/dist/cli/command-registry.js +12 -0
  23. package/dist/cli/commands/dashboard.js +76 -2
  24. package/dist/cli/commands/engineering.js +218 -4
  25. package/dist/cli/commands/install.js +160 -0
  26. package/dist/cli/commands/learn.js +181 -0
  27. package/dist/cli/commands/parallel.js +138 -0
  28. package/dist/cli/commands/quality.js +105 -0
  29. package/dist/cli/commands/stack.js +49 -0
  30. package/dist/cli/commands/update.js +159 -0
  31. package/dist/cli/update-check.js +94 -10
  32. package/dist/continuity.js +3 -1
  33. package/dist/dashboard.js +47 -6
  34. package/dist/data.js +35 -0
  35. package/dist/execution/tdd-gate.js +113 -0
  36. package/dist/executor/cancel.js +34 -0
  37. package/dist/executor/gc.js +74 -0
  38. package/dist/executor/index.js +14 -0
  39. package/dist/executor/runner.js +70 -0
  40. package/dist/executor/workdir.js +31 -0
  41. package/dist/handoff/contracts.js +22 -0
  42. package/dist/handoff/index.js +18 -0
  43. package/dist/handoff/io.js +121 -0
  44. package/dist/index.js +7 -3
  45. package/dist/indexer/stack-detect.js +219 -0
  46. package/dist/install/copy.js +98 -0
  47. package/dist/install/engine.js +42 -0
  48. package/dist/install/paths.js +70 -0
  49. package/dist/install/platforms/_simple.js +85 -0
  50. package/dist/install/platforms/antigravity.js +91 -0
  51. package/dist/install/platforms/claude-code.js +107 -0
  52. package/dist/install/platforms/cursor.js +77 -0
  53. package/dist/install/platforms/index.js +27 -0
  54. package/dist/install/platforms/simple.js +163 -0
  55. package/dist/install/profiles.js +75 -0
  56. package/dist/install/types.js +2 -0
  57. package/dist/learnings.js +208 -0
  58. package/dist/mcp-context-server.js +1 -1
  59. package/dist/middleware/metrics.js +30 -0
  60. package/dist/middleware/security-headers.js +14 -0
  61. package/dist/realtime/event-bus.js +29 -0
  62. package/dist/realtime/ws-hub.js +91 -0
  63. package/dist/schemas/task-schema.js +48 -0
  64. package/dist/schemas/validate.js +18 -0
  65. package/dist/skills-lock.js +96 -0
  66. package/dist/sprint-pipeline.js +26 -0
  67. package/dist/storage/index.js +21 -0
  68. package/dist/storage/repos/activity-repo.js +46 -0
  69. package/dist/storage/repos/message-repo.js +39 -0
  70. package/dist/storage/repos/project-repo.js +56 -0
  71. package/dist/storage/repos/task-repo.js +142 -0
  72. package/dist/storage/services/project-service.js +49 -0
  73. package/dist/storage/services/task-service.js +97 -0
  74. package/dist/storage/sqlite.js +113 -0
  75. package/dist/tier-classify.js +131 -0
  76. package/dist/ui/onboarding.js +51 -15
  77. package/dist/utils/cli-utils.js +7 -2
  78. package/dist/utils/design-taste.js +108 -0
  79. package/dist/utils/output-compress.js +143 -0
  80. package/dist/vibecoding-index.js +126 -0
  81. package/package.json +27 -4
  82. package/public/dashboard/app.js +52 -1
  83. package/scripts/build-skills-lock.mjs +88 -0
  84. package/scripts/build-skills.mjs +187 -28
  85. package/scripts/compress-skill.mjs +73 -0
  86. package/scripts/deprecate-skill.mjs +72 -0
  87. package/scripts/install.sh +170 -0
  88. package/scripts/mcp-bridge.js +2 -2
  89. package/scripts/postinstall.js +54 -287
  90. package/scripts/release.sh +126 -0
  91. package/scripts/update-changelog.sh +88 -0
  92. package/scripts/validate-skills.mjs +101 -4
  93. package/skills/_shared/SKILL_TEMPLATE.md +62 -0
  94. package/skills/cm-autopilot/scripts/autopilot.py +19 -2
  95. package/skills/cm-brainstorm-idea/SKILL.md +9 -0
  96. package/skills/cm-clean-code/SKILL.md +20 -0
  97. package/skills/cm-code-review/SKILL.md +21 -0
  98. package/skills/cm-codeintell/SKILL.md +9 -0
  99. package/skills/cm-conductor-worktrees/SKILL.archive.md +28 -0
  100. package/skills/cm-conductor-worktrees/SKILL.md +17 -19
  101. package/skills/cm-continuity/SKILL.md +9 -0
  102. package/skills/cm-dashboard/SKILL.archive.md +15 -0
  103. package/skills/cm-dashboard/SKILL.md +20 -9
  104. package/skills/cm-dashboard/ui/app.js +9 -1
  105. package/skills/cm-debugging/SKILL.md +9 -0
  106. package/skills/cm-design-studio/SKILL.archive.md +34 -0
  107. package/skills/cm-design-studio/SKILL.md +17 -25
  108. package/skills/cm-design-system/SKILL.md +1 -0
  109. package/skills/cm-engineering-meta/SKILL.archive.md +73 -0
  110. package/skills/cm-engineering-meta/SKILL.md +16 -63
  111. package/skills/cm-execution/SKILL.md +98 -0
  112. package/skills/cm-git-worktrees/SKILL.archive.md +157 -0
  113. package/skills/cm-git-worktrees/SKILL.md +15 -146
  114. package/skills/cm-identity-guard/SKILL.md +8 -0
  115. package/skills/cm-planning/SKILL.md +63 -92
  116. package/skills/cm-post-deploy-canary/SKILL.archive.md +22 -0
  117. package/skills/cm-post-deploy-canary/SKILL.md +17 -13
  118. package/skills/cm-qa-visual-cli/SKILL.archive.md +22 -0
  119. package/skills/cm-qa-visual-cli/SKILL.md +16 -12
  120. package/skills/cm-quality-gate/SKILL.md +38 -0
  121. package/skills/cm-safe-deploy/SKILL.md +9 -0
  122. package/skills/cm-second-opinion-cli/SKILL.archive.md +23 -0
  123. package/skills/cm-second-opinion-cli/SKILL.md +17 -14
  124. package/skills/cm-secret-shield/SKILL.archive.md +580 -0
  125. package/skills/cm-secret-shield/SKILL.md +15 -569
  126. package/skills/cm-security-gate/SKILL.archive.md +239 -0
  127. package/skills/cm-security-gate/SKILL.md +15 -228
  128. package/skills/cm-skill-health/SKILL.archive.md +83 -0
  129. package/skills/cm-skill-health/SKILL.md +16 -73
  130. package/skills/cm-skill-index/SKILL.md +8 -0
  131. package/skills/cm-skill-mastery/SKILL.archive.md +156 -0
  132. package/skills/cm-skill-mastery/SKILL.md +16 -146
  133. package/skills/cm-skill-search/SKILL.archive.md +49 -0
  134. package/skills/cm-skill-search/SKILL.md +17 -40
  135. package/skills/cm-skill-share/SKILL.archive.md +58 -0
  136. package/skills/cm-skill-share/SKILL.md +17 -49
  137. package/skills/cm-sprint-bus/SKILL.md +9 -0
  138. package/skills/cm-start/SKILL.md +17 -0
  139. package/skills/cm-tdd/SKILL.md +19 -0
  140. package/skills/cm-terminal/SKILL.md +15 -0
  141. package/skills/cm-test-gate/SKILL.archive.md +245 -0
  142. package/skills/cm-test-gate/SKILL.md +15 -234
  143. package/skills/cm-ui-preview/SKILL.archive.md +153 -0
  144. package/skills/cm-ui-preview/SKILL.md +16 -143
  145. package/skills/cm-ux-master/cli/uxmaster/commands/mcp.py +1 -1
  146. package/skills/cm-ux-master/mcp/mcp-config.json +1 -1
  147. package/skills/cm-ux-master/mcp/server.py +2 -2
  148. package/skills/profiles/design.txt +1 -1
  149. package/skills/profiles/full.txt +0 -10
  150. package/skills/profiles/growth.txt +8 -8
  151. package/skills/profiles/knowledge.txt +1 -1
  152. package/skills/profiles/top35.json +41 -0
  153. package/adapters/antigravity.js +0 -15
  154. package/adapters/claude-code.js +0 -17
  155. package/adapters/cursor.js +0 -16
  156. package/skills/cm-ads-tracker/SKILL.md +0 -401
  157. package/skills/cm-ads-tracker/evals/evals.json +0 -55
  158. package/skills/cm-ads-tracker/references/gtm-architecture.md +0 -321
  159. package/skills/cm-ads-tracker/references/industry-events.md +0 -294
  160. package/skills/cm-ads-tracker/references/platforms-api.md +0 -238
  161. package/skills/cm-ads-tracker/templates/capi-payload.md +0 -79
  162. package/skills/cm-ads-tracker/templates/datalayer-push.js +0 -104
  163. package/skills/cm-ads-tracker/templates/gtm-variables.js +0 -56
  164. package/skills/cm-auto-publisher/SKILL.md +0 -81
  165. package/skills/cm-booking-calendar/SKILL.md +0 -521
  166. package/skills/cm-booking-calendar/references/industry-patterns.md +0 -527
  167. package/skills/cm-booking-calendar/templates/booking-form.css +0 -626
  168. package/skills/cm-booking-calendar/templates/booking-form.html +0 -477
  169. package/skills/cm-booking-calendar/templates/calendar-engine.js +0 -419
  170. package/skills/cm-booking-calendar/templates/calendar-export.js +0 -395
  171. package/skills/cm-booking-calendar/templates/reminder-config.js +0 -629
  172. package/skills/cm-content-factory/.content-factory-state.json +0 -132
  173. package/skills/cm-content-factory/.git 2/logs/refs/heads/main +0 -1
  174. package/skills/cm-content-factory/.git 2/logs/refs/remotes/origin/main +0 -1
  175. package/skills/cm-content-factory/.git 2/objects/02/fb0956734b5f8ba3f918b7defd04a89cfe0076 +0 -0
  176. package/skills/cm-content-factory/.git 2/objects/08/1e129d75dc6feac6c02037272e6bd1a04e3324 +0 -0
  177. package/skills/cm-content-factory/.git 2/objects/0c/5393416f3c5e01c9a655a802bff0dd52f76f0a +0 -0
  178. package/skills/cm-content-factory/.git 2/objects/10/0b9be46978a946a77188f68be725098a122001 +0 -0
  179. package/skills/cm-content-factory/.git 2/objects/10/cf041167fc9843610eb3d90259ef3396315fdc +0 -0
  180. package/skills/cm-content-factory/.git 2/objects/12/5e19538dd6e1338ffe74f6c4c165b00435bf48 +0 -0
  181. package/skills/cm-content-factory/.git 2/objects/16/a9b9d0088d5c1347628b45a2620b479d8ad57c +0 -0
  182. package/skills/cm-content-factory/.git 2/objects/17/8c2a9ef93c33ae4eec9d58e82321f9229843a1 +0 -0
  183. package/skills/cm-content-factory/.git 2/objects/25/397ae41d09104d763bdcac2695209d85cdea89 +0 -0
  184. package/skills/cm-content-factory/.git 2/objects/2f/a836b7947f2d458e1f639788bf4bb0983a3305 +0 -0
  185. package/skills/cm-content-factory/.git 2/objects/3a/baaaf0a1c0909c0828335791557125fba911e0 +0 -0
  186. package/skills/cm-content-factory/.git 2/objects/42/2924221b81f5ce3c4e4daac9a64a24f9b01f9a +0 -0
  187. package/skills/cm-content-factory/.git 2/objects/42/ec0ce707447dc11446a34c9995fb8533801731 +0 -0
  188. package/skills/cm-content-factory/.git 2/objects/46/e43ce92866d56ce74b1d750db307cfe6154a15 +0 -0
  189. package/skills/cm-content-factory/.git 2/objects/48/5e41b633c63f55b8277bcc59f44f67681f671a +0 -0
  190. package/skills/cm-content-factory/.git 2/objects/49/49c596a3a89fa240642acd95dd3258e261eb09 +0 -0
  191. package/skills/cm-content-factory/.git 2/objects/50/9d42d8412ef8eaf7f7e138476bac2e4d10ce60 +0 -0
  192. package/skills/cm-content-factory/.git 2/objects/55/0c8c389d981b463ef849aeb792d8be3ccb6ec8 +0 -0
  193. package/skills/cm-content-factory/.git 2/objects/5d/82d3b18410cdda3ace3677436f0cb599dbe2d2 +0 -0
  194. package/skills/cm-content-factory/.git 2/objects/60/0617c58e871a38b33bf29e282d132bb3c381ad +0 -0
  195. package/skills/cm-content-factory/.git 2/objects/6a/8369a99c687b7245c92ffaf0e0f0dab9014504 +0 -0
  196. package/skills/cm-content-factory/.git 2/objects/79/bea435d40ab531c1aaf6be0432c6a5b7aaed21 +0 -0
  197. package/skills/cm-content-factory/.git 2/objects/7e/5ebd79251c2f14e4aceb86c74b6b6daae6b500 +0 -0
  198. package/skills/cm-content-factory/.git 2/objects/81/98a822a60178d6d5023ddb3e222cddf048742e +0 -0
  199. package/skills/cm-content-factory/.git 2/objects/86/0a0e1943dfe53411d2e499a1f16f46a96ef758 +0 -0
  200. package/skills/cm-content-factory/.git 2/objects/86/971fb55fdc081fdbae52376f0f13e57a4e9b04 +0 -0
  201. package/skills/cm-content-factory/.git 2/objects/88/b89dd609a0a03f8d4fe8bfde20d5b8fc1d326d +0 -0
  202. package/skills/cm-content-factory/.git 2/objects/90/8737edb6b7809e32cc01590b4e08ba42a9d40d +0 -0
  203. package/skills/cm-content-factory/.git 2/objects/93/d5a8a9a7d4fb7f11491cb596a6880528725118 +0 -0
  204. package/skills/cm-content-factory/.git 2/objects/98/46a2ab81d0c3b3eb00ef88fc56989aa7e9f316 +0 -0
  205. package/skills/cm-content-factory/.git 2/objects/9b/d8dd1e49cf274eaf9c555f3ab39dce7af5715e +0 -0
  206. package/skills/cm-content-factory/.git 2/objects/a1/13329fb0cec96ae78b222d33a24c3b5bc7fa1f +0 -0
  207. package/skills/cm-content-factory/.git 2/objects/a9/e6effe626e8a3aea3a8fc3364b492191c6e7d0 +0 -0
  208. package/skills/cm-content-factory/.git 2/objects/ad/6de7e48d9782cca9353d1ff0aa1aab7fe1df85 +0 -0
  209. package/skills/cm-content-factory/.git 2/objects/af/54ae316f771ff692e299ffcd8bf2f06b413b59 +0 -0
  210. package/skills/cm-content-factory/.git 2/objects/b0/4cb8b0b00dad633e731c1472161419e738d674 +0 -0
  211. package/skills/cm-content-factory/.git 2/objects/b3/094abb0b9ed46419b269e4a4e36a459690e3b0 +0 -0
  212. package/skills/cm-content-factory/.git 2/objects/b9/435c5d4baac2cfc5c83009ddd27b46b60db5f1 +0 -0
  213. package/skills/cm-content-factory/.git 2/objects/ba/5da17dbaec5ec2dcfdfd126aead518d1171d5c +0 -0
  214. package/skills/cm-content-factory/.git 2/objects/c0/bf58703aa258ba5dd63083bebaec8f223d844c +0 -0
  215. package/skills/cm-content-factory/.git 2/objects/c4/701a34edf1fc1bad58ccc57bd03f9426acb59a +0 -0
  216. package/skills/cm-content-factory/.git 2/objects/c7/5ccce9a4e5cc74d9b3174550cf6d993ca43638 +0 -0
  217. package/skills/cm-content-factory/.git 2/objects/c7/710d59b5a35b0f1f0a0399386643a0bd94c929 +0 -0
  218. package/skills/cm-content-factory/.git 2/objects/d1/fe58237112e953e5fec52da22cf38e08be3df9 +0 -5
  219. package/skills/cm-content-factory/.git 2/objects/d2/2bbe9fd2f74c95bc5583e803f5e435f1e2cd86 +0 -0
  220. package/skills/cm-content-factory/.git 2/objects/d7/e72852ea2bff74581dbf247d400120086229f4 +0 -0
  221. package/skills/cm-content-factory/.git 2/objects/d8/d4c3b5553e4fd72807e1d4b49ef07d9ef3ac35 +0 -0
  222. package/skills/cm-content-factory/.git 2/objects/dc/75050c2876f6a02ae2a53a3c886f395b622977 +0 -0
  223. package/skills/cm-content-factory/.git 2/objects/ee/e8546f95acec500187c08a28a8b9ee02db0dec +0 -0
  224. package/skills/cm-content-factory/.git 2/objects/ef/263c059208b416c2146434f10cb2b9fabcba16 +0 -0
  225. package/skills/cm-content-factory/.git 2/objects/f3/ae597e84d9a59b88acd21c99bde2eaf686d785 +0 -0
  226. package/skills/cm-content-factory/.git 2/objects/f3/f6f5673c821d3d8e76fa267a9e882e7a5387ea +0 -0
  227. package/skills/cm-content-factory/.git 2/objects/f9/6e6d0ad02624dd11d5848594d056caef7a5e8b +0 -0
  228. package/skills/cm-content-factory/.git 2/objects/ff/278988fc1edf0db3abcf18de795f4cc0b4f3e1 +0 -0
  229. package/skills/cm-content-factory/.git 2/refs/heads/main +0 -1
  230. package/skills/cm-content-factory/.git 2/refs/remotes/origin/main +0 -1
  231. package/skills/cm-content-factory/.pytest_cache 2/v/cache/nodeids +0 -76
  232. package/skills/cm-content-factory/.pytest_cache 2/v/cache/stepwise +0 -1
  233. package/skills/cm-content-factory/AGENTS.md +0 -61
  234. package/skills/cm-content-factory/CLAUDE.md +0 -63
  235. package/skills/cm-content-factory/CURSOR.md +0 -43
  236. package/skills/cm-content-factory/Content Factory.zip +0 -0
  237. package/skills/cm-content-factory/SKILL.md +0 -416
  238. package/skills/cm-content-factory/cf +0 -313
  239. package/skills/cm-content-factory/config.schema.json +0 -397
  240. package/skills/cm-content-factory/dashboard/app.js +0 -556
  241. package/skills/cm-content-factory/dashboard/index.html +0 -397
  242. package/skills/cm-content-factory/dashboard/style.css +0 -1211
  243. package/skills/cm-content-factory/examples/01-real-estate.config.json +0 -146
  244. package/skills/cm-content-factory/examples/02-personal-finance.config.json +0 -146
  245. package/skills/cm-content-factory/examples/03-health-wellness.config.json +0 -147
  246. package/skills/cm-content-factory/examples/04-saas-software.config.json +0 -147
  247. package/skills/cm-content-factory/examples/05-legal-services.config.json +0 -147
  248. package/skills/cm-content-factory/examples/06-insurance.config.json +0 -146
  249. package/skills/cm-content-factory/examples/07-ecommerce-dropship.config.json +0 -146
  250. package/skills/cm-content-factory/examples/08-online-education.config.json +0 -147
  251. package/skills/cm-content-factory/examples/09-crypto-defi.config.json +0 -147
  252. package/skills/cm-content-factory/examples/10-beauty-skincare.config.json +0 -147
  253. package/skills/cm-content-factory/examples/11-home-services.config.json +0 -146
  254. package/skills/cm-content-factory/examples/12-dental-clinic.config.json +0 -147
  255. package/skills/cm-content-factory/examples/13-pet-care.config.json +0 -147
  256. package/skills/cm-content-factory/examples/14-travel-hospitality.config.json +0 -147
  257. package/skills/cm-content-factory/examples/15-ai-automation.config.json +0 -147
  258. package/skills/cm-content-factory/examples/16-wedding-events.config.json +0 -147
  259. package/skills/cm-content-factory/examples/17-fitness-coaching.config.json +0 -148
  260. package/skills/cm-content-factory/examples/18-cybersecurity.config.json +0 -147
  261. package/skills/cm-content-factory/examples/19-food-restaurant.config.json +0 -148
  262. package/skills/cm-content-factory/examples/20-solar-energy.config.json +0 -147
  263. package/skills/cm-content-factory/examples/fitness-blog.config.json +0 -116
  264. package/skills/cm-content-factory/examples/tech-blog.config.json +0 -107
  265. package/skills/cm-content-factory/extensions/EXTENSION_GUIDE.md +0 -72
  266. package/skills/cm-content-factory/extensions/hooks.py +0 -126
  267. package/skills/cm-content-factory/extensions/openclaw_adapter.py +0 -132
  268. package/skills/cm-content-factory/landing/docs/content/changelog.md +0 -36
  269. package/skills/cm-content-factory/landing/docs/content/deployment.md +0 -46
  270. package/skills/cm-content-factory/landing/docs/content/execution-flow.md +0 -67
  271. package/skills/cm-content-factory/landing/docs/content/memory-system.md +0 -38
  272. package/skills/cm-content-factory/landing/docs/content/openspace.md +0 -27
  273. package/skills/cm-content-factory/landing/docs/content/use-cases.md +0 -26
  274. package/skills/cm-content-factory/landing/docs/content/v5-intro.md +0 -28
  275. package/skills/cm-content-factory/landing/docs/index.html +0 -240
  276. package/skills/cm-content-factory/landing/index.html +0 -680
  277. package/skills/cm-content-factory/landing/script.js +0 -143
  278. package/skills/cm-content-factory/landing/style.css +0 -1216
  279. package/skills/cm-content-factory/landing/translations.js +0 -508
  280. package/skills/cm-content-factory/logs/events.jsonl +0 -11
  281. package/skills/cm-content-factory/profiles/_template.profile.json +0 -231
  282. package/skills/cm-content-factory/profiles/finance.profile.json +0 -278
  283. package/skills/cm-content-factory/profiles/legal.profile.json +0 -263
  284. package/skills/cm-content-factory/profiles/medical-research.profile.json +0 -321
  285. package/skills/cm-content-factory/profiles/technology.profile.json +0 -275
  286. package/skills/cm-content-factory/scripts/agent_dispatcher.py +0 -266
  287. package/skills/cm-content-factory/scripts/audit.py +0 -106
  288. package/skills/cm-content-factory/scripts/dashboard_server.py +0 -225
  289. package/skills/cm-content-factory/scripts/deploy.py +0 -146
  290. package/skills/cm-content-factory/scripts/extract.py +0 -132
  291. package/skills/cm-content-factory/scripts/landing_generator.py +0 -459
  292. package/skills/cm-content-factory/scripts/memory.py +0 -521
  293. package/skills/cm-content-factory/scripts/monetize.py +0 -239
  294. package/skills/cm-content-factory/scripts/pipeline.py +0 -357
  295. package/skills/cm-content-factory/scripts/plan.py +0 -163
  296. package/skills/cm-content-factory/scripts/publish.py +0 -145
  297. package/skills/cm-content-factory/scripts/research.py +0 -337
  298. package/skills/cm-content-factory/scripts/scaffold.py +0 -464
  299. package/skills/cm-content-factory/scripts/scoreboard.py +0 -336
  300. package/skills/cm-content-factory/scripts/seo.py +0 -90
  301. package/skills/cm-content-factory/scripts/state_manager.py +0 -320
  302. package/skills/cm-content-factory/scripts/token_manager.py +0 -268
  303. package/skills/cm-content-factory/scripts/validate.py +0 -221
  304. package/skills/cm-content-factory/scripts/wizard.py +0 -329
  305. package/skills/cm-content-factory/scripts/write.py +0 -93
  306. package/skills/cm-content-factory/sites/docs-site/src/assets/houston.webp +0 -0
  307. package/skills/cm-content-factory/sites/docs-site/src/content/docs/architecture.md +0 -90
  308. package/skills/cm-content-factory/sites/docs-site/src/content/docs/data-flow.md +0 -54
  309. package/skills/cm-content-factory/sites/docs-site/src/content/docs/deployment.md +0 -38
  310. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/index.md +0 -65
  311. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/lc-content-lifecycle.md +0 -48
  312. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/seq-write-mode.md +0 -39
  313. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/uj-first-batch.md +0 -42
  314. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/wf-content-pipeline.md +0 -51
  315. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/wf-learning-cycle.md +0 -52
  316. package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/configuration.md +0 -86
  317. package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/installation.md +0 -80
  318. package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/intro.md +0 -58
  319. package/skills/cm-content-factory/sites/docs-site/src/content/docs/index.md +0 -102
  320. package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/index.md +0 -45
  321. package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/optimize-seo.md +0 -29
  322. package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/scale-content-production.md +0 -55
  323. package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/standardize-quality.md +0 -29
  324. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/buyer-cmo-huong.md +0 -41
  325. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/buyer-content-lead-khoa.md +0 -40
  326. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/index.md +0 -56
  327. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-content-manager-lan.md +0 -46
  328. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-seo-minh.md +0 -45
  329. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-writer-tu.md +0 -45
  330. package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/content-pipeline.md +0 -108
  331. package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/index.md +0 -22
  332. package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/memory-system.md +0 -52
  333. package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/seo-optimization.md +0 -58
  334. package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/troubleshooting-guide.md +0 -92
  335. package/skills/cm-content-factory/sites/docs-site/src/styles/custom.css +0 -575
  336. package/skills/cm-content-factory/tests/conftest.py +0 -66
  337. package/skills/cm-content-factory/tests/test_agent_dispatcher.py +0 -125
  338. package/skills/cm-content-factory/tests/test_memory.py +0 -128
  339. package/skills/cm-content-factory/tests/test_pipeline.py +0 -107
  340. package/skills/cm-content-factory/tests/test_research.py +0 -56
  341. package/skills/cm-content-factory/tests/test_state_manager.py +0 -131
  342. package/skills/cm-content-factory/tests/test_token_manager.py +0 -110
  343. package/skills/cm-content-factory/tests/test_wizard.py +0 -121
  344. package/skills/cm-cro-methodology/SKILL.md +0 -290
  345. package/skills/cm-cro-methodology/references/COPYWRITING.md +0 -178
  346. package/skills/cm-cro-methodology/references/OBJECTIONS.md +0 -135
  347. package/skills/cm-cro-methodology/references/PERSUASION.md +0 -158
  348. package/skills/cm-cro-methodology/references/RESEARCH.md +0 -220
  349. package/skills/cm-cro-methodology/references/funnel-analysis.md +0 -365
  350. package/skills/cm-cro-methodology/references/testing-methodology.md +0 -330
  351. package/skills/cm-google-form/SKILL.md +0 -266
  352. package/skills/cm-google-form/templates/apps-script.js +0 -55
  353. package/skills/cm-google-form/templates/form-markup.html +0 -110
  354. package/skills/cm-google-form/templates/form-submit.js +0 -201
  355. package/skills/cm-google-form/templates/toast.css +0 -152
  356. package/skills/cm-growth-hacking/SKILL.md +0 -282
  357. package/skills/cm-growth-hacking/bottom-sheet-engine.md +0 -261
  358. package/skills/cm-growth-hacking/calendar-integration.md +0 -264
  359. package/skills/cm-growth-hacking/references/engagement-patterns.md +0 -346
  360. package/skills/cm-growth-hacking/templates/bottom-sheet.css +0 -528
  361. package/skills/cm-growth-hacking/templates/bottom-sheet.js +0 -269
  362. package/skills/cm-growth-hacking/templates/calendar-cta.js +0 -213
  363. package/skills/cm-growth-hacking/templates/tracking-events.js +0 -211
  364. package/skills/cm-growth-hacking/templates/trigger-manager.js +0 -254
  365. package/skills/cm-growth-hacking/tracking-events.md +0 -246
  366. package/skills/cm-growth-hacking/trigger-system.md +0 -342
  367. package/skills/cm-jtbd/SKILL.md +0 -98
  368. package/skills/cm-notebooklm/SKILL.md +0 -156
  369. package/skills/cm-notebooklm/references/command_reference.md +0 -94
  370. package/skills/cm-notebooklm/references/workflows.md +0 -60
  371. package/skills/cm-notebooklm/resources/knowledge_sources.md +0 -106
  372. package/skills/cm-notebooklm/scripts/brain-sync.sh +0 -453
  373. package/skills/cm-notebooklm/scripts/graduate_wisdom.py +0 -101
  374. package/skills/cm-readit/SKILL.md +0 -289
  375. package/skills/cm-readit/audio-player.md +0 -206
  376. package/skills/cm-readit/examples/blog-reader.js +0 -352
  377. package/skills/cm-readit/examples/voice-cro.js +0 -390
  378. package/skills/cm-readit/tts-engine.md +0 -262
  379. package/skills/cm-readit/ui-patterns.md +0 -362
  380. package/skills/cm-readit/voice-cro.md +0 -223
@@ -1,365 +0,0 @@
1
- # Funnel Analysis Framework
2
-
3
- Deep methodology for mapping, analyzing, and optimizing conversion funnels.
4
-
5
- ## Funnel Philosophy
6
-
7
- A funnel isn't just a visualization—it's a diagnostic tool. Every business has a funnel, whether they've mapped it or not. The question is: where is it leaking?
8
-
9
- **Core insight:** Most businesses focus on the top of the funnel (traffic) when the biggest wins are often in the middle (conversion) or bottom (retention/expansion).
10
-
11
- ---
12
-
13
- ## Mapping Your Funnel
14
-
15
- ### The Basic Funnel Structure
16
-
17
- ```
18
- Awareness → Interest → Consideration → Intent → Evaluation → Purchase → Retention → Advocacy
19
- ```
20
-
21
- ### Simplified Business Models
22
-
23
- **E-commerce:**
24
- ```
25
- Visit → View Product → Add to Cart → Begin Checkout → Complete Purchase → Repeat Purchase
26
- ```
27
-
28
- **SaaS:**
29
- ```
30
- Visit → Signup → Onboard → Activate → Engage → Convert (Paid) → Retain → Expand
31
- ```
32
-
33
- **Lead Generation:**
34
- ```
35
- Visit → Lead Magnet → MQL → SQL → Opportunity → Close → Upsell
36
- ```
37
-
38
- **Content/Media:**
39
- ```
40
- Visit → Read/View → Subscribe → Engage → Share → Become Regular
41
- ```
42
-
43
- ### Identifying All Steps
44
-
45
- List every step a customer takes from first touch to desired outcome:
46
-
47
- 1. **Acquisition touchpoints** - Where do they first hear about you?
48
- 2. **Engagement actions** - What do they do before converting?
49
- 3. **Conversion moments** - Where do they make commitments?
50
- 4. **Value realization** - When do they get what they came for?
51
- 5. **Expansion opportunities** - How do they become more valuable?
52
-
53
- ---
54
-
55
- ## Blocked Arteries
56
-
57
- A "blocked artery" is a high-traffic path with underperformance—a point where lots of visitors enter but few progress.
58
-
59
- ### How to Find Blocked Arteries
60
-
61
- **Step 1: Map traffic volume at each stage**
62
-
63
- ```
64
- Homepage: 10,000 visitors
65
- Product page: 3,000 visitors (30% of traffic)
66
- Add to cart: 600 visitors (20% of product viewers)
67
- Checkout start: 300 visitors (50% of cart adds)
68
- Purchase: 150 visitors (50% of checkout starts)
69
- ```
70
-
71
- **Step 2: Calculate conversion at each step**
72
-
73
- ```
74
- Homepage → Product: 30%
75
- Product → Cart: 20% ← Potential blocked artery
76
- Cart → Checkout: 50%
77
- Checkout → Purchase: 50%
78
- ```
79
-
80
- **Step 3: Compare to benchmarks**
81
-
82
- | Stage | Your Rate | Industry Benchmark | Opportunity |
83
- |-------|-----------|-------------------|-------------|
84
- | Home → Product | 30% | 25-35% | On track |
85
- | Product → Cart | 20% | 5-10% | Actually good |
86
- | Cart → Checkout | 50% | 60-70% | **Blocked artery** |
87
- | Checkout → Purchase | 50% | 70-80% | **Blocked artery** |
88
-
89
- **Step 4: Prioritize by impact**
90
-
91
- Impact = Traffic Volume × Conversion Gap
92
-
93
- ```
94
- Cart → Checkout: 600 × (0.65 - 0.50) = 90 potential conversions
95
- Checkout → Purchase: 300 × (0.75 - 0.50) = 75 potential conversions
96
- ```
97
-
98
- ### Common Blocked Arteries
99
-
100
- | Location | Typical Causes |
101
- |----------|----------------|
102
- | Homepage → Category | Unclear value proposition, poor navigation |
103
- | Category → Product | Weak product presentation, too many choices |
104
- | Product → Cart | Missing information, price shock, no urgency |
105
- | Cart → Checkout | Unexpected costs, account requirement, trust issues |
106
- | Checkout → Purchase | Form friction, payment options, shipping cost shock |
107
- | Trial → Paid | Poor onboarding, unclear value, wrong timing |
108
-
109
- ---
110
-
111
- ## Missing Links
112
-
113
- A "missing link" is an absent or underutilized funnel stage that leaves value on the table.
114
-
115
- ### Common Missing Links
116
-
117
- **Pre-purchase:**
118
- - No retargeting for abandoned visitors
119
- - No email capture before purchase intent
120
- - No comparison tools for researchers
121
- - No social proof at decision points
122
-
123
- **Purchase:**
124
- - No upsell/cross-sell offers
125
- - No subscription/bundle options
126
- - No referral program at purchase
127
- - No installation/setup guidance
128
-
129
- **Post-purchase:**
130
- - No email onboarding sequence
131
- - No check-in at key milestones
132
- - No expansion offers at right time
133
- - No advocacy program for happy customers
134
-
135
- ### Missing Link Audit
136
-
137
- | Funnel Stage | Existing Assets | Missing Opportunities |
138
- |--------------|-----------------|----------------------|
139
- | Awareness | Ads, content | Referral program? |
140
- | Interest | Landing pages | Lead magnet? |
141
- | Consideration | Product pages | Comparison tool? |
142
- | Intent | Cart | Save for later? |
143
- | Purchase | Checkout | Order bump? |
144
- | Onboarding | Email 1 | Video tutorial? |
145
- | Retention | None | Check-in sequence? |
146
- | Expansion | None | Usage-based prompts? |
147
- | Advocacy | None | Referral incentive? |
148
-
149
- ### Cross-Sell Mapping
150
-
151
- Map products that naturally pair together:
152
-
153
- | Product A | Natural Cross-Sell | When to Offer |
154
- |-----------|-------------------|---------------|
155
- | Running shoes | Socks, insoles | Cart/checkout |
156
- | SaaS subscription | Premium features | After activation |
157
- | Course | Coaching add-on | During course |
158
- | Software | Training | Post-purchase |
159
-
160
- ---
161
-
162
- ## Industry Funnel Patterns
163
-
164
- ### E-commerce Funnels
165
-
166
- **Standard:**
167
- ```
168
- Visit → Browse → Product → Cart → Checkout → Purchase
169
- ```
170
-
171
- **Enhanced:**
172
- ```
173
- Visit → Browse → Product → Wishlist/Email → Retarget → Cart → Checkout → Upsell → Purchase → Post-purchase email → Review request → Repeat purchase
174
- ```
175
-
176
- **Key metrics:**
177
- - Cart abandonment rate (benchmark: 70%)
178
- - Checkout abandonment rate (benchmark: 25%)
179
- - Repeat purchase rate (benchmark: 25-40%)
180
-
181
- ### SaaS Funnels
182
-
183
- **Standard:**
184
- ```
185
- Visit → Trial/Freemium → Activation → Engagement → Conversion
186
- ```
187
-
188
- **Enhanced:**
189
- ```
190
- Visit → Content → Lead magnet → Nurture → Trial → Onboarding → Activation → Engagement → Conversion → Onboarding (paid) → Expansion → Advocacy
191
- ```
192
-
193
- **Key metrics:**
194
- - Trial-to-paid conversion (benchmark: 3-5% freemium, 15-25% free trial)
195
- - Activation rate (varies by product)
196
- - Expansion revenue % (benchmark: 30%+ of revenue)
197
-
198
- ### Lead Generation Funnels
199
-
200
- **Standard:**
201
- ```
202
- Visit → Form → Lead → Sales contact → Opportunity → Close
203
- ```
204
-
205
- **Enhanced:**
206
- ```
207
- Visit → Lead magnet → Nurture → Scorecard/Quiz → MQL → SDR qualify → Demo → SQL → Proposal → Close → Onboarding → Expansion
208
- ```
209
-
210
- **Key metrics:**
211
- - Lead-to-MQL conversion (benchmark: 20-30%)
212
- - MQL-to-SQL conversion (benchmark: 30-50%)
213
- - SQL-to-close rate (benchmark: 20-40%)
214
-
215
- ### Subscription/Membership Funnels
216
-
217
- **Standard:**
218
- ```
219
- Visit → Free content → Subscribe → Retain
220
- ```
221
-
222
- **Enhanced:**
223
- ```
224
- Visit → Free content → Email opt-in → Free trial → Subscribe → Onboard → Engage → Retain → Annual upgrade → Advocacy
225
- ```
226
-
227
- **Key metrics:**
228
- - Free-to-paid conversion (benchmark: 2-5%)
229
- - Monthly churn rate (benchmark: 3-7%)
230
- - Annual vs. monthly mix (benchmark: 30%+ annual)
231
-
232
- ---
233
-
234
- ## Funnel Prioritization Framework
235
-
236
- ### Calculate Opportunity Value
237
-
238
- For each potential improvement:
239
-
240
- ```
241
- Opportunity = (Current Volume) × (Conversion Gap) × (Revenue per Conversion)
242
- ```
243
-
244
- **Example:**
245
- ```
246
- Current: 1,000 visitors, 2% conversion, $100/conversion = $2,000 revenue
247
- Potential: 1,000 visitors, 3% conversion, $100/conversion = $3,000 revenue
248
- Opportunity value: $1,000/month = $12,000/year
249
- ```
250
-
251
- ### Prioritization Matrix
252
-
253
- | Opportunity | Volume | Gap | Value | Ease | Priority |
254
- |-------------|--------|-----|-------|------|----------|
255
- | Checkout abandonment | 500/mo | 25% | $125 | Medium | High |
256
- | Add cross-sell | 200/mo | 30% | $20 | Easy | High |
257
- | Reduce form fields | 1000/mo | 10% | $50 | Easy | High |
258
- | Redesign homepage | 5000/mo | 2% | $100 | Hard | Medium |
259
- | Add video | 300/mo | 15% | $100 | Medium | Medium |
260
-
261
- ### The 80/20 Rule in Funnels
262
-
263
- Typically:
264
- - 80% of revenue comes from 20% of the funnel stages
265
- - 80% of drop-off happens at 20% of the steps
266
- - 80% of improvement potential is in 20% of the pages
267
-
268
- **Focus ruthlessly on the high-impact stages before optimizing everything.**
269
-
270
- ---
271
-
272
- ## Funnel Visualization
273
-
274
- ### Basic Funnel Chart
275
-
276
- ```
277
- ┌─────────────────────────────────────────┐ 10,000
278
- │ Website Visits │
279
- ├───────────────────────────────┐ │ 3,000 (30%)
280
- │ Product Page Views │
281
- ├─────────────────────┐ │ │ 600 (20%)
282
- │ Add to Cart │
283
- ├───────────────┐ │ │ │ 300 (50%)
284
- │ Checkout │
285
- ├─────────┐ │ │ │ │ 150 (50%)
286
- │ Purchase│
287
- └─────────┘
288
- ```
289
-
290
- ### Leakage Analysis
291
-
292
- At each stage, map where users go instead:
293
-
294
- ```
295
- Product Page (3,000 visitors)
296
- ├─→ Add to Cart: 600 (20%)
297
- ├─→ Exit site: 1,500 (50%)
298
- ├─→ Browse other products: 600 (20%)
299
- ├─→ Check reviews/FAQ: 200 (7%)
300
- └─→ Contact support: 100 (3%)
301
- ```
302
-
303
- **Insight:** 50% exit from product page—that's the primary leak to investigate.
304
-
305
- ---
306
-
307
- ## Funnel Optimization Checklist
308
-
309
- ### Before Optimizing
310
-
311
- - [ ] Have you mapped the complete funnel?
312
- - [ ] Do you have baseline conversion rates at each stage?
313
- - [ ] Have you identified the biggest blocked arteries?
314
- - [ ] Have you audited for missing links?
315
- - [ ] Do you know your industry benchmarks?
316
- - [ ] Have you calculated opportunity values?
317
-
318
- ### During Optimization
319
-
320
- - [ ] Are you testing bold changes, not tweaks?
321
- - [ ] Are you measuring the right metrics?
322
- - [ ] Are you waiting for statistical significance?
323
- - [ ] Are you documenting learnings?
324
-
325
- ### After Optimization
326
-
327
- - [ ] Did conversion improve at the target stage?
328
- - [ ] Did downstream metrics also improve?
329
- - [ ] Did any metrics unexpectedly decrease?
330
- - [ ] Can this learning apply to other funnels?
331
-
332
- ---
333
-
334
- ## Advanced: Multi-Touch Attribution
335
-
336
- ### The Problem
337
-
338
- Customers don't convert in a straight line. They might:
339
- 1. See a Facebook ad
340
- 2. Google your brand
341
- 3. Read a blog post
342
- 4. Leave
343
- 5. Get retargeted
344
- 6. Return via email
345
- 7. Convert
346
-
347
- Which touchpoint gets credit?
348
-
349
- ### Attribution Models
350
-
351
- | Model | Description | Best For |
352
- |-------|-------------|----------|
353
- | First-touch | First interaction gets 100% | Brand awareness campaigns |
354
- | Last-touch | Final interaction gets 100% | Direct response |
355
- | Linear | Equal credit to all touches | Understanding journey |
356
- | Time-decay | Recent touches get more credit | Short sales cycles |
357
- | Position-based | 40% first, 40% last, 20% middle | Balanced view |
358
- | Data-driven | Algorithm assigns based on data | Sophisticated analysis |
359
-
360
- ### Practical Recommendation
361
-
362
- 1. Start with last-touch (simplest)
363
- 2. Add first-touch to understand acquisition
364
- 3. Graduate to position-based for balanced view
365
- 4. Only use data-driven with sufficient volume
@@ -1,330 +0,0 @@
1
- # CRO Testing Methodology
2
-
3
- Deep-dive into experiment design, statistical rigor, and test prioritization from the CRE Methodology.
4
-
5
- ## The Philosophy of Bold Testing
6
-
7
- ### Why "Meek Tweaks" Fail
8
-
9
- Most A/B tests fail because they're too small to detect. Button color changes, minor copy tweaks, and micro-optimizations suffer from:
10
-
11
- 1. **Insufficient sample size** - Small changes require massive traffic to reach significance
12
- 2. **Interaction effects** - Minor changes get lost in noise
13
- 3. **Opportunity cost** - Time spent on 2% wins could find 200% wins
14
-
15
- **Rule: Test big changes that could double conversion, not small changes that might move it 5%.**
16
-
17
- ### The 10x Mindset
18
-
19
- Before any test, ask: "Could this 10x our results?" If not, is it worth testing?
20
-
21
- - **Worth testing:** Complete page redesign, new value proposition, fundamentally different offer
22
- - **Not worth testing:** Button color, font size, image swap
23
-
24
- ---
25
-
26
- ## A/B Testing vs. Multivariate Testing
27
-
28
- ### A/B Testing (Split Testing)
29
-
30
- Compare two (or more) complete versions against each other.
31
-
32
- | Aspect | Details |
33
- |--------|---------|
34
- | **Best for** | Testing big concepts, page redesigns, offers |
35
- | **Traffic needed** | Lower (split between 2-4 variants) |
36
- | **Insights** | Which version wins overall |
37
- | **Limitation** | Doesn't show which elements contributed |
38
-
39
- **When to use:**
40
- - You have a hypothesis about a major change
41
- - Traffic is limited
42
- - You're comparing conceptual approaches
43
-
44
- ### Multivariate Testing (MVT)
45
-
46
- Test multiple elements simultaneously to find optimal combination.
47
-
48
- | Aspect | Details |
49
- |--------|---------|
50
- | **Best for** | Optimizing elements after winning concept proven |
51
- | **Traffic needed** | Much higher (combinations multiply) |
52
- | **Insights** | Which specific elements drive results |
53
- | **Limitation** | Requires significant traffic |
54
-
55
- **When to use:**
56
- - You have a winning page to optimize further
57
- - High traffic (100k+ monthly visitors)
58
- - Clear, isolated elements to test
59
-
60
- ### Traffic Requirements
61
-
62
- **A/B Test:**
63
- ```
64
- Minimum sample per variant = 250-500 conversions
65
- For 2 variants with 5% conversion: 10,000-20,000 visitors needed
66
- ```
67
-
68
- **Multivariate Test:**
69
- ```
70
- Combinations = (Options for Element 1) × (Options for Element 2) × ...
71
- Example: 3 headlines × 3 images × 2 CTAs = 18 combinations
72
- Each combination needs 250+ conversions = 90,000+ conversions total
73
- ```
74
-
75
- **Recommendation:** Start with A/B tests. Only move to MVT when you have:
76
- - Proven winning page concept
77
- - 100k+ monthly visitors
78
- - Mature testing program
79
-
80
- ---
81
-
82
- ## Statistical Significance
83
-
84
- ### What It Means
85
-
86
- Statistical significance tells you: "How likely is this result due to chance vs. a real effect?"
87
-
88
- **Industry standard:** 95% confidence (p-value < 0.05)
89
- - 95% confident the difference is real
90
- - 5% chance it's random noise
91
-
92
- ### Common Mistakes
93
-
94
- **1. Peeking and stopping early**
95
-
96
- Checking results daily and stopping when you see a winner leads to false positives.
97
-
98
- - **Wrong:** "We're at 95% confidence after 3 days—ship it!"
99
- - **Right:** Pre-determine sample size and test duration; don't stop early
100
-
101
- **2. Calling tests with insufficient data**
102
-
103
- | Visitors | Conversions | Can you call it? |
104
- |----------|-------------|------------------|
105
- | 500 | 15 vs 20 | No |
106
- | 5,000 | 150 vs 200 | Possibly |
107
- | 50,000 | 1,500 vs 2,000 | Yes |
108
-
109
- **3. Ignoring practical significance**
110
-
111
- A statistically significant 0.1% lift isn't worth implementation complexity.
112
-
113
- **4. Multiple comparison problem**
114
-
115
- Testing 20 variants? One will show "significance" by chance alone.
116
-
117
- ### Sample Size Calculation
118
-
119
- Before testing, calculate required sample size:
120
-
121
- **Inputs needed:**
122
- - Baseline conversion rate
123
- - Minimum detectable effect (MDE) you care about
124
- - Statistical power (typically 80%)
125
- - Significance level (typically 95%)
126
-
127
- **Rule of thumb:**
128
- ```
129
- For 5% baseline, 20% relative lift detection:
130
- ~25,000 visitors per variant needed
131
-
132
- For 5% baseline, 50% relative lift detection:
133
- ~4,000 visitors per variant needed
134
- ```
135
-
136
- **Key insight:** The smaller the effect you want to detect, the more traffic you need. This is why bold changes are better—they're detectable with less traffic.
137
-
138
- ### Test Duration
139
-
140
- **Minimum test duration:**
141
- - At least 1 full business cycle (typically 1-2 weeks)
142
- - Include weekdays AND weekends
143
- - Account for seasonality
144
-
145
- **Why?**
146
- - Visitor behavior differs by day of week
147
- - Friday buyers differ from Monday researchers
148
- - Monthly cycles affect B2B especially
149
-
150
- ---
151
-
152
- ## ICE Prioritization Framework
153
-
154
- Prioritize test ideas using ICE scores:
155
-
156
- ### Impact (1-10)
157
- "If this wins, how big would the impact be?"
158
-
159
- | Score | Impact Level |
160
- |-------|--------------|
161
- | 10 | Could double conversion rate |
162
- | 7-9 | Major improvement (30-50%+) |
163
- | 4-6 | Moderate improvement (10-30%) |
164
- | 1-3 | Minor improvement (<10%) |
165
-
166
- ### Confidence (1-10)
167
- "How confident are we this will work?"
168
-
169
- | Score | Confidence Level |
170
- |-------|------------------|
171
- | 10 | Proven in research, worked before |
172
- | 7-9 | Strong research supports it |
173
- | 4-6 | Reasonable hypothesis |
174
- | 1-3 | Gut feeling, unvalidated |
175
-
176
- ### Ease (1-10)
177
- "How easy is this to implement and test?"
178
-
179
- | Score | Ease Level |
180
- |-------|------------|
181
- | 10 | Text change only |
182
- | 7-9 | Design change, no dev needed |
183
- | 4-6 | Requires development |
184
- | 1-3 | Major technical lift |
185
-
186
- ### ICE Score Calculation
187
-
188
- ```
189
- ICE Score = (Impact + Confidence + Ease) / 3
190
- ```
191
-
192
- Or weighted:
193
- ```
194
- ICE Score = (Impact × 2 + Confidence × 1.5 + Ease × 1) / 4.5
195
- ```
196
-
197
- ### Sample Prioritization
198
-
199
- | Test Idea | Impact | Confidence | Ease | Score |
200
- |-----------|--------|------------|------|-------|
201
- | New headline from customer research | 8 | 9 | 10 | 9.0 |
202
- | Add video testimonial | 7 | 7 | 6 | 6.7 |
203
- | Redesign checkout flow | 9 | 6 | 3 | 6.0 |
204
- | Change button color | 2 | 2 | 10 | 4.7 |
205
-
206
- ---
207
-
208
- ## Test Documentation
209
-
210
- ### Before the Test
211
-
212
- Document:
213
- 1. **Hypothesis:** "If we [change X], then [metric Y] will improve because [reason based on research]"
214
- 2. **Primary metric:** One metric that determines winner
215
- 3. **Secondary metrics:** Additional metrics to monitor
216
- 4. **Guardrail metrics:** Metrics that shouldn't decrease
217
- 5. **Sample size requirement**
218
- 6. **Test duration**
219
- 7. **Traffic allocation**
220
-
221
- ### After the Test
222
-
223
- Document:
224
- 1. **Results:** Raw numbers, conversion rates, confidence interval
225
- 2. **Statistical significance:** p-value, confidence level
226
- 3. **Practical significance:** Is the lift worth implementing?
227
- 4. **Learnings:** What does this teach us about our customers?
228
- 5. **Next steps:** Ship winner, iterate, or abandon?
229
-
230
- ### Learnings Database
231
-
232
- Every test should add to organizational knowledge:
233
-
234
- | Test | Hypothesis | Result | Learning | Applicable to |
235
- |------|------------|--------|----------|---------------|
236
- | Homepage headline A/B | Customer language converts better | Winner: +27% | Customers care about outcomes, not features | All landing pages |
237
- | Form length test | Shorter forms convert better | Loser: no diff | Our audience expects detailed forms | Lead gen pages |
238
-
239
- ---
240
-
241
- ## When Tests Fail
242
-
243
- ### Types of "Failure"
244
-
245
- **1. No winner (inconclusive)**
246
- - Sample size too small
247
- - Effect size too small to detect
248
- - Test needed to run longer
249
-
250
- **2. Control wins**
251
- - New version is worse
252
- - Hypothesis was wrong
253
- - Still a learning!
254
-
255
- **3. Technical problems**
256
- - Tracking broke
257
- - Experience differed from plan
258
- - Sample contamination
259
-
260
- ### What to Do
261
-
262
- 1. **Document the learning** - "We learned customers prefer X"
263
- 2. **Investigate why** - Go back to research
264
- 3. **Don't give up on the page** - The opportunity exists, you just haven't found the solution
265
- 4. **Try a bolder change** - Maybe the change wasn't big enough
266
-
267
- **Critical insight:** A failed test that teaches you something is more valuable than a winning test you don't understand.
268
-
269
- ---
270
-
271
- ## CRO Team Dynamics
272
-
273
- ### Roles in a CRO Program
274
-
275
- | Role | Responsibility |
276
- |------|----------------|
277
- | **CRO Lead** | Strategy, prioritization, stakeholder management |
278
- | **Researcher** | User research, surveys, analytics analysis |
279
- | **Designer** | Wireframes, mockups, user flows |
280
- | **Developer** | Test implementation, technical QA |
281
- | **Analyst** | Results analysis, statistical rigor |
282
-
283
- ### Getting Stakeholder Buy-In
284
-
285
- **Common objections:**
286
-
287
- | Objection | Counter |
288
- |-----------|---------|
289
- | "We already know what works" | "Then testing will confirm it quickly" |
290
- | "Testing takes too long" | "Shipping wrong things costs more" |
291
- | "Our traffic is too low" | "Then we test bigger changes" |
292
- | "The CEO wants X" | "Let's test to validate the idea" |
293
-
294
- **Building credibility:**
295
- 1. Start with quick wins (high-traffic pages, obvious problems)
296
- 2. Document and share learnings widely
297
- 3. Quantify impact in revenue terms
298
- 4. Build testing into the culture, not just a project
299
-
300
- ### Test Velocity
301
-
302
- **Goal:** Increase valid tests per month over time.
303
-
304
- | Maturity | Tests/Month | Characteristics |
305
- |----------|-------------|-----------------|
306
- | Beginner | 1-2 | Manual processes, ad-hoc |
307
- | Developing | 4-6 | Established backlog, regular cadence |
308
- | Advanced | 10-20 | Parallel testing, mature process |
309
- | Expert | 20+ | Multiple simultaneous tests, automated |
310
-
311
- ---
312
-
313
- ## Testing Platform Comparison
314
-
315
- | Platform | Best For | Limitations |
316
- |----------|----------|-------------|
317
- | Google Optimize | Beginners, free tier | Sunsetting, limited features |
318
- | VWO | Mid-market, visual editor | Can be slow, limited targeting |
319
- | Optimizely | Enterprise, complex tests | Expensive, learning curve |
320
- | LaunchDarkly | Dev-centric, feature flags | Not optimized for marketing |
321
- | Custom | Full control | Development cost |
322
-
323
- ### Key Features to Look For
324
-
325
- - Visual editor for non-developers
326
- - Robust statistical engine
327
- - Segment targeting
328
- - Integrations (analytics, CDP, etc.)
329
- - Flicker prevention
330
- - Mutually exclusive experiments