codymaster 5.2.0 → 7.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (380) hide show
  1. package/CHANGELOG.md +276 -0
  2. package/README.md +216 -333
  3. package/dist/agent/antigravity.js +152 -0
  4. package/dist/agent/backend.js +2 -0
  5. package/dist/agent/claude.js +196 -0
  6. package/dist/agent/codex.js +204 -0
  7. package/dist/agent/copilot.js +284 -0
  8. package/dist/agent/cursor.js +211 -0
  9. package/dist/agent/factory.js +30 -0
  10. package/dist/agent/gemini.js +142 -0
  11. package/dist/agent/opencode.js +205 -0
  12. package/dist/agent/spawn-helper.js +237 -0
  13. package/dist/agent/version.js +25 -0
  14. package/dist/browse/adapter-factory.js +69 -0
  15. package/dist/browse/adapters/agent-browser-adapter.js +305 -0
  16. package/dist/browse/adapters/playwright-adapter.js +309 -0
  17. package/dist/browse/adapters/types.js +6 -0
  18. package/dist/browse/error-collector.js +132 -0
  19. package/dist/browse/event-log.js +109 -0
  20. package/dist/browse/index.js +17 -0
  21. package/dist/browse-server.js +204 -120
  22. package/dist/cli/command-registry.js +12 -0
  23. package/dist/cli/commands/dashboard.js +76 -2
  24. package/dist/cli/commands/engineering.js +218 -4
  25. package/dist/cli/commands/install.js +160 -0
  26. package/dist/cli/commands/learn.js +181 -0
  27. package/dist/cli/commands/parallel.js +138 -0
  28. package/dist/cli/commands/quality.js +105 -0
  29. package/dist/cli/commands/stack.js +49 -0
  30. package/dist/cli/commands/update.js +159 -0
  31. package/dist/cli/update-check.js +94 -10
  32. package/dist/continuity.js +3 -1
  33. package/dist/dashboard.js +47 -6
  34. package/dist/data.js +35 -0
  35. package/dist/execution/tdd-gate.js +113 -0
  36. package/dist/executor/cancel.js +34 -0
  37. package/dist/executor/gc.js +74 -0
  38. package/dist/executor/index.js +14 -0
  39. package/dist/executor/runner.js +70 -0
  40. package/dist/executor/workdir.js +31 -0
  41. package/dist/handoff/contracts.js +22 -0
  42. package/dist/handoff/index.js +18 -0
  43. package/dist/handoff/io.js +121 -0
  44. package/dist/index.js +7 -3
  45. package/dist/indexer/stack-detect.js +219 -0
  46. package/dist/install/copy.js +98 -0
  47. package/dist/install/engine.js +42 -0
  48. package/dist/install/paths.js +70 -0
  49. package/dist/install/platforms/_simple.js +85 -0
  50. package/dist/install/platforms/antigravity.js +91 -0
  51. package/dist/install/platforms/claude-code.js +107 -0
  52. package/dist/install/platforms/cursor.js +77 -0
  53. package/dist/install/platforms/index.js +27 -0
  54. package/dist/install/platforms/simple.js +163 -0
  55. package/dist/install/profiles.js +75 -0
  56. package/dist/install/types.js +2 -0
  57. package/dist/learnings.js +208 -0
  58. package/dist/mcp-context-server.js +1 -1
  59. package/dist/middleware/metrics.js +30 -0
  60. package/dist/middleware/security-headers.js +14 -0
  61. package/dist/realtime/event-bus.js +29 -0
  62. package/dist/realtime/ws-hub.js +91 -0
  63. package/dist/schemas/task-schema.js +48 -0
  64. package/dist/schemas/validate.js +18 -0
  65. package/dist/skills-lock.js +96 -0
  66. package/dist/sprint-pipeline.js +26 -0
  67. package/dist/storage/index.js +21 -0
  68. package/dist/storage/repos/activity-repo.js +46 -0
  69. package/dist/storage/repos/message-repo.js +39 -0
  70. package/dist/storage/repos/project-repo.js +56 -0
  71. package/dist/storage/repos/task-repo.js +142 -0
  72. package/dist/storage/services/project-service.js +49 -0
  73. package/dist/storage/services/task-service.js +97 -0
  74. package/dist/storage/sqlite.js +113 -0
  75. package/dist/tier-classify.js +131 -0
  76. package/dist/ui/onboarding.js +51 -15
  77. package/dist/utils/cli-utils.js +7 -2
  78. package/dist/utils/design-taste.js +108 -0
  79. package/dist/utils/output-compress.js +143 -0
  80. package/dist/vibecoding-index.js +126 -0
  81. package/package.json +27 -4
  82. package/public/dashboard/app.js +52 -1
  83. package/scripts/build-skills-lock.mjs +88 -0
  84. package/scripts/build-skills.mjs +187 -28
  85. package/scripts/compress-skill.mjs +73 -0
  86. package/scripts/deprecate-skill.mjs +72 -0
  87. package/scripts/install.sh +170 -0
  88. package/scripts/mcp-bridge.js +2 -2
  89. package/scripts/postinstall.js +54 -287
  90. package/scripts/release.sh +126 -0
  91. package/scripts/update-changelog.sh +88 -0
  92. package/scripts/validate-skills.mjs +101 -4
  93. package/skills/_shared/SKILL_TEMPLATE.md +62 -0
  94. package/skills/cm-autopilot/scripts/autopilot.py +19 -2
  95. package/skills/cm-brainstorm-idea/SKILL.md +9 -0
  96. package/skills/cm-clean-code/SKILL.md +20 -0
  97. package/skills/cm-code-review/SKILL.md +21 -0
  98. package/skills/cm-codeintell/SKILL.md +9 -0
  99. package/skills/cm-conductor-worktrees/SKILL.archive.md +28 -0
  100. package/skills/cm-conductor-worktrees/SKILL.md +17 -19
  101. package/skills/cm-continuity/SKILL.md +9 -0
  102. package/skills/cm-dashboard/SKILL.archive.md +15 -0
  103. package/skills/cm-dashboard/SKILL.md +20 -9
  104. package/skills/cm-dashboard/ui/app.js +9 -1
  105. package/skills/cm-debugging/SKILL.md +9 -0
  106. package/skills/cm-design-studio/SKILL.archive.md +34 -0
  107. package/skills/cm-design-studio/SKILL.md +17 -25
  108. package/skills/cm-design-system/SKILL.md +1 -0
  109. package/skills/cm-engineering-meta/SKILL.archive.md +73 -0
  110. package/skills/cm-engineering-meta/SKILL.md +16 -63
  111. package/skills/cm-execution/SKILL.md +98 -0
  112. package/skills/cm-git-worktrees/SKILL.archive.md +157 -0
  113. package/skills/cm-git-worktrees/SKILL.md +15 -146
  114. package/skills/cm-identity-guard/SKILL.md +8 -0
  115. package/skills/cm-planning/SKILL.md +63 -92
  116. package/skills/cm-post-deploy-canary/SKILL.archive.md +22 -0
  117. package/skills/cm-post-deploy-canary/SKILL.md +17 -13
  118. package/skills/cm-qa-visual-cli/SKILL.archive.md +22 -0
  119. package/skills/cm-qa-visual-cli/SKILL.md +16 -12
  120. package/skills/cm-quality-gate/SKILL.md +38 -0
  121. package/skills/cm-safe-deploy/SKILL.md +9 -0
  122. package/skills/cm-second-opinion-cli/SKILL.archive.md +23 -0
  123. package/skills/cm-second-opinion-cli/SKILL.md +17 -14
  124. package/skills/cm-secret-shield/SKILL.archive.md +580 -0
  125. package/skills/cm-secret-shield/SKILL.md +15 -569
  126. package/skills/cm-security-gate/SKILL.archive.md +239 -0
  127. package/skills/cm-security-gate/SKILL.md +15 -228
  128. package/skills/cm-skill-health/SKILL.archive.md +83 -0
  129. package/skills/cm-skill-health/SKILL.md +16 -73
  130. package/skills/cm-skill-index/SKILL.md +8 -0
  131. package/skills/cm-skill-mastery/SKILL.archive.md +156 -0
  132. package/skills/cm-skill-mastery/SKILL.md +16 -146
  133. package/skills/cm-skill-search/SKILL.archive.md +49 -0
  134. package/skills/cm-skill-search/SKILL.md +17 -40
  135. package/skills/cm-skill-share/SKILL.archive.md +58 -0
  136. package/skills/cm-skill-share/SKILL.md +17 -49
  137. package/skills/cm-sprint-bus/SKILL.md +9 -0
  138. package/skills/cm-start/SKILL.md +17 -0
  139. package/skills/cm-tdd/SKILL.md +19 -0
  140. package/skills/cm-terminal/SKILL.md +15 -0
  141. package/skills/cm-test-gate/SKILL.archive.md +245 -0
  142. package/skills/cm-test-gate/SKILL.md +15 -234
  143. package/skills/cm-ui-preview/SKILL.archive.md +153 -0
  144. package/skills/cm-ui-preview/SKILL.md +16 -143
  145. package/skills/cm-ux-master/cli/uxmaster/commands/mcp.py +1 -1
  146. package/skills/cm-ux-master/mcp/mcp-config.json +1 -1
  147. package/skills/cm-ux-master/mcp/server.py +2 -2
  148. package/skills/profiles/design.txt +1 -1
  149. package/skills/profiles/full.txt +0 -10
  150. package/skills/profiles/growth.txt +8 -8
  151. package/skills/profiles/knowledge.txt +1 -1
  152. package/skills/profiles/top35.json +41 -0
  153. package/adapters/antigravity.js +0 -15
  154. package/adapters/claude-code.js +0 -17
  155. package/adapters/cursor.js +0 -16
  156. package/skills/cm-ads-tracker/SKILL.md +0 -401
  157. package/skills/cm-ads-tracker/evals/evals.json +0 -55
  158. package/skills/cm-ads-tracker/references/gtm-architecture.md +0 -321
  159. package/skills/cm-ads-tracker/references/industry-events.md +0 -294
  160. package/skills/cm-ads-tracker/references/platforms-api.md +0 -238
  161. package/skills/cm-ads-tracker/templates/capi-payload.md +0 -79
  162. package/skills/cm-ads-tracker/templates/datalayer-push.js +0 -104
  163. package/skills/cm-ads-tracker/templates/gtm-variables.js +0 -56
  164. package/skills/cm-auto-publisher/SKILL.md +0 -81
  165. package/skills/cm-booking-calendar/SKILL.md +0 -521
  166. package/skills/cm-booking-calendar/references/industry-patterns.md +0 -527
  167. package/skills/cm-booking-calendar/templates/booking-form.css +0 -626
  168. package/skills/cm-booking-calendar/templates/booking-form.html +0 -477
  169. package/skills/cm-booking-calendar/templates/calendar-engine.js +0 -419
  170. package/skills/cm-booking-calendar/templates/calendar-export.js +0 -395
  171. package/skills/cm-booking-calendar/templates/reminder-config.js +0 -629
  172. package/skills/cm-content-factory/.content-factory-state.json +0 -132
  173. package/skills/cm-content-factory/.git 2/logs/refs/heads/main +0 -1
  174. package/skills/cm-content-factory/.git 2/logs/refs/remotes/origin/main +0 -1
  175. package/skills/cm-content-factory/.git 2/objects/02/fb0956734b5f8ba3f918b7defd04a89cfe0076 +0 -0
  176. package/skills/cm-content-factory/.git 2/objects/08/1e129d75dc6feac6c02037272e6bd1a04e3324 +0 -0
  177. package/skills/cm-content-factory/.git 2/objects/0c/5393416f3c5e01c9a655a802bff0dd52f76f0a +0 -0
  178. package/skills/cm-content-factory/.git 2/objects/10/0b9be46978a946a77188f68be725098a122001 +0 -0
  179. package/skills/cm-content-factory/.git 2/objects/10/cf041167fc9843610eb3d90259ef3396315fdc +0 -0
  180. package/skills/cm-content-factory/.git 2/objects/12/5e19538dd6e1338ffe74f6c4c165b00435bf48 +0 -0
  181. package/skills/cm-content-factory/.git 2/objects/16/a9b9d0088d5c1347628b45a2620b479d8ad57c +0 -0
  182. package/skills/cm-content-factory/.git 2/objects/17/8c2a9ef93c33ae4eec9d58e82321f9229843a1 +0 -0
  183. package/skills/cm-content-factory/.git 2/objects/25/397ae41d09104d763bdcac2695209d85cdea89 +0 -0
  184. package/skills/cm-content-factory/.git 2/objects/2f/a836b7947f2d458e1f639788bf4bb0983a3305 +0 -0
  185. package/skills/cm-content-factory/.git 2/objects/3a/baaaf0a1c0909c0828335791557125fba911e0 +0 -0
  186. package/skills/cm-content-factory/.git 2/objects/42/2924221b81f5ce3c4e4daac9a64a24f9b01f9a +0 -0
  187. package/skills/cm-content-factory/.git 2/objects/42/ec0ce707447dc11446a34c9995fb8533801731 +0 -0
  188. package/skills/cm-content-factory/.git 2/objects/46/e43ce92866d56ce74b1d750db307cfe6154a15 +0 -0
  189. package/skills/cm-content-factory/.git 2/objects/48/5e41b633c63f55b8277bcc59f44f67681f671a +0 -0
  190. package/skills/cm-content-factory/.git 2/objects/49/49c596a3a89fa240642acd95dd3258e261eb09 +0 -0
  191. package/skills/cm-content-factory/.git 2/objects/50/9d42d8412ef8eaf7f7e138476bac2e4d10ce60 +0 -0
  192. package/skills/cm-content-factory/.git 2/objects/55/0c8c389d981b463ef849aeb792d8be3ccb6ec8 +0 -0
  193. package/skills/cm-content-factory/.git 2/objects/5d/82d3b18410cdda3ace3677436f0cb599dbe2d2 +0 -0
  194. package/skills/cm-content-factory/.git 2/objects/60/0617c58e871a38b33bf29e282d132bb3c381ad +0 -0
  195. package/skills/cm-content-factory/.git 2/objects/6a/8369a99c687b7245c92ffaf0e0f0dab9014504 +0 -0
  196. package/skills/cm-content-factory/.git 2/objects/79/bea435d40ab531c1aaf6be0432c6a5b7aaed21 +0 -0
  197. package/skills/cm-content-factory/.git 2/objects/7e/5ebd79251c2f14e4aceb86c74b6b6daae6b500 +0 -0
  198. package/skills/cm-content-factory/.git 2/objects/81/98a822a60178d6d5023ddb3e222cddf048742e +0 -0
  199. package/skills/cm-content-factory/.git 2/objects/86/0a0e1943dfe53411d2e499a1f16f46a96ef758 +0 -0
  200. package/skills/cm-content-factory/.git 2/objects/86/971fb55fdc081fdbae52376f0f13e57a4e9b04 +0 -0
  201. package/skills/cm-content-factory/.git 2/objects/88/b89dd609a0a03f8d4fe8bfde20d5b8fc1d326d +0 -0
  202. package/skills/cm-content-factory/.git 2/objects/90/8737edb6b7809e32cc01590b4e08ba42a9d40d +0 -0
  203. package/skills/cm-content-factory/.git 2/objects/93/d5a8a9a7d4fb7f11491cb596a6880528725118 +0 -0
  204. package/skills/cm-content-factory/.git 2/objects/98/46a2ab81d0c3b3eb00ef88fc56989aa7e9f316 +0 -0
  205. package/skills/cm-content-factory/.git 2/objects/9b/d8dd1e49cf274eaf9c555f3ab39dce7af5715e +0 -0
  206. package/skills/cm-content-factory/.git 2/objects/a1/13329fb0cec96ae78b222d33a24c3b5bc7fa1f +0 -0
  207. package/skills/cm-content-factory/.git 2/objects/a9/e6effe626e8a3aea3a8fc3364b492191c6e7d0 +0 -0
  208. package/skills/cm-content-factory/.git 2/objects/ad/6de7e48d9782cca9353d1ff0aa1aab7fe1df85 +0 -0
  209. package/skills/cm-content-factory/.git 2/objects/af/54ae316f771ff692e299ffcd8bf2f06b413b59 +0 -0
  210. package/skills/cm-content-factory/.git 2/objects/b0/4cb8b0b00dad633e731c1472161419e738d674 +0 -0
  211. package/skills/cm-content-factory/.git 2/objects/b3/094abb0b9ed46419b269e4a4e36a459690e3b0 +0 -0
  212. package/skills/cm-content-factory/.git 2/objects/b9/435c5d4baac2cfc5c83009ddd27b46b60db5f1 +0 -0
  213. package/skills/cm-content-factory/.git 2/objects/ba/5da17dbaec5ec2dcfdfd126aead518d1171d5c +0 -0
  214. package/skills/cm-content-factory/.git 2/objects/c0/bf58703aa258ba5dd63083bebaec8f223d844c +0 -0
  215. package/skills/cm-content-factory/.git 2/objects/c4/701a34edf1fc1bad58ccc57bd03f9426acb59a +0 -0
  216. package/skills/cm-content-factory/.git 2/objects/c7/5ccce9a4e5cc74d9b3174550cf6d993ca43638 +0 -0
  217. package/skills/cm-content-factory/.git 2/objects/c7/710d59b5a35b0f1f0a0399386643a0bd94c929 +0 -0
  218. package/skills/cm-content-factory/.git 2/objects/d1/fe58237112e953e5fec52da22cf38e08be3df9 +0 -5
  219. package/skills/cm-content-factory/.git 2/objects/d2/2bbe9fd2f74c95bc5583e803f5e435f1e2cd86 +0 -0
  220. package/skills/cm-content-factory/.git 2/objects/d7/e72852ea2bff74581dbf247d400120086229f4 +0 -0
  221. package/skills/cm-content-factory/.git 2/objects/d8/d4c3b5553e4fd72807e1d4b49ef07d9ef3ac35 +0 -0
  222. package/skills/cm-content-factory/.git 2/objects/dc/75050c2876f6a02ae2a53a3c886f395b622977 +0 -0
  223. package/skills/cm-content-factory/.git 2/objects/ee/e8546f95acec500187c08a28a8b9ee02db0dec +0 -0
  224. package/skills/cm-content-factory/.git 2/objects/ef/263c059208b416c2146434f10cb2b9fabcba16 +0 -0
  225. package/skills/cm-content-factory/.git 2/objects/f3/ae597e84d9a59b88acd21c99bde2eaf686d785 +0 -0
  226. package/skills/cm-content-factory/.git 2/objects/f3/f6f5673c821d3d8e76fa267a9e882e7a5387ea +0 -0
  227. package/skills/cm-content-factory/.git 2/objects/f9/6e6d0ad02624dd11d5848594d056caef7a5e8b +0 -0
  228. package/skills/cm-content-factory/.git 2/objects/ff/278988fc1edf0db3abcf18de795f4cc0b4f3e1 +0 -0
  229. package/skills/cm-content-factory/.git 2/refs/heads/main +0 -1
  230. package/skills/cm-content-factory/.git 2/refs/remotes/origin/main +0 -1
  231. package/skills/cm-content-factory/.pytest_cache 2/v/cache/nodeids +0 -76
  232. package/skills/cm-content-factory/.pytest_cache 2/v/cache/stepwise +0 -1
  233. package/skills/cm-content-factory/AGENTS.md +0 -61
  234. package/skills/cm-content-factory/CLAUDE.md +0 -63
  235. package/skills/cm-content-factory/CURSOR.md +0 -43
  236. package/skills/cm-content-factory/Content Factory.zip +0 -0
  237. package/skills/cm-content-factory/SKILL.md +0 -416
  238. package/skills/cm-content-factory/cf +0 -313
  239. package/skills/cm-content-factory/config.schema.json +0 -397
  240. package/skills/cm-content-factory/dashboard/app.js +0 -556
  241. package/skills/cm-content-factory/dashboard/index.html +0 -397
  242. package/skills/cm-content-factory/dashboard/style.css +0 -1211
  243. package/skills/cm-content-factory/examples/01-real-estate.config.json +0 -146
  244. package/skills/cm-content-factory/examples/02-personal-finance.config.json +0 -146
  245. package/skills/cm-content-factory/examples/03-health-wellness.config.json +0 -147
  246. package/skills/cm-content-factory/examples/04-saas-software.config.json +0 -147
  247. package/skills/cm-content-factory/examples/05-legal-services.config.json +0 -147
  248. package/skills/cm-content-factory/examples/06-insurance.config.json +0 -146
  249. package/skills/cm-content-factory/examples/07-ecommerce-dropship.config.json +0 -146
  250. package/skills/cm-content-factory/examples/08-online-education.config.json +0 -147
  251. package/skills/cm-content-factory/examples/09-crypto-defi.config.json +0 -147
  252. package/skills/cm-content-factory/examples/10-beauty-skincare.config.json +0 -147
  253. package/skills/cm-content-factory/examples/11-home-services.config.json +0 -146
  254. package/skills/cm-content-factory/examples/12-dental-clinic.config.json +0 -147
  255. package/skills/cm-content-factory/examples/13-pet-care.config.json +0 -147
  256. package/skills/cm-content-factory/examples/14-travel-hospitality.config.json +0 -147
  257. package/skills/cm-content-factory/examples/15-ai-automation.config.json +0 -147
  258. package/skills/cm-content-factory/examples/16-wedding-events.config.json +0 -147
  259. package/skills/cm-content-factory/examples/17-fitness-coaching.config.json +0 -148
  260. package/skills/cm-content-factory/examples/18-cybersecurity.config.json +0 -147
  261. package/skills/cm-content-factory/examples/19-food-restaurant.config.json +0 -148
  262. package/skills/cm-content-factory/examples/20-solar-energy.config.json +0 -147
  263. package/skills/cm-content-factory/examples/fitness-blog.config.json +0 -116
  264. package/skills/cm-content-factory/examples/tech-blog.config.json +0 -107
  265. package/skills/cm-content-factory/extensions/EXTENSION_GUIDE.md +0 -72
  266. package/skills/cm-content-factory/extensions/hooks.py +0 -126
  267. package/skills/cm-content-factory/extensions/openclaw_adapter.py +0 -132
  268. package/skills/cm-content-factory/landing/docs/content/changelog.md +0 -36
  269. package/skills/cm-content-factory/landing/docs/content/deployment.md +0 -46
  270. package/skills/cm-content-factory/landing/docs/content/execution-flow.md +0 -67
  271. package/skills/cm-content-factory/landing/docs/content/memory-system.md +0 -38
  272. package/skills/cm-content-factory/landing/docs/content/openspace.md +0 -27
  273. package/skills/cm-content-factory/landing/docs/content/use-cases.md +0 -26
  274. package/skills/cm-content-factory/landing/docs/content/v5-intro.md +0 -28
  275. package/skills/cm-content-factory/landing/docs/index.html +0 -240
  276. package/skills/cm-content-factory/landing/index.html +0 -680
  277. package/skills/cm-content-factory/landing/script.js +0 -143
  278. package/skills/cm-content-factory/landing/style.css +0 -1216
  279. package/skills/cm-content-factory/landing/translations.js +0 -508
  280. package/skills/cm-content-factory/logs/events.jsonl +0 -11
  281. package/skills/cm-content-factory/profiles/_template.profile.json +0 -231
  282. package/skills/cm-content-factory/profiles/finance.profile.json +0 -278
  283. package/skills/cm-content-factory/profiles/legal.profile.json +0 -263
  284. package/skills/cm-content-factory/profiles/medical-research.profile.json +0 -321
  285. package/skills/cm-content-factory/profiles/technology.profile.json +0 -275
  286. package/skills/cm-content-factory/scripts/agent_dispatcher.py +0 -266
  287. package/skills/cm-content-factory/scripts/audit.py +0 -106
  288. package/skills/cm-content-factory/scripts/dashboard_server.py +0 -225
  289. package/skills/cm-content-factory/scripts/deploy.py +0 -146
  290. package/skills/cm-content-factory/scripts/extract.py +0 -132
  291. package/skills/cm-content-factory/scripts/landing_generator.py +0 -459
  292. package/skills/cm-content-factory/scripts/memory.py +0 -521
  293. package/skills/cm-content-factory/scripts/monetize.py +0 -239
  294. package/skills/cm-content-factory/scripts/pipeline.py +0 -357
  295. package/skills/cm-content-factory/scripts/plan.py +0 -163
  296. package/skills/cm-content-factory/scripts/publish.py +0 -145
  297. package/skills/cm-content-factory/scripts/research.py +0 -337
  298. package/skills/cm-content-factory/scripts/scaffold.py +0 -464
  299. package/skills/cm-content-factory/scripts/scoreboard.py +0 -336
  300. package/skills/cm-content-factory/scripts/seo.py +0 -90
  301. package/skills/cm-content-factory/scripts/state_manager.py +0 -320
  302. package/skills/cm-content-factory/scripts/token_manager.py +0 -268
  303. package/skills/cm-content-factory/scripts/validate.py +0 -221
  304. package/skills/cm-content-factory/scripts/wizard.py +0 -329
  305. package/skills/cm-content-factory/scripts/write.py +0 -93
  306. package/skills/cm-content-factory/sites/docs-site/src/assets/houston.webp +0 -0
  307. package/skills/cm-content-factory/sites/docs-site/src/content/docs/architecture.md +0 -90
  308. package/skills/cm-content-factory/sites/docs-site/src/content/docs/data-flow.md +0 -54
  309. package/skills/cm-content-factory/sites/docs-site/src/content/docs/deployment.md +0 -38
  310. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/index.md +0 -65
  311. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/lc-content-lifecycle.md +0 -48
  312. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/seq-write-mode.md +0 -39
  313. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/uj-first-batch.md +0 -42
  314. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/wf-content-pipeline.md +0 -51
  315. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/wf-learning-cycle.md +0 -52
  316. package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/configuration.md +0 -86
  317. package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/installation.md +0 -80
  318. package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/intro.md +0 -58
  319. package/skills/cm-content-factory/sites/docs-site/src/content/docs/index.md +0 -102
  320. package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/index.md +0 -45
  321. package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/optimize-seo.md +0 -29
  322. package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/scale-content-production.md +0 -55
  323. package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/standardize-quality.md +0 -29
  324. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/buyer-cmo-huong.md +0 -41
  325. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/buyer-content-lead-khoa.md +0 -40
  326. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/index.md +0 -56
  327. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-content-manager-lan.md +0 -46
  328. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-seo-minh.md +0 -45
  329. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-writer-tu.md +0 -45
  330. package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/content-pipeline.md +0 -108
  331. package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/index.md +0 -22
  332. package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/memory-system.md +0 -52
  333. package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/seo-optimization.md +0 -58
  334. package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/troubleshooting-guide.md +0 -92
  335. package/skills/cm-content-factory/sites/docs-site/src/styles/custom.css +0 -575
  336. package/skills/cm-content-factory/tests/conftest.py +0 -66
  337. package/skills/cm-content-factory/tests/test_agent_dispatcher.py +0 -125
  338. package/skills/cm-content-factory/tests/test_memory.py +0 -128
  339. package/skills/cm-content-factory/tests/test_pipeline.py +0 -107
  340. package/skills/cm-content-factory/tests/test_research.py +0 -56
  341. package/skills/cm-content-factory/tests/test_state_manager.py +0 -131
  342. package/skills/cm-content-factory/tests/test_token_manager.py +0 -110
  343. package/skills/cm-content-factory/tests/test_wizard.py +0 -121
  344. package/skills/cm-cro-methodology/SKILL.md +0 -290
  345. package/skills/cm-cro-methodology/references/COPYWRITING.md +0 -178
  346. package/skills/cm-cro-methodology/references/OBJECTIONS.md +0 -135
  347. package/skills/cm-cro-methodology/references/PERSUASION.md +0 -158
  348. package/skills/cm-cro-methodology/references/RESEARCH.md +0 -220
  349. package/skills/cm-cro-methodology/references/funnel-analysis.md +0 -365
  350. package/skills/cm-cro-methodology/references/testing-methodology.md +0 -330
  351. package/skills/cm-google-form/SKILL.md +0 -266
  352. package/skills/cm-google-form/templates/apps-script.js +0 -55
  353. package/skills/cm-google-form/templates/form-markup.html +0 -110
  354. package/skills/cm-google-form/templates/form-submit.js +0 -201
  355. package/skills/cm-google-form/templates/toast.css +0 -152
  356. package/skills/cm-growth-hacking/SKILL.md +0 -282
  357. package/skills/cm-growth-hacking/bottom-sheet-engine.md +0 -261
  358. package/skills/cm-growth-hacking/calendar-integration.md +0 -264
  359. package/skills/cm-growth-hacking/references/engagement-patterns.md +0 -346
  360. package/skills/cm-growth-hacking/templates/bottom-sheet.css +0 -528
  361. package/skills/cm-growth-hacking/templates/bottom-sheet.js +0 -269
  362. package/skills/cm-growth-hacking/templates/calendar-cta.js +0 -213
  363. package/skills/cm-growth-hacking/templates/tracking-events.js +0 -211
  364. package/skills/cm-growth-hacking/templates/trigger-manager.js +0 -254
  365. package/skills/cm-growth-hacking/tracking-events.md +0 -246
  366. package/skills/cm-growth-hacking/trigger-system.md +0 -342
  367. package/skills/cm-jtbd/SKILL.md +0 -98
  368. package/skills/cm-notebooklm/SKILL.md +0 -156
  369. package/skills/cm-notebooklm/references/command_reference.md +0 -94
  370. package/skills/cm-notebooklm/references/workflows.md +0 -60
  371. package/skills/cm-notebooklm/resources/knowledge_sources.md +0 -106
  372. package/skills/cm-notebooklm/scripts/brain-sync.sh +0 -453
  373. package/skills/cm-notebooklm/scripts/graduate_wisdom.py +0 -101
  374. package/skills/cm-readit/SKILL.md +0 -289
  375. package/skills/cm-readit/audio-player.md +0 -206
  376. package/skills/cm-readit/examples/blog-reader.js +0 -352
  377. package/skills/cm-readit/examples/voice-cro.js +0 -390
  378. package/skills/cm-readit/tts-engine.md +0 -262
  379. package/skills/cm-readit/ui-patterns.md +0 -362
  380. package/skills/cm-readit/voice-cro.md +0 -223
