codymaster 5.2.0 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (378) 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/middleware/metrics.js +30 -0
  59. package/dist/middleware/security-headers.js +14 -0
  60. package/dist/realtime/event-bus.js +29 -0
  61. package/dist/realtime/ws-hub.js +91 -0
  62. package/dist/schemas/task-schema.js +48 -0
  63. package/dist/schemas/validate.js +18 -0
  64. package/dist/skills-lock.js +96 -0
  65. package/dist/sprint-pipeline.js +26 -0
  66. package/dist/storage/index.js +21 -0
  67. package/dist/storage/repos/activity-repo.js +46 -0
  68. package/dist/storage/repos/message-repo.js +39 -0
  69. package/dist/storage/repos/project-repo.js +56 -0
  70. package/dist/storage/repos/task-repo.js +142 -0
  71. package/dist/storage/services/project-service.js +49 -0
  72. package/dist/storage/services/task-service.js +97 -0
  73. package/dist/storage/sqlite.js +113 -0
  74. package/dist/tier-classify.js +131 -0
  75. package/dist/ui/onboarding.js +51 -15
  76. package/dist/utils/cli-utils.js +7 -2
  77. package/dist/utils/design-taste.js +108 -0
  78. package/dist/utils/output-compress.js +143 -0
  79. package/dist/vibecoding-index.js +126 -0
  80. package/package.json +19 -4
  81. package/public/dashboard/app.js +52 -1
  82. package/scripts/build-skills-lock.mjs +88 -0
  83. package/scripts/build-skills.mjs +187 -28
  84. package/scripts/compress-skill.mjs +73 -0
  85. package/scripts/deprecate-skill.mjs +72 -0
  86. package/scripts/install.sh +170 -0
  87. package/scripts/mcp-bridge.js +2 -2
  88. package/scripts/postinstall.js +54 -287
  89. package/scripts/update-changelog.sh +88 -0
  90. package/scripts/validate-skills.mjs +101 -4
  91. package/skills/_shared/SKILL_TEMPLATE.md +62 -0
  92. package/skills/cm-autopilot/scripts/autopilot.py +19 -2
  93. package/skills/cm-brainstorm-idea/SKILL.md +9 -0
  94. package/skills/cm-clean-code/SKILL.md +20 -0
  95. package/skills/cm-code-review/SKILL.md +21 -0
  96. package/skills/cm-codeintell/SKILL.md +9 -0
  97. package/skills/cm-conductor-worktrees/SKILL.archive.md +28 -0
  98. package/skills/cm-conductor-worktrees/SKILL.md +17 -19
  99. package/skills/cm-continuity/SKILL.md +9 -0
  100. package/skills/cm-dashboard/SKILL.archive.md +15 -0
  101. package/skills/cm-dashboard/SKILL.md +20 -9
  102. package/skills/cm-dashboard/ui/app.js +9 -1
  103. package/skills/cm-debugging/SKILL.md +9 -0
  104. package/skills/cm-design-studio/SKILL.archive.md +34 -0
  105. package/skills/cm-design-studio/SKILL.md +17 -25
  106. package/skills/cm-design-system/SKILL.md +1 -0
  107. package/skills/cm-engineering-meta/SKILL.archive.md +73 -0
  108. package/skills/cm-engineering-meta/SKILL.md +16 -63
  109. package/skills/cm-execution/SKILL.md +98 -0
  110. package/skills/cm-git-worktrees/SKILL.archive.md +157 -0
  111. package/skills/cm-git-worktrees/SKILL.md +15 -146
  112. package/skills/cm-identity-guard/SKILL.md +8 -0
  113. package/skills/cm-planning/SKILL.md +63 -92
  114. package/skills/cm-post-deploy-canary/SKILL.archive.md +22 -0
  115. package/skills/cm-post-deploy-canary/SKILL.md +17 -13
  116. package/skills/cm-qa-visual-cli/SKILL.archive.md +22 -0
  117. package/skills/cm-qa-visual-cli/SKILL.md +16 -12
  118. package/skills/cm-quality-gate/SKILL.md +38 -0
  119. package/skills/cm-safe-deploy/SKILL.md +9 -0
  120. package/skills/cm-second-opinion-cli/SKILL.archive.md +23 -0
  121. package/skills/cm-second-opinion-cli/SKILL.md +17 -14
  122. package/skills/cm-secret-shield/SKILL.archive.md +580 -0
  123. package/skills/cm-secret-shield/SKILL.md +15 -569
  124. package/skills/cm-security-gate/SKILL.archive.md +239 -0
  125. package/skills/cm-security-gate/SKILL.md +15 -228
  126. package/skills/cm-skill-health/SKILL.archive.md +83 -0
  127. package/skills/cm-skill-health/SKILL.md +16 -73
  128. package/skills/cm-skill-index/SKILL.md +8 -0
  129. package/skills/cm-skill-mastery/SKILL.archive.md +156 -0
  130. package/skills/cm-skill-mastery/SKILL.md +16 -146
  131. package/skills/cm-skill-search/SKILL.archive.md +49 -0
  132. package/skills/cm-skill-search/SKILL.md +17 -40
  133. package/skills/cm-skill-share/SKILL.archive.md +58 -0
  134. package/skills/cm-skill-share/SKILL.md +17 -49
  135. package/skills/cm-sprint-bus/SKILL.md +9 -0
  136. package/skills/cm-start/SKILL.md +17 -0
  137. package/skills/cm-tdd/SKILL.md +19 -0
  138. package/skills/cm-terminal/SKILL.md +15 -0
  139. package/skills/cm-test-gate/SKILL.archive.md +245 -0
  140. package/skills/cm-test-gate/SKILL.md +15 -234
  141. package/skills/cm-ui-preview/SKILL.archive.md +153 -0
  142. package/skills/cm-ui-preview/SKILL.md +16 -143
  143. package/skills/cm-ux-master/cli/uxmaster/commands/mcp.py +1 -1
  144. package/skills/cm-ux-master/mcp/mcp-config.json +1 -1
  145. package/skills/cm-ux-master/mcp/server.py +2 -2
  146. package/skills/profiles/design.txt +1 -1
  147. package/skills/profiles/full.txt +0 -10
  148. package/skills/profiles/growth.txt +8 -8
  149. package/skills/profiles/knowledge.txt +1 -1
  150. package/skills/profiles/top35.json +41 -0
  151. package/adapters/antigravity.js +0 -15
  152. package/adapters/claude-code.js +0 -17
  153. package/adapters/cursor.js +0 -16
  154. package/skills/cm-ads-tracker/SKILL.md +0 -401
  155. package/skills/cm-ads-tracker/evals/evals.json +0 -55
  156. package/skills/cm-ads-tracker/references/gtm-architecture.md +0 -321
  157. package/skills/cm-ads-tracker/references/industry-events.md +0 -294
  158. package/skills/cm-ads-tracker/references/platforms-api.md +0 -238
  159. package/skills/cm-ads-tracker/templates/capi-payload.md +0 -79
  160. package/skills/cm-ads-tracker/templates/datalayer-push.js +0 -104
  161. package/skills/cm-ads-tracker/templates/gtm-variables.js +0 -56
  162. package/skills/cm-auto-publisher/SKILL.md +0 -81
  163. package/skills/cm-booking-calendar/SKILL.md +0 -521
  164. package/skills/cm-booking-calendar/references/industry-patterns.md +0 -527
  165. package/skills/cm-booking-calendar/templates/booking-form.css +0 -626
  166. package/skills/cm-booking-calendar/templates/booking-form.html +0 -477
  167. package/skills/cm-booking-calendar/templates/calendar-engine.js +0 -419
  168. package/skills/cm-booking-calendar/templates/calendar-export.js +0 -395
  169. package/skills/cm-booking-calendar/templates/reminder-config.js +0 -629
  170. package/skills/cm-content-factory/.content-factory-state.json +0 -132
  171. package/skills/cm-content-factory/.git 2/logs/refs/heads/main +0 -1
  172. package/skills/cm-content-factory/.git 2/logs/refs/remotes/origin/main +0 -1
  173. package/skills/cm-content-factory/.git 2/objects/02/fb0956734b5f8ba3f918b7defd04a89cfe0076 +0 -0
  174. package/skills/cm-content-factory/.git 2/objects/08/1e129d75dc6feac6c02037272e6bd1a04e3324 +0 -0
  175. package/skills/cm-content-factory/.git 2/objects/0c/5393416f3c5e01c9a655a802bff0dd52f76f0a +0 -0
  176. package/skills/cm-content-factory/.git 2/objects/10/0b9be46978a946a77188f68be725098a122001 +0 -0
  177. package/skills/cm-content-factory/.git 2/objects/10/cf041167fc9843610eb3d90259ef3396315fdc +0 -0
  178. package/skills/cm-content-factory/.git 2/objects/12/5e19538dd6e1338ffe74f6c4c165b00435bf48 +0 -0
  179. package/skills/cm-content-factory/.git 2/objects/16/a9b9d0088d5c1347628b45a2620b479d8ad57c +0 -0
  180. package/skills/cm-content-factory/.git 2/objects/17/8c2a9ef93c33ae4eec9d58e82321f9229843a1 +0 -0
  181. package/skills/cm-content-factory/.git 2/objects/25/397ae41d09104d763bdcac2695209d85cdea89 +0 -0
  182. package/skills/cm-content-factory/.git 2/objects/2f/a836b7947f2d458e1f639788bf4bb0983a3305 +0 -0
  183. package/skills/cm-content-factory/.git 2/objects/3a/baaaf0a1c0909c0828335791557125fba911e0 +0 -0
  184. package/skills/cm-content-factory/.git 2/objects/42/2924221b81f5ce3c4e4daac9a64a24f9b01f9a +0 -0
  185. package/skills/cm-content-factory/.git 2/objects/42/ec0ce707447dc11446a34c9995fb8533801731 +0 -0
  186. package/skills/cm-content-factory/.git 2/objects/46/e43ce92866d56ce74b1d750db307cfe6154a15 +0 -0
  187. package/skills/cm-content-factory/.git 2/objects/48/5e41b633c63f55b8277bcc59f44f67681f671a +0 -0
  188. package/skills/cm-content-factory/.git 2/objects/49/49c596a3a89fa240642acd95dd3258e261eb09 +0 -0
  189. package/skills/cm-content-factory/.git 2/objects/50/9d42d8412ef8eaf7f7e138476bac2e4d10ce60 +0 -0
  190. package/skills/cm-content-factory/.git 2/objects/55/0c8c389d981b463ef849aeb792d8be3ccb6ec8 +0 -0
  191. package/skills/cm-content-factory/.git 2/objects/5d/82d3b18410cdda3ace3677436f0cb599dbe2d2 +0 -0
  192. package/skills/cm-content-factory/.git 2/objects/60/0617c58e871a38b33bf29e282d132bb3c381ad +0 -0
  193. package/skills/cm-content-factory/.git 2/objects/6a/8369a99c687b7245c92ffaf0e0f0dab9014504 +0 -0
  194. package/skills/cm-content-factory/.git 2/objects/79/bea435d40ab531c1aaf6be0432c6a5b7aaed21 +0 -0
  195. package/skills/cm-content-factory/.git 2/objects/7e/5ebd79251c2f14e4aceb86c74b6b6daae6b500 +0 -0
  196. package/skills/cm-content-factory/.git 2/objects/81/98a822a60178d6d5023ddb3e222cddf048742e +0 -0
  197. package/skills/cm-content-factory/.git 2/objects/86/0a0e1943dfe53411d2e499a1f16f46a96ef758 +0 -0
  198. package/skills/cm-content-factory/.git 2/objects/86/971fb55fdc081fdbae52376f0f13e57a4e9b04 +0 -0
  199. package/skills/cm-content-factory/.git 2/objects/88/b89dd609a0a03f8d4fe8bfde20d5b8fc1d326d +0 -0
  200. package/skills/cm-content-factory/.git 2/objects/90/8737edb6b7809e32cc01590b4e08ba42a9d40d +0 -0
  201. package/skills/cm-content-factory/.git 2/objects/93/d5a8a9a7d4fb7f11491cb596a6880528725118 +0 -0
  202. package/skills/cm-content-factory/.git 2/objects/98/46a2ab81d0c3b3eb00ef88fc56989aa7e9f316 +0 -0
  203. package/skills/cm-content-factory/.git 2/objects/9b/d8dd1e49cf274eaf9c555f3ab39dce7af5715e +0 -0
  204. package/skills/cm-content-factory/.git 2/objects/a1/13329fb0cec96ae78b222d33a24c3b5bc7fa1f +0 -0
  205. package/skills/cm-content-factory/.git 2/objects/a9/e6effe626e8a3aea3a8fc3364b492191c6e7d0 +0 -0
  206. package/skills/cm-content-factory/.git 2/objects/ad/6de7e48d9782cca9353d1ff0aa1aab7fe1df85 +0 -0
  207. package/skills/cm-content-factory/.git 2/objects/af/54ae316f771ff692e299ffcd8bf2f06b413b59 +0 -0
  208. package/skills/cm-content-factory/.git 2/objects/b0/4cb8b0b00dad633e731c1472161419e738d674 +0 -0
  209. package/skills/cm-content-factory/.git 2/objects/b3/094abb0b9ed46419b269e4a4e36a459690e3b0 +0 -0
  210. package/skills/cm-content-factory/.git 2/objects/b9/435c5d4baac2cfc5c83009ddd27b46b60db5f1 +0 -0
  211. package/skills/cm-content-factory/.git 2/objects/ba/5da17dbaec5ec2dcfdfd126aead518d1171d5c +0 -0
  212. package/skills/cm-content-factory/.git 2/objects/c0/bf58703aa258ba5dd63083bebaec8f223d844c +0 -0
  213. package/skills/cm-content-factory/.git 2/objects/c4/701a34edf1fc1bad58ccc57bd03f9426acb59a +0 -0
  214. package/skills/cm-content-factory/.git 2/objects/c7/5ccce9a4e5cc74d9b3174550cf6d993ca43638 +0 -0
  215. package/skills/cm-content-factory/.git 2/objects/c7/710d59b5a35b0f1f0a0399386643a0bd94c929 +0 -0
  216. package/skills/cm-content-factory/.git 2/objects/d1/fe58237112e953e5fec52da22cf38e08be3df9 +0 -5
  217. package/skills/cm-content-factory/.git 2/objects/d2/2bbe9fd2f74c95bc5583e803f5e435f1e2cd86 +0 -0
  218. package/skills/cm-content-factory/.git 2/objects/d7/e72852ea2bff74581dbf247d400120086229f4 +0 -0
  219. package/skills/cm-content-factory/.git 2/objects/d8/d4c3b5553e4fd72807e1d4b49ef07d9ef3ac35 +0 -0
  220. package/skills/cm-content-factory/.git 2/objects/dc/75050c2876f6a02ae2a53a3c886f395b622977 +0 -0
  221. package/skills/cm-content-factory/.git 2/objects/ee/e8546f95acec500187c08a28a8b9ee02db0dec +0 -0
  222. package/skills/cm-content-factory/.git 2/objects/ef/263c059208b416c2146434f10cb2b9fabcba16 +0 -0
  223. package/skills/cm-content-factory/.git 2/objects/f3/ae597e84d9a59b88acd21c99bde2eaf686d785 +0 -0
  224. package/skills/cm-content-factory/.git 2/objects/f3/f6f5673c821d3d8e76fa267a9e882e7a5387ea +0 -0
  225. package/skills/cm-content-factory/.git 2/objects/f9/6e6d0ad02624dd11d5848594d056caef7a5e8b +0 -0
  226. package/skills/cm-content-factory/.git 2/objects/ff/278988fc1edf0db3abcf18de795f4cc0b4f3e1 +0 -0
  227. package/skills/cm-content-factory/.git 2/refs/heads/main +0 -1
  228. package/skills/cm-content-factory/.git 2/refs/remotes/origin/main +0 -1
  229. package/skills/cm-content-factory/.pytest_cache 2/v/cache/nodeids +0 -76
  230. package/skills/cm-content-factory/.pytest_cache 2/v/cache/stepwise +0 -1
  231. package/skills/cm-content-factory/AGENTS.md +0 -61
  232. package/skills/cm-content-factory/CLAUDE.md +0 -63
  233. package/skills/cm-content-factory/CURSOR.md +0 -43
  234. package/skills/cm-content-factory/Content Factory.zip +0 -0
  235. package/skills/cm-content-factory/SKILL.md +0 -416
  236. package/skills/cm-content-factory/cf +0 -313
  237. package/skills/cm-content-factory/config.schema.json +0 -397
  238. package/skills/cm-content-factory/dashboard/app.js +0 -556
  239. package/skills/cm-content-factory/dashboard/index.html +0 -397
  240. package/skills/cm-content-factory/dashboard/style.css +0 -1211
  241. package/skills/cm-content-factory/examples/01-real-estate.config.json +0 -146
  242. package/skills/cm-content-factory/examples/02-personal-finance.config.json +0 -146
  243. package/skills/cm-content-factory/examples/03-health-wellness.config.json +0 -147
  244. package/skills/cm-content-factory/examples/04-saas-software.config.json +0 -147
  245. package/skills/cm-content-factory/examples/05-legal-services.config.json +0 -147
  246. package/skills/cm-content-factory/examples/06-insurance.config.json +0 -146
  247. package/skills/cm-content-factory/examples/07-ecommerce-dropship.config.json +0 -146
  248. package/skills/cm-content-factory/examples/08-online-education.config.json +0 -147
  249. package/skills/cm-content-factory/examples/09-crypto-defi.config.json +0 -147
  250. package/skills/cm-content-factory/examples/10-beauty-skincare.config.json +0 -147
  251. package/skills/cm-content-factory/examples/11-home-services.config.json +0 -146
  252. package/skills/cm-content-factory/examples/12-dental-clinic.config.json +0 -147
  253. package/skills/cm-content-factory/examples/13-pet-care.config.json +0 -147
  254. package/skills/cm-content-factory/examples/14-travel-hospitality.config.json +0 -147
  255. package/skills/cm-content-factory/examples/15-ai-automation.config.json +0 -147
  256. package/skills/cm-content-factory/examples/16-wedding-events.config.json +0 -147
  257. package/skills/cm-content-factory/examples/17-fitness-coaching.config.json +0 -148
  258. package/skills/cm-content-factory/examples/18-cybersecurity.config.json +0 -147
  259. package/skills/cm-content-factory/examples/19-food-restaurant.config.json +0 -148
  260. package/skills/cm-content-factory/examples/20-solar-energy.config.json +0 -147
  261. package/skills/cm-content-factory/examples/fitness-blog.config.json +0 -116
  262. package/skills/cm-content-factory/examples/tech-blog.config.json +0 -107
  263. package/skills/cm-content-factory/extensions/EXTENSION_GUIDE.md +0 -72
  264. package/skills/cm-content-factory/extensions/hooks.py +0 -126
  265. package/skills/cm-content-factory/extensions/openclaw_adapter.py +0 -132
  266. package/skills/cm-content-factory/landing/docs/content/changelog.md +0 -36
  267. package/skills/cm-content-factory/landing/docs/content/deployment.md +0 -46
  268. package/skills/cm-content-factory/landing/docs/content/execution-flow.md +0 -67
  269. package/skills/cm-content-factory/landing/docs/content/memory-system.md +0 -38
  270. package/skills/cm-content-factory/landing/docs/content/openspace.md +0 -27
  271. package/skills/cm-content-factory/landing/docs/content/use-cases.md +0 -26
  272. package/skills/cm-content-factory/landing/docs/content/v5-intro.md +0 -28
  273. package/skills/cm-content-factory/landing/docs/index.html +0 -240
  274. package/skills/cm-content-factory/landing/index.html +0 -680
  275. package/skills/cm-content-factory/landing/script.js +0 -143
  276. package/skills/cm-content-factory/landing/style.css +0 -1216
  277. package/skills/cm-content-factory/landing/translations.js +0 -508
  278. package/skills/cm-content-factory/logs/events.jsonl +0 -11
  279. package/skills/cm-content-factory/profiles/_template.profile.json +0 -231
  280. package/skills/cm-content-factory/profiles/finance.profile.json +0 -278
  281. package/skills/cm-content-factory/profiles/legal.profile.json +0 -263
  282. package/skills/cm-content-factory/profiles/medical-research.profile.json +0 -321
  283. package/skills/cm-content-factory/profiles/technology.profile.json +0 -275
  284. package/skills/cm-content-factory/scripts/agent_dispatcher.py +0 -266
  285. package/skills/cm-content-factory/scripts/audit.py +0 -106
  286. package/skills/cm-content-factory/scripts/dashboard_server.py +0 -225
  287. package/skills/cm-content-factory/scripts/deploy.py +0 -146
  288. package/skills/cm-content-factory/scripts/extract.py +0 -132
  289. package/skills/cm-content-factory/scripts/landing_generator.py +0 -459
  290. package/skills/cm-content-factory/scripts/memory.py +0 -521
  291. package/skills/cm-content-factory/scripts/monetize.py +0 -239
  292. package/skills/cm-content-factory/scripts/pipeline.py +0 -357
  293. package/skills/cm-content-factory/scripts/plan.py +0 -163
  294. package/skills/cm-content-factory/scripts/publish.py +0 -145
  295. package/skills/cm-content-factory/scripts/research.py +0 -337
  296. package/skills/cm-content-factory/scripts/scaffold.py +0 -464
  297. package/skills/cm-content-factory/scripts/scoreboard.py +0 -336
  298. package/skills/cm-content-factory/scripts/seo.py +0 -90
  299. package/skills/cm-content-factory/scripts/state_manager.py +0 -320
  300. package/skills/cm-content-factory/scripts/token_manager.py +0 -268
  301. package/skills/cm-content-factory/scripts/validate.py +0 -221
  302. package/skills/cm-content-factory/scripts/wizard.py +0 -329
  303. package/skills/cm-content-factory/scripts/write.py +0 -93
  304. package/skills/cm-content-factory/sites/docs-site/src/assets/houston.webp +0 -0
  305. package/skills/cm-content-factory/sites/docs-site/src/content/docs/architecture.md +0 -90
  306. package/skills/cm-content-factory/sites/docs-site/src/content/docs/data-flow.md +0 -54
  307. package/skills/cm-content-factory/sites/docs-site/src/content/docs/deployment.md +0 -38
  308. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/index.md +0 -65
  309. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/lc-content-lifecycle.md +0 -48
  310. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/seq-write-mode.md +0 -39
  311. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/uj-first-batch.md +0 -42
  312. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/wf-content-pipeline.md +0 -51
  313. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/wf-learning-cycle.md +0 -52
  314. package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/configuration.md +0 -86
  315. package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/installation.md +0 -80
  316. package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/intro.md +0 -58
  317. package/skills/cm-content-factory/sites/docs-site/src/content/docs/index.md +0 -102
  318. package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/index.md +0 -45
  319. package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/optimize-seo.md +0 -29
  320. package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/scale-content-production.md +0 -55
  321. package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/standardize-quality.md +0 -29
  322. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/buyer-cmo-huong.md +0 -41
  323. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/buyer-content-lead-khoa.md +0 -40
  324. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/index.md +0 -56
  325. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-content-manager-lan.md +0 -46
  326. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-seo-minh.md +0 -45
  327. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-writer-tu.md +0 -45
  328. package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/content-pipeline.md +0 -108
  329. package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/index.md +0 -22
  330. package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/memory-system.md +0 -52
  331. package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/seo-optimization.md +0 -58
  332. package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/troubleshooting-guide.md +0 -92
  333. package/skills/cm-content-factory/sites/docs-site/src/styles/custom.css +0 -575
  334. package/skills/cm-content-factory/tests/conftest.py +0 -66
  335. package/skills/cm-content-factory/tests/test_agent_dispatcher.py +0 -125
  336. package/skills/cm-content-factory/tests/test_memory.py +0 -128
  337. package/skills/cm-content-factory/tests/test_pipeline.py +0 -107
  338. package/skills/cm-content-factory/tests/test_research.py +0 -56
  339. package/skills/cm-content-factory/tests/test_state_manager.py +0 -131
  340. package/skills/cm-content-factory/tests/test_token_manager.py +0 -110
  341. package/skills/cm-content-factory/tests/test_wizard.py +0 -121
  342. package/skills/cm-cro-methodology/SKILL.md +0 -290
  343. package/skills/cm-cro-methodology/references/COPYWRITING.md +0 -178
  344. package/skills/cm-cro-methodology/references/OBJECTIONS.md +0 -135
  345. package/skills/cm-cro-methodology/references/PERSUASION.md +0 -158
  346. package/skills/cm-cro-methodology/references/RESEARCH.md +0 -220
  347. package/skills/cm-cro-methodology/references/funnel-analysis.md +0 -365
  348. package/skills/cm-cro-methodology/references/testing-methodology.md +0 -330
  349. package/skills/cm-google-form/SKILL.md +0 -266
  350. package/skills/cm-google-form/templates/apps-script.js +0 -55
  351. package/skills/cm-google-form/templates/form-markup.html +0 -110
  352. package/skills/cm-google-form/templates/form-submit.js +0 -201
  353. package/skills/cm-google-form/templates/toast.css +0 -152
  354. package/skills/cm-growth-hacking/SKILL.md +0 -282
  355. package/skills/cm-growth-hacking/bottom-sheet-engine.md +0 -261
  356. package/skills/cm-growth-hacking/calendar-integration.md +0 -264
  357. package/skills/cm-growth-hacking/references/engagement-patterns.md +0 -346
  358. package/skills/cm-growth-hacking/templates/bottom-sheet.css +0 -528
  359. package/skills/cm-growth-hacking/templates/bottom-sheet.js +0 -269
  360. package/skills/cm-growth-hacking/templates/calendar-cta.js +0 -213
  361. package/skills/cm-growth-hacking/templates/tracking-events.js +0 -211
  362. package/skills/cm-growth-hacking/templates/trigger-manager.js +0 -254
  363. package/skills/cm-growth-hacking/tracking-events.md +0 -246
  364. package/skills/cm-growth-hacking/trigger-system.md +0 -342
  365. package/skills/cm-jtbd/SKILL.md +0 -98
  366. package/skills/cm-notebooklm/SKILL.md +0 -156
  367. package/skills/cm-notebooklm/references/command_reference.md +0 -94
  368. package/skills/cm-notebooklm/references/workflows.md +0 -60
  369. package/skills/cm-notebooklm/resources/knowledge_sources.md +0 -106
  370. package/skills/cm-notebooklm/scripts/brain-sync.sh +0 -453
  371. package/skills/cm-notebooklm/scripts/graduate_wisdom.py +0 -101
  372. package/skills/cm-readit/SKILL.md +0 -289
  373. package/skills/cm-readit/audio-player.md +0 -206
  374. package/skills/cm-readit/examples/blog-reader.js +0 -352
  375. package/skills/cm-readit/examples/voice-cro.js +0 -390
  376. package/skills/cm-readit/tts-engine.md +0 -262
  377. package/skills/cm-readit/ui-patterns.md +0 -362
  378. 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