codymaster 7.0.2 → 7.0.3

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 (341) hide show
  1. package/CHANGELOG.md +64 -0
  2. package/README.md +38 -1
  3. package/dist/agent/codex.js +73 -21
  4. package/dist/agent-dispatch.js +63 -48
  5. package/dist/cli/commands/brain.js +18 -0
  6. package/dist/cli/commands/design-studio.js +1 -1
  7. package/dist/cm-suggest.js +3 -3
  8. package/dist/dashboard-project-summary.js +9 -0
  9. package/dist/dashboard.js +11 -5
  10. package/dist/execution-analyzer.js +9 -1
  11. package/dist/judge.js +16 -15
  12. package/dist/mcp-context-server.js +45 -23
  13. package/dist/mcp-skills-tools.js +2 -2
  14. package/dist/skill-chain.js +26 -3
  15. package/dist/skill-token-report.js +105 -0
  16. package/dist/sprint-pipeline.js +3 -3
  17. package/dist/ui/onboarding.js +3 -4
  18. package/dist/utils/design-taste.js +1 -1
  19. package/dist/utils/output-compress.js +8 -0
  20. package/package.json +2 -1
  21. package/public/dashboard/app.js +40 -13
  22. package/public/dashboard/index.html +190 -5
  23. package/public/dashboard/style.css +1 -1
  24. package/scripts/build-skills.mjs +36 -2
  25. package/scripts/mcp-bridge.js +41 -24
  26. package/scripts/pack-plugin.mjs +206 -0
  27. package/skills/cm-ads-tracker/SKILL.md +401 -0
  28. package/skills/cm-ads-tracker/evals/evals.json +55 -0
  29. package/skills/cm-ads-tracker/references/gtm-architecture.md +321 -0
  30. package/skills/cm-ads-tracker/references/industry-events.md +294 -0
  31. package/skills/cm-ads-tracker/references/platforms-api.md +238 -0
  32. package/skills/cm-ads-tracker/templates/capi-payload.md +79 -0
  33. package/skills/cm-ads-tracker/templates/datalayer-push.js +104 -0
  34. package/skills/cm-ads-tracker/templates/gtm-variables.js +56 -0
  35. package/skills/cm-auto-publisher/SKILL.md +81 -0
  36. package/skills/cm-booking-calendar/SKILL.md +521 -0
  37. package/skills/cm-booking-calendar/references/industry-patterns.md +527 -0
  38. package/skills/cm-booking-calendar/templates/booking-form.css +626 -0
  39. package/skills/cm-booking-calendar/templates/booking-form.html +477 -0
  40. package/skills/cm-booking-calendar/templates/calendar-engine.js +419 -0
  41. package/skills/cm-booking-calendar/templates/calendar-export.js +395 -0
  42. package/skills/cm-booking-calendar/templates/reminder-config.js +629 -0
  43. package/skills/cm-brainstorm-idea/SKILL.md +5 -5
  44. package/skills/cm-code-review/SKILL.md +2 -2
  45. package/skills/cm-codeintell/SKILL.md +47 -580
  46. package/skills/cm-codeintell/references/integration-workflows.md +23 -0
  47. package/skills/cm-codeintell/references/layer-0-skeleton.md +54 -0
  48. package/skills/cm-codeintell/references/layer-1-codegraph.md +58 -0
  49. package/skills/cm-codeintell/references/layer-2-architecture.md +31 -0
  50. package/skills/cm-codeintell/references/layer-3-context-builder.md +32 -0
  51. package/skills/cm-content-factory/.content-factory-state.json +132 -0
  52. package/skills/cm-content-factory/.git 2/logs/refs/heads/main +1 -0
  53. package/skills/cm-content-factory/.git 2/logs/refs/remotes/origin/main +1 -0
  54. package/skills/cm-content-factory/.git 2/objects/02/fb0956734b5f8ba3f918b7defd04a89cfe0076 +0 -0
  55. package/skills/cm-content-factory/.git 2/objects/08/1e129d75dc6feac6c02037272e6bd1a04e3324 +0 -0
  56. package/skills/cm-content-factory/.git 2/objects/0c/5393416f3c5e01c9a655a802bff0dd52f76f0a +0 -0
  57. package/skills/cm-content-factory/.git 2/objects/10/0b9be46978a946a77188f68be725098a122001 +0 -0
  58. package/skills/cm-content-factory/.git 2/objects/10/cf041167fc9843610eb3d90259ef3396315fdc +0 -0
  59. package/skills/cm-content-factory/.git 2/objects/12/5e19538dd6e1338ffe74f6c4c165b00435bf48 +0 -0
  60. package/skills/cm-content-factory/.git 2/objects/16/a9b9d0088d5c1347628b45a2620b479d8ad57c +0 -0
  61. package/skills/cm-content-factory/.git 2/objects/17/8c2a9ef93c33ae4eec9d58e82321f9229843a1 +0 -0
  62. package/skills/cm-content-factory/.git 2/objects/25/397ae41d09104d763bdcac2695209d85cdea89 +0 -0
  63. package/skills/cm-content-factory/.git 2/objects/2f/a836b7947f2d458e1f639788bf4bb0983a3305 +0 -0
  64. package/skills/cm-content-factory/.git 2/objects/3a/baaaf0a1c0909c0828335791557125fba911e0 +0 -0
  65. package/skills/cm-content-factory/.git 2/objects/42/2924221b81f5ce3c4e4daac9a64a24f9b01f9a +0 -0
  66. package/skills/cm-content-factory/.git 2/objects/42/ec0ce707447dc11446a34c9995fb8533801731 +0 -0
  67. package/skills/cm-content-factory/.git 2/objects/46/e43ce92866d56ce74b1d750db307cfe6154a15 +0 -0
  68. package/skills/cm-content-factory/.git 2/objects/48/5e41b633c63f55b8277bcc59f44f67681f671a +0 -0
  69. package/skills/cm-content-factory/.git 2/objects/49/49c596a3a89fa240642acd95dd3258e261eb09 +0 -0
  70. package/skills/cm-content-factory/.git 2/objects/50/9d42d8412ef8eaf7f7e138476bac2e4d10ce60 +0 -0
  71. package/skills/cm-content-factory/.git 2/objects/55/0c8c389d981b463ef849aeb792d8be3ccb6ec8 +0 -0
  72. package/skills/cm-content-factory/.git 2/objects/5d/82d3b18410cdda3ace3677436f0cb599dbe2d2 +0 -0
  73. package/skills/cm-content-factory/.git 2/objects/60/0617c58e871a38b33bf29e282d132bb3c381ad +0 -0
  74. package/skills/cm-content-factory/.git 2/objects/6a/8369a99c687b7245c92ffaf0e0f0dab9014504 +0 -0
  75. package/skills/cm-content-factory/.git 2/objects/79/bea435d40ab531c1aaf6be0432c6a5b7aaed21 +0 -0
  76. package/skills/cm-content-factory/.git 2/objects/7e/5ebd79251c2f14e4aceb86c74b6b6daae6b500 +0 -0
  77. package/skills/cm-content-factory/.git 2/objects/81/98a822a60178d6d5023ddb3e222cddf048742e +0 -0
  78. package/skills/cm-content-factory/.git 2/objects/86/0a0e1943dfe53411d2e499a1f16f46a96ef758 +0 -0
  79. package/skills/cm-content-factory/.git 2/objects/86/971fb55fdc081fdbae52376f0f13e57a4e9b04 +0 -0
  80. package/skills/cm-content-factory/.git 2/objects/88/b89dd609a0a03f8d4fe8bfde20d5b8fc1d326d +0 -0
  81. package/skills/cm-content-factory/.git 2/objects/90/8737edb6b7809e32cc01590b4e08ba42a9d40d +0 -0
  82. package/skills/cm-content-factory/.git 2/objects/93/d5a8a9a7d4fb7f11491cb596a6880528725118 +0 -0
  83. package/skills/cm-content-factory/.git 2/objects/98/46a2ab81d0c3b3eb00ef88fc56989aa7e9f316 +0 -0
  84. package/skills/cm-content-factory/.git 2/objects/9b/d8dd1e49cf274eaf9c555f3ab39dce7af5715e +0 -0
  85. package/skills/cm-content-factory/.git 2/objects/a1/13329fb0cec96ae78b222d33a24c3b5bc7fa1f +0 -0
  86. package/skills/cm-content-factory/.git 2/objects/a9/e6effe626e8a3aea3a8fc3364b492191c6e7d0 +0 -0
  87. package/skills/cm-content-factory/.git 2/objects/ad/6de7e48d9782cca9353d1ff0aa1aab7fe1df85 +0 -0
  88. package/skills/cm-content-factory/.git 2/objects/af/54ae316f771ff692e299ffcd8bf2f06b413b59 +0 -0
  89. package/skills/cm-content-factory/.git 2/objects/b0/4cb8b0b00dad633e731c1472161419e738d674 +0 -0
  90. package/skills/cm-content-factory/.git 2/objects/b3/094abb0b9ed46419b269e4a4e36a459690e3b0 +0 -0
  91. package/skills/cm-content-factory/.git 2/objects/b9/435c5d4baac2cfc5c83009ddd27b46b60db5f1 +0 -0
  92. package/skills/cm-content-factory/.git 2/objects/ba/5da17dbaec5ec2dcfdfd126aead518d1171d5c +0 -0
  93. package/skills/cm-content-factory/.git 2/objects/c0/bf58703aa258ba5dd63083bebaec8f223d844c +0 -0
  94. package/skills/cm-content-factory/.git 2/objects/c4/701a34edf1fc1bad58ccc57bd03f9426acb59a +0 -0
  95. package/skills/cm-content-factory/.git 2/objects/c7/5ccce9a4e5cc74d9b3174550cf6d993ca43638 +0 -0
  96. package/skills/cm-content-factory/.git 2/objects/c7/710d59b5a35b0f1f0a0399386643a0bd94c929 +0 -0
  97. package/skills/cm-content-factory/.git 2/objects/d1/fe58237112e953e5fec52da22cf38e08be3df9 +5 -0
  98. package/skills/cm-content-factory/.git 2/objects/d2/2bbe9fd2f74c95bc5583e803f5e435f1e2cd86 +0 -0
  99. package/skills/cm-content-factory/.git 2/objects/d7/e72852ea2bff74581dbf247d400120086229f4 +0 -0
  100. package/skills/cm-content-factory/.git 2/objects/d8/d4c3b5553e4fd72807e1d4b49ef07d9ef3ac35 +0 -0
  101. package/skills/cm-content-factory/.git 2/objects/dc/75050c2876f6a02ae2a53a3c886f395b622977 +0 -0
  102. package/skills/cm-content-factory/.git 2/objects/ee/e8546f95acec500187c08a28a8b9ee02db0dec +0 -0
  103. package/skills/cm-content-factory/.git 2/objects/ef/263c059208b416c2146434f10cb2b9fabcba16 +0 -0
  104. package/skills/cm-content-factory/.git 2/objects/f3/ae597e84d9a59b88acd21c99bde2eaf686d785 +0 -0
  105. package/skills/cm-content-factory/.git 2/objects/f3/f6f5673c821d3d8e76fa267a9e882e7a5387ea +0 -0
  106. package/skills/cm-content-factory/.git 2/objects/f9/6e6d0ad02624dd11d5848594d056caef7a5e8b +0 -0
  107. package/skills/cm-content-factory/.git 2/objects/ff/278988fc1edf0db3abcf18de795f4cc0b4f3e1 +0 -0
  108. package/skills/cm-content-factory/.git 2/refs/heads/main +1 -0
  109. package/skills/cm-content-factory/.git 2/refs/remotes/origin/main +1 -0
  110. package/skills/cm-content-factory/.pytest_cache 2/v/cache/nodeids +76 -0
  111. package/skills/cm-content-factory/.pytest_cache 2/v/cache/stepwise +1 -0
  112. package/skills/cm-content-factory/AGENTS.md +61 -0
  113. package/skills/cm-content-factory/CLAUDE.md +63 -0
  114. package/skills/cm-content-factory/CURSOR.md +43 -0
  115. package/skills/cm-content-factory/Content Factory.zip +0 -0
  116. package/skills/cm-content-factory/SKILL.md +416 -0
  117. package/skills/cm-content-factory/cf +313 -0
  118. package/skills/cm-content-factory/config.schema.json +397 -0
  119. package/skills/cm-content-factory/dashboard/app.js +556 -0
  120. package/skills/cm-content-factory/dashboard/index.html +397 -0
  121. package/skills/cm-content-factory/dashboard/style.css +1211 -0
  122. package/skills/cm-content-factory/examples/01-real-estate.config.json +146 -0
  123. package/skills/cm-content-factory/examples/02-personal-finance.config.json +146 -0
  124. package/skills/cm-content-factory/examples/03-health-wellness.config.json +147 -0
  125. package/skills/cm-content-factory/examples/04-saas-software.config.json +147 -0
  126. package/skills/cm-content-factory/examples/05-legal-services.config.json +147 -0
  127. package/skills/cm-content-factory/examples/06-insurance.config.json +146 -0
  128. package/skills/cm-content-factory/examples/07-ecommerce-dropship.config.json +146 -0
  129. package/skills/cm-content-factory/examples/08-online-education.config.json +147 -0
  130. package/skills/cm-content-factory/examples/09-crypto-defi.config.json +147 -0
  131. package/skills/cm-content-factory/examples/10-beauty-skincare.config.json +147 -0
  132. package/skills/cm-content-factory/examples/11-home-services.config.json +146 -0
  133. package/skills/cm-content-factory/examples/12-dental-clinic.config.json +147 -0
  134. package/skills/cm-content-factory/examples/13-pet-care.config.json +147 -0
  135. package/skills/cm-content-factory/examples/14-travel-hospitality.config.json +147 -0
  136. package/skills/cm-content-factory/examples/15-ai-automation.config.json +147 -0
  137. package/skills/cm-content-factory/examples/16-wedding-events.config.json +147 -0
  138. package/skills/cm-content-factory/examples/17-fitness-coaching.config.json +148 -0
  139. package/skills/cm-content-factory/examples/18-cybersecurity.config.json +147 -0
  140. package/skills/cm-content-factory/examples/19-food-restaurant.config.json +148 -0
  141. package/skills/cm-content-factory/examples/20-solar-energy.config.json +147 -0
  142. package/skills/cm-content-factory/examples/fitness-blog.config.json +116 -0
  143. package/skills/cm-content-factory/examples/tech-blog.config.json +107 -0
  144. package/skills/cm-content-factory/extensions/EXTENSION_GUIDE.md +72 -0
  145. package/skills/cm-content-factory/extensions/hooks.py +126 -0
  146. package/skills/cm-content-factory/extensions/openclaw_adapter.py +132 -0
  147. package/skills/cm-content-factory/landing/docs/content/changelog.md +36 -0
  148. package/skills/cm-content-factory/landing/docs/content/deployment.md +46 -0
  149. package/skills/cm-content-factory/landing/docs/content/execution-flow.md +67 -0
  150. package/skills/cm-content-factory/landing/docs/content/openspace.md +27 -0
  151. package/skills/cm-content-factory/landing/docs/content/openviking.md +33 -0
  152. package/skills/cm-content-factory/landing/docs/content/use-cases.md +26 -0
  153. package/skills/cm-content-factory/landing/docs/content/v5-intro.md +28 -0
  154. package/skills/cm-content-factory/landing/docs/index.html +240 -0
  155. package/skills/cm-content-factory/landing/index.html +680 -0
  156. package/skills/cm-content-factory/landing/script.js +143 -0
  157. package/skills/cm-content-factory/landing/style.css +1216 -0
  158. package/skills/cm-content-factory/landing/translations.js +508 -0
  159. package/skills/cm-content-factory/logs/events.jsonl +11 -0
  160. package/skills/cm-content-factory/profiles/_template.profile.json +231 -0
  161. package/skills/cm-content-factory/profiles/finance.profile.json +278 -0
  162. package/skills/cm-content-factory/profiles/legal.profile.json +263 -0
  163. package/skills/cm-content-factory/profiles/medical-research.profile.json +321 -0
  164. package/skills/cm-content-factory/profiles/technology.profile.json +275 -0
  165. package/skills/cm-content-factory/scripts/agent_dispatcher.py +266 -0
  166. package/skills/cm-content-factory/scripts/audit.py +106 -0
  167. package/skills/cm-content-factory/scripts/dashboard_server.py +225 -0
  168. package/skills/cm-content-factory/scripts/deploy.py +146 -0
  169. package/skills/cm-content-factory/scripts/extract.py +132 -0
  170. package/skills/cm-content-factory/scripts/landing_generator.py +459 -0
  171. package/skills/cm-content-factory/scripts/memory.py +521 -0
  172. package/skills/cm-content-factory/scripts/monetize.py +239 -0
  173. package/skills/cm-content-factory/scripts/pipeline.py +357 -0
  174. package/skills/cm-content-factory/scripts/plan.py +163 -0
  175. package/skills/cm-content-factory/scripts/publish.py +145 -0
  176. package/skills/cm-content-factory/scripts/research.py +337 -0
  177. package/skills/cm-content-factory/scripts/scaffold.py +464 -0
  178. package/skills/cm-content-factory/scripts/scoreboard.py +336 -0
  179. package/skills/cm-content-factory/scripts/seo.py +90 -0
  180. package/skills/cm-content-factory/scripts/state_manager.py +320 -0
  181. package/skills/cm-content-factory/scripts/token_manager.py +268 -0
  182. package/skills/cm-content-factory/scripts/validate.py +221 -0
  183. package/skills/cm-content-factory/scripts/wizard.py +329 -0
  184. package/skills/cm-content-factory/scripts/write.py +93 -0
  185. package/skills/cm-content-factory/sites/docs-site/src/assets/houston.webp +0 -0
  186. package/skills/cm-content-factory/sites/docs-site/src/content/docs/architecture.md +90 -0
  187. package/skills/cm-content-factory/sites/docs-site/src/content/docs/data-flow.md +54 -0
  188. package/skills/cm-content-factory/sites/docs-site/src/content/docs/deployment.md +38 -0
  189. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/index.md +65 -0
  190. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/lc-content-lifecycle.md +48 -0
  191. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/seq-write-mode.md +39 -0
  192. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/uj-first-batch.md +42 -0
  193. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/wf-content-pipeline.md +51 -0
  194. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/wf-learning-cycle.md +52 -0
  195. package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/configuration.md +86 -0
  196. package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/installation.md +80 -0
  197. package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/intro.md +58 -0
  198. package/skills/cm-content-factory/sites/docs-site/src/content/docs/index.md +102 -0
  199. package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/index.md +45 -0
  200. package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/optimize-seo.md +29 -0
  201. package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/scale-content-production.md +55 -0
  202. package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/standardize-quality.md +29 -0
  203. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/buyer-cmo-huong.md +41 -0
  204. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/buyer-content-lead-khoa.md +40 -0
  205. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/index.md +56 -0
  206. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-content-manager-lan.md +46 -0
  207. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-seo-minh.md +45 -0
  208. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-writer-tu.md +45 -0
  209. package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/content-pipeline.md +108 -0
  210. package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/index.md +22 -0
  211. package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/memory-system.md +52 -0
  212. package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/seo-optimization.md +58 -0
  213. package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/troubleshooting-guide.md +92 -0
  214. package/skills/cm-content-factory/sites/docs-site/src/styles/custom.css +575 -0
  215. package/skills/cm-content-factory/tests/conftest.py +66 -0
  216. package/skills/cm-content-factory/tests/test_agent_dispatcher.py +125 -0
  217. package/skills/cm-content-factory/tests/test_memory.py +128 -0
  218. package/skills/cm-content-factory/tests/test_pipeline.py +107 -0
  219. package/skills/cm-content-factory/tests/test_research.py +56 -0
  220. package/skills/cm-content-factory/tests/test_state_manager.py +131 -0
  221. package/skills/cm-content-factory/tests/test_token_manager.py +110 -0
  222. package/skills/cm-content-factory/tests/test_wizard.py +121 -0
  223. package/skills/cm-continuity/SKILL.md +49 -480
  224. package/skills/cm-continuity/references/cm-uri-scheme.md +23 -0
  225. package/skills/cm-continuity/references/continuity-template.md +48 -0
  226. package/skills/cm-continuity/references/mcp-context-server.md +27 -0
  227. package/skills/cm-continuity/references/memory-architecture.md +26 -0
  228. package/skills/cm-continuity/references/memory-audit.md +18 -0
  229. package/skills/cm-continuity/references/session-protocol.md +31 -0
  230. package/skills/cm-continuity/references/storage-formats.md +20 -0
  231. package/skills/cm-cro-methodology/SKILL.md +290 -0
  232. package/skills/cm-cro-methodology/references/COPYWRITING.md +178 -0
  233. package/skills/cm-cro-methodology/references/OBJECTIONS.md +135 -0
  234. package/skills/cm-cro-methodology/references/PERSUASION.md +158 -0
  235. package/skills/cm-cro-methodology/references/RESEARCH.md +220 -0
  236. package/skills/cm-cro-methodology/references/funnel-analysis.md +365 -0
  237. package/skills/cm-cro-methodology/references/testing-methodology.md +330 -0
  238. package/skills/cm-design-system/SKILL.md +5 -6
  239. package/skills/cm-execution/SKILL.md +61 -379
  240. package/skills/cm-execution/references/mode-a-batch.md +28 -0
  241. package/skills/cm-execution/references/mode-b-subagent.md +46 -0
  242. package/skills/cm-execution/references/mode-c-parallel.md +39 -0
  243. package/skills/cm-execution/references/mode-d-rarv.md +62 -0
  244. package/skills/cm-execution/references/mode-e-triz-parallel.md +53 -0
  245. package/skills/cm-execution/references/mode-f-party.md +61 -0
  246. package/skills/cm-execution/references/persona-dispatch.md +22 -0
  247. package/skills/cm-execution/references/security-rules.md +47 -0
  248. package/skills/cm-google-form/SKILL.md +266 -0
  249. package/skills/cm-google-form/templates/apps-script.js +55 -0
  250. package/skills/cm-google-form/templates/form-markup.html +110 -0
  251. package/skills/cm-google-form/templates/form-submit.js +201 -0
  252. package/skills/cm-google-form/templates/toast.css +152 -0
  253. package/skills/cm-growth-hacking/SKILL.md +282 -0
  254. package/skills/cm-growth-hacking/bottom-sheet-engine.md +261 -0
  255. package/skills/cm-growth-hacking/calendar-integration.md +264 -0
  256. package/skills/cm-growth-hacking/references/engagement-patterns.md +346 -0
  257. package/skills/cm-growth-hacking/templates/bottom-sheet.css +528 -0
  258. package/skills/cm-growth-hacking/templates/bottom-sheet.js +269 -0
  259. package/skills/cm-growth-hacking/templates/calendar-cta.js +213 -0
  260. package/skills/cm-growth-hacking/templates/tracking-events.js +211 -0
  261. package/skills/cm-growth-hacking/templates/trigger-manager.js +254 -0
  262. package/skills/cm-growth-hacking/tracking-events.md +246 -0
  263. package/skills/cm-growth-hacking/trigger-system.md +342 -0
  264. package/skills/cm-how-it-work/SKILL.md +8 -9
  265. package/skills/cm-identity-guard/SKILL.md +4 -4
  266. package/skills/cm-jtbd/SKILL.md +98 -0
  267. package/skills/cm-notebooklm/SKILL.md +156 -0
  268. package/skills/cm-notebooklm/references/command_reference.md +94 -0
  269. package/skills/cm-notebooklm/references/workflows.md +60 -0
  270. package/skills/cm-notebooklm/resources/knowledge_sources.md +106 -0
  271. package/skills/cm-notebooklm/scripts/brain-sync.sh +453 -0
  272. package/skills/cm-notebooklm/scripts/graduate_wisdom.py +101 -0
  273. package/skills/cm-planning/SKILL.md +3 -3
  274. package/skills/cm-project-bootstrap/SKILL.md +2 -2
  275. package/skills/cm-quality-gate/SKILL.md +1 -1
  276. package/skills/cm-readit/SKILL.md +289 -0
  277. package/skills/cm-readit/audio-player.md +206 -0
  278. package/skills/cm-readit/examples/blog-reader.js +352 -0
  279. package/skills/cm-readit/examples/voice-cro.js +390 -0
  280. package/skills/cm-readit/tts-engine.md +262 -0
  281. package/skills/cm-readit/ui-patterns.md +362 -0
  282. package/skills/cm-readit/voice-cro.md +223 -0
  283. package/skills/cm-safe-deploy/SKILL.md +80 -510
  284. package/skills/cm-safe-deploy/references/gate-0-5-security-scan.md +31 -0
  285. package/skills/cm-safe-deploy/references/gate-0-secret-hygiene.md +68 -0
  286. package/skills/cm-safe-deploy/references/gate-1-syntax.md +23 -0
  287. package/skills/cm-safe-deploy/references/gate-2-test-suite.md +28 -0
  288. package/skills/cm-safe-deploy/references/gate-3-i18n.md +19 -0
  289. package/skills/cm-safe-deploy/references/gate-4-5-build-dist.md +16 -0
  290. package/skills/cm-safe-deploy/references/gate-6-deploy-smoke.md +18 -0
  291. package/skills/cm-safe-deploy/references/rollback.md +17 -0
  292. package/skills/cm-safe-deploy/references/setup-new-project.md +20 -0
  293. package/skills/cm-skill-index/SKILL.md +15 -15
  294. package/skills/cm-start/SKILL.md +1 -1
  295. package/skills/cm-tdd/SKILL.md +51 -356
  296. package/skills/cm-tdd/references/bugfix-example.md +15 -0
  297. package/skills/cm-tdd/references/rationalizations.md +20 -0
  298. package/skills/cm-tdd/references/red-green-refactor.md +33 -0
  299. package/skills/cm-tdd/references/stuck-debugging.md +18 -0
  300. package/skills/cm-tdd/references/test-quality.md +19 -0
  301. package/skills/cm-ux-master/SKILL.md +368 -115
  302. package/skills/profiles/core.txt +1 -4
  303. package/skills/profiles/design.txt +1 -2
  304. package/skills/profiles/full.txt +10 -16
  305. package/skills/profiles/growth.txt +9 -9
  306. package/skills/profiles/top35.json +13 -13
  307. package/skills/cm-conductor-worktrees/SKILL.archive.md +0 -28
  308. package/skills/cm-conductor-worktrees/SKILL.md +0 -26
  309. package/skills/cm-dashboard/SKILL.archive.md +0 -15
  310. package/skills/cm-dashboard/SKILL.md +0 -26
  311. package/skills/cm-dashboard/ui/app.js +0 -1278
  312. package/skills/cm-dashboard/ui/index.html +0 -206
  313. package/skills/cm-dashboard/ui/style.css +0 -440
  314. package/skills/cm-design-studio/SKILL.archive.md +0 -34
  315. package/skills/cm-design-studio/SKILL.md +0 -26
  316. package/skills/cm-engineering-meta/SKILL.archive.md +0 -73
  317. package/skills/cm-engineering-meta/SKILL.md +0 -26
  318. package/skills/cm-git-worktrees/SKILL.archive.md +0 -157
  319. package/skills/cm-git-worktrees/SKILL.md +0 -26
  320. package/skills/cm-post-deploy-canary/SKILL.archive.md +0 -22
  321. package/skills/cm-post-deploy-canary/SKILL.md +0 -26
  322. package/skills/cm-qa-visual-cli/SKILL.archive.md +0 -22
  323. package/skills/cm-qa-visual-cli/SKILL.md +0 -26
  324. package/skills/cm-second-opinion-cli/SKILL.archive.md +0 -23
  325. package/skills/cm-second-opinion-cli/SKILL.md +0 -26
  326. package/skills/cm-secret-shield/SKILL.archive.md +0 -580
  327. package/skills/cm-secret-shield/SKILL.md +0 -26
  328. package/skills/cm-security-gate/SKILL.archive.md +0 -239
  329. package/skills/cm-security-gate/SKILL.md +0 -26
  330. package/skills/cm-skill-health/SKILL.archive.md +0 -83
  331. package/skills/cm-skill-health/SKILL.md +0 -26
  332. package/skills/cm-skill-mastery/SKILL.archive.md +0 -156
  333. package/skills/cm-skill-mastery/SKILL.md +0 -26
  334. package/skills/cm-skill-search/SKILL.archive.md +0 -49
  335. package/skills/cm-skill-search/SKILL.md +0 -26
  336. package/skills/cm-skill-share/SKILL.archive.md +0 -58
  337. package/skills/cm-skill-share/SKILL.md +0 -26
  338. package/skills/cm-test-gate/SKILL.archive.md +0 -245
  339. package/skills/cm-test-gate/SKILL.md +0 -26
  340. package/skills/cm-ui-preview/SKILL.archive.md +0 -153
  341. package/skills/cm-ui-preview/SKILL.md +0 -26