@@ -1,6 +1,20 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * Ensures each skill folder under skills/ has SKILL.md with a title line.
3
+ * Validates skills under skills/.
4
+ *
5
+ * Always-required (errors, fail build):
6
+ * - SKILL.md exists with H1 title and YAML frontmatter (`name`, `description`)
7
+ *
8
+ * Opt-in v2 rules (errors only when frontmatter `compressed: true`):
9
+ * - `token_budget` integer in [100, 6000]
10
+ * - `## TL;DR` section present, ≤8 non-empty lines (≤5 recommended)
11
+ * - SKILL.md ≤200 lines (warning only)
12
+ *
13
+ * Skills with `deprecated: true` are exempt from v2 rules.
14
+ *
15
+ * Migration: as skills are refactored to the new template
16
+ * (skills/_shared/SKILL_TEMPLATE.md), set `compressed: true` to enforce
17
+ * v2 quality. Once all core skills are migrated, the opt-in becomes default.
4
18
  */
5
19
  import fs from 'fs';
6
20
  import path from 'path';
@@ -9,32 +23,115 @@ import { fileURLToPath } from 'url';
9
23
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
10
24
  const root = path.join(__dirname, '..', 'skills');
11
25
 
12
- /** Directories under skills/ that are not standalone skills (assets, packs). */
13
26
  const SKIP_DIRS = new Set(['profiles', 'extensions', 'scripts']);
