codymaster 5.2.0 → 7.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (380) hide show
  1. package/CHANGELOG.md +276 -0
  2. package/README.md +216 -333
  3. package/dist/agent/antigravity.js +152 -0
  4. package/dist/agent/backend.js +2 -0
  5. package/dist/agent/claude.js +196 -0
  6. package/dist/agent/codex.js +204 -0
  7. package/dist/agent/copilot.js +284 -0
  8. package/dist/agent/cursor.js +211 -0
  9. package/dist/agent/factory.js +30 -0
  10. package/dist/agent/gemini.js +142 -0
  11. package/dist/agent/opencode.js +205 -0
  12. package/dist/agent/spawn-helper.js +237 -0
  13. package/dist/agent/version.js +25 -0
  14. package/dist/browse/adapter-factory.js +69 -0
  15. package/dist/browse/adapters/agent-browser-adapter.js +305 -0
  16. package/dist/browse/adapters/playwright-adapter.js +309 -0
  17. package/dist/browse/adapters/types.js +6 -0
  18. package/dist/browse/error-collector.js +132 -0
  19. package/dist/browse/event-log.js +109 -0
  20. package/dist/browse/index.js +17 -0
  21. package/dist/browse-server.js +204 -120
  22. package/dist/cli/command-registry.js +12 -0
  23. package/dist/cli/commands/dashboard.js +76 -2
  24. package/dist/cli/commands/engineering.js +218 -4
  25. package/dist/cli/commands/install.js +160 -0
  26. package/dist/cli/commands/learn.js +181 -0
  27. package/dist/cli/commands/parallel.js +138 -0
  28. package/dist/cli/commands/quality.js +105 -0
  29. package/dist/cli/commands/stack.js +49 -0
  30. package/dist/cli/commands/update.js +159 -0
  31. package/dist/cli/update-check.js +94 -10
  32. package/dist/continuity.js +3 -1
  33. package/dist/dashboard.js +47 -6
  34. package/dist/data.js +35 -0
  35. package/dist/execution/tdd-gate.js +113 -0
  36. package/dist/executor/cancel.js +34 -0
  37. package/dist/executor/gc.js +74 -0
  38. package/dist/executor/index.js +14 -0
  39. package/dist/executor/runner.js +70 -0
  40. package/dist/executor/workdir.js +31 -0
  41. package/dist/handoff/contracts.js +22 -0
  42. package/dist/handoff/index.js +18 -0
  43. package/dist/handoff/io.js +121 -0
  44. package/dist/index.js +7 -3
  45. package/dist/indexer/stack-detect.js +219 -0
  46. package/dist/install/copy.js +98 -0
  47. package/dist/install/engine.js +42 -0
  48. package/dist/install/paths.js +70 -0
  49. package/dist/install/platforms/_simple.js +85 -0
  50. package/dist/install/platforms/antigravity.js +91 -0
  51. package/dist/install/platforms/claude-code.js +107 -0
  52. package/dist/install/platforms/cursor.js +77 -0
  53. package/dist/install/platforms/index.js +27 -0
  54. package/dist/install/platforms/simple.js +163 -0
  55. package/dist/install/profiles.js +75 -0
  56. package/dist/install/types.js +2 -0
  57. package/dist/learnings.js +208 -0
  58. package/dist/mcp-context-server.js +1 -1
  59. package/dist/middleware/metrics.js +30 -0
  60. package/dist/middleware/security-headers.js +14 -0
  61. package/dist/realtime/event-bus.js +29 -0
  62. package/dist/realtime/ws-hub.js +91 -0
  63. package/dist/schemas/task-schema.js +48 -0
  64. package/dist/schemas/validate.js +18 -0
  65. package/dist/skills-lock.js +96 -0
  66. package/dist/sprint-pipeline.js +26 -0
  67. package/dist/storage/index.js +21 -0
  68. package/dist/storage/repos/activity-repo.js +46 -0
  69. package/dist/storage/repos/message-repo.js +39 -0
  70. package/dist/storage/repos/project-repo.js +56 -0
  71. package/dist/storage/repos/task-repo.js +142 -0
  72. package/dist/storage/services/project-service.js +49 -0
  73. package/dist/storage/services/task-service.js +97 -0
  74. package/dist/storage/sqlite.js +113 -0
  75. package/dist/tier-classify.js +131 -0
  76. package/dist/ui/onboarding.js +51 -15
  77. package/dist/utils/cli-utils.js +7 -2
  78. package/dist/utils/design-taste.js +108 -0
  79. package/dist/utils/output-compress.js +143 -0
  80. package/dist/vibecoding-index.js +126 -0
  81. package/package.json +27 -4
  82. package/public/dashboard/app.js +52 -1
  83. package/scripts/build-skills-lock.mjs +88 -0
  84. package/scripts/build-skills.mjs +187 -28
  85. package/scripts/compress-skill.mjs +73 -0
  86. package/scripts/deprecate-skill.mjs +72 -0
  87. package/scripts/install.sh +170 -0
  88. package/scripts/mcp-bridge.js +2 -2
  89. package/scripts/postinstall.js +54 -287
  90. package/scripts/release.sh +126 -0
  91. package/scripts/update-changelog.sh +88 -0
  92. package/scripts/validate-skills.mjs +101 -4
  93. package/skills/_shared/SKILL_TEMPLATE.md +62 -0
  94. package/skills/cm-autopilot/scripts/autopilot.py +19 -2
  95. package/skills/cm-brainstorm-idea/SKILL.md +9 -0
  96. package/skills/cm-clean-code/SKILL.md +20 -0
  97. package/skills/cm-code-review/SKILL.md +21 -0
  98. package/skills/cm-codeintell/SKILL.md +9 -0
  99. package/skills/cm-conductor-worktrees/SKILL.archive.md +28 -0
  100. package/skills/cm-conductor-worktrees/SKILL.md +17 -19
  101. package/skills/cm-continuity/SKILL.md +9 -0
  102. package/skills/cm-dashboard/SKILL.archive.md +15 -0
  103. package/skills/cm-dashboard/SKILL.md +20 -9
  104. package/skills/cm-dashboard/ui/app.js +9 -1
  105. package/skills/cm-debugging/SKILL.md +9 -0
  106. package/skills/cm-design-studio/SKILL.archive.md +34 -0
  107. package/skills/cm-design-studio/SKILL.md +17 -25
  108. package/skills/cm-design-system/SKILL.md +1 -0
  109. package/skills/cm-engineering-meta/SKILL.archive.md +73 -0
  110. package/skills/cm-engineering-meta/SKILL.md +16 -63
  111. package/skills/cm-execution/SKILL.md +98 -0
  112. package/skills/cm-git-worktrees/SKILL.archive.md +157 -0
  113. package/skills/cm-git-worktrees/SKILL.md +15 -146
  114. package/skills/cm-identity-guard/SKILL.md +8 -0
  115. package/skills/cm-planning/SKILL.md +63 -92
  116. package/skills/cm-post-deploy-canary/SKILL.archive.md +22 -0
  117. package/skills/cm-post-deploy-canary/SKILL.md +17 -13
  118. package/skills/cm-qa-visual-cli/SKILL.archive.md +22 -0
  119. package/skills/cm-qa-visual-cli/SKILL.md +16 -12
  120. package/skills/cm-quality-gate/SKILL.md +38 -0
  121. package/skills/cm-safe-deploy/SKILL.md +9 -0
  122. package/skills/cm-second-opinion-cli/SKILL.archive.md +23 -0
  123. package/skills/cm-second-opinion-cli/SKILL.md +17 -14
  124. package/skills/cm-secret-shield/SKILL.archive.md +580 -0
  125. package/skills/cm-secret-shield/SKILL.md +15 -569
  126. package/skills/cm-security-gate/SKILL.archive.md +239 -0
  127. package/skills/cm-security-gate/SKILL.md +15 -228
  128. package/skills/cm-skill-health/SKILL.archive.md +83 -0
  129. package/skills/cm-skill-health/SKILL.md +16 -73
  130. package/skills/cm-skill-index/SKILL.md +8 -0
  131. package/skills/cm-skill-mastery/SKILL.archive.md +156 -0
  132. package/skills/cm-skill-mastery/SKILL.md +16 -146
  133. package/skills/cm-skill-search/SKILL.archive.md +49 -0
  134. package/skills/cm-skill-search/SKILL.md +17 -40
  135. package/skills/cm-skill-share/SKILL.archive.md +58 -0
  136. package/skills/cm-skill-share/SKILL.md +17 -49
  137. package/skills/cm-sprint-bus/SKILL.md +9 -0
  138. package/skills/cm-start/SKILL.md +17 -0
  139. package/skills/cm-tdd/SKILL.md +19 -0
  140. package/skills/cm-terminal/SKILL.md +15 -0
  141. package/skills/cm-test-gate/SKILL.archive.md +245 -0
  142. package/skills/cm-test-gate/SKILL.md +15 -234
  143. package/skills/cm-ui-preview/SKILL.archive.md +153 -0
  144. package/skills/cm-ui-preview/SKILL.md +16 -143
  145. package/skills/cm-ux-master/cli/uxmaster/commands/mcp.py +1 -1
  146. package/skills/cm-ux-master/mcp/mcp-config.json +1 -1
  147. package/skills/cm-ux-master/mcp/server.py +2 -2
  148. package/skills/profiles/design.txt +1 -1
  149. package/skills/profiles/full.txt +0 -10
  150. package/skills/profiles/growth.txt +8 -8
  151. package/skills/profiles/knowledge.txt +1 -1
  152. package/skills/profiles/top35.json +41 -0
  153. package/adapters/antigravity.js +0 -15
  154. package/adapters/claude-code.js +0 -17
  155. package/adapters/cursor.js +0 -16
  156. package/skills/cm-ads-tracker/SKILL.md +0 -401
  157. package/skills/cm-ads-tracker/evals/evals.json +0 -55
  158. package/skills/cm-ads-tracker/references/gtm-architecture.md +0 -321
  159. package/skills/cm-ads-tracker/references/industry-events.md +0 -294
  160. package/skills/cm-ads-tracker/references/platforms-api.md +0 -238
  161. package/skills/cm-ads-tracker/templates/capi-payload.md +0 -79
  162. package/skills/cm-ads-tracker/templates/datalayer-push.js +0 -104
  163. package/skills/cm-ads-tracker/templates/gtm-variables.js +0 -56
  164. package/skills/cm-auto-publisher/SKILL.md +0 -81
  165. package/skills/cm-booking-calendar/SKILL.md +0 -521
  166. package/skills/cm-booking-calendar/references/industry-patterns.md +0 -527
  167. package/skills/cm-booking-calendar/templates/booking-form.css +0 -626
  168. package/skills/cm-booking-calendar/templates/booking-form.html +0 -477
  169. package/skills/cm-booking-calendar/templates/calendar-engine.js +0 -419
  170. package/skills/cm-booking-calendar/templates/calendar-export.js +0 -395
  171. package/skills/cm-booking-calendar/templates/reminder-config.js +0 -629
  172. package/skills/cm-content-factory/.content-factory-state.json +0 -132
  173. package/skills/cm-content-factory/.git 2/logs/refs/heads/main +0 -1
  174. package/skills/cm-content-factory/.git 2/logs/refs/remotes/origin/main +0 -1
  175. package/skills/cm-content-factory/.git 2/objects/02/fb0956734b5f8ba3f918b7defd04a89cfe0076 +0 -0
  176. package/skills/cm-content-factory/.git 2/objects/08/1e129d75dc6feac6c02037272e6bd1a04e3324 +0 -0
  177. package/skills/cm-content-factory/.git 2/objects/0c/5393416f3c5e01c9a655a802bff0dd52f76f0a +0 -0
  178. package/skills/cm-content-factory/.git 2/objects/10/0b9be46978a946a77188f68be725098a122001 +0 -0
  179. package/skills/cm-content-factory/.git 2/objects/10/cf041167fc9843610eb3d90259ef3396315fdc +0 -0
  180. package/skills/cm-content-factory/.git 2/objects/12/5e19538dd6e1338ffe74f6c4c165b00435bf48 +0 -0
  181. package/skills/cm-content-factory/.git 2/objects/16/a9b9d0088d5c1347628b45a2620b479d8ad57c +0 -0
  182. package/skills/cm-content-factory/.git 2/objects/17/8c2a9ef93c33ae4eec9d58e82321f9229843a1 +0 -0
  183. package/skills/cm-content-factory/.git 2/objects/25/397ae41d09104d763bdcac2695209d85cdea89 +0 -0
  184. package/skills/cm-content-factory/.git 2/objects/2f/a836b7947f2d458e1f639788bf4bb0983a3305 +0 -0
  185. package/skills/cm-content-factory/.git 2/objects/3a/baaaf0a1c0909c0828335791557125fba911e0 +0 -0
  186. package/skills/cm-content-factory/.git 2/objects/42/2924221b81f5ce3c4e4daac9a64a24f9b01f9a +0 -0
  187. package/skills/cm-content-factory/.git 2/objects/42/ec0ce707447dc11446a34c9995fb8533801731 +0 -0
  188. package/skills/cm-content-factory/.git 2/objects/46/e43ce92866d56ce74b1d750db307cfe6154a15 +0 -0
  189. package/skills/cm-content-factory/.git 2/objects/48/5e41b633c63f55b8277bcc59f44f67681f671a +0 -0
  190. package/skills/cm-content-factory/.git 2/objects/49/49c596a3a89fa240642acd95dd3258e261eb09 +0 -0
  191. package/skills/cm-content-factory/.git 2/objects/50/9d42d8412ef8eaf7f7e138476bac2e4d10ce60 +0 -0
  192. package/skills/cm-content-factory/.git 2/objects/55/0c8c389d981b463ef849aeb792d8be3ccb6ec8 +0 -0
  193. package/skills/cm-content-factory/.git 2/objects/5d/82d3b18410cdda3ace3677436f0cb599dbe2d2 +0 -0
  194. package/skills/cm-content-factory/.git 2/objects/60/0617c58e871a38b33bf29e282d132bb3c381ad +0 -0
  195. package/skills/cm-content-factory/.git 2/objects/6a/8369a99c687b7245c92ffaf0e0f0dab9014504 +0 -0
  196. package/skills/cm-content-factory/.git 2/objects/79/bea435d40ab531c1aaf6be0432c6a5b7aaed21 +0 -0
  197. package/skills/cm-content-factory/.git 2/objects/7e/5ebd79251c2f14e4aceb86c74b6b6daae6b500 +0 -0
  198. package/skills/cm-content-factory/.git 2/objects/81/98a822a60178d6d5023ddb3e222cddf048742e +0 -0
  199. package/skills/cm-content-factory/.git 2/objects/86/0a0e1943dfe53411d2e499a1f16f46a96ef758 +0 -0
  200. package/skills/cm-content-factory/.git 2/objects/86/971fb55fdc081fdbae52376f0f13e57a4e9b04 +0 -0
  201. package/skills/cm-content-factory/.git 2/objects/88/b89dd609a0a03f8d4fe8bfde20d5b8fc1d326d +0 -0
  202. package/skills/cm-content-factory/.git 2/objects/90/8737edb6b7809e32cc01590b4e08ba42a9d40d +0 -0
  203. package/skills/cm-content-factory/.git 2/objects/93/d5a8a9a7d4fb7f11491cb596a6880528725118 +0 -0
  204. package/skills/cm-content-factory/.git 2/objects/98/46a2ab81d0c3b3eb00ef88fc56989aa7e9f316 +0 -0
  205. package/skills/cm-content-factory/.git 2/objects/9b/d8dd1e49cf274eaf9c555f3ab39dce7af5715e +0 -0
  206. package/skills/cm-content-factory/.git 2/objects/a1/13329fb0cec96ae78b222d33a24c3b5bc7fa1f +0 -0
  207. package/skills/cm-content-factory/.git 2/objects/a9/e6effe626e8a3aea3a8fc3364b492191c6e7d0 +0 -0
  208. package/skills/cm-content-factory/.git 2/objects/ad/6de7e48d9782cca9353d1ff0aa1aab7fe1df85 +0 -0
  209. package/skills/cm-content-factory/.git 2/objects/af/54ae316f771ff692e299ffcd8bf2f06b413b59 +0 -0
  210. package/skills/cm-content-factory/.git 2/objects/b0/4cb8b0b00dad633e731c1472161419e738d674 +0 -0
  211. package/skills/cm-content-factory/.git 2/objects/b3/094abb0b9ed46419b269e4a4e36a459690e3b0 +0 -0
  212. package/skills/cm-content-factory/.git 2/objects/b9/435c5d4baac2cfc5c83009ddd27b46b60db5f1 +0 -0
  213. package/skills/cm-content-factory/.git 2/objects/ba/5da17dbaec5ec2dcfdfd126aead518d1171d5c +0 -0
  214. package/skills/cm-content-factory/.git 2/objects/c0/bf58703aa258ba5dd63083bebaec8f223d844c +0 -0
  215. package/skills/cm-content-factory/.git 2/objects/c4/701a34edf1fc1bad58ccc57bd03f9426acb59a +0 -0
  216. package/skills/cm-content-factory/.git 2/objects/c7/5ccce9a4e5cc74d9b3174550cf6d993ca43638 +0 -0
  217. package/skills/cm-content-factory/.git 2/objects/c7/710d59b5a35b0f1f0a0399386643a0bd94c929 +0 -0
  218. package/skills/cm-content-factory/.git 2/objects/d1/fe58237112e953e5fec52da22cf38e08be3df9 +0 -5
  219. package/skills/cm-content-factory/.git 2/objects/d2/2bbe9fd2f74c95bc5583e803f5e435f1e2cd86 +0 -0
  220. package/skills/cm-content-factory/.git 2/objects/d7/e72852ea2bff74581dbf247d400120086229f4 +0 -0
  221. package/skills/cm-content-factory/.git 2/objects/d8/d4c3b5553e4fd72807e1d4b49ef07d9ef3ac35 +0 -0
  222. package/skills/cm-content-factory/.git 2/objects/dc/75050c2876f6a02ae2a53a3c886f395b622977 +0 -0
  223. package/skills/cm-content-factory/.git 2/objects/ee/e8546f95acec500187c08a28a8b9ee02db0dec +0 -0
  224. package/skills/cm-content-factory/.git 2/objects/ef/263c059208b416c2146434f10cb2b9fabcba16 +0 -0
  225. package/skills/cm-content-factory/.git 2/objects/f3/ae597e84d9a59b88acd21c99bde2eaf686d785 +0 -0
  226. package/skills/cm-content-factory/.git 2/objects/f3/f6f5673c821d3d8e76fa267a9e882e7a5387ea +0 -0
  227. package/skills/cm-content-factory/.git 2/objects/f9/6e6d0ad02624dd11d5848594d056caef7a5e8b +0 -0
  228. package/skills/cm-content-factory/.git 2/objects/ff/278988fc1edf0db3abcf18de795f4cc0b4f3e1 +0 -0
  229. package/skills/cm-content-factory/.git 2/refs/heads/main +0 -1
  230. package/skills/cm-content-factory/.git 2/refs/remotes/origin/main +0 -1
  231. package/skills/cm-content-factory/.pytest_cache 2/v/cache/nodeids +0 -76
  232. package/skills/cm-content-factory/.pytest_cache 2/v/cache/stepwise +0 -1
  233. package/skills/cm-content-factory/AGENTS.md +0 -61
  234. package/skills/cm-content-factory/CLAUDE.md +0 -63
  235. package/skills/cm-content-factory/CURSOR.md +0 -43
  236. package/skills/cm-content-factory/Content Factory.zip +0 -0
  237. package/skills/cm-content-factory/SKILL.md +0 -416
  238. package/skills/cm-content-factory/cf +0 -313
  239. package/skills/cm-content-factory/config.schema.json +0 -397
  240. package/skills/cm-content-factory/dashboard/app.js +0 -556
  241. package/skills/cm-content-factory/dashboard/index.html +0 -397
  242. package/skills/cm-content-factory/dashboard/style.css +0 -1211
  243. package/skills/cm-content-factory/examples/01-real-estate.config.json +0 -146
  244. package/skills/cm-content-factory/examples/02-personal-finance.config.json +0 -146
  245. package/skills/cm-content-factory/examples/03-health-wellness.config.json +0 -147
  246. package/skills/cm-content-factory/examples/04-saas-software.config.json +0 -147
  247. package/skills/cm-content-factory/examples/05-legal-services.config.json +0 -147
  248. package/skills/cm-content-factory/examples/06-insurance.config.json +0 -146
  249. package/skills/cm-content-factory/examples/07-ecommerce-dropship.config.json +0 -146
  250. package/skills/cm-content-factory/examples/08-online-education.config.json +0 -147
  251. package/skills/cm-content-factory/examples/09-crypto-defi.config.json +0 -147
  252. package/skills/cm-content-factory/examples/10-beauty-skincare.config.json +0 -147
  253. package/skills/cm-content-factory/examples/11-home-services.config.json +0 -146
  254. package/skills/cm-content-factory/examples/12-dental-clinic.config.json +0 -147
  255. package/skills/cm-content-factory/examples/13-pet-care.config.json +0 -147
  256. package/skills/cm-content-factory/examples/14-travel-hospitality.config.json +0 -147
  257. package/skills/cm-content-factory/examples/15-ai-automation.config.json +0 -147
  258. package/skills/cm-content-factory/examples/16-wedding-events.config.json +0 -147
  259. package/skills/cm-content-factory/examples/17-fitness-coaching.config.json +0 -148
  260. package/skills/cm-content-factory/examples/18-cybersecurity.config.json +0 -147
  261. package/skills/cm-content-factory/examples/19-food-restaurant.config.json +0 -148
  262. package/skills/cm-content-factory/examples/20-solar-energy.config.json +0 -147
  263. package/skills/cm-content-factory/examples/fitness-blog.config.json +0 -116
  264. package/skills/cm-content-factory/examples/tech-blog.config.json +0 -107
  265. package/skills/cm-content-factory/extensions/EXTENSION_GUIDE.md +0 -72
  266. package/skills/cm-content-factory/extensions/hooks.py +0 -126
  267. package/skills/cm-content-factory/extensions/openclaw_adapter.py +0 -132
  268. package/skills/cm-content-factory/landing/docs/content/changelog.md +0 -36
  269. package/skills/cm-content-factory/landing/docs/content/deployment.md +0 -46
  270. package/skills/cm-content-factory/landing/docs/content/execution-flow.md +0 -67
  271. package/skills/cm-content-factory/landing/docs/content/memory-system.md +0 -38
  272. package/skills/cm-content-factory/landing/docs/content/openspace.md +0 -27
  273. package/skills/cm-content-factory/landing/docs/content/use-cases.md +0 -26
  274. package/skills/cm-content-factory/landing/docs/content/v5-intro.md +0 -28
  275. package/skills/cm-content-factory/landing/docs/index.html +0 -240
  276. package/skills/cm-content-factory/landing/index.html +0 -680
  277. package/skills/cm-content-factory/landing/script.js +0 -143
  278. package/skills/cm-content-factory/landing/style.css +0 -1216
  279. package/skills/cm-content-factory/landing/translations.js +0 -508
  280. package/skills/cm-content-factory/logs/events.jsonl +0 -11
  281. package/skills/cm-content-factory/profiles/_template.profile.json +0 -231
  282. package/skills/cm-content-factory/profiles/finance.profile.json +0 -278
  283. package/skills/cm-content-factory/profiles/legal.profile.json +0 -263
  284. package/skills/cm-content-factory/profiles/medical-research.profile.json +0 -321
  285. package/skills/cm-content-factory/profiles/technology.profile.json +0 -275
  286. package/skills/cm-content-factory/scripts/agent_dispatcher.py +0 -266
  287. package/skills/cm-content-factory/scripts/audit.py +0 -106
  288. package/skills/cm-content-factory/scripts/dashboard_server.py +0 -225
  289. package/skills/cm-content-factory/scripts/deploy.py +0 -146
  290. package/skills/cm-content-factory/scripts/extract.py +0 -132
  291. package/skills/cm-content-factory/scripts/landing_generator.py +0 -459
  292. package/skills/cm-content-factory/scripts/memory.py +0 -521
  293. package/skills/cm-content-factory/scripts/monetize.py +0 -239
  294. package/skills/cm-content-factory/scripts/pipeline.py +0 -357
  295. package/skills/cm-content-factory/scripts/plan.py +0 -163
  296. package/skills/cm-content-factory/scripts/publish.py +0 -145
  297. package/skills/cm-content-factory/scripts/research.py +0 -337
  298. package/skills/cm-content-factory/scripts/scaffold.py +0 -464
  299. package/skills/cm-content-factory/scripts/scoreboard.py +0 -336
  300. package/skills/cm-content-factory/scripts/seo.py +0 -90
  301. package/skills/cm-content-factory/scripts/state_manager.py +0 -320
  302. package/skills/cm-content-factory/scripts/token_manager.py +0 -268
  303. package/skills/cm-content-factory/scripts/validate.py +0 -221
  304. package/skills/cm-content-factory/scripts/wizard.py +0 -329
  305. package/skills/cm-content-factory/scripts/write.py +0 -93
  306. package/skills/cm-content-factory/sites/docs-site/src/assets/houston.webp +0 -0
  307. package/skills/cm-content-factory/sites/docs-site/src/content/docs/architecture.md +0 -90
  308. package/skills/cm-content-factory/sites/docs-site/src/content/docs/data-flow.md +0 -54
  309. package/skills/cm-content-factory/sites/docs-site/src/content/docs/deployment.md +0 -38
  310. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/index.md +0 -65
  311. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/lc-content-lifecycle.md +0 -48
  312. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/seq-write-mode.md +0 -39
  313. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/uj-first-batch.md +0 -42
  314. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/wf-content-pipeline.md +0 -51
  315. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/wf-learning-cycle.md +0 -52
  316. package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/configuration.md +0 -86
  317. package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/installation.md +0 -80
  318. package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/intro.md +0 -58
  319. package/skills/cm-content-factory/sites/docs-site/src/content/docs/index.md +0 -102
  320. package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/index.md +0 -45
  321. package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/optimize-seo.md +0 -29
  322. package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/scale-content-production.md +0 -55
  323. package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/standardize-quality.md +0 -29
  324. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/buyer-cmo-huong.md +0 -41
  325. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/buyer-content-lead-khoa.md +0 -40
  326. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/index.md +0 -56
  327. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-content-manager-lan.md +0 -46
  328. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-seo-minh.md +0 -45
  329. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-writer-tu.md +0 -45
  330. package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/content-pipeline.md +0 -108
  331. package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/index.md +0 -22
  332. package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/memory-system.md +0 -52
  333. package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/seo-optimization.md +0 -58
  334. package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/troubleshooting-guide.md +0 -92
  335. package/skills/cm-content-factory/sites/docs-site/src/styles/custom.css +0 -575
  336. package/skills/cm-content-factory/tests/conftest.py +0 -66
  337. package/skills/cm-content-factory/tests/test_agent_dispatcher.py +0 -125
  338. package/skills/cm-content-factory/tests/test_memory.py +0 -128
  339. package/skills/cm-content-factory/tests/test_pipeline.py +0 -107
  340. package/skills/cm-content-factory/tests/test_research.py +0 -56
  341. package/skills/cm-content-factory/tests/test_state_manager.py +0 -131
  342. package/skills/cm-content-factory/tests/test_token_manager.py +0 -110
  343. package/skills/cm-content-factory/tests/test_wizard.py +0 -121
  344. package/skills/cm-cro-methodology/SKILL.md +0 -290
  345. package/skills/cm-cro-methodology/references/COPYWRITING.md +0 -178
  346. package/skills/cm-cro-methodology/references/OBJECTIONS.md +0 -135
  347. package/skills/cm-cro-methodology/references/PERSUASION.md +0 -158
  348. package/skills/cm-cro-methodology/references/RESEARCH.md +0 -220
  349. package/skills/cm-cro-methodology/references/funnel-analysis.md +0 -365
  350. package/skills/cm-cro-methodology/references/testing-methodology.md +0 -330
  351. package/skills/cm-google-form/SKILL.md +0 -266
  352. package/skills/cm-google-form/templates/apps-script.js +0 -55
  353. package/skills/cm-google-form/templates/form-markup.html +0 -110
  354. package/skills/cm-google-form/templates/form-submit.js +0 -201
  355. package/skills/cm-google-form/templates/toast.css +0 -152
  356. package/skills/cm-growth-hacking/SKILL.md +0 -282
  357. package/skills/cm-growth-hacking/bottom-sheet-engine.md +0 -261
  358. package/skills/cm-growth-hacking/calendar-integration.md +0 -264
  359. package/skills/cm-growth-hacking/references/engagement-patterns.md +0 -346
  360. package/skills/cm-growth-hacking/templates/bottom-sheet.css +0 -528
  361. package/skills/cm-growth-hacking/templates/bottom-sheet.js +0 -269
  362. package/skills/cm-growth-hacking/templates/calendar-cta.js +0 -213
  363. package/skills/cm-growth-hacking/templates/tracking-events.js +0 -211
  364. package/skills/cm-growth-hacking/templates/trigger-manager.js +0 -254
  365. package/skills/cm-growth-hacking/tracking-events.md +0 -246
  366. package/skills/cm-growth-hacking/trigger-system.md +0 -342
  367. package/skills/cm-jtbd/SKILL.md +0 -98
  368. package/skills/cm-notebooklm/SKILL.md +0 -156
  369. package/skills/cm-notebooklm/references/command_reference.md +0 -94
  370. package/skills/cm-notebooklm/references/workflows.md +0 -60
  371. package/skills/cm-notebooklm/resources/knowledge_sources.md +0 -106
  372. package/skills/cm-notebooklm/scripts/brain-sync.sh +0 -453
  373. package/skills/cm-notebooklm/scripts/graduate_wisdom.py +0 -101
  374. package/skills/cm-readit/SKILL.md +0 -289
  375. package/skills/cm-readit/audio-player.md +0 -206
  376. package/skills/cm-readit/examples/blog-reader.js +0 -352
  377. package/skills/cm-readit/examples/voice-cro.js +0 -390
  378. package/skills/cm-readit/tts-engine.md +0 -262
  379. package/skills/cm-readit/ui-patterns.md +0 -362
  380. package/skills/cm-readit/voice-cro.md +0 -223
