codymaster 4.1.4 → 4.4.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 (662) hide show
  1. package/CHANGELOG.md +22 -2
  2. package/README.md +56 -86
  3. package/dist/index.js +130 -16
  4. package/dist/ui/box.js +2 -2
  5. package/dist/ui/onboarding.js +11 -5
  6. package/install.sh +317 -35
  7. package/package.json +8 -8
  8. package/public/dashboard/app.js +1270 -0
  9. package/public/dashboard/index.html +218 -0
  10. package/public/dashboard/style.css +440 -0
  11. package/skills/AGENTS.md +61 -0
  12. package/skills/CLAUDE.md +158 -0
  13. package/skills/boxme-git-config/SKILL.md +56 -0
  14. package/skills/boxme-local-dev/SKILL.md +66 -0
  15. package/skills/build.sh +30 -0
  16. package/skills/cf +314 -0
  17. package/skills/cf 2 +313 -0
  18. package/skills/cm-ads-tracker/SKILL.md +364 -69
  19. package/skills/cm-auto-publisher/SKILL.md +81 -0
  20. package/skills/cm-booking-calendar/SKILL.md +521 -0
  21. package/skills/cm-booking-calendar/references/industry-patterns.md +527 -0
  22. package/skills/cm-booking-calendar/templates/booking-form.css +626 -0
  23. package/skills/cm-booking-calendar/templates/booking-form.html +477 -0
  24. package/skills/cm-booking-calendar/templates/calendar-engine.js +419 -0
  25. package/skills/cm-booking-calendar/templates/calendar-export.js +395 -0
  26. package/skills/cm-booking-calendar/templates/reminder-config.js +629 -0
  27. package/skills/cm-brainstorm-idea/SKILL.md +15 -24
  28. package/skills/cm-clean-code/SKILL.md +300 -0
  29. package/skills/cm-code-review/SKILL.md +0 -27
  30. package/skills/cm-codeintell/SKILL.md +598 -0
  31. package/skills/cm-content-factory/.content-factory-state.json +132 -0
  32. package/skills/cm-content-factory/.git 2/logs/refs/heads/main +1 -0
  33. package/skills/cm-content-factory/.git 2/logs/refs/remotes/origin/main +1 -0
  34. package/skills/cm-content-factory/.git 2/objects/02/fb0956734b5f8ba3f918b7defd04a89cfe0076 +0 -0
  35. package/skills/cm-content-factory/.git 2/objects/08/1e129d75dc6feac6c02037272e6bd1a04e3324 +0 -0
  36. package/skills/cm-content-factory/.git 2/objects/0c/5393416f3c5e01c9a655a802bff0dd52f76f0a +0 -0
  37. package/skills/cm-content-factory/.git 2/objects/10/0b9be46978a946a77188f68be725098a122001 +0 -0
  38. package/skills/cm-content-factory/.git 2/objects/10/cf041167fc9843610eb3d90259ef3396315fdc +0 -0
  39. package/skills/cm-content-factory/.git 2/objects/12/5e19538dd6e1338ffe74f6c4c165b00435bf48 +0 -0
  40. package/skills/cm-content-factory/.git 2/objects/16/a9b9d0088d5c1347628b45a2620b479d8ad57c +0 -0
  41. package/skills/cm-content-factory/.git 2/objects/17/8c2a9ef93c33ae4eec9d58e82321f9229843a1 +0 -0
  42. package/skills/cm-content-factory/.git 2/objects/25/397ae41d09104d763bdcac2695209d85cdea89 +0 -0
  43. package/skills/cm-content-factory/.git 2/objects/2f/a836b7947f2d458e1f639788bf4bb0983a3305 +0 -0
  44. package/skills/cm-content-factory/.git 2/objects/3a/baaaf0a1c0909c0828335791557125fba911e0 +0 -0
  45. package/skills/cm-content-factory/.git 2/objects/42/2924221b81f5ce3c4e4daac9a64a24f9b01f9a +0 -0
  46. package/skills/cm-content-factory/.git 2/objects/42/ec0ce707447dc11446a34c9995fb8533801731 +0 -0
  47. package/skills/cm-content-factory/.git 2/objects/46/e43ce92866d56ce74b1d750db307cfe6154a15 +0 -0
  48. package/skills/cm-content-factory/.git 2/objects/48/5e41b633c63f55b8277bcc59f44f67681f671a +0 -0
  49. package/skills/cm-content-factory/.git 2/objects/49/49c596a3a89fa240642acd95dd3258e261eb09 +0 -0
  50. package/skills/cm-content-factory/.git 2/objects/50/9d42d8412ef8eaf7f7e138476bac2e4d10ce60 +0 -0
  51. package/skills/cm-content-factory/.git 2/objects/55/0c8c389d981b463ef849aeb792d8be3ccb6ec8 +0 -0
  52. package/skills/cm-content-factory/.git 2/objects/5d/82d3b18410cdda3ace3677436f0cb599dbe2d2 +0 -0
  53. package/skills/cm-content-factory/.git 2/objects/60/0617c58e871a38b33bf29e282d132bb3c381ad +0 -0
  54. package/skills/cm-content-factory/.git 2/objects/6a/8369a99c687b7245c92ffaf0e0f0dab9014504 +0 -0
  55. package/skills/cm-content-factory/.git 2/objects/79/bea435d40ab531c1aaf6be0432c6a5b7aaed21 +0 -0
  56. package/skills/cm-content-factory/.git 2/objects/7e/5ebd79251c2f14e4aceb86c74b6b6daae6b500 +0 -0
  57. package/skills/cm-content-factory/.git 2/objects/81/98a822a60178d6d5023ddb3e222cddf048742e +0 -0
  58. package/skills/cm-content-factory/.git 2/objects/86/0a0e1943dfe53411d2e499a1f16f46a96ef758 +0 -0
  59. package/skills/cm-content-factory/.git 2/objects/86/971fb55fdc081fdbae52376f0f13e57a4e9b04 +0 -0
  60. package/skills/cm-content-factory/.git 2/objects/88/b89dd609a0a03f8d4fe8bfde20d5b8fc1d326d +0 -0
  61. package/skills/cm-content-factory/.git 2/objects/90/8737edb6b7809e32cc01590b4e08ba42a9d40d +0 -0
  62. package/skills/cm-content-factory/.git 2/objects/93/d5a8a9a7d4fb7f11491cb596a6880528725118 +0 -0
  63. package/skills/cm-content-factory/.git 2/objects/98/46a2ab81d0c3b3eb00ef88fc56989aa7e9f316 +0 -0
  64. package/skills/cm-content-factory/.git 2/objects/9b/d8dd1e49cf274eaf9c555f3ab39dce7af5715e +0 -0
  65. package/skills/cm-content-factory/.git 2/objects/a1/13329fb0cec96ae78b222d33a24c3b5bc7fa1f +0 -0
  66. package/skills/cm-content-factory/.git 2/objects/a9/e6effe626e8a3aea3a8fc3364b492191c6e7d0 +0 -0
  67. package/skills/cm-content-factory/.git 2/objects/ad/6de7e48d9782cca9353d1ff0aa1aab7fe1df85 +0 -0
  68. package/skills/cm-content-factory/.git 2/objects/af/54ae316f771ff692e299ffcd8bf2f06b413b59 +0 -0
  69. package/skills/cm-content-factory/.git 2/objects/b0/4cb8b0b00dad633e731c1472161419e738d674 +0 -0
  70. package/skills/cm-content-factory/.git 2/objects/b3/094abb0b9ed46419b269e4a4e36a459690e3b0 +0 -0
  71. package/skills/cm-content-factory/.git 2/objects/b9/435c5d4baac2cfc5c83009ddd27b46b60db5f1 +0 -0
  72. package/skills/cm-content-factory/.git 2/objects/ba/5da17dbaec5ec2dcfdfd126aead518d1171d5c +0 -0
  73. package/skills/cm-content-factory/.git 2/objects/c0/bf58703aa258ba5dd63083bebaec8f223d844c +0 -0
  74. package/skills/cm-content-factory/.git 2/objects/c4/701a34edf1fc1bad58ccc57bd03f9426acb59a +0 -0
  75. package/skills/cm-content-factory/.git 2/objects/c7/5ccce9a4e5cc74d9b3174550cf6d993ca43638 +0 -0
  76. package/skills/cm-content-factory/.git 2/objects/c7/710d59b5a35b0f1f0a0399386643a0bd94c929 +0 -0
  77. package/skills/cm-content-factory/.git 2/objects/d1/fe58237112e953e5fec52da22cf38e08be3df9 +5 -0
  78. package/skills/cm-content-factory/.git 2/objects/d2/2bbe9fd2f74c95bc5583e803f5e435f1e2cd86 +0 -0
  79. package/skills/cm-content-factory/.git 2/objects/d7/e72852ea2bff74581dbf247d400120086229f4 +0 -0
  80. package/skills/cm-content-factory/.git 2/objects/d8/d4c3b5553e4fd72807e1d4b49ef07d9ef3ac35 +0 -0
  81. package/skills/cm-content-factory/.git 2/objects/dc/75050c2876f6a02ae2a53a3c886f395b622977 +0 -0
  82. package/skills/cm-content-factory/.git 2/objects/ee/e8546f95acec500187c08a28a8b9ee02db0dec +0 -0
  83. package/skills/cm-content-factory/.git 2/objects/ef/263c059208b416c2146434f10cb2b9fabcba16 +0 -0
  84. package/skills/cm-content-factory/.git 2/objects/f3/ae597e84d9a59b88acd21c99bde2eaf686d785 +0 -0
  85. package/skills/cm-content-factory/.git 2/objects/f3/f6f5673c821d3d8e76fa267a9e882e7a5387ea +0 -0
  86. package/skills/cm-content-factory/.git 2/objects/f9/6e6d0ad02624dd11d5848594d056caef7a5e8b +0 -0
  87. package/skills/cm-content-factory/.git 2/objects/ff/278988fc1edf0db3abcf18de795f4cc0b4f3e1 +0 -0
  88. package/skills/cm-content-factory/.git 2/refs/heads/main +1 -0
  89. package/skills/cm-content-factory/.git 2/refs/remotes/origin/main +1 -0
  90. package/skills/cm-content-factory/.pytest_cache 2/v/cache/nodeids +76 -0
  91. package/skills/cm-content-factory/.pytest_cache 2/v/cache/stepwise +1 -0
  92. package/skills/cm-content-factory/AGENTS.md +61 -0
  93. package/skills/cm-content-factory/CLAUDE.md +63 -0
  94. package/skills/cm-content-factory/CURSOR.md +43 -0
  95. package/skills/cm-content-factory/Content Factory.zip +0 -0
  96. package/skills/cm-content-factory/cf +313 -0
  97. package/skills/cm-content-factory/config.schema.json +397 -0
  98. package/skills/cm-content-factory/dashboard/app.js +556 -0
  99. package/skills/cm-content-factory/dashboard/index.html +397 -0
  100. package/skills/cm-content-factory/dashboard/style.css +1211 -0
  101. package/skills/cm-content-factory/examples/01-real-estate.config.json +146 -0
  102. package/skills/cm-content-factory/examples/02-personal-finance.config.json +146 -0
  103. package/skills/cm-content-factory/examples/03-health-wellness.config.json +147 -0
  104. package/skills/cm-content-factory/examples/04-saas-software.config.json +147 -0
  105. package/skills/cm-content-factory/examples/05-legal-services.config.json +147 -0
  106. package/skills/cm-content-factory/examples/06-insurance.config.json +146 -0
  107. package/skills/cm-content-factory/examples/07-ecommerce-dropship.config.json +146 -0
  108. package/skills/cm-content-factory/examples/08-online-education.config.json +147 -0
  109. package/skills/cm-content-factory/examples/09-crypto-defi.config.json +147 -0
  110. package/skills/cm-content-factory/examples/10-beauty-skincare.config.json +147 -0
  111. package/skills/cm-content-factory/examples/11-home-services.config.json +146 -0
  112. package/skills/cm-content-factory/examples/12-dental-clinic.config.json +147 -0
  113. package/skills/cm-content-factory/examples/13-pet-care.config.json +147 -0
  114. package/skills/cm-content-factory/examples/14-travel-hospitality.config.json +147 -0
  115. package/skills/cm-content-factory/examples/15-ai-automation.config.json +147 -0
  116. package/skills/cm-content-factory/examples/16-wedding-events.config.json +147 -0
  117. package/skills/cm-content-factory/examples/17-fitness-coaching.config.json +148 -0
  118. package/skills/cm-content-factory/examples/18-cybersecurity.config.json +147 -0
  119. package/skills/cm-content-factory/examples/19-food-restaurant.config.json +148 -0
  120. package/skills/cm-content-factory/examples/20-solar-energy.config.json +147 -0
  121. package/skills/cm-content-factory/examples/fitness-blog.config.json +116 -0
  122. package/skills/cm-content-factory/examples/tech-blog.config.json +107 -0
  123. package/skills/cm-content-factory/extensions/EXTENSION_GUIDE.md +72 -0
  124. package/skills/cm-content-factory/extensions/hooks.py +126 -0
  125. package/skills/cm-content-factory/extensions/openclaw_adapter.py +132 -0
  126. package/skills/cm-content-factory/landing/index.html +680 -0
  127. package/skills/cm-content-factory/landing/script.js +101 -0
  128. package/skills/cm-content-factory/landing/style.css +1216 -0
  129. package/skills/cm-content-factory/landing/translations.js +508 -0
  130. package/skills/cm-content-factory/logs/events.jsonl +11 -0
  131. package/skills/cm-content-factory/profiles/_template.profile.json +231 -0
  132. package/skills/cm-content-factory/profiles/finance.profile.json +278 -0
  133. package/skills/cm-content-factory/profiles/legal.profile.json +263 -0
  134. package/skills/cm-content-factory/profiles/medical-research.profile.json +321 -0
  135. package/skills/cm-content-factory/profiles/technology.profile.json +275 -0
  136. package/skills/cm-content-factory/scripts/agent_dispatcher.py +266 -0
  137. package/skills/cm-content-factory/scripts/audit.py +106 -0
  138. package/skills/cm-content-factory/scripts/dashboard_server.py +225 -0
  139. package/skills/cm-content-factory/scripts/deploy.py +146 -0
  140. package/skills/cm-content-factory/scripts/extract.py +132 -0
  141. package/skills/cm-content-factory/scripts/landing_generator.py +459 -0
  142. package/skills/cm-content-factory/scripts/memory.py +521 -0
  143. package/skills/cm-content-factory/scripts/monetize.py +239 -0
  144. package/skills/cm-content-factory/scripts/pipeline.py +357 -0
  145. package/skills/cm-content-factory/scripts/plan.py +163 -0
  146. package/skills/cm-content-factory/scripts/publish.py +145 -0
  147. package/skills/cm-content-factory/scripts/research.py +337 -0
  148. package/skills/cm-content-factory/scripts/scaffold.py +464 -0
  149. package/skills/cm-content-factory/scripts/scoreboard.py +336 -0
  150. package/skills/cm-content-factory/scripts/seo.py +90 -0
  151. package/skills/cm-content-factory/scripts/state_manager.py +320 -0
  152. package/skills/cm-content-factory/scripts/token_manager.py +268 -0
  153. package/skills/cm-content-factory/scripts/validate.py +221 -0
  154. package/skills/cm-content-factory/scripts/wizard.py +329 -0
  155. package/skills/cm-content-factory/scripts/write.py +93 -0
  156. package/skills/cm-content-factory/sites/docs-site/src/assets/houston.webp +0 -0
  157. package/skills/cm-content-factory/sites/docs-site/src/content/docs/architecture.md +90 -0
  158. package/skills/cm-content-factory/sites/docs-site/src/content/docs/data-flow.md +54 -0
  159. package/skills/cm-content-factory/sites/docs-site/src/content/docs/deployment.md +38 -0
  160. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/index.md +65 -0
  161. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/lc-content-lifecycle.md +48 -0
  162. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/seq-write-mode.md +39 -0
  163. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/uj-first-batch.md +42 -0
  164. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/wf-content-pipeline.md +51 -0
  165. package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/wf-learning-cycle.md +52 -0
  166. package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/configuration.md +86 -0
  167. package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/installation.md +80 -0
  168. package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/intro.md +58 -0
  169. package/skills/cm-content-factory/sites/docs-site/src/content/docs/index.md +102 -0
  170. package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/index.md +45 -0
  171. package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/optimize-seo.md +29 -0
  172. package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/scale-content-production.md +55 -0
  173. package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/standardize-quality.md +29 -0
  174. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/buyer-cmo-huong.md +41 -0
  175. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/buyer-content-lead-khoa.md +40 -0
  176. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/index.md +56 -0
  177. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-content-manager-lan.md +46 -0
  178. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-seo-minh.md +45 -0
  179. package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-writer-tu.md +45 -0
  180. package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/content-pipeline.md +108 -0
  181. package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/index.md +22 -0
  182. package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/memory-system.md +52 -0
  183. package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/seo-optimization.md +58 -0
  184. package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/troubleshooting-guide.md +92 -0
  185. package/skills/cm-content-factory/sites/docs-site/src/styles/custom.css +575 -0
  186. package/skills/cm-content-factory/tests/conftest.py +66 -0
  187. package/skills/cm-content-factory/tests/test_agent_dispatcher.py +125 -0
  188. package/skills/cm-content-factory/tests/test_memory.py +128 -0
  189. package/skills/cm-content-factory/tests/test_pipeline.py +107 -0
  190. package/skills/cm-content-factory/tests/test_research.py +56 -0
  191. package/skills/cm-content-factory/tests/test_state_manager.py +131 -0
  192. package/skills/cm-content-factory/tests/test_token_manager.py +110 -0
  193. package/skills/cm-content-factory/tests/test_wizard.py +121 -0
  194. package/skills/cm-continuity/SKILL.md +7 -0
  195. package/skills/cm-cro-methodology/SKILL.md +290 -0
  196. package/skills/cm-dashboard/SKILL.md +7 -525
  197. package/skills/cm-debugging/SKILL.md +7 -116
  198. package/skills/cm-deep-search/SKILL.md +5 -1
  199. package/skills/cm-dockit/README.md +6 -15
  200. package/skills/cm-dockit/SKILL.md +20 -37
  201. package/skills/cm-execution/SKILL.md +6 -1
  202. package/skills/cm-frappe-agent/SKILL.md +134 -0
  203. package/skills/cm-frappe-agent/agents/doctype-architect.md +596 -0
  204. package/skills/cm-frappe-agent/agents/erpnext-customizer.md +643 -0
  205. package/skills/cm-frappe-agent/agents/frappe-backend.md +814 -0
  206. package/skills/cm-frappe-agent/agents/frappe-custom-frontend.md +557 -0
  207. package/skills/cm-frappe-agent/agents/frappe-debugger.md +625 -0
  208. package/skills/cm-frappe-agent/agents/frappe-fixer.md +275 -0
  209. package/skills/cm-frappe-agent/agents/frappe-frontend.md +660 -0
  210. package/skills/cm-frappe-agent/agents/frappe-installer.md +158 -0
  211. package/skills/cm-frappe-agent/agents/frappe-performance.md +307 -0
  212. package/skills/cm-frappe-agent/agents/frappe-planner.md +419 -0
  213. package/skills/cm-frappe-agent/agents/frappe-remote-ops.md +153 -0
  214. package/skills/cm-frappe-agent/agents/github-workflow.md +286 -0
  215. package/skills/cm-frappe-agent/commands/frappe-app.md +351 -0
  216. package/skills/cm-frappe-agent/commands/frappe-backend.md +162 -0
  217. package/skills/cm-frappe-agent/commands/frappe-bench.md +254 -0
  218. package/skills/cm-frappe-agent/commands/frappe-debug.md +263 -0
  219. package/skills/cm-frappe-agent/commands/frappe-doctype-create.md +272 -0
  220. package/skills/cm-frappe-agent/commands/frappe-doctype-field.md +310 -0
  221. package/skills/cm-frappe-agent/commands/frappe-erpnext.md +210 -0
  222. package/skills/cm-frappe-agent/commands/frappe-fix.md +59 -0
  223. package/skills/cm-frappe-agent/commands/frappe-frontend.md +210 -0
  224. package/skills/cm-frappe-agent/commands/frappe-fullstack.md +243 -0
  225. package/skills/cm-frappe-agent/commands/frappe-github.md +57 -0
  226. package/skills/cm-frappe-agent/commands/frappe-install.md +52 -0
  227. package/skills/cm-frappe-agent/commands/frappe-plan.md +442 -0
  228. package/skills/cm-frappe-agent/commands/frappe-remote.md +58 -0
  229. package/skills/cm-frappe-agent/commands/frappe-test.md +356 -0
  230. package/skills/cm-frappe-agent/docs/README.md +51 -0
  231. package/skills/cm-frappe-agent/docs/agents-catalog.md +113 -0
  232. package/skills/cm-frappe-agent/docs/architecture.md +149 -0
  233. package/skills/cm-frappe-agent/docs/commands-catalog.md +82 -0
  234. package/skills/cm-frappe-agent/docs/resources-catalog.md +66 -0
  235. package/skills/cm-frappe-agent/docs/sitemap-urls.txt +52 -0
  236. package/skills/cm-frappe-agent/docs/sitemap.md +81 -0
  237. package/skills/cm-frappe-agent/docs/sop/user-guide.md +178 -0
  238. package/skills/cm-frappe-agent/docs/sop/vibe-coding-guide.md +122 -0
  239. package/skills/cm-frappe-agent/resources/7-layer-architecture.md +985 -0
  240. package/skills/cm-frappe-agent/resources/bench_commands.md +73 -0
  241. package/skills/cm-frappe-agent/resources/code-patterns-guide.md +948 -0
  242. package/skills/cm-frappe-agent/resources/common_pitfalls.md +266 -0
  243. package/skills/cm-frappe-agent/resources/doctype-registry.md +158 -0
  244. package/skills/cm-frappe-agent/resources/installation-guide.md +289 -0
  245. package/skills/cm-frappe-agent/resources/rest-api-patterns.md +182 -0
  246. package/skills/cm-frappe-agent/resources/scaffold_checklist.md +82 -0
  247. package/skills/cm-frappe-agent/resources/upgrade_patterns.md +113 -0
  248. package/skills/cm-frappe-agent/resources/web-form-patterns.md +252 -0
  249. package/skills/cm-frappe-agent/skills/bench-commands/SKILL.md +621 -0
  250. package/skills/cm-frappe-agent/skills/client-scripts/SKILL.md +642 -0
  251. package/skills/cm-frappe-agent/skills/doctype-patterns/SKILL.md +576 -0
  252. package/skills/cm-frappe-agent/skills/frappe-api/SKILL.md +740 -0
  253. package/skills/cm-frappe-agent/skills/remote-operations/SKILL.md +47 -0
  254. package/skills/cm-frappe-agent/skills/server-scripts/SKILL.md +608 -0
  255. package/skills/cm-frappe-agent/skills/web-forms/SKILL.md +46 -0
  256. package/skills/cm-git-worktrees/SKILL.md +0 -7
  257. package/skills/cm-google-form/SKILL.md +266 -0
  258. package/skills/cm-google-form/templates/apps-script.js +55 -0
  259. package/skills/cm-google-form/templates/form-markup.html +110 -0
  260. package/skills/cm-google-form/templates/form-submit.js +201 -0
  261. package/skills/cm-google-form/templates/toast.css +152 -0
  262. package/skills/cm-growth-hacking/SKILL.md +293 -0
  263. package/skills/cm-growth-hacking/bottom-sheet-engine.md +261 -0
  264. package/skills/cm-growth-hacking/calendar-integration.md +264 -0
  265. package/skills/cm-growth-hacking/references/engagement-patterns.md +346 -0
  266. package/skills/cm-growth-hacking/templates/bottom-sheet.css +528 -0
  267. package/skills/cm-growth-hacking/templates/bottom-sheet.js +269 -0
  268. package/skills/cm-growth-hacking/templates/calendar-cta.js +213 -0
  269. package/skills/cm-growth-hacking/templates/tracking-events.js +211 -0
  270. package/skills/cm-growth-hacking/templates/trigger-manager.js +254 -0
  271. package/skills/cm-growth-hacking/tracking-events.md +246 -0
  272. package/skills/cm-growth-hacking/trigger-system.md +342 -0
  273. package/skills/cm-how-it-work/SKILL.md +20 -4
  274. package/skills/cm-identity-guard/SKILL.md +0 -11
  275. package/skills/cm-jtbd/SKILL.md +1 -1
  276. package/skills/cm-notebooklm/SKILL.md +172 -0
  277. package/skills/cm-notebooklm/references/command_reference.md +94 -0
  278. package/skills/cm-notebooklm/references/workflows.md +60 -0
  279. package/skills/cm-notebooklm/resources/knowledge_sources.md +106 -0
  280. package/skills/cm-notebooklm/scripts/brain-sync.sh +453 -0
  281. package/skills/cm-notebooklm/scripts/graduate_wisdom.py +101 -0
  282. package/skills/cm-planning/SKILL.md +39 -52
  283. package/skills/cm-project-bootstrap/SKILL.md +1308 -99
  284. package/skills/cm-quality-gate/SKILL.md +13 -106
  285. package/skills/cm-reactor/SKILL.md +274 -0
  286. package/skills/cm-safe-deploy/SKILL.md +415 -52
  287. package/skills/cm-safe-i18n/SKILL.md +1 -22
  288. package/skills/cm-secret-shield/SKILL.md +2 -2
  289. package/skills/cm-security-gate/SKILL.md +114 -0
  290. package/skills/cm-skill-chain/SKILL.md +2 -2
  291. package/skills/cm-skill-index/SKILL.md +9 -6
  292. package/skills/cm-skill-mastery/SKILL.md +2 -15
  293. package/skills/cm-start/SKILL.md +9 -0
  294. package/skills/cm-tdd/SKILL.md +16 -49
  295. package/skills/cm-ui-preview/SKILL.md +35 -173
  296. package/skills/cm-ux-master/FEATURES-v4.md +305 -0
  297. package/skills/cm-ux-master/README-ru.md +135 -0
  298. package/skills/cm-ux-master/README-vi.md +135 -0
  299. package/skills/cm-ux-master/README-zh.md +135 -0
  300. package/skills/cm-ux-master/README.md +489 -0
  301. package/skills/cm-ux-master/SKILL.md +773 -62
  302. package/skills/cm-ux-master/cli/README.md +180 -0
  303. package/skills/cm-ux-master/cli/pyproject.toml +106 -0
  304. package/skills/cm-ux-master/cli/requirements.txt +21 -0
  305. package/skills/cm-ux-master/cli/templates/base/skill-core.md +262 -0
  306. package/skills/cm-ux-master/cli/templates/platforms/claude.yaml +21 -0
  307. package/skills/cm-ux-master/cli/templates/platforms/cursor.yaml +21 -0
  308. package/skills/cm-ux-master/cli/templates/platforms/figma.yaml +24 -0
  309. package/skills/cm-ux-master/cli/templates/platforms/vscode-mcp.yaml +28 -0
  310. package/skills/cm-ux-master/cli/templates/platforms/windsurf.yaml +21 -0
  311. package/skills/cm-ux-master/cli/uxmaster/__init__.py +10 -0
  312. package/skills/cm-ux-master/cli/uxmaster/__main__.py +19 -0
  313. package/skills/cm-ux-master/cli/uxmaster/cli.py +349 -0
  314. package/skills/cm-ux-master/cli/uxmaster/commands/__init__.py +8 -0
  315. package/skills/cm-ux-master/cli/uxmaster/commands/extract.py +18 -0
  316. package/skills/cm-ux-master/cli/uxmaster/commands/init.py +58 -0
  317. package/skills/cm-ux-master/cli/uxmaster/commands/mcp.py +194 -0
  318. package/skills/cm-ux-master/cli/uxmaster/commands/search.py +23 -0
  319. package/skills/cm-ux-master/cli/uxmaster/commands/validate.py +270 -0
  320. package/skills/cm-ux-master/cli/uxmaster/search_engine.py +532 -0
  321. package/skills/cm-ux-master/cli/uxmaster/template_engine.py +458 -0
  322. package/skills/cm-ux-master/cli/uxmaster/utils/__init__.py +9 -0
  323. package/skills/cm-ux-master/cli/uxmaster/utils/console.py +42 -0
  324. package/skills/cm-ux-master/cli/uxmaster/utils/detect.py +83 -0
  325. package/skills/cm-ux-master/data/accessibility-advanced.csv +26 -0
  326. package/skills/cm-ux-master/data/animation.csv +31 -0
  327. package/skills/cm-ux-master/data/charts.csv +26 -0
  328. package/skills/cm-ux-master/data/colors.csv +97 -0
  329. package/skills/cm-ux-master/data/design-tests.csv +37 -0
  330. package/skills/cm-ux-master/data/devices.csv +21 -0
  331. package/skills/cm-ux-master/data/icons.csv +101 -0
  332. package/skills/cm-ux-master/data/landing.csv +31 -0
  333. package/skills/cm-ux-master/data/products.csv +97 -0
  334. package/skills/cm-ux-master/data/react-performance.csv +45 -0
  335. package/skills/cm-ux-master/data/responsive.csv +26 -0
  336. package/skills/cm-ux-master/data/semi-tokens.csv +52 -0
  337. package/skills/cm-ux-master/data/stacks/angular.csv +34 -0
  338. package/skills/cm-ux-master/data/stacks/astro.csv +54 -0
  339. package/skills/cm-ux-master/data/stacks/electron.csv +32 -0
  340. package/skills/cm-ux-master/data/stacks/flutter.csv +53 -0
  341. package/skills/cm-ux-master/data/stacks/html-tailwind.csv +56 -0
  342. package/skills/cm-ux-master/data/stacks/htmx.csv +28 -0
  343. package/skills/cm-ux-master/data/stacks/jetpack-compose.csv +53 -0
  344. package/skills/cm-ux-master/data/stacks/nextjs.csv +53 -0
  345. package/skills/cm-ux-master/data/stacks/nuxt-ui.csv +51 -0
  346. package/skills/cm-ux-master/data/stacks/nuxtjs.csv +59 -0
  347. package/skills/cm-ux-master/data/stacks/react-native.csv +52 -0
  348. package/skills/cm-ux-master/data/stacks/react.csv +54 -0
  349. package/skills/cm-ux-master/data/stacks/shadcn.csv +61 -0
  350. package/skills/cm-ux-master/data/stacks/svelte.csv +54 -0
  351. package/skills/cm-ux-master/data/stacks/swiftui.csv +51 -0
  352. package/skills/cm-ux-master/data/stacks/tauri.csv +29 -0
  353. package/skills/cm-ux-master/data/stacks/vue.csv +50 -0
  354. package/skills/cm-ux-master/data/styles.csv +68 -0
  355. package/skills/cm-ux-master/data/typography.csv +58 -0
  356. package/skills/cm-ux-master/data/ui-reasoning.csv +101 -0
  357. package/skills/cm-ux-master/data/ux-guidelines.csv +100 -0
  358. package/skills/cm-ux-master/data/ux-laws.csv +49 -0
  359. package/skills/cm-ux-master/data/web-interface.csv +31 -0
  360. package/skills/cm-ux-master/docs/LANDING-PAGE.html +377 -0
  361. package/skills/cm-ux-master/docs/README.md +108 -0
  362. package/skills/cm-ux-master/docs/css/styles.css +573 -0
  363. package/skills/cm-ux-master/docs/examples/demo-script.md +319 -0
  364. package/skills/cm-ux-master/docs/guides/for-designers.md +692 -0
  365. package/skills/cm-ux-master/docs/guides/for-developers.md +778 -0
  366. package/skills/cm-ux-master/docs/guides/for-product-managers.md +693 -0
  367. package/skills/cm-ux-master/docs/guides/react-guide-vi.md +50 -0
  368. package/skills/cm-ux-master/docs/index.html +1062 -0
  369. package/skills/cm-ux-master/docs/js/i18n.js +84 -0
  370. package/skills/cm-ux-master/docs/js/lang/de.js +145 -0
  371. package/skills/cm-ux-master/docs/js/lang/en.js +145 -0
  372. package/skills/cm-ux-master/docs/js/lang/fr.js +145 -0
  373. package/skills/cm-ux-master/docs/js/lang/hi.js +145 -0
  374. package/skills/cm-ux-master/docs/js/lang/id.js +145 -0
  375. package/skills/cm-ux-master/docs/js/lang/ja.js +145 -0
  376. package/skills/cm-ux-master/docs/js/lang/ko.js +145 -0
  377. package/skills/cm-ux-master/docs/js/lang/ru.js +145 -0
  378. package/skills/cm-ux-master/docs/js/lang/vi.js +145 -0
  379. package/skills/cm-ux-master/docs/js/lang/zh.js +145 -0
  380. package/skills/cm-ux-master/docs/js/main.js +117 -0
  381. package/skills/cm-ux-master/docs/plan/PHASE1-COMPLETION.md +217 -0
  382. package/skills/cm-ux-master/docs/plan/PHASE2-COMPLETION.md +199 -0
  383. package/skills/cm-ux-master/docs/plan/PHASE2-ENHANCED-COMPLETION.md +352 -0
  384. package/skills/cm-ux-master/docs/plan/PHASE3-VALIDATION-COMPLETION.md +499 -0
  385. package/skills/cm-ux-master/docs/plan/PHASE4-TESTING-POLISH-COMPLETION.md +483 -0
  386. package/skills/cm-ux-master/docs/plan/UXM-2.0-ROADMAP.md +681 -0
  387. package/skills/cm-ux-master/docs/plan/WOW-PITCH.md +410 -0
  388. package/skills/cm-ux-master/docs/technical/api-reference.md +824 -0
  389. package/skills/cm-ux-master/docs/technical/harvester-v4.md +328 -0
  390. package/skills/cm-ux-master/docs/technical/how-it-works.md +1128 -0
  391. package/skills/cm-ux-master/docs/tutorials/quickstart.md +339 -0
  392. package/skills/cm-ux-master/docs/tutorials/tutorials.md +939 -0
  393. package/skills/cm-ux-master/docs/tutorials/user-guide.md +716 -0
  394. package/skills/cm-ux-master/examples/README.md +63 -0
  395. package/skills/cm-ux-master/mcp/__init__.py +3 -0
  396. package/skills/cm-ux-master/mcp/integrations/__init__.py +11 -0
  397. package/skills/cm-ux-master/mcp/integrations/figma/__init__.py +6 -0
  398. package/skills/cm-ux-master/mcp/integrations/figma/client.py +293 -0
  399. package/skills/cm-ux-master/mcp/integrations/figma/plugin/code.js +561 -0
  400. package/skills/cm-ux-master/mcp/integrations/figma/plugin/ui.html +334 -0
  401. package/skills/cm-ux-master/mcp/integrations/stitch/__init__.py +5 -0
  402. package/skills/cm-ux-master/mcp/integrations/stitch/client.py +410 -0
  403. package/skills/cm-ux-master/mcp/integrations/vscode/package.json +167 -0
  404. package/skills/cm-ux-master/mcp/integrations/vscode/src/extension.ts +81 -0
  405. package/skills/cm-ux-master/mcp/mcp-config.json +274 -0
  406. package/skills/cm-ux-master/mcp/server.py +771 -0
  407. package/skills/cm-ux-master/mcp/tools/__init__.py +13 -0
  408. package/skills/cm-ux-master/mcp-server/server.py +595 -0
  409. package/skills/cm-ux-master/output/fila/FilaDashboard.tsx +47 -0
  410. package/skills/cm-ux-master/output/fila/components/badge/component.tsx +35 -0
  411. package/skills/cm-ux-master/output/fila/components/badge/index.ts +1 -0
  412. package/skills/cm-ux-master/output/fila/components/button/component.tsx +53 -0
  413. package/skills/cm-ux-master/output/fila/components/button/index.ts +1 -0
  414. package/skills/cm-ux-master/output/fila/components/card/component.tsx +35 -0
  415. package/skills/cm-ux-master/output/fila/components/card/index.ts +1 -0
  416. package/skills/cm-ux-master/output/fila/components/input/component.tsx +41 -0
  417. package/skills/cm-ux-master/output/fila/components/input/index.ts +1 -0
  418. package/skills/cm-ux-master/output/fila/design-system.css +151 -0
  419. package/skills/cm-ux-master/output/fila/design-system.html +1596 -0
  420. package/skills/cm-ux-master/output/fila/design-system.json +168 -0
  421. package/skills/cm-ux-master/output/fila/figma-tokens.json +523 -0
  422. package/skills/cm-ux-master/output/fila/harvest-v4-raw.json +406 -0
  423. package/skills/cm-ux-master/output/fila/semi-theme-override.css +95 -0
  424. package/skills/cm-ux-master/output/haravan/HaravanDashboard.tsx +103 -0
  425. package/skills/cm-ux-master/output/haravan/design-system-v3-live.html +2716 -0
  426. package/skills/cm-ux-master/output/haravan/design-system-v3.html +1770 -0
  427. package/skills/cm-ux-master/output/haravan/design-system.html +914 -0
  428. package/skills/cm-ux-master/output/haravan/figma-tokens.json +84 -0
  429. package/skills/cm-ux-master/output/haravan/haravan-harvest.json +33 -0
  430. package/skills/cm-ux-master/output/haravan/harvest-v3-raw.json +167 -0
  431. package/skills/cm-ux-master/output/haravan/semi-theme-override.css +39 -0
  432. package/skills/cm-ux-master/references/audit-template.md +257 -0
  433. package/skills/cm-ux-master/references/cultural-ux.md +346 -0
  434. package/skills/cm-ux-master/references/dark-patterns.md +362 -0
  435. package/skills/cm-ux-master/references/heuristic-conflicts.md +296 -0
  436. package/skills/cm-ux-master/references/krug-principles.md +289 -0
  437. package/skills/cm-ux-master/references/nielsen-heuristics.md +360 -0
  438. package/skills/cm-ux-master/references/wcag-checklist.md +306 -0
  439. package/skills/cm-ux-master/scripts/component_generator.py +631 -0
  440. package/skills/cm-ux-master/scripts/core.py +305 -0
  441. package/skills/cm-ux-master/scripts/demo_validation.py +452 -0
  442. package/skills/cm-ux-master/scripts/design_doc_generator.py +1325 -0
  443. package/skills/cm-ux-master/scripts/design_system.py +1141 -0
  444. package/skills/cm-ux-master/scripts/design_system_indexer.py +889 -0
  445. package/skills/cm-ux-master/scripts/extract_i18n.py +251 -0
  446. package/skills/cm-ux-master/scripts/extractor.py +1437 -0
  447. package/skills/cm-ux-master/scripts/figma_bridge.py +406 -0
  448. package/skills/cm-ux-master/scripts/generate.py +147 -0
  449. package/skills/cm-ux-master/scripts/harvest_session.py +207 -0
  450. package/skills/cm-ux-master/scripts/harvester.js +240 -0
  451. package/skills/cm-ux-master/scripts/harvester_browser.py +717 -0
  452. package/skills/cm-ux-master/scripts/harvester_cli.py +431 -0
  453. package/skills/cm-ux-master/scripts/harvester_v1.js +275 -0
  454. package/skills/cm-ux-master/scripts/harvester_v3.js +620 -0
  455. package/skills/cm-ux-master/scripts/harvester_v4.js +1003 -0
  456. package/skills/cm-ux-master/scripts/install.py +528 -0
  457. package/skills/cm-ux-master/scripts/license.py +81 -0
  458. package/skills/cm-ux-master/scripts/media/qrpayment.png +0 -0
  459. package/skills/cm-ux-master/scripts/pro_stubs.py +120 -0
  460. package/skills/cm-ux-master/scripts/project_registry.py +217 -0
  461. package/skills/cm-ux-master/scripts/search.py +114 -0
  462. package/skills/cm-ux-master/scripts/semi_mcp_bridge.py +425 -0
  463. package/skills/cm-ux-master/scripts/stitch_integration.py +583 -0
  464. package/skills/cm-ux-master/scripts/test_harvester_v4.py +335 -0
  465. package/skills/cm-ux-master/scripts/token_mapper.py +626 -0
  466. package/skills/cm-ux-master/scripts/validation_engine.py +1571 -0
  467. package/skills/cm-ux-master/scripts/wizard.py +653 -0
  468. package/skills/cm-ux-master/setup.py +93 -0
  469. package/skills/cm-ux-master/templates/base/flutter-widget.dart +69 -0
  470. package/skills/cm-ux-master/templates/base/html-page.html +152 -0
  471. package/skills/cm-ux-master/templates/base/react-component.tsx +47 -0
  472. package/skills/cm-ux-master/templates/base/swiftui-view.swift +62 -0
  473. package/skills/cm-ux-master/templates/quick-start.sh +176 -0
  474. package/skills/cm-ux-master/tests/automation/batch-validate.sh +250 -0
  475. package/skills/cm-ux-master/tests/automation/generate-test-projects.sh +561 -0
  476. package/skills/cm-ux-master/tests/automation/run-all-tests.sh +315 -0
  477. package/skills/cm-ux-master/tests/test_design_doc.py +145 -0
  478. package/skills/cm-ux-master/tests/test_devices.py +74 -0
  479. package/skills/cm-ux-master/tests/test_generator.py +116 -0
  480. package/skills/cm-ux-master/tests/test_harvest_session.py +131 -0
  481. package/skills/cm-ux-master/tests/test_harvester.py +127 -0
  482. package/skills/cm-ux-master/tests/test_harvester_v3.py +324 -0
  483. package/skills/cm-ux-master/tests/test_mcp_server.py +496 -0
  484. package/skills/cm-ux-master/tests/test_new_domains.py +108 -0
  485. package/skills/cm-ux-master/tests/test_new_stacks.py +103 -0
  486. package/skills/cm-ux-master/tests/test_project_registry.py +146 -0
  487. package/skills/cm-ux-master/tests/test_semi_mcp_bridge.py +207 -0
  488. package/skills/cm-ux-master/tests/test_token_mapper.py +247 -0
  489. package/skills/cm-ux-master/tests/test_validation_engine.py +617 -0
  490. package/skills/config.schema.json +397 -0
  491. package/skills/frappe-app-builder.zip +0 -0
  492. package/skills/jobs-to-be-done/SKILL.md +266 -0
  493. package/skills/jobs-to-be-done/references/case-studies.md +154 -0
  494. package/skills/jobs-to-be-done/references/competitive-strategy.md +280 -0
  495. package/skills/jobs-to-be-done/references/diagnostics.md +158 -0
  496. package/skills/jobs-to-be-done/references/innovation-process.md +392 -0
  497. package/skills/jobs-to-be-done/references/organizational-change.md +328 -0
  498. package/skills/marketplace-report-crawler/SKILL.md +176 -0
  499. package/skills/marketplace-report-crawler/config/accounts.json +41 -0
  500. package/skills/marketplace-report-crawler/config/report-types.json +422 -0
  501. package/skills/marketplace-report-crawler/config/sessions.json +3 -0
  502. package/skills/marketplace-report-crawler/scripts/ab-wrapper.sh +102 -0
  503. package/skills/marketplace-report-crawler/scripts/browser-actions/lazada/lazada-actions.js +114 -0
  504. package/skills/marketplace-report-crawler/scripts/browser-actions/shopee/shopee-actions.js +94 -0
  505. package/skills/marketplace-report-crawler/scripts/browser-actions/tiktok/tiktok-actions.js +272 -0
  506. package/skills/marketplace-report-crawler/scripts/crawl-runner.js +281 -0
  507. package/skills/marketplace-report-crawler/scripts/session-check.sh +72 -0
  508. package/skills/marketplace-report-crawler/scripts/session-manager.sh +349 -0
  509. package/skills/marketplace-report-crawler/scripts/setup-folders.sh +83 -0
  510. package/skills/medical-research/SKILL.md +194 -0
  511. package/skills/medical-research/scripts/evidence_checker.py +288 -0
  512. package/skills/mom-test/SKILL.md +267 -0
  513. package/skills/mom-test/references/avoiding-bad-data.md +221 -0
  514. package/skills/mom-test/references/case-studies.md +306 -0
  515. package/skills/mom-test/references/commitment-advancement.md +219 -0
  516. package/skills/mom-test/references/finding-conversations.md +251 -0
  517. package/skills/mom-test/references/processing-learning.md +256 -0
  518. package/skills/mom-test/references/question-patterns.md +198 -0
  519. package/skills/pandasai-analytics/SKILL.md +251 -0
  520. package/skills/release-it/SKILL.md +235 -0
  521. package/skills/release-it/references/anti-patterns.md +279 -0
  522. package/skills/release-it/references/capacity-planning.md +285 -0
  523. package/skills/release-it/references/chaos-engineering.md +325 -0
  524. package/skills/release-it/references/deployment-strategies.md +331 -0
  525. package/skills/release-it/references/observability.md +301 -0
  526. package/skills/release-it/references/stability-patterns.md +355 -0
  527. package/skills/scripts/sync-ide-skills.sh +61 -0
  528. package/skills/skill-creator-ultra/.agents/workflows/skill-audit.md +37 -0
  529. package/skills/skill-creator-ultra/.agents/workflows/skill-compare.md +34 -0
  530. package/skills/skill-creator-ultra/.agents/workflows/skill-export.md +51 -0
  531. package/skills/skill-creator-ultra/.agents/workflows/skill-generate.md +39 -0
  532. package/skills/skill-creator-ultra/.agents/workflows/skill-scaffold.md +52 -0
  533. package/skills/skill-creator-ultra/.agents/workflows/skill-simulate.md +25 -0
  534. package/skills/skill-creator-ultra/.agents/workflows/skill-stats.md +31 -0
  535. package/skills/skill-creator-ultra/.agents/workflows/skill-validate.md +25 -0
  536. package/skills/skill-creator-ultra/README.md +1242 -0
  537. package/skills/skill-creator-ultra/SKILL.md +388 -0
  538. package/skills/skill-creator-ultra/agents/analyzer.md +274 -0
  539. package/skills/skill-creator-ultra/agents/comparator.md +202 -0
  540. package/skills/skill-creator-ultra/agents/grader.md +223 -0
  541. package/skills/skill-creator-ultra/assets/eval_review.html +146 -0
  542. package/skills/skill-creator-ultra/eval-viewer/generate_review.py +471 -0
  543. package/skills/skill-creator-ultra/eval-viewer/viewer.html +1325 -0
  544. package/skills/skill-creator-ultra/examples/example_anthropic_frontend.md +109 -0
  545. package/skills/skill-creator-ultra/examples/example_anthropic_pdf.md +116 -0
  546. package/skills/skill-creator-ultra/examples/example_api_docs.md +189 -0
  547. package/skills/skill-creator-ultra/examples/example_db_migration.md +253 -0
  548. package/skills/skill-creator-ultra/examples/example_git_commit.md +111 -0
  549. package/skills/skill-creator-ultra/install.ps1 +289 -0
  550. package/skills/skill-creator-ultra/install.sh +313 -0
  551. package/skills/skill-creator-ultra/phases/phase1_interview.md +202 -0
  552. package/skills/skill-creator-ultra/phases/phase2_extract.md +55 -0
  553. package/skills/skill-creator-ultra/phases/phase3_detect.md +57 -0
  554. package/skills/skill-creator-ultra/phases/phase4_generate.md +543 -0
  555. package/skills/skill-creator-ultra/phases/phase5_test.md +319 -0
  556. package/skills/skill-creator-ultra/phases/phase6_eval.md +301 -0
  557. package/skills/skill-creator-ultra/phases/phase7_iterate.md +103 -0
  558. package/skills/skill-creator-ultra/phases/phase8_optimize.md +113 -0
  559. package/skills/skill-creator-ultra/resources/advanced_patterns.md +499 -0
  560. package/skills/skill-creator-ultra/resources/anti_patterns.md +376 -0
  561. package/skills/skill-creator-ultra/resources/blueprints.md +498 -0
  562. package/skills/skill-creator-ultra/resources/checklist.md +243 -0
  563. package/skills/skill-creator-ultra/resources/composition_cookbook.md +291 -0
  564. package/skills/skill-creator-ultra/resources/description_optimization.md +90 -0
  565. package/skills/skill-creator-ultra/resources/eval_guide.md +133 -0
  566. package/skills/skill-creator-ultra/resources/industry_questions.md +189 -0
  567. package/skills/skill-creator-ultra/resources/interview_questions.md +200 -0
  568. package/skills/skill-creator-ultra/resources/pattern_detection.md +200 -0
  569. package/skills/skill-creator-ultra/resources/prompt_engineering.md +531 -0
  570. package/skills/skill-creator-ultra/resources/schemas.md +430 -0
  571. package/skills/skill-creator-ultra/resources/script_integration.md +593 -0
  572. package/skills/skill-creator-ultra/resources/scripts_guide.md +339 -0
  573. package/skills/skill-creator-ultra/resources/skill_template.md +124 -0
  574. package/skills/skill-creator-ultra/resources/skill_writing_guide.md +634 -0
  575. package/skills/skill-creator-ultra/resources/versioning_guide.md +193 -0
  576. package/skills/skill-creator-ultra/scripts/ci_eval.py +200 -0
  577. package/skills/skill-creator-ultra/scripts/package_skill.py +165 -0
  578. package/skills/skill-creator-ultra/scripts/simulate_skill.py +398 -0
  579. package/skills/skill-creator-ultra/scripts/skill_audit.py +611 -0
  580. package/skills/skill-creator-ultra/scripts/skill_compare.py +265 -0
  581. package/skills/skill-creator-ultra/scripts/skill_export.py +334 -0
  582. package/skills/skill-creator-ultra/scripts/skill_scaffold.py +403 -0
  583. package/skills/skill-creator-ultra/scripts/skill_stats.py +339 -0
  584. package/skills/skill-creator-ultra/scripts/validate_skill.py +411 -0
  585. package/skills/tailwind-mastery/SKILL.md +229 -0
  586. package/skills/vercel-react-best-practices/AGENTS.md +3373 -0
  587. package/skills/vercel-react-best-practices/README.md +123 -0
  588. package/skills/vercel-react-best-practices/SKILL.md +143 -0
  589. package/skills/vercel-react-best-practices/rules/_sections.md +46 -0
  590. package/skills/vercel-react-best-practices/rules/_template.md +28 -0
  591. package/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  592. package/skills/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
  593. package/skills/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
  594. package/skills/vercel-react-best-practices/rules/async-api-routes.md +38 -0
  595. package/skills/vercel-react-best-practices/rules/async-defer-await.md +80 -0
  596. package/skills/vercel-react-best-practices/rules/async-dependencies.md +51 -0
  597. package/skills/vercel-react-best-practices/rules/async-parallel.md +28 -0
  598. package/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
  599. package/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +59 -0
  600. package/skills/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
  601. package/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
  602. package/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  603. package/skills/vercel-react-best-practices/rules/bundle-preload.md +50 -0
  604. package/skills/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
  605. package/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
  606. package/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
  607. package/skills/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
  608. package/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
  609. package/skills/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
  610. package/skills/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
  611. package/skills/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
  612. package/skills/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
  613. package/skills/vercel-react-best-practices/rules/js-early-exit.md +50 -0
  614. package/skills/vercel-react-best-practices/rules/js-flatmap-filter.md +60 -0
  615. package/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
  616. package/skills/vercel-react-best-practices/rules/js-index-maps.md +37 -0
  617. package/skills/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
  618. package/skills/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
  619. package/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
  620. package/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
  621. package/skills/vercel-react-best-practices/rules/rendering-activity.md +26 -0
  622. package/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  623. package/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
  624. package/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
  625. package/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  626. package/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  627. package/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
  628. package/skills/vercel-react-best-practices/rules/rendering-resource-hints.md +85 -0
  629. package/skills/vercel-react-best-practices/rules/rendering-script-defer-async.md +68 -0
  630. package/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
  631. package/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
  632. package/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
  633. package/skills/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
  634. package/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
  635. package/skills/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
  636. package/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
  637. package/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  638. package/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
  639. package/skills/vercel-react-best-practices/rules/rerender-memo.md +44 -0
  640. package/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
  641. package/skills/vercel-react-best-practices/rules/rerender-no-inline-components.md +82 -0
  642. package/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
  643. package/skills/vercel-react-best-practices/rules/rerender-split-combined-hooks.md +64 -0
  644. package/skills/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
  645. package/skills/vercel-react-best-practices/rules/rerender-use-deferred-value.md +59 -0
  646. package/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
  647. package/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
  648. package/skills/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
  649. package/skills/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
  650. package/skills/vercel-react-best-practices/rules/server-cache-react.md +76 -0
  651. package/skills/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
  652. package/skills/vercel-react-best-practices/rules/server-hoist-static-io.md +142 -0
  653. package/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
  654. package/skills/vercel-react-best-practices/rules/server-serialization.md +38 -0
  655. package/skills/web-design-guidelines/SKILL.md +39 -0
  656. package/skills/cro-methodology/SKILL.md +0 -98
  657. /package/skills/{cro-methodology → cm-cro-methodology}/references/COPYWRITING.md +0 -0
  658. /package/skills/{cro-methodology → cm-cro-methodology}/references/OBJECTIONS.md +0 -0
  659. /package/skills/{cro-methodology → cm-cro-methodology}/references/PERSUASION.md +0 -0
  660. /package/skills/{cro-methodology → cm-cro-methodology}/references/RESEARCH.md +0 -0
  661. /package/skills/{cro-methodology → cm-cro-methodology}/references/funnel-analysis.md +0 -0
  662. /package/skills/{cro-methodology → cm-cro-methodology}/references/testing-methodology.md +0 -0