14
27
 
15
28
  let errors = 0;
29
+ let warnings = 0;
30
+
31
+ function parseFrontmatter(text) {
32
+ const m = text.match(/^---\n([\s\S]*?)\n---\n/);
33
+ if (!m) return null;
34
+ const out = {};
35
+ for (const line of m[1].split('\n')) {
36
+ const mm = line.match(/^([A-Za-z_][A-Za-z0-9_-]*)\s*:\s*(.*)$/);
37
+ if (!mm) continue;
38
+ let v = mm[2].trim();
39
+ if (v.startsWith('"') && v.endsWith('"')) v = v.slice(1, -1);
40
+ if (v === 'true') v = true;
41
+ else if (v === 'false') v = false;
42
+ else if (/^-?\d+$/.test(v)) v = parseInt(v, 10);
43
+ out[mm[1]] = v;
44
+ }
45
+ return out;
46
+ }
47
+
48
+ function extractTldr(text) {
49
+ const m = text.match(/^##\s+TL;DR\s*\n([\s\S]*?)(?=\n##\s|$)/m);
50
+ if (!m) return null;
51
+ return m[1].split('\n').filter((l) => l.trim().length > 0);
52
+ }
53
+
16
54
  if (!fs.existsSync(root)) {
17
55
  console.error('No skills/ directory');
18
56
  process.exit(1);
19
57
  }
20
58
 
59
+ let migratedCount = 0;
60
+ let totalCount = 0;
61
+
21
62
  for (const name of fs.readdirSync(root, { withFileTypes: true })) {
22
63
  if (!name.isDirectory()) continue;
23
64
  if (name.name.startsWith('_') || name.name.startsWith('.')) continue;
24
65
  if (SKIP_DIRS.has(name.name)) continue;
66
+
25
67
  const md = path.join(root, name.name, 'SKILL.md');
26
68
  if (!fs.existsSync(md)) {
27
- console.error(`Missing SKILL.md: ${name.name}`);
69
+ console.error(`✗ ${name.name}: missing SKILL.md`);
28
70
  errors++;
29
71
  continue;
30
72
  }
73
+ totalCount++;
74
+
31
75
  const text = fs.readFileSync(md, 'utf8');
76
+ const fm = parseFrontmatter(text);
77
+
32
78
  if (!/^#\s+\S/m.test(text)) {
33
- console.error(`SKILL.md missing H1 title: ${name.name}`);
79
+ console.error(`✗ ${name.name}: missing H1 title`);
80
+ errors++;
81
+ }
82
+
83
+ if (!fm) {
84
+ console.error(`✗ ${name.name}: missing YAML frontmatter`);
85
+ errors++;
86
+ continue;
87
+ }
88
+ if (!fm.name) {
89
+ console.error(`✗ ${name.name}: frontmatter missing 'name'`);
90
+ errors++;
91
+ }
92
+ if (!fm.description) {
93
+ console.error(`✗ ${name.name}: frontmatter missing 'description'`);
34
94
  errors++;
35
95
  }
96
+
97
+ const isDeprecated = fm.deprecated === true;
98
+ const isCompressed = fm.compressed === true;
99
+
100
+ if (isCompressed && !isDeprecated) {
101
+ migratedCount++;
102
+
103
+ if (typeof fm.token_budget !== 'number') {
104
+ console.error(`✗ ${name.name}: compressed skill missing 'token_budget' (number)`);
105
+ errors++;
106
+ } else if (fm.token_budget < 100 || fm.token_budget > 6000) {
107
+ console.error(`✗ ${name.name}: token_budget ${fm.token_budget} out of range [100, 6000]`);
108
+ errors++;
109
+ }
110
+
111
+ const tldr = extractTldr(text);
112
+ if (!tldr) {
113
+ console.error(`✗ ${name.name}: compressed skill missing '## TL;DR' section`);
114
+ errors++;
115
+ } else {
116
+ if (tldr.length > 8) {
117
+ console.error(`✗ ${name.name}: TL;DR has ${tldr.length} non-empty lines (max 8)`);
118
+ errors++;
119
+ } else if (tldr.length > 5) {
120
+ console.warn(`⚠ ${name.name}: TL;DR has ${tldr.length} non-empty lines (recommend ≤5)`);
121
+ warnings++;
122
+ }
123
+ }
124
+
125
+ const totalLines = text.split('\n').length;
126
+ if (totalLines > 200) {
127
+ console.warn(`⚠ ${name.name}: SKILL.md is ${totalLines} lines (recommend ≤200)`);
128
+ warnings++;
129
+ }
130
+ }
36
131
  }
37
132
 
133
+ console.log(`validate-skills: ${migratedCount}/${totalCount} skills migrated to v2 (compressed:true)`);
134
+ if (warnings) console.warn(`validate-skills: ${warnings} warning(s)`);
38
135
  if (errors) {
39
136
  console.error(`validate-skills: ${errors} error(s)`);
40
137
  process.exit(1);
@@ -0,0 +1,62 @@
1
+ ---
2
+ name: cm-<name>
3
+ description: "<one-line trigger sentence: when to use this skill>"
4
+ token_budget: 1500
5
+ compressed: true
6
+ deprecated: false
7
+ ---
8
+
9
+ # cm-<name> — <short title>
10
+
11
+ ## TL;DR
12
+ - **Use when**: <trigger condition, 1 line>
13
+ - **Output**: <what artifact/state changes>
14
+ - **Handoff**: reads `.cm/handoff/<prev>.json` (if any), writes `.cm/handoff/<this>.json` (if any)
15
+ - **Chain**: typically follows `cm-<prev>`, precedes `cm-<next>`
16
+ - **Budget**: 1500 tokens (loaded full only when needed)
17
+
18
+ ## When to Use
19
+ <2-4 bullets describing concrete situations. Skip if TL;DR is sufficient.>
20
+
21
+ ## Adaptive Depth
22
+
23
+ Read `.cm/project-tier.md` (written by `cm tier classify`) and pick a rendering depth:
24
+
25
+ - **LITE / STANDARD** → stop after TL;DR. Skip "Full Protocol" unless the task explicitly requires deep instructions.
26
+ - **PROFESSIONAL / ENTERPRISE** → load the full protocol below.
27
+
28
+ If the tier file is absent, default to STANDARD.
29
+
30
+ ## Full Protocol
31
+ <Detailed instructions, examples, rules. Agent loads this only when TL;DR is insufficient or tier ≥ PROFESSIONAL.>
32
+
33
+ ### Step 1: <name>
34
+ <...>
35
+
36
+ ### Step 2: <name>
37
+ <...>
38
+
39
+ ## Integration
40
+
41
+ | After this skill... | Use skill |
42
+ |---|---|
43
+ | <situation> | `cm-<next>` |
44
+
45
+ ## Persona Dispatch (optional)
46
+
47
+ For complex tasks, dispatch via persona subagents in `agents/`:
48
+
49
+ | Need | Persona |
50
+ |------|---------|
51
+ | Clarify scope/intent | `pm` |
52
+ | Design / trade-offs | `architect` |
53
+ | Write code | `engineer` |
54
+ | Independent review | `reviewer` |
55
+ | Threat model / scan | `security` |
56
+
57
+ ## Anti-Patterns
58
+ - ❌ <thing not to do>
59
+ - ❌ <thing not to do>
60
+
61
+ ## The Bottom Line
62
+ **<one-sentence rule>**
@@ -15,9 +15,26 @@ import subprocess
15
15
  import threading
16
16
  from pathlib import Path
17
17
 
18
- # Add cm-content-factory to sys.path to reuse the dispatcher and state manager
18
+ # Reuse dispatcher and state manager from the content-factory plugin.
19
+ # After the 2026-05-09 plugin split, content-factory lives in a separate plugin.
20
+ # Resolution order: env override → sibling extracted-plugins (dev) → installed plugin paths.
19
21
  SKILLS_DIR = Path(__file__).resolve().parent.parent.parent
20
- CF_SCRIPTS = SKILLS_DIR / "cm-content-factory" / "scripts"
22
+ REPO_ROOT = SKILLS_DIR.parent
23
+
24
+ def _find_cf_scripts() -> Path:
25
+ env = os.environ.get("CONTENT_FACTORY_SCRIPTS")
26
+ if env and Path(env).exists():
27
+ return Path(env)
28
+ candidates = [
29
+ REPO_ROOT / "extracted-plugins" / "content-factory" / "skills" / "content-factory" / "scripts",
30
+ Path.home() / ".claude" / "plugins" / "cache" / "content-factory" / "skills" / "content-factory" / "scripts",
31
+ ]
32
+ for c in candidates:
33
+ if c.exists():
34
+ return c
35
+ return SKILLS_DIR / "cm-content-factory" / "scripts" # legacy fallback
36
+
37
+ CF_SCRIPTS = _find_cf_scripts()
21
38
  sys.path.append(str(CF_SCRIPTS))
22
39
 
23
40
  try:
@@ -1,10 +1,19 @@
1
1
  ---
2
2
  name: cm-brainstorm-idea
3
3
  description: "Strategic analysis gate for existing products — multi-dimensional evaluation (tech, product, design, business) using Design Thinking + 9 Windows (TRIZ) + Double Diamond. Outputs 2-3 qualified options with recommendations. Use BEFORE cm-planning for complex initiatives and enhancements on existing codebases."
4
+ token_budget: 1500
5
+ compressed: true
6
+ deprecated: false
4
7
  ---
5
8
 
6
9
  # Brainstorm Idea — Strategic Analysis Gate
7
10
 
11
+ ## TL;DR
12
+ - **Use before** cm-planning for complex/ambiguous initiatives
13
+ - **Frameworks**: Design Thinking + 9 Windows (TRIZ) + Double Diamond
14
+ - **Output**: 2-3 qualified options + recommendation
15
+ - **Writes**: handoff/intent.json
16
+
8
17
  > **Understand deeply. Evaluate multi-dimensionally. Propose qualified options. Then — and only then — plan.**
9
18
  > This skill is the BRIDGE between an existing product and its next evolution.
10
19
 
@@ -1,10 +1,19 @@
1
1
  ---
2
2
  name: cm-clean-code
3
3
  description: "Code hygiene gate — detect and eliminate dead code, duplicates, naming mess, and code smells. TRIZ-powered. Run after features, before PRs, during debt sprints."
4
+ token_budget: 1200
5
+ compressed: true
6
+ deprecated: false
4
7
  ---
5
8
 
6
9
  # Clean Code — Code Hygiene Gate
7
10
 
11
+ ## TL;DR
12
+ - **Use after** a feature lands, before PR review
13
+ - **Detects**: dead code, duplicates, naming smells, dependency drift
14
+ - **Powered by** TRIZ contradictions and Boy Scout rule
15
+ - **Next**: cm-code-review
16
+
8
17
  > **Code that works is not enough. Code must be CLEAN.**
9
18
  > Inspired by Clean Code (Robert C. Martin) + Refactoring (Martin Fowler) + TRIZ.
10
19
 
@@ -295,6 +304,17 @@ cm-execution → cm-clean-code → cm-code-review → cm-quality-gate → cm-saf
295
304
  (build) (hygiene) (review) (verify) (ship)
296
305
  ```
297
306
 
307
+ ## Karpathy Discipline — Simplicity First
308
+
309
+ Combat over-engineering at the source, not after the fact:
310
+ - **No features beyond what was asked.** No "while I'm here" additions.
311
+ - **No abstractions for single-use code.** Three similar lines beats a premature interface.
312
+ - **No flexibility/configurability that wasn't requested.** YAGNI is the default.
313
+ - **No error handling for impossible scenarios.** Trust internal callers; validate at boundaries.
314
+ - **200 lines that should be 50 → rewrite, don't ship.**
315
+
316
+ **Senior-engineer test:** "Would a senior call this overcomplicated?" If yes, simplify before commit.
317
+
298
318
  ## The Bottom Line
299
319
 
300
320
  **Clean code = investment. Dirty code = debt. Pay as you go, or pay with interest later.**
@@ -1,10 +1,20 @@
1
1
  ---
2
2
  name: cm-code-review
3
3
  description: "Full review lifecycle — request reviews, handle feedback with technical rigor, and complete branch integration. Use when completing tasks, receiving feedback, or finishing feature branches."
4
+ token_budget: 1500
5
+ compressed: true
6
+ deprecated: false
4
7
  ---
5
8
 
6
9
  # Code Review — Request + Receive + Complete
7
10
 
11
+ ## TL;DR
12
+ - **Use when** task complete, before/during PR review
13
+ - **Pre-review**: lint, tests, diff scan, blast radius
14
+ - **Reads**: handoff/exec.json — **Writes**: handoff/review.json
15
+ - **Severity**: info | warn | error | critical
16
+ - **Next**: cm-quality-gate
17
+
8
18
  > **Full review lifecycle in one skill:** Request → Receive → Integrate.
9
19
 
10
20
  ## Part A: Requesting Code Review
@@ -146,6 +156,17 @@ After processing review feedback, ALWAYS update `.cm/CONTINUITY.md`:
146
156
  | `cm-identity-guard` | Before git push |
147
157
  | `cm-git-worktrees` | Cleanup worktree after completion |
148
158
 
159
+ ## Karpathy Discipline — Review Checklist
160
+
161
+ Block any PR/diff that violates these regardless of green tests:
162
+ - **Scope creep:** changed line that doesn't trace to the task → request removal.
163
+ - **Bloat:** new abstraction with one caller, premature config, error paths for impossible inputs → request simplification.
164
+ - **Side-effect edits:** unrelated formatting, renamed identifiers, "improved" comments not in scope → revert.
165
+ - **Hidden assumptions:** logic that depends on an unstated invariant → require it surfaced (test or doc) or rejected.
166
+ - **Weak goals:** PR description says "make it work" with no verifiable criterion → send back to planning.
167
+
168
+ **Review heuristic:** if you can't answer "what task forced this line?" for every changed line, the diff is too wide.
169
+
149
170
  ## The Bottom Line
150
171
 
151
172
  **Review early. Verify feedback. Ship with evidence, not hope.**
@@ -1,10 +1,19 @@
1
1
  ---
2
2
  name: cm-codeintell
3
3
  description: "Unified code intelligence — Skeleton Index (zero-dep, <4s) + AST knowledge graph (CodeGraph) + architecture diagrams (Mermaid) + smart context builder. Pre-indexes code structure so AI agents understand any codebase instantly. 95% token compression for onboarding. 30% fewer tokens for deep analysis."
4
+ token_budget: 1500
5
+ compressed: true
6
+ deprecated: false
4
7
  ---
5
8
 
6
9
  # Code Intelligence — Structural Understanding for AI Agents
7
10
 
11
+ ## TL;DR
12
+ - **Use to** index codebase for fast structural understanding
13
+ - **Outputs**: skeleton index, AST graph, Mermaid diagrams
14
+ - **Token saving**: ~95% for onboarding, ~30% for deep analysis
15
+ - **Next**: cm-planning or cm-debugging
16
+
8
17
  > **Stop scanning. Start querying.** Skeleton Index (<4s, zero deps) + AST graph + architecture diagrams = instant code understanding.
9
18
  > Inspired by [CodeGraph](https://github.com/colbymchenry/codegraph) + [GitDiagram](https://github.com/ahmedkhaleel2004/gitdiagram).
10
19
  > TRIZ-optimized: 10 inventive principles applied.
@@ -0,0 +1,28 @@
1
+ ---
2
+ name: cm-conductor-worktrees
3
+ description: "Use when you need to manage parallel git worktrees for isolated feature development."
4
+ ---
5
+ # cm-conductor-worktrees — parallel worktrees
6
+
7
+ ## CLI
8
+
9
+ ```bash
10
+ cm conductor add --at ../my-feature-wt --branch feat/my-feature --base main
11
+ cm conductor list
12
+ ```
13
+
14
+ ## Practice
15
+
16
+ - One **branch + worktree** per parallel agent/session.
17
+ - Reconcile with `git merge` / PR; avoid two agents editing the same files without coordination.
18
+
19
+ ## ELI16 (3+ sessions)
20
+
21
+ When running **three or more** parallel sessions, re-ground each session with:
22
+
23
+ - Current branch name + worktree path.
24
+ - Last artifact from `cm sprint status` or `.cm/context-bus.json`.
25
+
26
+ ## Future
27
+
28
+ Dashboard UI for active sprints is **not** in CLI yet — use `cm dashboard` / Hamster UI where available.
@@ -1,28 +1,26 @@
1
1
  ---
2
2
  name: cm-conductor-worktrees
3
- description: "Use when you need to manage parallel git worktrees for isolated feature development."
3
+ description: "[Deprecated] parallel execution mode. Use `cm-execution` instead."
4
+ deprecated: true
5
+ merged_into: cm-execution
4
6
  ---
5
- # cm-conductor-worktrees — parallel worktrees
6
7
 
7
- ## CLI
8
+ # cm-conductor-worktrees — Deprecated
8
9
 
9
- ```bash
10
- cm conductor add --at ../my-feature-wt --branch feat/my-feature --base main
11
- cm conductor list
12
- ```
13
-
14
- ## Practice
15
-
16
- - One **branch + worktree** per parallel agent/session.
17
- - Reconcile with `git merge` / PR; avoid two agents editing the same files without coordination.
10
+ > ⚠️ This skill is deprecated as of CodyMaster v6.0.0 and will be removed in v6.1.0.
11
+ >
12
+ > **Use `cm-execution` instead.** parallel execution mode.
13
+ >
14
+ > See [docs/migration-v2.md](../../docs/migration-v2.md) for the full mapping.
18
15
 
19
- ## ELI16 (3+ sessions)
16
+ The original content is preserved at [SKILL.archive.md](SKILL.archive.md) for reference.
20
17
 
21
- When running **three or more** parallel sessions, re-ground each session with:
18
+ ## Migration
22
19
 
23
- - Current branch name + worktree path.
24
- - Last artifact from `cm sprint status` or `.cm/context-bus.json`.
25
-
26
- ## Future
20
+ ```bash
21
+ # Old: cm <use this skill>
22
+ # New (v6.0+): cm execution <equivalent action>
23
+ ```
27
24
 
28
- Dashboard UI for active sprints is **not** in CLI yet use `cm dashboard` / Hamster UI where available.
25
+ If you depend on a capability that didn't carry over, please file an issue:
26
+ https://github.com/tody-agent/codymaster/issues
@@ -1,10 +1,19 @@
1
1
  ---
2
2
  name: cm-continuity
3
3
  description: "Working memory protocol — maintains context across sessions via CONTINUITY.md. Inspired by Loki Mode. Read at turn start, update at turn end. Captures mistakes and learnings to prevent repeating errors."
4
+ token_budget: 1200
5
+ compressed: true
6
+ deprecated: false
4
7
  ---
5
8
 
6
9
  # Continuity — Working Memory Protocol
7
10
 
11
+ ## TL;DR
12
+ - **Use at** session start (read) and end (update)
13
+ - **File**: .cm/CONTINUITY.md (working memory)
14
+ - **Auto-loads**: recent learnings from .cm/learnings.jsonl
15
+ - **Loki Mode**: prevents repeating past mistakes
16
+
8
17
  > **Context persistence across sessions. Mistakes captured. Learnings applied.**
9
18
  > Inspired by Loki Mode's CONTINUITY.md protocol (Autonomi).
10
19
 
@@ -0,0 +1,15 @@
1
+ ---
2
+ name: cm-dashboard
3
+ description: Open visual Dashboard to track work status (Simulated Kanban board)
4
+ ---
5
+
6
+ # Command: `/cm-dashboard`
7
+
8
+ When this command is called, the AI Assistant should:
9
+
10
+ 1. **Check status:** Find and read the OpenSpec `openspec/changes/[init]/tasks.md` (and synced `cm-tasks.json`) file in the current project directory (or artifacts directory).
11
+ 2. **Visual display:** Aggregate tasks and render them as a Kanban board (Markdown table) with 3 columns:
12
+ - **🔴 TO DO** (Not started)
13
+ - **🟡 IN PROGRESS** (In progress)
14
+ - **🟢 DONE** (Completed)
15
+ 3. **Flow report:** Briefly summarize which Mode the Agent is in (PLANNING, EXECUTION, or VERIFICATION) and what the Next Step is.
@@ -1,15 +1,26 @@
1
1
  ---
2
2
  name: cm-dashboard
3
- description: Open visual Dashboard to track work status (Simulated Kanban board)
3
+ description: "[Deprecated] both visualize project state. Use `cm-status` instead."
4
+ deprecated: true
5
+ merged_into: cm-status
4
6
  ---
5
7
 
6
- # Command: `/cm-dashboard`
8
+ # cm-dashboard — Deprecated
7
9
 
8
- When this command is called, the AI Assistant should:
10
+ > ⚠️ This skill is deprecated as of CodyMaster v6.0.0 and will be removed in v6.1.0.
11
+ >
12
+ > **Use `cm-status` instead.** both visualize project state.
13
+ >
14
+ > See [docs/migration-v2.md](../../docs/migration-v2.md) for the full mapping.
9
15
 
10
- 1. **Check status:** Find and read the OpenSpec `openspec/changes/[init]/tasks.md` (and synced `cm-tasks.json`) file in the current project directory (or artifacts directory).
11
- 2. **Visual display:** Aggregate tasks and render them as a Kanban board (Markdown table) with 3 columns:
12
- - **🔴 TO DO** (Not started)
13
- - **🟡 IN PROGRESS** (In progress)
14
- - **🟢 DONE** (Completed)
15
- 3. **Flow report:** Briefly summarize which Mode the Agent is in (PLANNING, EXECUTION, or VERIFICATION) and what the Next Step is.
16
+ The original content is preserved at [SKILL.archive.md](SKILL.archive.md) for reference.
17
+
18
+ ## Migration
19
+
20
+ ```bash
21
+ # Old: cm <use this skill>
22
+ # New (v6.0+): cm status <equivalent action>
23
+ ```
24
+
25
+ If you depend on a capability that didn't carry over, please file an issue:
26
+ https://github.com/tody-agent/codymaster/issues
@@ -926,7 +926,15 @@
926
926
  }
927
927
 
928
928
  // ── Utilities ──────────────────────────────
929
- function esc(str) { const d = document.createElement('div'); d.textContent = str; return d.innerHTML; }
929
+ function esc(str) {
930
+ if (str == null) return '';
931
+ return String(str)
932
+ .replace(/&/g, '&amp;')
933
+ .replace(/</g, '&lt;')
934
+ .replace(/>/g, '&gt;')
935
+ .replace(/"/g, '&quot;')
936
+ .replace(/'/g, '&#39;');
937
+ }
930
938
  function formatTimeAgo(dateStr) {
931
939
  const ms = Date.now() - new Date(dateStr).getTime();
932
940
  const m = Math.floor(ms / 60000), h = Math.floor(ms / 3600000), d = Math.floor(ms / 86400000);
@@ -1,10 +1,19 @@
1
1
  ---
2
2
  name: cm-debugging
3
3
  description: Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes
4
+ token_budget: 1500
5
+ compressed: true
6
+ deprecated: false
4
7
  ---
5
8
 
6
9
  # Systematic Debugging
7
10
 
11
+ ## TL;DR
12
+ - **Use when** any bug, test failure, or unexpected behavior surfaces
13
+ - **Process**: reproduce → isolate → diagnose root cause → fix
14
+ - **Defense in depth**: also add a test that locks the bug
15
+ - **Next**: cm-tdd → cm-quality-gate
16
+
8
17
  ## Overview
9
18
 
10
19
  Random fixes waste time and create new bugs. Quick patches mask underlying issues.
@@ -0,0 +1,34 @@
1
+ ---
2
+ name: cm-design-studio
3
+ description: "Use when you need to create 2-3 UI/UX design variants and document a repeatable handoff before coding."
4
+ ---
5
+ # cm-design-studio
6
+
7
+ > Local design-variant workspace: checklist, named variants, and a handoff stub—no external MCP required.
8
+
9
+ ## When to use
10
+
11
+ - You want **2–3 UI/UX variants** documented before coding.
12
+ - You need a **repeatable handoff** from design choice to implementation agents.
13
+ - You prefer **files under `.cm/`** over ad-hoc chat-only decisions.
14
+
15
+ ## Steps
16
+
17
+ 1. From the repo root: `cm design-studio init`
18
+ 2. Edit `.cm/design-studio/CHECKLIST.md` and `VARIANTS.md` (name options A/B/C).
19
+ 3. Pick a variant; complete `.cm/design-studio/HANDOFF.md` (screens, tokens, prompt stub).
20
+ 4. Run implementation skills (e.g. `cm-execution`, `cm-tdd`) **using the HANDOFF prompt stub** as the single source of truth.
21
+
22
+ Optional: `cm design-studio status` — list artifact files.
23
+
24
+ ## Output
25
+
26
+ - `.cm/design-studio/README.md` — happy path
27
+ - `.cm/design-studio/CHECKLIST.md`
28
+ - `.cm/design-studio/VARIANTS.md`
29
+ - `.cm/design-studio/HANDOFF.md`
30
+
31
+ ## Related
32
+
33
+ - ADR 003 (`docs/adr/003-skill-distro-and-meta.md`) for pack layout when publishing skills.
34
+ - `cm suggest` may recommend other skills based on git + sprint state.
@@ -1,34 +1,26 @@
1
1
  ---
2
2
  name: cm-design-studio
3
- description: "Use when you need to create 2-3 UI/UX design variants and document a repeatable handoff before coding."
3
+ description: "[Deprecated] design pipeline merged. Use `cm-design-system` instead."
4
+ deprecated: true
5
+ merged_into: cm-design-system
4
6
  ---
5
- # cm-design-studio
6
7
 
7
- > Local design-variant workspace: checklist, named variants, and a handoff stubno external MCP required.
8
+ # cm-design-studioDeprecated
8
9
 
9
- ## When to use
10
+ > ⚠️ This skill is deprecated as of CodyMaster v6.0.0 and will be removed in v6.1.0.
11
+ >
12
+ > **Use `cm-design-system` instead.** design pipeline merged.
13
+ >
14
+ > See [docs/migration-v2.md](../../docs/migration-v2.md) for the full mapping.
10
15
 
11
- - You want **2–3 UI/UX variants** documented before coding.
12
- - You need a **repeatable handoff** from design choice to implementation agents.
13
- - You prefer **files under `.cm/`** over ad-hoc chat-only decisions.
16
+ The original content is preserved at [SKILL.archive.md](SKILL.archive.md) for reference.
14
17
 
15
- ## Steps
18
+ ## Migration
16
19
 
17
- 1. From the repo root: `cm design-studio init`
18
- 2. Edit `.cm/design-studio/CHECKLIST.md` and `VARIANTS.md` (name options A/B/C).
19
- 3. Pick a variant; complete `.cm/design-studio/HANDOFF.md` (screens, tokens, prompt stub).
20
- 4. Run implementation skills (e.g. `cm-execution`, `cm-tdd`) **using the HANDOFF prompt stub** as the single source of truth.
20
+ ```bash
21
+ # Old: cm <use this skill>
22
+ # New (v6.0+): cm design-system <equivalent action>
23
+ ```
21
24
 
22
- Optional: `cm design-studio status` list artifact files.
23
-
24
- ## Output
25
-
26
- - `.cm/design-studio/README.md` — happy path
27
- - `.cm/design-studio/CHECKLIST.md`
28
- - `.cm/design-studio/VARIANTS.md`
29
- - `.cm/design-studio/HANDOFF.md`
30
-
31
- ## Related
32
-
33
- - ADR 003 (`docs/adr/003-skill-distro-and-meta.md`) for pack layout when publishing skills.
34
- - `cm suggest` may recommend other skills based on git + sprint state.
25
+ If you depend on a capability that didn't carry over, please file an issue:
26
+ https://github.com/tody-agent/codymaster/issues
@@ -10,6 +10,7 @@ description: |
10
10
  Establish a robust, stable, and consistent UI Design System by either extracting tokens from an existing source (Harvester mode) or scaffolding a fresh system based on premium Kits (Shadcn, Halo, Lunaris, Nitro). Output a strictly formatted `DESIGN.md` artifact ready for UI generation.
11
11
 
12
12
  # Instructions
13
+ 0. **Load Design Taste** (if `.cm/design-taste.json` exists): Before proposing tokens, call `topTaste(cwd, 'color')`, `topTaste(cwd, 'font')`, `topTaste(cwd, 'layout')` from `src/utils/design-taste.ts`. Bias selections toward `approved` entries; avoid `rejected`. Decay is 5 %/week so stale taste fades — trust live weights. After the user accepts or rejects a palette, call `recordTaste(cwd, { dimension, value, verdict })` so future runs improve.
13
14
  1. **Clarify Intent**: Determine if the user wants to *extract* an existing design from a URL/Image or *create* a new system from a specific UI Kit.
14
15
  2. **Harvester Extraction (If applicable)**:
15
16
  - Analyze the target visual source.