@@ -0,0 +1,239 @@
1
+ ---
2
+ name: cm-security-gate
3
+ description: Pre-production security audit and vulnerability scanning. Run Snyk + Aikido dependency scans, OWASP analysis, and set up automated GitHub security checks with Jules. Use when asked to 'run security check', 'security audit', 'kiểm tra bảo mật', 'vulnerability scan', 'Snyk', 'OWASP', or before open-sourcing / commercializing a project.
4
+ ---
5
+ # cm-security-gate — Mandatory Security Audit & Vulnerability Gate
6
+
7
+ > **No code goes public without a security pass.**
8
+ > **No CodyMaster release ships without Snyk + Aikido green.**
9
+
10
+ ## Enforcement Policy
11
+
12
+ | Context | Level | What Happens |
13
+ |---------|-------|-------------|
14
+ | **CodyMaster internal** | 🔴 MANDATORY | Both Snyk + Aikido MUST pass. No deploy, no PR merge without green. |
15
+ | **User projects (normal)** | 🟡 SUGGESTED | Recommend scanning, provide easy commands. User may skip. |
16
+ | **User projects (risk detected)** | 🔴 ESCALATED MANDATORY | If CVEs found, errors hit, or risk flags raised → block until resolved. |
17
+
18
+ > [!CAUTION]
19
+ > **The Escalation Rule:** When a user encounters security errors, CVE warnings, or suspicious dependency behavior during development, the agent MUST escalate from "suggested" to "mandatory" — triggering the full Snyk + Aikido scan before any further deploy or push.
20
+
21
+ ---
22
+
23
+ ## When to Use
24
+
25
+ **ALWAYS when:**
26
+ - User asks to "run security check" or "kiểm thử bảo mật"
27
+ - Preparing to open-source a repository or launch a commercial product
28
+ - Adding major third-party dependencies
29
+ - The project is graduating from alpha/beta to a wider release
30
+ - A user encounters CVE warnings, npm audit alerts, or suspicious dependency behavior
31
+ - Before any CodyMaster release or PR merge
32
+
33
+ **Skip when:**
34
+ - Doing quick local prototyping with no real user data
35
+ - Exploring ideas without production intent
36
+
37
+ ---
38
+
39
+ ## Core Capabilities
40
+
41
+ 1. **Aikido MCP Server:** Real-time scanning of AI-generated code inside the IDE (vulnerabilities + secrets)
42
+ 2. **Snyk CLI:** Dependency vulnerability scanning (`npm`, `pip`, `yarn`, `cargo`)
43
+ 3. **Aikido CLI:** SAST, IaC, Secrets, and Dependency scanning with release/PR gating
44
+ 4. **Continuous Monitoring:** Snyk dashboard + Aikido dashboard for ongoing protection
45
+ 5. **Jules CI/CD:** Automated security analysis via GitHub on every commit
46
+
47
+ ---
48
+
49
+ ## The Process
50
+
51
+ ### Phase 0: Aikido MCP Setup (IDE-Level Real-Time Scanning)
52
+
53
+ > [!IMPORTANT]
54
+ > **One-time setup.** Once configured, every AI coding session automatically scans generated code for vulnerabilities and hardcoded secrets — BEFORE the code is even committed.
55
+
56
+ **Step 1:** Create a Personal Access Token at [Aikido Settings → IDE → MCP](https://app.aikido.dev/settings/integrations/ide/mcp)
57
+
58
+ **Step 2:** Install Aikido MCP server:
59
+ ```bash
60
+ # For Antigravity / Gemini CLI
61
+ gemini mcp add aikido \
62
+ --env AIKIDO_API_KEY=YOUR_TOKEN \
63
+ npx -y @aikidosec/mcp
64
+ ```
65
+
66
+ **Step 3:** Download the Aikido agent rule:
67
+ ```bash
68
+ mkdir -p ~/.gemini/skills/
69
+ curl -fsSL "https://gist.githubusercontent.com/kidk/aa48cad6db80ba4a38493016aae67712/raw/3644397b7df43423e3da06434491b40bbb79dd47/aikido-rule.txt" \
70
+ -o ~/.gemini/skills/aikido-rule.txt
71
+ ```
72
+
73
+ **Step 4:** Restart Antigravity IDE. Aikido MCP is now active.
74
+
75
+ > **What this gives you:** Deterministic, independent security checks on EVERY AI-generated snippet. Not a replacement for CLI scanning — this is the first line of defense, catching issues at write-time.
76
+
77
+ ---
78
+
79
+ ### Phase 1: Preparation (CLI Tooling Check)
80
+
81
+ Verify if the Snyk CLI and Aikido CLI are available:
82
+ ```bash
83
+ which snyk
84
+ which aikido-api-client
85
+ ```
86
+
87
+ **If Snyk is NOT installed:**
88
+ - **macOS (Homebrew):** `brew tap snyk/tap && brew install snyk`
89
+ - **npm:** `npm install -g snyk`
90
+ - Authenticate: `snyk auth`
91
+
92
+ **If Aikido CLI is NOT installed:**
93
+ - **npm:** `npm install -g @aikidosec/ci-api-client`
94
+ - Set API key: `aikido-api-client apikey <API-KEY>`
95
+ - *API keys: [Aikido CI Integration Settings](https://app.aikido.dev/settings/integrations/continuous-integration)*
96
+
97
+ > [!WARNING]
98
+ > **Two different API keys!** Aikido MCP (real-time IDE scanning) uses a *Personal Access Token*. Aikido CLI (release/PR gating) uses a *CI API key*. Don't mix them.
99
+
100
+ ---
101
+
102
+ ### Phase 2: Execution (Parallel Vulnerability Scan)
103
+
104
+ Execute both tools **in parallel** to save time:
105
+
106
+ **1. Snyk Dependency Scan:**
107
+ ```bash
108
+ snyk test
109
+ ```
110
+
111
+ **2. Aikido Release Scan:**
112
+ ```bash
113
+ aikido-api-client scan-release <repository_id_or_name> <commit_id> \
114
+ --minimum-severity-level="HIGH"
115
+ ```
116
+
117
+ #### Aikido Scan Flags Reference
118
+
119
+ | Flag | Purpose |
120
+ |------|---------|
121
+ | `--minimum-severity-level` | `LOW`, `MEDIUM`, `HIGH`, `CRITICAL` — set the minimum severity that triggers a failure |
122
+ | `--fail-on-sast-scan` | Fail if SAST (Static Analysis) issues are found |
123
+ | `--fail-on-iac-scan` | Fail if Infrastructure as Code misconfigurations are found |
124
+ | `--fail-on-secrets-scan` | Fail if hardcoded secrets are detected |
125
+
126
+ #### CodyMaster Internal (Maximum Strictness)
127
+ ```bash
128
+ aikido-api-client scan-release <repo> <commit> \
129
+ --minimum-severity-level="HIGH" \
130
+ --fail-on-sast-scan \
131
+ --fail-on-secrets-scan
132
+ ```
133
+
134
+ #### User Projects (Standard)
135
+ ```bash
136
+ aikido-api-client scan-release <repo> <commit> \
137
+ --minimum-severity-level="HIGH"
138
+ ```
139
+
140
+ #### Analyzing Results
141
+ - **Critical/High:** Must be resolved before making the project public.
142
+ - **Medium/Low:** Document as technical debt or evaluate for false positives.
143
+ - Run `snyk monitor` if the user wants continuous monitoring on the Snyk dashboard.
144
+
145
+ ---
146
+
147
+ ### Phase 2.5: PR Gating (GitHub Integration)
148
+
149
+ For projects with CI/CD pipelines, add Aikido PR gating to block merging PRs with security issues:
150
+
151
+ ```bash
152
+ # In GitHub Actions or CI script
153
+ aikido-api-client scan-pr <repository_id_or_name> <base_commit_id> <head_commit_id> \
154
+ --minimum-severity-level="HIGH"
155
+ ```
156
+
157
+ **package.json integration:**
158
+ ```json
159
+ {
160
+ "scripts": {
161
+ "test:security": "snyk test && aikido-api-client scan-release $npm_package_name $(git rev-parse HEAD) --minimum-severity-level=HIGH",
162
+ "test:security:strict": "snyk test && aikido-api-client scan-release $npm_package_name $(git rev-parse HEAD) --minimum-severity-level=HIGH --fail-on-dependency-scan --fail-on-sast-scan --fail-on-secrets-scan"
163
+ }
164
+ }
165
+ ```
166
+
167
+ ---
168
+
169
+ ### Phase 3: Vulnerability Remediation (Skill Discovery)
170
+
171
+ If vulnerabilities are detected, **DO NOT just list errors**. CodyMaster must actively search for remediation skills:
172
+
173
+ > 🚨 **Vulnerabilities Detected: Initiating Remediation**
174
+ >
175
+ > Security issues were found. To systematically patch these risks, we need specialized weapons. I suggest finding and installing a dedicated remediation skill for your stack:
176
+ > ```bash
177
+ > npx skills add https://github.com/vercel-labs/skills --skill find-skills
178
+ > ```
179
+ > *(Once you discover and install the appropriate security patch skills, we will use them to eradicate the vulnerabilities and eliminate all security risks).*
180
+
181
+ ---
182
+
183
+ ### Phase 4: Knowledge Retention (Memory Sync)
184
+
185
+ Once vulnerabilities are remediated, the root causes and fixes **MUST** be memorized:
186
+
187
+ **Action Required:**
188
+ - Trigger `cm-continuity` to log flaw + fix into `CONTINUITY.md` → "Security Lessons" section.
189
+ - If cloud memory is available, sync to `cm-notebooklm` for permanent retention.
190
+
191
+ ---
192
+
193
+ ### Phase 5: Automation Handoff (Jules + Continuous Monitoring)
194
+
195
+ > 🛡️ **Next Step: Automated Security Checks**
196
+ >
197
+ > Manual checks aren't enough for production. Automate on every commit and PR:
198
+ >
199
+ > **Option A — Google Jules** (GitHub automated analysis):
200
+ > 👉 [http://jules.google.com/](http://jules.google.com/)
201
+ >
202
+ > **Option B — Snyk Continuous Monitoring:**
203
+ > ```bash
204
+ > snyk monitor
205
+ > ```
206
+ >
207
+ > **Option C — Aikido Dashboard** (full visibility):
208
+ > 👉 [https://app.aikido.dev/](https://app.aikido.dev/)
209
+
210
+ ---
211
+
212
+ ## Escalation Protocol
213
+
214
+ When the agent detects ANY of these signals, enforcement escalates from SUGGESTED → MANDATORY:
215
+
216
+ | Signal | Action |
217
+ |--------|--------|
218
+ | `npm audit` reports HIGH/CRITICAL | Trigger full Snyk + Aikido scan |
219
+ | User mentions "security error" or "hack" | Trigger full scan before proceeding |
220
+ | New major dependency added (e.g., new ORM, auth lib) | Suggest scan, escalate if dep has known CVEs |
221
+ | Pre-deploy / pre-PR-merge | Check if scan was run in this session, block if not (CodyMaster only) |
222
+ | `.snyk` policy file has expired ignores | Re-scan and update policy |
223
+
224
+ ---
225
+
226
+ ## Integration
227
+
228
+ | Skill | Relationship |
229
+ |-------|-------------|
230
+ | `cm-quality-gate` | PRE-REQUISITE: Code should pass functional tests before security audits. Security scan PASS is required evidence for production deploy. |
231
+ | `cm-secret-shield`| COMPLEMENTARY: Secret Shield catches hardcoded tokens at write/commit time; `cm-security-gate` catches vulnerable dependencies and SAST issues. Both are needed. |
232
+ | `cm-safe-deploy` | INTEGRATED: Security scan is Gate 0.5 in the deploy pipeline (between Secret Hygiene and Syntax). |
233
+ | `cm-test-gate` | INTEGRATED: `test:security` script pattern uses Snyk + Aikido CLI for automated scanning in the test suite. |
234
+ | `cm-continuity` | MEMORY: Records discovered vulnerabilities and fixes into working memory. |
235
+ | `cm-notebooklm` | LONG-TERM MEMORY: Syncs critical security lessons to the permanent cloud AI brain. |
236
+
237
+ ## The Bottom Line
238
+
239
+ **Scan before deploy. Remediate before release. Memorize before repeating. Non-negotiable.**
@@ -1,239 +1,26 @@
1
1
  ---
2
2
  name: cm-security-gate
3
- description: Pre-production security audit and vulnerability scanning. Run Snyk + Aikido dependency scans, OWASP analysis, and set up automated GitHub security checks with Jules. Use when asked to 'run security check', 'security audit', 'kiểm tra bảo mật', 'vulnerability scan', 'Snyk', 'OWASP', or before open-sourcing / commercializing a project.
3
+ description: "[Deprecated] deploy safety merged. Use `cm-safe-deploy` instead."
4
+ deprecated: true
5
+ merged_into: cm-safe-deploy
4
6
  ---
5
- # cm-security-gate — Mandatory Security Audit & Vulnerability Gate
6
7
 
7
- > **No code goes public without a security pass.**
8
- > **No CodyMaster release ships without Snyk + Aikido green.**
8
+ # cm-security-gate Deprecated
9
9
 
10
- ## Enforcement Policy
11
-
12
- | Context | Level | What Happens |
13
- |---------|-------|-------------|
14
- | **CodyMaster internal** | 🔴 MANDATORY | Both Snyk + Aikido MUST pass. No deploy, no PR merge without green. |
15
- | **User projects (normal)** | 🟡 SUGGESTED | Recommend scanning, provide easy commands. User may skip. |
16
- | **User projects (risk detected)** | 🔴 ESCALATED MANDATORY | If CVEs found, errors hit, or risk flags raised → block until resolved. |
17
-
18
- > [!CAUTION]
19
- > **The Escalation Rule:** When a user encounters security errors, CVE warnings, or suspicious dependency behavior during development, the agent MUST escalate from "suggested" to "mandatory" — triggering the full Snyk + Aikido scan before any further deploy or push.
20
-
21
- ---
22
-
23
- ## When to Use
24
-
25
- **ALWAYS when:**
26
- - User asks to "run security check" or "kiểm thử bảo mật"
27
- - Preparing to open-source a repository or launch a commercial product
28
- - Adding major third-party dependencies
29
- - The project is graduating from alpha/beta to a wider release
30
- - A user encounters CVE warnings, npm audit alerts, or suspicious dependency behavior
31
- - Before any CodyMaster release or PR merge
32
-
33
- **Skip when:**
34
- - Doing quick local prototyping with no real user data
35
- - Exploring ideas without production intent
36
-
37
- ---
38
-
39
- ## Core Capabilities
40
-
41
- 1. **Aikido MCP Server:** Real-time scanning of AI-generated code inside the IDE (vulnerabilities + secrets)
42
- 2. **Snyk CLI:** Dependency vulnerability scanning (`npm`, `pip`, `yarn`, `cargo`)
43
- 3. **Aikido CLI:** SAST, IaC, Secrets, and Dependency scanning with release/PR gating
44
- 4. **Continuous Monitoring:** Snyk dashboard + Aikido dashboard for ongoing protection
45
- 5. **Jules CI/CD:** Automated security analysis via GitHub on every commit
46
-
47
- ---
48
-
49
- ## The Process
50
-
51
- ### Phase 0: Aikido MCP Setup (IDE-Level Real-Time Scanning)
52
-
53
- > [!IMPORTANT]
54
- > **One-time setup.** Once configured, every AI coding session automatically scans generated code for vulnerabilities and hardcoded secrets — BEFORE the code is even committed.
55
-
56
- **Step 1:** Create a Personal Access Token at [Aikido Settings → IDE → MCP](https://app.aikido.dev/settings/integrations/ide/mcp)
57
-
58
- **Step 2:** Install Aikido MCP server:
59
- ```bash
60
- # For Antigravity / Gemini CLI
61
- gemini mcp add aikido \
62
- --env AIKIDO_API_KEY=YOUR_TOKEN \
63
- npx -y @aikidosec/mcp
64
- ```
65
-
66
- **Step 3:** Download the Aikido agent rule:
67
- ```bash
68
- mkdir -p ~/.gemini/skills/
69
- curl -fsSL "https://gist.githubusercontent.com/kidk/aa48cad6db80ba4a38493016aae67712/raw/3644397b7df43423e3da06434491b40bbb79dd47/aikido-rule.txt" \
70
- -o ~/.gemini/skills/aikido-rule.txt
71
- ```
72
-
73
- **Step 4:** Restart Antigravity IDE. Aikido MCP is now active.
74
-
75
- > **What this gives you:** Deterministic, independent security checks on EVERY AI-generated snippet. Not a replacement for CLI scanning — this is the first line of defense, catching issues at write-time.
76
-
77
- ---
78
-
79
- ### Phase 1: Preparation (CLI Tooling Check)
80
-
81
- Verify if the Snyk CLI and Aikido CLI are available:
82
- ```bash
83
- which snyk
84
- which aikido-api-client
85
- ```
86
-
87
- **If Snyk is NOT installed:**
88
- - **macOS (Homebrew):** `brew tap snyk/tap && brew install snyk`
89
- - **npm:** `npm install -g snyk`
90
- - Authenticate: `snyk auth`
91
-
92
- **If Aikido CLI is NOT installed:**
93
- - **npm:** `npm install -g @aikidosec/ci-api-client`
94
- - Set API key: `aikido-api-client apikey <API-KEY>`
95
- - *API keys: [Aikido CI Integration Settings](https://app.aikido.dev/settings/integrations/continuous-integration)*
96
-
97
- > [!WARNING]
98
- > **Two different API keys!** Aikido MCP (real-time IDE scanning) uses a *Personal Access Token*. Aikido CLI (release/PR gating) uses a *CI API key*. Don't mix them.
99
-
100
- ---
101
-
102
- ### Phase 2: Execution (Parallel Vulnerability Scan)
103
-
104
- Execute both tools **in parallel** to save time:
105
-
106
- **1. Snyk Dependency Scan:**
107
- ```bash
108
- snyk test
109
- ```
110
-
111
- **2. Aikido Release Scan:**
112
- ```bash
113
- aikido-api-client scan-release <repository_id_or_name> <commit_id> \
114
- --minimum-severity-level="HIGH"
115
- ```
116
-
117
- #### Aikido Scan Flags Reference
118
-
119
- | Flag | Purpose |
120
- |------|---------|
121
- | `--minimum-severity-level` | `LOW`, `MEDIUM`, `HIGH`, `CRITICAL` — set the minimum severity that triggers a failure |
122
- | `--fail-on-sast-scan` | Fail if SAST (Static Analysis) issues are found |
123
- | `--fail-on-iac-scan` | Fail if Infrastructure as Code misconfigurations are found |
124
- | `--fail-on-secrets-scan` | Fail if hardcoded secrets are detected |
125
-
126
- #### CodyMaster Internal (Maximum Strictness)
127
- ```bash
128
- aikido-api-client scan-release <repo> <commit> \
129
- --minimum-severity-level="HIGH" \
130
- --fail-on-sast-scan \
131
- --fail-on-secrets-scan
132
- ```
133
-
134
- #### User Projects (Standard)
135
- ```bash
136
- aikido-api-client scan-release <repo> <commit> \
137
- --minimum-severity-level="HIGH"
138
- ```
139
-
140
- #### Analyzing Results
141
- - **Critical/High:** Must be resolved before making the project public.
142
- - **Medium/Low:** Document as technical debt or evaluate for false positives.
143
- - Run `snyk monitor` if the user wants continuous monitoring on the Snyk dashboard.
144
-
145
- ---
146
-
147
- ### Phase 2.5: PR Gating (GitHub Integration)
148
-
149
- For projects with CI/CD pipelines, add Aikido PR gating to block merging PRs with security issues:
150
-
151
- ```bash
152
- # In GitHub Actions or CI script
153
- aikido-api-client scan-pr <repository_id_or_name> <base_commit_id> <head_commit_id> \
154
- --minimum-severity-level="HIGH"
155
- ```
156
-
157
- **package.json integration:**
158
- ```json
159
- {
160
- "scripts": {
161
- "test:security": "snyk test && aikido-api-client scan-release $npm_package_name $(git rev-parse HEAD) --minimum-severity-level=HIGH",
162
- "test:security:strict": "snyk test && aikido-api-client scan-release $npm_package_name $(git rev-parse HEAD) --minimum-severity-level=HIGH --fail-on-dependency-scan --fail-on-sast-scan --fail-on-secrets-scan"
163
- }
164
- }
165
- ```
166
-
167
- ---
168
-
169
- ### Phase 3: Vulnerability Remediation (Skill Discovery)
170
-
171
- If vulnerabilities are detected, **DO NOT just list errors**. CodyMaster must actively search for remediation skills:
172
-
173
- > 🚨 **Vulnerabilities Detected: Initiating Remediation**
174
- >
175
- > Security issues were found. To systematically patch these risks, we need specialized weapons. I suggest finding and installing a dedicated remediation skill for your stack:
176
- > ```bash
177
- > npx skills add https://github.com/vercel-labs/skills --skill find-skills
178
- > ```
179
- > *(Once you discover and install the appropriate security patch skills, we will use them to eradicate the vulnerabilities and eliminate all security risks).*
180
-
181
- ---
182
-
183
- ### Phase 4: Knowledge Retention (Memory Sync)
184
-
185
- Once vulnerabilities are remediated, the root causes and fixes **MUST** be memorized:
186
-
187
- **Action Required:**
188
- - Trigger `cm-continuity` to log flaw + fix into `CONTINUITY.md` → "Security Lessons" section.
189
- - If cloud memory is available, sync to `cm-notebooklm` for permanent retention.
190
-
191
- ---
192
-
193
- ### Phase 5: Automation Handoff (Jules + Continuous Monitoring)
194
-
195
- > 🛡️ **Next Step: Automated Security Checks**
196
- >
197
- > Manual checks aren't enough for production. Automate on every commit and PR:
10
+ > ⚠️ This skill is deprecated as of CodyMaster v6.0.0 and will be removed in v6.1.0.
198
11
  >
199
- > **Option A Google Jules** (GitHub automated analysis):
200
- > 👉 [http://jules.google.com/](http://jules.google.com/)
12
+ > **Use `cm-safe-deploy` instead.** deploy safety merged.
201
13
  >
202
- > **Option B Snyk Continuous Monitoring:**
203
- > ```bash
204
- > snyk monitor
205
- > ```
206
- >
207
- > **Option C — Aikido Dashboard** (full visibility):
208
- > 👉 [https://app.aikido.dev/](https://app.aikido.dev/)
209
-
210
- ---
211
-
212
- ## Escalation Protocol
213
-
214
- When the agent detects ANY of these signals, enforcement escalates from SUGGESTED → MANDATORY:
14
+ > See [docs/migration-v2.md](../../docs/migration-v2.md) for the full mapping.
215
15
 
216
- | Signal | Action |
217
- |--------|--------|
218
- | `npm audit` reports HIGH/CRITICAL | Trigger full Snyk + Aikido scan |
219
- | User mentions "security error" or "hack" | Trigger full scan before proceeding |
220
- | New major dependency added (e.g., new ORM, auth lib) | Suggest scan, escalate if dep has known CVEs |
221
- | Pre-deploy / pre-PR-merge | Check if scan was run in this session, block if not (CodyMaster only) |
222
- | `.snyk` policy file has expired ignores | Re-scan and update policy |
16
+ The original content is preserved at [SKILL.archive.md](SKILL.archive.md) for reference.
223
17
 
224
- ---
225
-
226
- ## Integration
227
-
228
- | Skill | Relationship |
229
- |-------|-------------|
230
- | `cm-quality-gate` | PRE-REQUISITE: Code should pass functional tests before security audits. Security scan PASS is required evidence for production deploy. |
231
- | `cm-secret-shield`| COMPLEMENTARY: Secret Shield catches hardcoded tokens at write/commit time; `cm-security-gate` catches vulnerable dependencies and SAST issues. Both are needed. |
232
- | `cm-safe-deploy` | INTEGRATED: Security scan is Gate 0.5 in the deploy pipeline (between Secret Hygiene and Syntax). |
233
- | `cm-test-gate` | INTEGRATED: `test:security` script pattern uses Snyk + Aikido CLI for automated scanning in the test suite. |
234
- | `cm-continuity` | MEMORY: Records discovered vulnerabilities and fixes into working memory. |
235
- | `cm-notebooklm` | LONG-TERM MEMORY: Syncs critical security lessons to the permanent cloud AI brain. |
18
+ ## Migration
236
19
 
237
- ## The Bottom Line
20
+ ```bash
21
+ # Old: cm <use this skill>
22
+ # New (v6.0+): cm safe-deploy <equivalent action>
23
+ ```
238
24
 
239
- **Scan before deploy. Remediate before release. Memorize before repeating. Non-negotiable.**
25
+ If you depend on a capability that didn't carry over, please file an issue:
26
+ https://github.com/tody-agent/codymaster/issues
@@ -0,0 +1,83 @@
1
+ ---
2
+ name: cm-skill-health
3
+ description: "Operational health review for CodyMaster skills using current repo signals: validate-skills, suggest, retro logs, memory, and test gates."
4
+ ---
5
+
6
+ # cm-skill-health
7
+
8
+ Use this skill when a CodyMaster skill feels stale, misleading, unreliable, or under-documented.
9
+
10
+ ## What it checks
11
+
12
+ 1. Discovery drift
13
+ - Is the skill present in `skills/`, docs indexes, profiles, and README surfaces?
14
+ 2. Invocation friction
15
+ - Does `cm suggest` point users to the skill when the task matches?
16
+ 3. Operational evidence
17
+ - Are there recurring failures or learnings in `.cm/operational-learnings.jsonl`?
18
+ 4. Contract health
19
+ - Does the skill reference commands, files, or paths that still exist?
20
+ 5. Release safety
21
+ - Does the repo still pass `npm run validate:skills`, `npm run check:skills`, and the test gate?
22
+
23
+ ## Workflow
24
+
25
+ 1. Confirm the symptom.
26
+ - Missing from docs
27
+ - Missing from profiles
28
+ - Broken references inside `SKILL.md`
29
+ - Repeated runtime pain in retro notes
30
+ 2. Compare the live skill against:
31
+ - `docs/skills/index.md`
32
+ - `skills/profiles/full.txt`
33
+ - `README.md`
34
+ - related changelog promises
35
+ 3. Scan evidence sources.
36
+ - `cm advisory handoff --for cm-skill-health`
37
+ - `cm suggest --project .`
38
+ - `cm retro summary --project .`
39
+ - `.cm/CONTINUITY.md`
40
+ - `rg` over `skills/`, `docs/`, and `src/`
41
+ 4. Score the issue.
42
+ - `healthy`: discoverable, accurate, references valid
43
+ - `degraded`: present but misleading or inconsistent
44
+ - `broken`: missing, invalid, or unusable
45
+ 5. Hand off to:
46
+ - `cm-skill-evolution` to repair or derive the next version
47
+
48
+ ## Output
49
+
50
+ Produce a short health note:
51
+
52
+ ```md
53
+ ## Skill Health
54
+ - Skill: cm-...
55
+ - Status: healthy | degraded | broken
56
+ - Symptoms: ...
57
+ - Evidence: ...
58
+ - Recovery path: FIX | DERIVED | CAPTURED
59
+ ```
60
+
61
+ Preferred input contract:
62
+
63
+ ```md
64
+ ## Advisory Handoff
65
+ - Consumer: cm-skill-health
66
+ - Skill: cm-...
67
+ - Recovery path: FIX | DERIVED | CAPTURED | NONE
68
+ - Confidence: 0.xx
69
+ - Source analysis: EA-...
70
+ - Task: ...
71
+ - Status: completed | partial | failed
72
+ - Evidence: ...
73
+ - Selected skills: ...
74
+ - Target skills: ...
75
+ - Quality weight: 0.xx
76
+ - Next step: ...
77
+ ```
78
+
79
+ ## Red flags
80
+
81
+ - Do not claim metric dashboards or automatic scoring unless the repo actually implements them.
82
+ - Do not treat README marketing copy as proof that a skill exists.
83
+ - Do not evolve the skill before identifying whether the problem is docs drift, packaging drift, or missing implementation.
@@ -1,83 +1,26 @@
1
1
  ---
2
2
  name: cm-skill-health
3
- description: "Operational health review for CodyMaster skills using current repo signals: validate-skills, suggest, retro logs, memory, and test gates."
3
+ description: "[Deprecated] skill lifecycle merged. Use `cm-skill-evolution` instead."
4
+ deprecated: true
5
+ merged_into: cm-skill-evolution
4
6
  ---
5
7
 
6
- # cm-skill-health
8
+ # cm-skill-health — Deprecated
7
9
 
8
- Use this skill when a CodyMaster skill feels stale, misleading, unreliable, or under-documented.
10
+ > ⚠️ This skill is deprecated as of CodyMaster v6.0.0 and will be removed in v6.1.0.
11
+ >
12
+ > **Use `cm-skill-evolution` instead.** skill lifecycle merged.
13
+ >
14
+ > See [docs/migration-v2.md](../../docs/migration-v2.md) for the full mapping.
9
15
 
10
- ## What it checks
16
+ The original content is preserved at [SKILL.archive.md](SKILL.archive.md) for reference.
11
17
 
12
- 1. Discovery drift
13
- - Is the skill present in `skills/`, docs indexes, profiles, and README surfaces?
14
- 2. Invocation friction
15
- - Does `cm suggest` point users to the skill when the task matches?
16
- 3. Operational evidence
17
- - Are there recurring failures or learnings in `.cm/operational-learnings.jsonl`?
18
- 4. Contract health
19
- - Does the skill reference commands, files, or paths that still exist?
20
- 5. Release safety
21
- - Does the repo still pass `npm run validate:skills`, `npm run check:skills`, and the test gate?
18
+ ## Migration
22
19
 
23
- ## Workflow
24
-
25
- 1. Confirm the symptom.
26
- - Missing from docs
27
- - Missing from profiles
28
- - Broken references inside `SKILL.md`
29
- - Repeated runtime pain in retro notes
30
- 2. Compare the live skill against:
31
- - `docs/skills/index.md`
32
- - `skills/profiles/full.txt`
33
- - `README.md`
34
- - related changelog promises
35
- 3. Scan evidence sources.
36
- - `cm advisory handoff --for cm-skill-health`
37
- - `cm suggest --project .`
38
- - `cm retro summary --project .`
39
- - `.cm/CONTINUITY.md`
40
- - `rg` over `skills/`, `docs/`, and `src/`
41
- 4. Score the issue.
42
- - `healthy`: discoverable, accurate, references valid
43
- - `degraded`: present but misleading or inconsistent
44
- - `broken`: missing, invalid, or unusable
45
- 5. Hand off to:
46
- - `cm-skill-evolution` to repair or derive the next version
47
-
48
- ## Output
49
-
50
- Produce a short health note:
51
-
52
- ```md
53
- ## Skill Health
54
- - Skill: cm-...
55
- - Status: healthy | degraded | broken
56
- - Symptoms: ...
57
- - Evidence: ...
58
- - Recovery path: FIX | DERIVED | CAPTURED
20
+ ```bash
21
+ # Old: cm <use this skill>
22
+ # New (v6.0+): cm skill-evolution <equivalent action>
59
23
  ```
60
24
 
61
- Preferred input contract:
62
-
63
- ```md
64
- ## Advisory Handoff
65
- - Consumer: cm-skill-health
66
- - Skill: cm-...
67
- - Recovery path: FIX | DERIVED | CAPTURED | NONE
68
- - Confidence: 0.xx
69
- - Source analysis: EA-...
70
- - Task: ...
71
- - Status: completed | partial | failed
72
- - Evidence: ...
73
- - Selected skills: ...
74
- - Target skills: ...
75
- - Quality weight: 0.xx
76
- - Next step: ...
77
- ```
78
-
79
- ## Red flags
80
-
81
- - Do not claim metric dashboards or automatic scoring unless the repo actually implements them.
82
- - Do not treat README marketing copy as proof that a skill exists.
83
- - Do not evolve the skill before identifying whether the problem is docs drift, packaging drift, or missing implementation.
25
+ If you depend on a capability that didn't carry over, please file an issue:
26
+ https://github.com/tody-agent/codymaster/issues