@@ -0,0 +1,939 @@
1
+ # UX-Master Tutorials
2
+
3
+ Step-by-step tutorials for common UX-Master workflows.
4
+
5
+ ---
6
+
7
+ ## Tutorial 1: Your First Validation
8
+
9
+ Learn to validate a design against UX best practices.
10
+
11
+ ### Time: 5 minutes
12
+
13
+ ### Prerequisites
14
+
15
+ - UX-Master CLI installed
16
+ - Sample HTML file (or use example below)
17
+
18
+ ### Step 1: Create Sample HTML
19
+
20
+ ```bash
21
+ cat > sample.html << 'EOF'
22
+ <!DOCTYPE html>
23
+ <html>
24
+ <head>
25
+ <style>
26
+ body { font-family: Arial; padding: 20px; }
27
+ h1 { font-size: 32px; }
28
+ .btn {
29
+ background: #0066FF;
30
+ color: white;
31
+ padding: 8px 16px;
32
+ border: none;
33
+ font-size: 14px;
34
+ }
35
+ .small-btn {
36
+ padding: 4px 8px;
37
+ font-size: 12px;
38
+ }
39
+ </style>
40
+ </head>
41
+ <body>
42
+ <h1>Welcome</h1>
43
+ <button class="btn">Get Started</button>
44
+ <button class="btn small-btn">Small</button>
45
+ </body>
46
+ </html>
47
+ EOF
48
+ ```
49
+
50
+ ### Step 2: Run Validation
51
+
52
+ ```bash
53
+ uxm validate sample.html --suite mobile
54
+ ```
55
+
56
+ ### Step 3: Review Results
57
+
58
+ You'll see output like:
59
+
60
+ ```
61
+ Score: 75/100
62
+ Passed: 5/7 tests
63
+
64
+ Failed Tests:
65
+ ⚠ DT-MOB-001: Fitts's Law - Touch Target Size
66
+ Issue: Small button (32px) below minimum
67
+ Fix: Increase to at least 44px height
68
+ ```
69
+
70
+ ### Step 4: Fix Issues
71
+
72
+ Edit `sample.html`:
73
+
74
+ ```css
75
+ .small-btn {
76
+ padding: 12px 20px; /* Increased from 4px 8px */
77
+ font-size: 12px;
78
+ min-height: 44px; /* Added minimum height */
79
+ }
80
+ ```
81
+
82
+ ### Step 5: Re-validate
83
+
84
+ ```bash
85
+ uxm validate sample.html --suite mobile
86
+ ```
87
+
88
+ **Expected:** Score improves to 90+
89
+
90
+ ### What You Learned
91
+
92
+ - ✅ How to validate HTML files
93
+ - ✅ Reading validation results
94
+ - ✅ Fixing common issues
95
+ - ✅ Re-validation workflow
96
+
97
+ ---
98
+
99
+ ## Tutorial 2: Design System Generation
100
+
101
+ Create a complete design system from a description.
102
+
103
+ ### Time: 10 minutes
104
+
105
+ ### Step 1: Describe Your Project
106
+
107
+ ```bash
108
+ uxm search "modern healthcare app with calming colors and accessibility focus" \
109
+ --design-system \
110
+ --project-name HealthApp
111
+ ```
112
+
113
+ ### Step 2: Review Output
114
+
115
+ You'll see:
116
+
117
+ ```
118
+ Generated Design System: HealthApp
119
+
120
+ Colors:
121
+ Primary: #00A3B4 (Calm teal)
122
+ Secondary: #4ECDC4 (Soft cyan)
123
+ Success: #10B981
124
+ Warning: #F59E0B
125
+ Danger: #EF4444
126
+
127
+ Typography:
128
+ Font: Inter, system-ui
129
+ Scale: 12px, 14px, 16px, 20px, 24px, 32px
130
+
131
+ UX Laws Applied:
132
+ ✓ Color Psychology: Calming blues for healthcare
133
+ ✓ WCAG AA: High contrast text
134
+ ✓ Touch Targets: 48px minimum
135
+ ```
136
+
137
+ ### Step 3: Save to File
138
+
139
+ ```bash
140
+ uxm search "modern healthcare app" \
141
+ --design-system \
142
+ --project-name HealthApp \
143
+ --format markdown \
144
+ --output healthapp-design-system.md
145
+ ```
146
+
147
+ ### Step 4: View the File
148
+
149
+ ```bash
150
+ cat healthapp-design-system.md
151
+ ```
152
+
153
+ You'll see a complete design system document:
154
+
155
+ ```markdown
156
+ # HealthApp Design System
157
+
158
+ ## Color Palette
159
+
160
+ ### Brand Colors
161
+ | Token | Hex | Usage |
162
+ |-------|-----|-------|
163
+ | Primary | #00A3B4 | CTAs, links |
164
+ | Secondary | #4ECDC4 | Secondary actions |
165
+
166
+ ### Semantic Colors
167
+ | Token | Hex | Usage |
168
+ |-------|-----|-------|
169
+ | Success | #10B981 | Confirmations |
170
+ | Warning | #F59E0B | Cautions |
171
+ | Danger | #EF4444 | Errors |
172
+
173
+ ## Typography
174
+
175
+ ### Font Stack
176
+ ```
177
+ --font-family: Inter, -apple-system, BlinkMacSystemFont, sans-serif;
178
+ ```
179
+
180
+ ### Type Scale
181
+ | Level | Size | Weight | Usage |
182
+ |-------|------|--------|-------|
183
+ | H1 | 32px | 700 | Page titles |
184
+ | H2 | 24px | 600 | Section headers |
185
+ | Body | 16px | 400 | Body text |
186
+
187
+ ## Spacing
188
+
189
+ ### Base Unit
190
+ ```
191
+ --spacing-unit: 4px;
192
+ ```
193
+
194
+ ### Scale
195
+ - xs: 4px
196
+ - sm: 8px
197
+ - md: 16px
198
+ - lg: 24px
199
+ - xl: 32px
200
+
201
+ ## UX Guidelines
202
+
203
+ ### Applied Laws
204
+ 1. **Fitts's Law**: 48px touch targets
205
+ 2. **Color Psychology**: Calming palette for healthcare
206
+ 3. **Contrast**: WCAG AA compliant
207
+ ```
208
+
209
+ ### Step 5: Export to CSS
210
+
211
+ ```bash
212
+ uxm search "modern healthcare app" \
213
+ --design-system \
214
+ --format json \
215
+ --output healthapp-tokens.json
216
+ ```
217
+
218
+ Now you have tokens ready for development!
219
+
220
+ ### What You Learned
221
+
222
+ - ✅ Generating design systems from text
223
+ - ✅ Understanding AI-generated tokens
224
+ - ✅ Exporting to different formats
225
+ - ✅ Creating design documentation
226
+
227
+ ---
228
+
229
+ ## Tutorial 3: Website Analysis
230
+
231
+ Extract and analyze design tokens from any website.
232
+
233
+ ### Time: 15 minutes
234
+
235
+ ### Step 1: Choose a Website
236
+
237
+ Let's analyze Stripe.com:
238
+
239
+ ```bash
240
+ uxm extract https://stripe.com \
241
+ --output stripe-analysis.json \
242
+ --format json
243
+ ```
244
+
245
+ ### Step 2: Wait for Extraction
246
+
247
+ The harvester will:
248
+ 1. Load the website
249
+ 2. Extract colors, typography, spacing
250
+ 3. Detect components
251
+ 4. Analyze accessibility
252
+
253
+ **Note:** This takes 10-30 seconds
254
+
255
+ ### Step 3: Review Extraction
256
+
257
+ ```bash
258
+ cat stripe-analysis.json | jq '.visualAnalysis.colors.semantic'
259
+ ```
260
+
261
+ You'll see:
262
+
263
+ ```json
264
+ {
265
+ "primary": {
266
+ "base": "#635BFF",
267
+ "psychology": {
268
+ "h": 244,
269
+ "emotion": "professional, reliable",
270
+ "useCase": "primary actions, corporate"
271
+ }
272
+ },
273
+ "success": {
274
+ "base": "#00D4AA"
275
+ }
276
+ }
277
+ ```
278
+
279
+ ### Step 4: Validate Extracted Design
280
+
281
+ ```bash
282
+ uxm validate stripe-analysis.json --suite all --format html --output stripe-report.html
283
+ ```
284
+
285
+ ### Step 5: Open Report
286
+
287
+ ```bash
288
+ open stripe-report.html # macOS
289
+ # OR
290
+ xdg-open stripe-report.html # Linux
291
+ ```
292
+
293
+ You'll see a visual report with:
294
+ - Overall score
295
+ - Color palette
296
+ - Typography analysis
297
+ - Failed tests
298
+ - Recommendations
299
+
300
+ ### Step 6: Compare with Your Design
301
+
302
+ ```bash
303
+ # Extract your design
304
+ uxm extract https://your-site.com --output your-site.json
305
+
306
+ # Validate both
307
+ uxm validate stripe-analysis.json --suite all --format json --output stripe-val.json
308
+ uxm validate your-site.json --suite all --format json --output your-val.json
309
+
310
+ # Compare scores
311
+ echo "Stripe: $(cat stripe-val.json | jq '.score')"
312
+ echo "Yours: $(cat your-val.json | jq '.score')"
313
+ ```
314
+
315
+ ### What You Learned
316
+
317
+ - ✅ Extracting design tokens from websites
318
+ - ✅ Understanding harvester output
319
+ - ✅ Validating extracted designs
320
+ - ✅ Competitive analysis
321
+
322
+ ---
323
+
324
+ ## Tutorial 4: Figma Plugin Workflow
325
+
326
+ Use UX-Master directly in Figma.
327
+
328
+ ### Time: 10 minutes
329
+
330
+ ### Prerequisites
331
+
332
+ - Figma Desktop installed
333
+ - UX-Master plugin imported
334
+ - MCP server running
335
+
336
+ ### Step 1: Start MCP Server
337
+
338
+ ```bash
339
+ uxm mcp start
340
+ ```
341
+
342
+ ### Step 2: Create Test Frame in Figma
343
+
344
+ 1. Open Figma
345
+ 2. Create new file
346
+ 3. Draw a frame (Frame 1)
347
+ 4. Add elements:
348
+ - Heading (H1, 32px)
349
+ - Button (80x32px - intentionally small!)
350
+ - Input field
351
+
352
+ ### Step 3: Open UX-Master Plugin
353
+
354
+ 1. Select Frame 1
355
+ 2. Plugins → Development → UX-Master
356
+ 3. Plugin opens
357
+
358
+ ### Step 4: Generate Design System
359
+
360
+ 1. Click **✨ Generate** tab
361
+ 2. Type: "Fintech dashboard with dark mode"
362
+ 3. Click **✨ Generate Magic**
363
+ 4. Wait 2-3 seconds
364
+ 5. Review generated:
365
+ - Color palette
366
+ - Typography scale
367
+ - Applied UX Laws
368
+
369
+ ### Step 5: Apply to Figma
370
+
371
+ 1. Click **🎨 Apply to Figma**
372
+ 2. Check Figma Variables panel
373
+ 3. See new "UX-Master" collection with:
374
+ - Color variables
375
+ - Spacing variables
376
+
377
+ ### Step 6: Validate Your Design
378
+
379
+ 1. Click **✓ Validate** tab
380
+ 2. Select **Test Suite: Mobile**
381
+ 3. Click **Run Validation**
382
+ 4. Review results:
383
+
384
+ ```
385
+ Score: 65/100
386
+
387
+ ⚠ Issues Found:
388
+ Critical (1):
389
+ Fitts's Law: Button is 32px (should be 44px)
390
+
391
+ High (1):
392
+ Input Label: Missing label on input
393
+ ```
394
+
395
+ ### Step 7: Fix in Figma
396
+
397
+ 1. Resize button to 100x48px
398
+ 2. Add label above input
399
+ 3. Re-run validation
400
+ 4. Score should improve to 85+
401
+
402
+ ### What You Learned
403
+
404
+ - ✅ Using Figma plugin
405
+ - ✅ Generating design systems visually
406
+ - ✅ Real-time validation
407
+ - ✅ Applying tokens to Figma
408
+
409
+ ---
410
+
411
+ ## Tutorial 5: Component Library Validation
412
+
413
+ Validate a component library against best practices.
414
+
415
+ ### Time: 20 minutes
416
+
417
+ ### Step 1: Create Component Files
418
+
419
+ ```bash
420
+ mkdir component-library
421
+ cd component-library
422
+ ```
423
+
424
+ Create button component:
425
+
426
+ ```bash
427
+ cat > button.json << 'EOF'
428
+ {
429
+ "type": "button",
430
+ "variants": ["primary", "secondary", "ghost"],
431
+ "sizes": ["sm", "md", "lg"],
432
+ "states": ["default", "hover", "active", "disabled"],
433
+ "tokens": {
434
+ "height": {
435
+ "sm": 32,
436
+ "md": 40,
437
+ "lg": 48
438
+ },
439
+ "padding": {
440
+ "sm": "8px 12px",
441
+ "md": "12px 20px",
442
+ "lg": "16px 24px"
443
+ }
444
+ }
445
+ }
446
+ EOF
447
+ ```
448
+
449
+ Create input component:
450
+
451
+ ```bash
452
+ cat > input.json << 'EOF'
453
+ {
454
+ "type": "input",
455
+ "variants": ["text", "password", "email", "number"],
456
+ "states": ["default", "focus", "error", "disabled"],
457
+ "tokens": {
458
+ "height": 40,
459
+ "borderRadius": 6
460
+ }
461
+ }
462
+ EOF
463
+ ```
464
+
465
+ ### Step 2: Validate Each Component
466
+
467
+ ```bash
468
+ # Validate button
469
+ uxm validate button.json --component button --format json --output button-report.json
470
+
471
+ # Validate input
472
+ uxm validate input.json --component input --format json --output input-report.json
473
+ ```
474
+
475
+ ### Step 3: Review Results
476
+
477
+ ```bash
478
+ echo "Button Score: $(cat button-report.json | jq '.score')"
479
+ echo "Input Score: $(cat input-report.json | jq '.score')"
480
+ ```
481
+
482
+ ### Step 4: Create Validation Report
483
+
484
+ ```bash
485
+ cat > library-report.md << 'EOF'
486
+ # Component Library Validation Report
487
+
488
+ ## Summary
489
+ Generated: $(date)
490
+
491
+ ## Button Component
492
+ EOF
493
+
494
+ cat button-report.json | jq -r '"Score: \(.score)/100"' >> library-report.md
495
+ cat button-report.json | jq -r '"Passed: \(.passed)/\(.total)"' >> library-report.md
496
+
497
+ echo "" >> library-report.md
498
+ echo "## Input Component" >> library-report.md
499
+ cat input-report.json | jq -r '"Score: \(.score)/100"' >> library-report.md
500
+ cat input-report.json | jq -r '"Passed: \(.passed)/\(.total)"' >> library-report.md
501
+ ```
502
+
503
+ ### Step 5: Fix Issues
504
+
505
+ Button fix:
506
+
507
+ ```bash
508
+ cat > button.json << 'EOF'
509
+ {
510
+ "type": "button",
511
+ "variants": ["primary", "secondary", "ghost"],
512
+ "sizes": ["sm", "md", "lg"],
513
+ "states": ["default", "hover", "active", "disabled"],
514
+ "tokens": {
515
+ "height": {
516
+ "sm": 36, // Increased from 32
517
+ "md": 44, // Increased from 40
518
+ "lg": 52 // Increased from 48
519
+ }
520
+ }
521
+ }
522
+ EOF
523
+ ```
524
+
525
+ ### Step 6: Re-validate
526
+
527
+ ```bash
528
+ uxm validate button.json --component button --format json --output button-report-v2.json
529
+ echo "New Button Score: $(cat button-report-v2.json | jq '.score')"
530
+ ```
531
+
532
+ ### What You Learned
533
+
534
+ - ✅ Component-level validation
535
+ - ✅ Batch validation
536
+ - ✅ Creating validation reports
537
+ - ✅ Iterative improvement
538
+
539
+ ---
540
+
541
+ ## Tutorial 6: CI/CD Integration
542
+
543
+ Add UX validation to your deployment pipeline.
544
+
545
+ ### Time: 15 minutes
546
+
547
+ ### Prerequisites
548
+
549
+ - GitHub repository
550
+ - Basic GitHub Actions knowledge
551
+
552
+ ### Step 1: Create Workflow File
553
+
554
+ ```bash
555
+ mkdir -p .github/workflows
556
+ cat > .github/workflows/ux-validation.yml << 'EOF'
557
+ name: UX Validation
558
+
559
+ on:
560
+ push:
561
+ branches: [main, develop]
562
+ pull_request:
563
+ branches: [main]
564
+
565
+ jobs:
566
+ validate:
567
+ runs-on: ubuntu-latest
568
+
569
+ steps:
570
+ - name: Checkout code
571
+ uses: actions/checkout@v3
572
+
573
+ - name: Setup Python
574
+ uses: actions/setup-python@v4
575
+ with:
576
+ python-version: '3.10'
577
+
578
+ - name: Install UX-Master
579
+ run: pip install uxmaster-cli
580
+
581
+ - name: Validate Design Tokens
582
+ run: |
583
+ uxm validate design-tokens.json --suite all \
584
+ --format json --output validation-report.json
585
+
586
+ - name: Check Validation Score
587
+ run: |
588
+ SCORE=$(cat validation-report.json | jq '.score')
589
+ echo "Validation Score: $SCORE"
590
+
591
+ if (( $(echo "$SCORE < 75" | bc -l) )); then
592
+ echo "❌ Validation score $SCORE is below threshold (75)"
593
+ exit 1
594
+ fi
595
+
596
+ echo "✅ Validation passed with score $SCORE"
597
+
598
+ - name: Upload Report
599
+ if: always()
600
+ uses: actions/upload-artifact@v3
601
+ with:
602
+ name: ux-validation-report
603
+ path: validation-report.json
604
+
605
+ - name: Comment PR
606
+ if: github.event_name == 'pull_request'
607
+ uses: actions/github-script@v6
608
+ with:
609
+ script: |
610
+ const fs = require('fs');
611
+ const report = JSON.parse(fs.readFileSync('validation-report.json'));
612
+
613
+ const body = `## 🎨 UX Validation Report
614
+
615
+ **Score:** ${report.score.toFixed(1)}/100
616
+
617
+ **Results:**
618
+ - ✅ Passed: ${report.passed}
619
+ - ❌ Failed: ${report.failed}
620
+
621
+ ${report.failed > 0 ? '⚠️ Please review failed tests before merging.' : '✅ All tests passed!'}
622
+ `;
623
+
624
+ github.rest.issues.createComment({
625
+ issue_number: context.issue.number,
626
+ owner: context.repo.owner,
627
+ repo: context.repo.repo,
628
+ body: body
629
+ });
630
+ EOF
631
+ ```
632
+
633
+ ### Step 2: Create Sample Tokens
634
+
635
+ ```bash
636
+ cat > design-tokens.json << 'EOF'
637
+ {
638
+ "visualAnalysis": {
639
+ "colors": {
640
+ "semantic": {
641
+ "primary": {"base": "#0064FA"},
642
+ "success": {"base": "#10B981"},
643
+ "warning": {"base": "#F59E0B"},
644
+ "danger": {"base": "#EF4444"}
645
+ },
646
+ "neutrals": {
647
+ "50": "#F9FAFB", "100": "#F3F4F6", "200": "#E5E7EB",
648
+ "300": "#D1D5DB", "400": "#9CA3AF", "500": "#6B7280",
649
+ "600": "#4B5563", "700": "#374151", "800": "#1F2937", "900": "#111827"
650
+ }
651
+ },
652
+ "typography": {
653
+ "hierarchy": {
654
+ "h1": {"size": "32px", "weight": "700"},
655
+ "h2": {"size": "24px", "weight": "600"},
656
+ "h3": {"size": "20px", "weight": "600"}
657
+ }
658
+ },
659
+ "spacing": {
660
+ "scale": [4, 8, 12, 16, 20, 24, 32]
661
+ }
662
+ },
663
+ "components": {
664
+ "blueprints": {
665
+ "button": {
666
+ "representative": {
667
+ "dimensions": {"width": 100, "height": 44}
668
+ }
669
+ }
670
+ }
671
+ },
672
+ "quality": {
673
+ "accessibility": {
674
+ "contrastIssues": []
675
+ }
676
+ }
677
+ }
678
+ EOF
679
+ ```
680
+
681
+ ### Step 3: Commit and Push
682
+
683
+ ```bash
684
+ git add .
685
+ git commit -m "Add UX validation to CI"
686
+ git push origin main
687
+ ```
688
+
689
+ ### Step 4: Check Action Results
690
+
691
+ 1. Go to GitHub → Actions
692
+ 2. See "UX Validation" workflow
693
+ 3. Click on latest run
694
+ 4. View results:
695
+ - Score displayed
696
+ - Passed/failed tests
697
+ - Artifact uploaded
698
+
699
+ ### Step 5: Test PR Comment
700
+
701
+ 1. Create a branch: `git checkout -b test-validation`
702
+ 2. Modify tokens to break validation
703
+ 3. Push and create PR
704
+ 4. See automated comment with validation results
705
+
706
+ ### What You Learned
707
+
708
+ - ✅ GitHub Actions integration
709
+ - ✅ Automated validation
710
+ - ✅ PR comments
711
+ - ✅ CI/CD best practices
712
+
713
+ ---
714
+
715
+ ## Tutorial 7: Custom Validation Rules
716
+
717
+ Extend UX-Master with your own validation rules.
718
+
719
+ ### Time: 20 minutes
720
+
721
+ ### Prerequisites
722
+
723
+ - Python knowledge
724
+ - UX-Master installed
725
+
726
+ ### Step 1: Create Custom Validator
727
+
728
+ ```bash
729
+ cat > brand_validator.py << 'EOF'
730
+ #!/usr/bin/env python3
731
+ """Custom brand validation for ACME Corp."""
732
+
733
+ import sys
734
+ import json
735
+ from pathlib import Path
736
+
737
+ # Add UX-Master to path
738
+ sys.path.insert(0, str(Path(__file__).parent / "scripts"))
739
+
740
+ from validation_engine import (
741
+ ValidationEngine, DesignTest, TestResult,
742
+ TestCategory, TestSeverity
743
+ )
744
+
745
+ class BrandColorTest(DesignTest):
746
+ """Ensure brand colors are used."""
747
+
748
+ def __init__(self):
749
+ self.test_id = "BRAND-001"
750
+ self.name = "Brand Color Usage"
751
+ self.category = TestCategory.COLOR
752
+ self.severity = TestSeverity.HIGH
753
+ self.ux_law = "Brand Consistency"
754
+ self.brand_colors = ["#FF6B00", "#003366"] # ACME brand
755
+
756
+ def run(self, data):
757
+ colors = data.get("visualAnalysis", {}).get("colors", {})
758
+ semantic = colors.get("semantic", {})
759
+
760
+ found_brand = []
761
+ for name, color_data in semantic.items():
762
+ base = color_data.get("base", "")
763
+ if base in self.brand_colors:
764
+ found_brand.append(name)
765
+
766
+ passed = len(found_brand) > 0
767
+
768
+ return TestResult(
769
+ test_id=self.test_id,
770
+ name=self.name,
771
+ category=self.category,
772
+ severity=self.severity,
773
+ passed=passed,
774
+ message=f"Found brand colors in: {found_brand}" if passed else "No brand colors detected",
775
+ suggestion=f"Use brand colors {self.brand_colors} for primary actions",
776
+ ux_law=self.ux_law
777
+ )
778
+
779
+ class LogoSpacingTest(DesignTest):
780
+ """Ensure proper logo spacing."""
781
+
782
+ def __init__(self):
783
+ self.test_id = "BRAND-002"
784
+ self.name = "Logo Clear Space"
785
+ self.category = TestCategory.LAYOUT
786
+ self.severity = TestSeverity.MEDIUM
787
+ self.ux_law = "Brand Guidelines"
788
+
789
+ def run(self, data):
790
+ layout = data.get("visualAnalysis", {}).get("layout", {})
791
+ header = layout.get("header", {})
792
+
793
+ # Check if header has adequate height for logo + spacing
794
+ height = header.get("height", 0)
795
+ passed = height >= 64 # Minimum for logo + spacing
796
+
797
+ return TestResult(
798
+ test_id=self.test_id,
799
+ name=self.name,
800
+ category=self.category,
801
+ severity=self.severity,
802
+ passed=passed,
803
+ message="Adequate logo spacing" if passed else "Header may be too small for logo",
804
+ suggestion="Ensure 16px minimum clear space around logo",
805
+ ux_law=self.ux_law
806
+ )
807
+
808
+ # Main
809
+ def main():
810
+ engine = ValidationEngine()
811
+
812
+ # Register custom tests
813
+ engine._register(BrandColorTest())
814
+ engine._register(LogoSpacingTest())
815
+
816
+ # Load data
817
+ with open(sys.argv[1]) as f:
818
+ data = json.load(f)
819
+
820
+ # Run validation
821
+ report = engine.validate(data, test_suite="all")
822
+
823
+ # Print results
824
+ print(f"Score: {report.score:.1f}/100")
825
+ print(f"Passed: {report.passed_count}/{report.total_count}")
826
+
827
+ # Show brand-specific results
828
+ for test in report.tests:
829
+ if test.test_id.startswith("BRAND-"):
830
+ icon = "✓" if test.passed else "✗"
831
+ print(f"{icon} {test.name}: {test.message}")
832
+
833
+ if __name__ == "__main__":
834
+ main()
835
+ EOF
836
+
837
+ chmod +x brand_validator.py
838
+ ```
839
+
840
+ ### Step 2: Create Test Data
841
+
842
+ ```bash
843
+ cat > brand-test.json << 'EOF'
844
+ {
845
+ "visualAnalysis": {
846
+ "colors": {
847
+ "semantic": {
848
+ "primary": {"base": "#FF6B00"},
849
+ "secondary": {"base": "#003366"}
850
+ }
851
+ },
852
+ "layout": {
853
+ "header": {"height": 80}
854
+ }
855
+ }
856
+ }
857
+ EOF
858
+ ```
859
+
860
+ ### Step 3: Run Custom Validator
861
+
862
+ ```bash
863
+ python brand_validator.py brand-test.json
864
+ ```
865
+
866
+ Output:
867
+ ```
868
+ Score: 95.0/100
869
+ Passed: 39/41
870
+ ✓ Brand Color Usage: Found brand colors in: ['primary', 'secondary']
871
+ ✓ Logo Clear Space: Adequate logo spacing
872
+ ```
873
+
874
+ ### Step 4: Test Failure
875
+
876
+ ```bash
877
+ cat > brand-bad.json << 'EOF'
878
+ {
879
+ "visualAnalysis": {
880
+ "colors": {
881
+ "semantic": {
882
+ "primary": {"base": "#0064FA"}
883
+ }
884
+ },
885
+ "layout": {
886
+ "header": {"height": 40}
887
+ }
888
+ }
889
+ }
890
+ EOF
891
+
892
+ python brand_validator.py brand-bad.json
893
+ ```
894
+
895
+ Output:
896
+ ```
897
+ Score: 87.8/100
898
+ ✗ Brand Color Usage: No brand colors detected
899
+ ✗ Logo Clear Space: Header may be too small for logo
900
+ ```
901
+
902
+ ### What You Learned
903
+
904
+ - ✅ Creating custom tests
905
+ - ✅ Extending Validation Engine
906
+ - ✅ Brand-specific validation
907
+ - ✅ Integration with existing tests
908
+
909
+ ---
910
+
911
+ ## Next Steps
912
+
913
+ ### Continue Learning
914
+
915
+ 1. **Advanced Validation**
916
+ - Custom test suites
917
+ - Regression testing
918
+ - Performance optimization
919
+
920
+ 2. **Team Integration**
921
+ - Shared configurations
922
+ - Team dashboards
923
+ - Automated reporting
924
+
925
+ 3. **API Development**
926
+ - Custom MCP tools
927
+ - Webhook integrations
928
+ - Third-party plugins
929
+
930
+ ### Resources
931
+
932
+ - [API Reference](API-REFERENCE.md)
933
+ - [User Guide](USER-GUIDE.md)
934
+ - [GitHub Examples](https://github.com/uxmaster/examples)
935
+ - [Discord Community](https://discord.gg/uxmaster)
936
+
937
+ ---
938
+
939
+ **Congratulations!** You've completed all tutorials. You're now a UX-Master power user! 🎉