@@ -0,0 +1,1216 @@
1
+ /* ============================================
2
+ Content Factory — Design System
3
+ Cloned from ux-master.todyai.io
4
+ ============================================ */
5
+
6
+ /* --- Google Fonts --- */
7
+ @import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Inter:wght@400;500;600&display=swap');
8
+
9
+ /* --- Design Tokens --- */
10
+ :root {
11
+ /* Colors */
12
+ --bg-primary: #09090b;
13
+ --bg-surface: rgba(24, 24, 27, 0.5);
14
+ --bg-surface-solid: #18181b;
15
+ --bg-card: rgba(24, 24, 27, 0.6);
16
+ --border-subtle: rgba(255, 255, 255, 0.08);
17
+ --border-medium: rgba(255, 255, 255, 0.12);
18
+
19
+ --text-primary: #fafafa;
20
+ --text-secondary: #a1a1aa;
21
+ --text-muted: #71717a;
22
+
23
+ --gradient-primary: linear-gradient(135deg, #7C3AED, #EC4899);
24
+ --gradient-primary-hover: linear-gradient(135deg, #6D28D9, #DB2777);
25
+ --gradient-glow: linear-gradient(135deg, rgba(124, 58, 237, 0.4), rgba(236, 72, 153, 0.4));
26
+ --color-violet: #7C3AED;
27
+ --color-pink: #EC4899;
28
+ --color-red: #ef4444;
29
+ --color-green: #22c55e;
30
+ --color-amber: #f59e0b;
31
+
32
+ /* Typography */
33
+ --font-heading: 'Plus Jakarta Sans', system-ui, sans-serif;
34
+ --font-body: 'Inter', system-ui, sans-serif;
35
+
36
+ /* Spacing */
37
+ --section-padding: 120px 0;
38
+ --container-width: 1200px;
39
+
40
+ /* Radius */
41
+ --radius-sm: 8px;
42
+ --radius-md: 12px;
43
+ --radius-lg: 16px;
44
+ --radius-xl: 24px;
45
+ --radius-full: 999px;
46
+
47
+ /* Shadows */
48
+ --shadow-glow: 0 0 60px rgba(124, 58, 237, 0.15);
49
+ --shadow-card: 0 4px 24px rgba(0, 0, 0, 0.3);
50
+ }
51
+
52
+ /* --- Reset --- */
53
+ *, *::before, *::after {
54
+ margin: 0;
55
+ padding: 0;
56
+ box-sizing: border-box;
57
+ }
58
+
59
+ html {
60
+ scroll-behavior: smooth;
61
+ -webkit-font-smoothing: antialiased;
62
+ -moz-osx-font-smoothing: grayscale;
63
+ }
64
+
65
+ body {
66
+ font-family: var(--font-body);
67
+ background: var(--bg-primary);
68
+ color: var(--text-primary);
69
+ line-height: 1.6;
70
+ overflow-x: hidden;
71
+ }
72
+
73
+ img { max-width: 100%; display: block; }
74
+ a { text-decoration: none; color: inherit; }
75
+ button { cursor: pointer; border: none; font-family: inherit; }
76
+ ul, ol { list-style: none; }
77
+
78
+ /* --- Container --- */
79
+ .container {
80
+ max-width: var(--container-width);
81
+ margin: 0 auto;
82
+ padding: 0 24px;
83
+ }
84
+
85
+ /* --- Section Base --- */
86
+ .section {
87
+ padding: var(--section-padding);
88
+ position: relative;
89
+ }
90
+
91
+ .section-divider {
92
+ width: 200px;
93
+ height: 1px;
94
+ background: var(--gradient-primary);
95
+ margin: 0 auto;
96
+ opacity: 0.4;
97
+ }
98
+
99
+ /* --- Typography --- */
100
+ .section-label {
101
+ font-family: var(--font-heading);
102
+ font-size: 13px;
103
+ font-weight: 700;
104
+ letter-spacing: 3px;
105
+ text-transform: uppercase;
106
+ background: var(--gradient-primary);
107
+ -webkit-background-clip: text;
108
+ -webkit-text-fill-color: transparent;
109
+ background-clip: text;
110
+ margin-bottom: 16px;
111
+ }
112
+
113
+ .section-title {
114
+ font-family: var(--font-heading);
115
+ font-size: clamp(28px, 4vw, 44px);
116
+ font-weight: 800;
117
+ line-height: 1.2;
118
+ margin-bottom: 16px;
119
+ color: var(--text-primary);
120
+ }
121
+
122
+ .section-subtitle {
123
+ font-size: 17px;
124
+ color: var(--text-secondary);
125
+ max-width: 600px;
126
+ margin: 0 auto 48px;
127
+ line-height: 1.7;
128
+ }
129
+
130
+ .gradient-text {
131
+ background: var(--gradient-primary);
132
+ -webkit-background-clip: text;
133
+ -webkit-text-fill-color: transparent;
134
+ background-clip: text;
135
+ }
136
+
137
+ /* ============================================
138
+ NAVIGATION
139
+ ============================================ */
140
+ .navbar {
141
+ position: fixed;
142
+ top: 16px;
143
+ left: 16px;
144
+ right: 16px;
145
+ z-index: 100;
146
+ background: rgba(9, 9, 11, 0.7);
147
+ backdrop-filter: blur(20px);
148
+ -webkit-backdrop-filter: blur(20px);
149
+ border: 1px solid var(--border-subtle);
150
+ border-radius: var(--radius-full);
151
+ padding: 10px 24px;
152
+ transition: all 0.3s ease;
153
+ }
154
+
155
+ .navbar.scrolled {
156
+ background: rgba(9, 9, 11, 0.9);
157
+ border-color: var(--border-medium);
158
+ }
159
+
160
+ .nav-inner {
161
+ display: flex;
162
+ align-items: center;
163
+ justify-content: space-between;
164
+ max-width: var(--container-width);
165
+ margin: 0 auto;
166
+ }
167
+
168
+ .nav-logo {
169
+ display: flex;
170
+ align-items: center;
171
+ gap: 10px;
172
+ font-family: var(--font-heading);
173
+ font-weight: 800;
174
+ font-size: 18px;
175
+ color: var(--text-primary);
176
+ }
177
+
178
+ .nav-logo-icon {
179
+ width: 32px;
180
+ height: 32px;
181
+ background: var(--gradient-primary);
182
+ border-radius: var(--radius-sm);
183
+ display: flex;
184
+ align-items: center;
185
+ justify-content: center;
186
+ font-size: 16px;
187
+ }
188
+
189
+ .nav-links {
190
+ display: flex;
191
+ align-items: center;
192
+ gap: 32px;
193
+ }
194
+
195
+ .nav-links a {
196
+ font-size: 14px;
197
+ font-weight: 500;
198
+ color: var(--text-secondary);
199
+ transition: color 0.2s;
200
+ }
201
+
202
+ .nav-links a:hover {
203
+ color: var(--text-primary);
204
+ }
205
+
206
+ .nav-cta {
207
+ background: var(--gradient-primary);
208
+ color: white;
209
+ font-size: 14px;
210
+ font-weight: 600;
211
+ padding: 10px 20px;
212
+ border-radius: var(--radius-full);
213
+ transition: opacity 0.2s, transform 0.2s;
214
+ }
215
+
216
+ .nav-cta:hover {
217
+ opacity: 0.9;
218
+ transform: translateY(-1px);
219
+ }
220
+
221
+ .nav-github {
222
+ display: flex;
223
+ align-items: center;
224
+ gap: 6px;
225
+ padding: 8px 14px;
226
+ border: 1px solid var(--border-medium);
227
+ border-radius: var(--radius-full);
228
+ font-size: 13px;
229
+ font-weight: 500;
230
+ color: var(--text-secondary);
231
+ transition: all 0.2s;
232
+ }
233
+
234
+ .nav-github:hover {
235
+ border-color: rgba(255,255,255,0.25);
236
+ color: var(--text-primary);
237
+ }
238
+
239
+ .nav-mobile-toggle {
240
+ display: none;
241
+ background: none;
242
+ color: var(--text-primary);
243
+ font-size: 24px;
244
+ padding: 4px;
245
+ }
246
+
247
+ /* ============================================
248
+ HERO SECTION
249
+ ============================================ */
250
+ .hero {
251
+ padding: 180px 0 100px;
252
+ text-align: center;
253
+ position: relative;
254
+ overflow: hidden;
255
+ }
256
+
257
+ .hero::before {
258
+ content: '';
259
+ position: absolute;
260
+ top: -200px;
261
+ left: 50%;
262
+ transform: translateX(-50%);
263
+ width: 800px;
264
+ height: 600px;
265
+ background: radial-gradient(ellipse, rgba(124, 58, 237, 0.12) 0%, rgba(236, 72, 153, 0.06) 40%, transparent 70%);
266
+ pointer-events: none;
267
+ }
268
+
269
+ /* Animated grid behind hero */
270
+ .hero-grid {
271
+ position: absolute;
272
+ top: 60px;
273
+ left: 50%;
274
+ transform: translateX(-50%);
275
+ width: 600px;
276
+ height: 200px;
277
+ background-image:
278
+ linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
279
+ linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
280
+ background-size: 60px 60px;
281
+ mask-image: linear-gradient(to bottom, rgba(0,0,0,0.5) 0%, transparent 100%);
282
+ -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,0.5) 0%, transparent 100%);
283
+ pointer-events: none;
284
+ }
285
+
286
+ .hero-badge {
287
+ display: inline-flex;
288
+ align-items: center;
289
+ gap: 10px;
290
+ padding: 8px 20px;
291
+ background: var(--bg-surface);
292
+ border: 1px solid var(--border-subtle);
293
+ border-radius: var(--radius-full);
294
+ font-size: 14px;
295
+ color: var(--text-secondary);
296
+ margin-bottom: 36px;
297
+ backdrop-filter: blur(10px);
298
+ }
299
+
300
+ .hero-badge-dots {
301
+ display: flex;
302
+ gap: 4px;
303
+ }
304
+
305
+ .hero-badge-dots span {
306
+ width: 10px;
307
+ height: 10px;
308
+ border-radius: 50%;
309
+ }
310
+
311
+ .hero-badge-dots span:nth-child(1) { background: var(--color-violet); }
312
+ .hero-badge-dots span:nth-child(2) { background: var(--color-pink); }
313
+ .hero-badge-dots span:nth-child(3) { background: var(--color-amber); }
314
+
315
+ .hero h1 {
316
+ font-family: var(--font-heading);
317
+ font-size: clamp(36px, 6vw, 72px);
318
+ font-weight: 800;
319
+ line-height: 1.1;
320
+ margin-bottom: 24px;
321
+ letter-spacing: -1px;
322
+ }
323
+
324
+ .hero-sub {
325
+ font-size: 17px;
326
+ color: var(--text-secondary);
327
+ max-width: 560px;
328
+ margin: 0 auto 8px;
329
+ line-height: 1.7;
330
+ }
331
+
332
+ .hero-sub-small {
333
+ font-size: 14px;
334
+ color: var(--text-muted);
335
+ margin-bottom: 36px;
336
+ }
337
+
338
+ .hero-ctas {
339
+ display: flex;
340
+ align-items: center;
341
+ justify-content: center;
342
+ gap: 16px;
343
+ margin-bottom: 60px;
344
+ }
345
+
346
+ .btn-primary {
347
+ display: inline-flex;
348
+ align-items: center;
349
+ gap: 8px;
350
+ background: var(--gradient-primary);
351
+ color: white;
352
+ font-size: 16px;
353
+ font-weight: 600;
354
+ padding: 16px 32px;
355
+ border-radius: var(--radius-md);
356
+ transition: all 0.3s ease;
357
+ box-shadow: 0 4px 20px rgba(124, 58, 237, 0.3);
358
+ }
359
+
360
+ .btn-primary:hover {
361
+ transform: translateY(-2px);
362
+ box-shadow: 0 8px 30px rgba(124, 58, 237, 0.4);
363
+ }
364
+
365
+ .btn-secondary {
366
+ display: inline-flex;
367
+ align-items: center;
368
+ gap: 8px;
369
+ background: transparent;
370
+ color: var(--text-secondary);
371
+ font-size: 16px;
372
+ font-weight: 500;
373
+ padding: 16px 32px;
374
+ border-radius: var(--radius-md);
375
+ border: 1px solid var(--border-medium);
376
+ transition: all 0.3s ease;
377
+ }
378
+
379
+ .btn-secondary:hover {
380
+ border-color: rgba(255,255,255,0.25);
381
+ color: var(--text-primary);
382
+ background: rgba(255,255,255,0.03);
383
+ }
384
+
385
+ /* Stats Bar */
386
+ .hero-stats {
387
+ display: flex;
388
+ align-items: center;
389
+ justify-content: center;
390
+ gap: 0;
391
+ max-width: 700px;
392
+ margin: 0 auto;
393
+ }
394
+
395
+ .stat-item {
396
+ display: flex;
397
+ flex-direction: column;
398
+ align-items: center;
399
+ padding: 0 40px;
400
+ position: relative;
401
+ }
402
+
403
+ .stat-item:not(:last-child)::after {
404
+ content: '';
405
+ position: absolute;
406
+ right: 0;
407
+ top: 50%;
408
+ transform: translateY(-50%);
409
+ width: 1px;
410
+ height: 40px;
411
+ background: var(--border-subtle);
412
+ }
413
+
414
+ .stat-value {
415
+ font-family: var(--font-heading);
416
+ font-size: 28px;
417
+ font-weight: 800;
418
+ background: var(--gradient-primary);
419
+ -webkit-background-clip: text;
420
+ -webkit-text-fill-color: transparent;
421
+ background-clip: text;
422
+ }
423
+
424
+ .stat-label {
425
+ font-size: 13px;
426
+ color: var(--text-muted);
427
+ margin-top: 4px;
428
+ }
429
+
430
+ /* ============================================
431
+ PROBLEM SECTION
432
+ ============================================ */
433
+ .problem {
434
+ text-align: center;
435
+ }
436
+
437
+ .problem-grid {
438
+ display: grid;
439
+ grid-template-columns: 1fr 1fr;
440
+ gap: 24px;
441
+ max-width: 960px;
442
+ margin: 0 auto 48px;
443
+ }
444
+
445
+ .problem-card {
446
+ background: var(--bg-card);
447
+ border: 1px solid var(--border-subtle);
448
+ border-radius: var(--radius-lg);
449
+ padding: 36px 32px;
450
+ text-align: left;
451
+ backdrop-filter: blur(10px);
452
+ }
453
+
454
+ .problem-card-header {
455
+ display: flex;
456
+ align-items: center;
457
+ gap: 10px;
458
+ font-family: var(--font-heading);
459
+ font-size: 14px;
460
+ font-weight: 700;
461
+ letter-spacing: 1px;
462
+ text-transform: uppercase;
463
+ margin-bottom: 28px;
464
+ }
465
+
466
+ .problem-card.without .problem-card-header {
467
+ color: var(--color-red);
468
+ }
469
+
470
+ .problem-card.with .problem-card-header {
471
+ color: var(--color-green);
472
+ }
473
+
474
+ .problem-card.with {
475
+ border-color: rgba(34, 197, 94, 0.15);
476
+ }
477
+
478
+ .problem-list {
479
+ display: flex;
480
+ flex-direction: column;
481
+ gap: 18px;
482
+ }
483
+
484
+ .problem-list li {
485
+ display: flex;
486
+ align-items: flex-start;
487
+ gap: 12px;
488
+ font-size: 15px;
489
+ color: var(--text-secondary);
490
+ line-height: 1.6;
491
+ }
492
+
493
+ .problem-list li .icon {
494
+ flex-shrink: 0;
495
+ width: 8px;
496
+ height: 8px;
497
+ border-radius: 50%;
498
+ margin-top: 7px;
499
+ }
500
+
501
+ .problem-card.without .icon {
502
+ background: var(--color-red);
503
+ opacity: 0.7;
504
+ }
505
+
506
+ .problem-card.with .icon {
507
+ background: var(--color-green);
508
+ }
509
+
510
+ .problem-card.with li strong {
511
+ color: var(--text-primary);
512
+ }
513
+
514
+ .problem-quote {
515
+ font-size: 17px;
516
+ font-style: italic;
517
+ color: var(--text-secondary);
518
+ max-width: 600px;
519
+ margin: 0 auto;
520
+ }
521
+
522
+ .problem-quote strong {
523
+ color: var(--color-pink);
524
+ font-style: italic;
525
+ }
526
+
527
+ /* ============================================
528
+ MODES GRID
529
+ ============================================ */
530
+ .modes {
531
+ text-align: center;
532
+ }
533
+
534
+ .modes-grid {
535
+ display: grid;
536
+ grid-template-columns: repeat(4, 1fr);
537
+ gap: 16px;
538
+ max-width: 1000px;
539
+ margin: 0 auto;
540
+ }
541
+
542
+ .mode-card {
543
+ background: var(--bg-card);
544
+ border: 1px solid var(--border-subtle);
545
+ border-radius: var(--radius-lg);
546
+ padding: 28px 24px;
547
+ text-align: left;
548
+ transition: all 0.3s ease;
549
+ backdrop-filter: blur(10px);
550
+ }
551
+
552
+ .mode-card:hover {
553
+ border-color: var(--border-medium);
554
+ transform: translateY(-4px);
555
+ box-shadow: var(--shadow-glow);
556
+ }
557
+
558
+ .mode-card-icon {
559
+ width: 44px;
560
+ height: 44px;
561
+ border-radius: var(--radius-sm);
562
+ display: flex;
563
+ align-items: center;
564
+ justify-content: center;
565
+ margin-bottom: 16px;
566
+ font-size: 20px;
567
+ }
568
+
569
+ .mode-card-icon.extract { background: rgba(124, 58, 237, 0.15); color: var(--color-violet); }
570
+ .mode-card-icon.plan { background: rgba(236, 72, 153, 0.15); color: var(--color-pink); }
571
+ .mode-card-icon.write { background: rgba(34, 197, 94, 0.15); color: var(--color-green); }
572
+ .mode-card-icon.audit { background: rgba(245, 158, 11, 0.15); color: var(--color-amber); }
573
+ .mode-card-icon.seo { background: rgba(59, 130, 246, 0.15); color: #3b82f6; }
574
+ .mode-card-icon.publish { background: rgba(16, 185, 129, 0.15); color: #10b981; }
575
+ .mode-card-icon.research { background: rgba(168, 85, 247, 0.15); color: #a855f7; }
576
+ .mode-card-icon.learn { background: rgba(236, 72, 153, 0.15); color: var(--color-pink); }
577
+
578
+ .mode-card h3 {
579
+ font-family: var(--font-heading);
580
+ font-size: 16px;
581
+ font-weight: 700;
582
+ margin-bottom: 8px;
583
+ color: var(--text-primary);
584
+ }
585
+
586
+ .mode-card p {
587
+ font-size: 14px;
588
+ color: var(--text-muted);
589
+ line-height: 1.5;
590
+ }
591
+
592
+ /* ============================================
593
+ 3-STEP PROCESS
594
+ ============================================ */
595
+ .process {
596
+ text-align: center;
597
+ }
598
+
599
+ .process-steps {
600
+ display: grid;
601
+ grid-template-columns: repeat(3, 1fr);
602
+ gap: 32px;
603
+ max-width: 960px;
604
+ margin: 0 auto;
605
+ }
606
+
607
+ .process-step {
608
+ position: relative;
609
+ text-align: center;
610
+ padding: 40px 24px;
611
+ }
612
+
613
+ .process-step-number {
614
+ font-family: var(--font-heading);
615
+ font-size: 64px;
616
+ font-weight: 800;
617
+ background: var(--gradient-primary);
618
+ -webkit-background-clip: text;
619
+ -webkit-text-fill-color: transparent;
620
+ background-clip: text;
621
+ opacity: 0.3;
622
+ line-height: 1;
623
+ margin-bottom: 20px;
624
+ }
625
+
626
+ .process-step h3 {
627
+ font-family: var(--font-heading);
628
+ font-size: 20px;
629
+ font-weight: 700;
630
+ margin-bottom: 12px;
631
+ color: var(--text-primary);
632
+ }
633
+
634
+ .process-step p {
635
+ font-size: 15px;
636
+ color: var(--text-secondary);
637
+ line-height: 1.6;
638
+ }
639
+
640
+ /* Arrow connectors between steps */
641
+ .process-step:not(:last-child)::after {
642
+ content: '→';
643
+ position: absolute;
644
+ right: -24px;
645
+ top: 60px;
646
+ font-size: 24px;
647
+ color: var(--text-muted);
648
+ opacity: 0.3;
649
+ }
650
+
651
+ /* ============================================
652
+ INTELLIGENCE / MEMORY SECTION
653
+ ============================================ */
654
+ .intelligence {
655
+ text-align: center;
656
+ }
657
+
658
+ .memory-visual {
659
+ display: grid;
660
+ grid-template-columns: repeat(3, 1fr);
661
+ gap: 20px;
662
+ max-width: 800px;
663
+ margin: 0 auto 48px;
664
+ }
665
+
666
+ .memory-card {
667
+ background: var(--bg-card);
668
+ border: 1px solid var(--border-subtle);
669
+ border-radius: var(--radius-lg);
670
+ padding: 32px 24px;
671
+ text-align: center;
672
+ transition: all 0.3s ease;
673
+ }
674
+
675
+ .memory-card:hover {
676
+ border-color: var(--border-medium);
677
+ }
678
+
679
+ .memory-card-icon {
680
+ width: 48px;
681
+ height: 48px;
682
+ border-radius: 50%;
683
+ display: flex;
684
+ align-items: center;
685
+ justify-content: center;
686
+ margin: 0 auto 16px;
687
+ font-size: 22px;
688
+ }
689
+
690
+ .memory-card-icon.semantic { background: rgba(124, 58, 237, 0.15); color: var(--color-violet); }
691
+ .memory-card-icon.episodic { background: rgba(236, 72, 153, 0.15); color: var(--color-pink); }
692
+ .memory-card-icon.working { background: rgba(34, 197, 94, 0.15); color: var(--color-green); }
693
+
694
+ .memory-card h3 {
695
+ font-family: var(--font-heading);
696
+ font-size: 17px;
697
+ font-weight: 700;
698
+ margin-bottom: 8px;
699
+ }
700
+
701
+ .memory-card p {
702
+ font-size: 14px;
703
+ color: var(--text-muted);
704
+ line-height: 1.5;
705
+ }
706
+
707
+ /* Scoreboard */
708
+ .scoreboard {
709
+ display: grid;
710
+ grid-template-columns: repeat(5, 1fr);
711
+ gap: 12px;
712
+ max-width: 700px;
713
+ margin: 0 auto;
714
+ }
715
+
716
+ .score-tier {
717
+ background: var(--bg-card);
718
+ border: 1px solid var(--border-subtle);
719
+ border-radius: var(--radius-md);
720
+ padding: 16px 12px;
721
+ text-align: center;
722
+ }
723
+
724
+ .score-tier-badge {
725
+ font-size: 24px;
726
+ margin-bottom: 4px;
727
+ }
728
+
729
+ .score-tier-name {
730
+ font-family: var(--font-heading);
731
+ font-size: 14px;
732
+ font-weight: 700;
733
+ color: var(--text-primary);
734
+ }
735
+
736
+ .score-tier-range {
737
+ font-size: 12px;
738
+ color: var(--text-muted);
739
+ }
740
+
741
+ /* ============================================
742
+ PRICING SECTION
743
+ ============================================ */
744
+ .pricing {
745
+ text-align: center;
746
+ }
747
+
748
+ .pricing-grid {
749
+ display: grid;
750
+ grid-template-columns: 1fr 1fr;
751
+ gap: 24px;
752
+ max-width: 760px;
753
+ margin: 0 auto;
754
+ }
755
+
756
+ .pricing-card {
757
+ background: var(--bg-card);
758
+ border: 1px solid var(--border-subtle);
759
+ border-radius: var(--radius-lg);
760
+ padding: 40px 32px;
761
+ text-align: left;
762
+ position: relative;
763
+ backdrop-filter: blur(10px);
764
+ }
765
+
766
+ .pricing-card.pro {
767
+ border-color: rgba(124, 58, 237, 0.3);
768
+ box-shadow: 0 0 40px rgba(124, 58, 237, 0.08);
769
+ }
770
+
771
+ .pricing-card.pro::before {
772
+ content: 'POPULAR';
773
+ position: absolute;
774
+ top: -12px;
775
+ right: 24px;
776
+ background: var(--gradient-primary);
777
+ color: white;
778
+ font-size: 11px;
779
+ font-weight: 700;
780
+ letter-spacing: 1px;
781
+ padding: 4px 14px;
782
+ border-radius: var(--radius-full);
783
+ }
784
+
785
+ .pricing-plan-name {
786
+ font-family: var(--font-heading);
787
+ font-size: 20px;
788
+ font-weight: 700;
789
+ margin-bottom: 8px;
790
+ }
791
+
792
+ .pricing-price {
793
+ font-family: var(--font-heading);
794
+ font-size: 44px;
795
+ font-weight: 800;
796
+ margin-bottom: 4px;
797
+ }
798
+
799
+ .pricing-price .currency {
800
+ font-size: 20px;
801
+ color: var(--text-muted);
802
+ vertical-align: super;
803
+ }
804
+
805
+ .pricing-period {
806
+ font-size: 14px;
807
+ color: var(--text-muted);
808
+ margin-bottom: 28px;
809
+ }
810
+
811
+ .pricing-features {
812
+ display: flex;
813
+ flex-direction: column;
814
+ gap: 14px;
815
+ margin-bottom: 32px;
816
+ }
817
+
818
+ .pricing-features li {
819
+ display: flex;
820
+ align-items: center;
821
+ gap: 10px;
822
+ font-size: 14px;
823
+ color: var(--text-secondary);
824
+ }
825
+
826
+ .pricing-features li svg {
827
+ flex-shrink: 0;
828
+ width: 18px;
829
+ height: 18px;
830
+ color: var(--color-green);
831
+ }
832
+
833
+ .pricing-btn {
834
+ display: block;
835
+ width: 100%;
836
+ text-align: center;
837
+ padding: 14px;
838
+ font-size: 15px;
839
+ font-weight: 600;
840
+ border-radius: var(--radius-md);
841
+ transition: all 0.3s ease;
842
+ }
843
+
844
+ .pricing-btn.free {
845
+ background: transparent;
846
+ border: 1px solid var(--border-medium);
847
+ color: var(--text-primary);
848
+ }
849
+
850
+ .pricing-btn.free:hover {
851
+ border-color: rgba(255,255,255,0.25);
852
+ background: rgba(255,255,255,0.03);
853
+ }
854
+
855
+ .pricing-btn.pro-btn {
856
+ background: var(--gradient-primary);
857
+ color: white;
858
+ border: none;
859
+ }
860
+
861
+ .pricing-btn.pro-btn:hover {
862
+ opacity: 0.9;
863
+ transform: translateY(-1px);
864
+ }
865
+
866
+ /* Price-increase ticker */
867
+ .pricing-ticker {
868
+ margin-top: 32px;
869
+ padding: 12px 20px;
870
+ background: rgba(245, 158, 11, 0.08);
871
+ border: 1px solid rgba(245, 158, 11, 0.2);
872
+ border-radius: var(--radius-md);
873
+ font-size: 14px;
874
+ color: var(--color-amber);
875
+ text-align: center;
876
+ max-width: 760px;
877
+ margin-left: auto;
878
+ margin-right: auto;
879
+ }
880
+
881
+ /* ============================================
882
+ FAQ SECTION
883
+ ============================================ */
884
+ .faq {
885
+ text-align: center;
886
+ }
887
+
888
+ .faq-list {
889
+ max-width: 720px;
890
+ margin: 0 auto;
891
+ text-align: left;
892
+ }
893
+
894
+ .faq-item {
895
+ border-bottom: 1px solid var(--border-subtle);
896
+ }
897
+
898
+ .faq-question {
899
+ display: flex;
900
+ align-items: center;
901
+ justify-content: space-between;
902
+ width: 100%;
903
+ padding: 24px 0;
904
+ background: none;
905
+ color: var(--text-primary);
906
+ font-family: var(--font-heading);
907
+ font-size: 16px;
908
+ font-weight: 600;
909
+ text-align: left;
910
+ cursor: pointer;
911
+ transition: color 0.2s;
912
+ }
913
+
914
+ .faq-question:hover {
915
+ color: var(--color-pink);
916
+ }
917
+
918
+ .faq-question .faq-icon {
919
+ font-size: 20px;
920
+ color: var(--text-muted);
921
+ transition: transform 0.3s ease;
922
+ flex-shrink: 0;
923
+ margin-left: 16px;
924
+ }
925
+
926
+ .faq-item.open .faq-icon {
927
+ transform: rotate(45deg);
928
+ }
929
+
930
+ .faq-answer {
931
+ max-height: 0;
932
+ overflow: hidden;
933
+ transition: max-height 0.4s ease, padding 0.4s ease;
934
+ }
935
+
936
+ .faq-item.open .faq-answer {
937
+ max-height: 300px;
938
+ padding-bottom: 24px;
939
+ }
940
+
941
+ .faq-answer p {
942
+ font-size: 15px;
943
+ color: var(--text-secondary);
944
+ line-height: 1.7;
945
+ }
946
+
947
+ .faq-answer strong {
948
+ color: var(--color-pink);
949
+ }
950
+
951
+ /* ============================================
952
+ FOOTER
953
+ ============================================ */
954
+ .footer-cta {
955
+ text-align: center;
956
+ padding: 80px 0;
957
+ }
958
+
959
+ .footer-cta h2 {
960
+ font-family: var(--font-heading);
961
+ font-size: clamp(28px, 4vw, 44px);
962
+ font-weight: 800;
963
+ margin-bottom: 16px;
964
+ }
965
+
966
+ .footer-cta p {
967
+ font-size: 17px;
968
+ color: var(--text-secondary);
969
+ margin-bottom: 32px;
970
+ max-width: 500px;
971
+ margin-left: auto;
972
+ margin-right: auto;
973
+ }
974
+
975
+ .footer {
976
+ border-top: 1px solid var(--border-subtle);
977
+ padding: 40px 0;
978
+ }
979
+
980
+ .footer-inner {
981
+ display: flex;
982
+ align-items: center;
983
+ justify-content: space-between;
984
+ }
985
+
986
+ .footer-logo {
987
+ display: flex;
988
+ align-items: center;
989
+ gap: 10px;
990
+ font-family: var(--font-heading);
991
+ font-weight: 700;
992
+ font-size: 16px;
993
+ }
994
+
995
+ .footer-logo-icon {
996
+ width: 28px;
997
+ height: 28px;
998
+ background: var(--gradient-primary);
999
+ border-radius: 6px;
1000
+ display: flex;
1001
+ align-items: center;
1002
+ justify-content: center;
1003
+ font-size: 14px;
1004
+ }
1005
+
1006
+ .footer-links {
1007
+ display: flex;
1008
+ gap: 24px;
1009
+ }
1010
+
1011
+ .footer-links a {
1012
+ font-size: 14px;
1013
+ color: var(--text-muted);
1014
+ transition: color 0.2s;
1015
+ }
1016
+
1017
+ .footer-links a:hover {
1018
+ color: var(--text-primary);
1019
+ }
1020
+
1021
+ .footer-copy {
1022
+ font-size: 13px;
1023
+ color: var(--text-muted);
1024
+ }
1025
+
1026
+ /* ============================================
1027
+ ANIMATIONS
1028
+ ============================================ */
1029
+ @keyframes fadeInUp {
1030
+ from {
1031
+ opacity: 0;
1032
+ transform: translateY(30px);
1033
+ }
1034
+ to {
1035
+ opacity: 1;
1036
+ transform: translateY(0);
1037
+ }
1038
+ }
1039
+
1040
+ @keyframes fadeIn {
1041
+ from { opacity: 0; }
1042
+ to { opacity: 1; }
1043
+ }
1044
+
1045
+ .animate-in {
1046
+ opacity: 0;
1047
+ animation: fadeInUp 0.6s ease forwards;
1048
+ }
1049
+
1050
+ .animate-in.delay-1 { animation-delay: 0.1s; }
1051
+ .animate-in.delay-2 { animation-delay: 0.2s; }
1052
+ .animate-in.delay-3 { animation-delay: 0.3s; }
1053
+ .animate-in.delay-4 { animation-delay: 0.4s; }
1054
+
1055
+ /* Intersection Observer driven */
1056
+ .reveal {
1057
+ opacity: 0;
1058
+ transform: translateY(30px);
1059
+ transition: opacity 0.6s ease, transform 0.6s ease;
1060
+ }
1061
+
1062
+ .reveal.visible {
1063
+ opacity: 1;
1064
+ transform: translateY(0);
1065
+ }
1066
+
1067
+ /* Respect reduced motion */
1068
+ @media (prefers-reduced-motion: reduce) {
1069
+ .animate-in,
1070
+ .reveal {
1071
+ animation: none !important;
1072
+ opacity: 1 !important;
1073
+ transform: none !important;
1074
+ transition: none !important;
1075
+ }
1076
+ }
1077
+
1078
+ /* ============================================
1079
+ RESPONSIVE
1080
+ ============================================ */
1081
+ @media (max-width: 1024px) {
1082
+ .modes-grid {
1083
+ grid-template-columns: repeat(2, 1fr);
1084
+ }
1085
+ .scoreboard {
1086
+ grid-template-columns: repeat(3, 1fr);
1087
+ }
1088
+ }
1089
+
1090
+ @media (max-width: 768px) {
1091
+ :root {
1092
+ --section-padding: 80px 0;
1093
+ }
1094
+
1095
+ .nav-links {
1096
+ display: none;
1097
+ }
1098
+
1099
+ .nav-github {
1100
+ display: none;
1101
+ }
1102
+
1103
+ .nav-mobile-toggle {
1104
+ display: block;
1105
+ }
1106
+
1107
+ /* Mobile menu */
1108
+ .nav-links.open {
1109
+ display: flex;
1110
+ flex-direction: column;
1111
+ position: absolute;
1112
+ top: 60px;
1113
+ left: 0;
1114
+ right: 0;
1115
+ background: rgba(9, 9, 11, 0.95);
1116
+ backdrop-filter: blur(20px);
1117
+ border: 1px solid var(--border-subtle);
1118
+ border-radius: var(--radius-lg);
1119
+ padding: 20px;
1120
+ gap: 16px;
1121
+ }
1122
+
1123
+ .hero {
1124
+ padding: 140px 0 60px;
1125
+ }
1126
+
1127
+ .hero h1 {
1128
+ font-size: 36px;
1129
+ }
1130
+
1131
+ .hero-ctas {
1132
+ flex-direction: column;
1133
+ gap: 12px;
1134
+ }
1135
+
1136
+ .btn-primary, .btn-secondary {
1137
+ width: 100%;
1138
+ justify-content: center;
1139
+ }
1140
+
1141
+ .hero-stats {
1142
+ flex-wrap: wrap;
1143
+ gap: 24px;
1144
+ }
1145
+
1146
+ .stat-item {
1147
+ padding: 0 20px;
1148
+ }
1149
+
1150
+ .stat-item:not(:last-child)::after {
1151
+ display: none;
1152
+ }
1153
+
1154
+ .problem-grid {
1155
+ grid-template-columns: 1fr;
1156
+ }
1157
+
1158
+ .modes-grid {
1159
+ grid-template-columns: 1fr;
1160
+ }
1161
+
1162
+ .process-steps {
1163
+ grid-template-columns: 1fr;
1164
+ gap: 16px;
1165
+ }
1166
+
1167
+ .process-step:not(:last-child)::after {
1168
+ display: none;
1169
+ }
1170
+
1171
+ .memory-visual {
1172
+ grid-template-columns: 1fr;
1173
+ }
1174
+
1175
+ .scoreboard {
1176
+ grid-template-columns: repeat(2, 1fr);
1177
+ }
1178
+
1179
+ .pricing-grid {
1180
+ grid-template-columns: 1fr;
1181
+ }
1182
+
1183
+ .footer-inner {
1184
+ flex-direction: column;
1185
+ gap: 20px;
1186
+ text-align: center;
1187
+ }
1188
+
1189
+ .footer-links {
1190
+ flex-wrap: wrap;
1191
+ justify-content: center;
1192
+ }
1193
+ }
1194
+
1195
+ @media (max-width: 480px) {
1196
+ .hero h1 {
1197
+ font-size: 28px;
1198
+ }
1199
+
1200
+ .section-title {
1201
+ font-size: 24px;
1202
+ }
1203
+
1204
+ .stat-item {
1205
+ width: 50%;
1206
+ padding: 12px 0;
1207
+ }
1208
+
1209
+ .hero-stats {
1210
+ justify-content: center;
1211
+ }
1212
+
1213
+ .scoreboard {
1214
+ grid-template-columns: 1fr 1fr;
1215
+ }
1216
+ }