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,235 @@
1
+ ---
2
+ name: release-it
3
+ description: 'Build production-ready systems with stability patterns: circuit breakers, bulkheads, timeouts, and retry logic. Use when the user mentions "production outage", "circuit breaker", "timeout strategy", "deployment pipeline", or "chaos engineering". Covers capacity planning, health checks, and anti-fragility patterns. For data systems, see ddia-systems. For system architecture, see system-design.'
4
+ license: MIT
5
+ metadata:
6
+ author: wondelai
7
+ version: "1.0.1"
8
+ ---
9
+
10
+ # Release It! Framework
11
+
12
+ Framework for designing, deploying, and operating production-ready software systems. Based on a fundamental truth: the software that passes QA is not the software that survives production. Production is a hostile environment -- and your system must be built to expect and handle failure at every level.
13
+
14
+ ## Core Principle
15
+
16
+ **Every system will eventually be pushed beyond its design limits.** The question is not whether failures will happen, but whether your system degrades gracefully or collapses catastrophically. Production-ready software is not just correct -- it is resilient, observable, and designed to operate through partial failures without human intervention.
17
+
18
+ ## Scoring
19
+
20
+ **Goal: 10/10.** When reviewing or creating production systems, rate them 0-10 based on adherence to the principles below. A 10/10 means full alignment with all guidelines; lower scores indicate gaps to address. Always provide the current score and specific improvements needed to reach 10/10.
21
+
22
+ ## The Release It! Framework
23
+
24
+ Six areas that determine whether software survives contact with production:
25
+
26
+ ### 1. Stability Anti-Patterns
27
+
28
+ **Core concept:** Failures propagate through integration points, cascading across system boundaries. The most dangerous patterns are not bugs in your code -- they are emergent behaviors that arise when systems interact under stress.
29
+
30
+ **Why it works:** Recognizing anti-patterns lets you identify and eliminate the cracks before production traffic finds them. Every production outage traces back to one or more of these patterns. They are predictable, recurring, and preventable.
31
+
32
+ **Key insights:**
33
+ - Integration points are the number-one killer of production systems -- every socket, HTTP call, or queue is a risk
34
+ - Cascading failures spread when one system's failure causes its callers to fail, which causes their callers to fail
35
+ - Slow responses are worse than no response -- they tie up threads, exhaust pools, and propagate delays across the entire call chain
36
+ - Unbounded result sets turn a harmless query into an out-of-memory crash when data grows beyond test assumptions
37
+ - Users generate load patterns that no test suite can predict -- bots, retry storms, and flash crowds
38
+ - Self-denial attacks occur when your own marketing, coupons, or viral features overwhelm your infrastructure
39
+ - Blocked threads are the silent killer -- deadlocks and resource contention show no errors until everything stops
40
+
41
+ **Code applications:**
42
+
43
+ | Context | Pattern | Example |
44
+ |---------|---------|---------|
45
+ | **HTTP calls** | Assume every remote call can fail, hang, or return garbage | Wrap all external calls with timeout + circuit breaker |
46
+ | **Database queries** | Enforce result set limits on every query | Add `LIMIT` clause; paginate all list endpoints |
47
+ | **Thread pools** | Isolate pools per dependency to prevent cross-contamination | Separate thread pool for payment gateway vs. search |
48
+ | **Load testing** | Simulate realistic traffic including spikes and abuse patterns | Use production traffic replays, not synthetic happy-path scripts |
49
+ | **Marketing events** | Coordinate launches with capacity planning | Pre-scale before Black Friday; add queue for coupon redemption |
50
+
51
+ See: [references/anti-patterns.md](references/anti-patterns.md) for detailed analysis of each anti-pattern with failure scenarios and detection strategies.
52
+
53
+ ### 2. Stability Patterns
54
+
55
+ **Core concept:** Counter each anti-pattern with a stability pattern. Circuit breakers stop cascading failures. Bulkheads isolate blast radius. Timeouts reclaim stuck resources. Together they create a system that bends under load but does not break.
56
+
57
+ **Why it works:** These patterns work because they accept failure as inevitable and design the system's response to failure, rather than trying to prevent all failures. A circuit breaker that trips is the system working correctly -- it is protecting itself from a downstream failure.
58
+
59
+ **Key insights:**
60
+ - Circuit Breaker: three states (closed, open, half-open) -- trips after threshold failures, periodically tests recovery
61
+ - Bulkheads: partition resources so one failing component cannot drain the entire system
62
+ - Timeouts: every outbound call needs both a connect timeout and a read timeout -- and timeouts must propagate up the call chain
63
+ - Retry with backoff: exponential backoff + jitter prevents thundering herd on recovery
64
+ - Fail Fast: if you know a request will fail, reject it immediately -- do not waste resources attempting it
65
+ - Steady State: systems accumulate cruft (logs, sessions, temp files) -- design for automatic cleanup
66
+ - Let It Crash: sometimes the safest recovery is to restart the process cleanly rather than limping along in an unknown state
67
+ - Handshaking: let the server tell the client whether it can accept work before the client sends it
68
+
69
+ **Code applications:**
70
+
71
+ | Context | Pattern | Example |
72
+ |---------|---------|---------|
73
+ | **Service calls** | Circuit Breaker with threshold and recovery timeout | Open after 5 failures in 60s; half-open after 30s |
74
+ | **Resource isolation** | Bulkhead with dedicated pools per dependency | Separate connection pools for critical vs. non-critical services |
75
+ | **Network calls** | Timeout with propagation | Connect: 1s, read: 5s; propagate deadline to downstream calls |
76
+ | **Retries** | Exponential backoff + jitter + retry budget | Base 100ms, max 3 retries, 20% retry budget across fleet |
77
+ | **Data cleanup** | Steady State with automated purging | Delete sessions older than 24h; rotate logs at 500MB |
78
+
79
+ See: [references/stability-patterns.md](references/stability-patterns.md) for implementation details, state machines, threshold tuning, and pattern combinations.
80
+
81
+ ### 3. Capacity and Availability
82
+
83
+ **Core concept:** Capacity is not a single number -- it is a multi-dimensional function of CPU, memory, network, disk I/O, connection pools, and thread counts. Capacity planning means understanding which resource becomes the bottleneck first and at what load level.
84
+
85
+ **Why it works:** Systems that are not capacity-tested fail in production at the worst possible moment -- during peak load. Understanding your system's actual limits (not theoretical limits) lets you set realistic SLAs and plan scaling before users hit the wall.
86
+
87
+ **Key insights:**
88
+ - Performance testing taxonomy: load test (expected traffic), stress test (beyond limits), soak test (sustained load over time), spike test (sudden bursts)
89
+ - The Universal Scalability Law: throughput does not scale linearly -- contention and coherence costs cause diminishing returns
90
+ - Connection pools are finite and precious -- a pool exhaustion looks identical to a database outage from the application's perspective
91
+ - Thread pools must be sized based on measured throughput, not guesses -- too few starve the system, too many cause context-switching overhead
92
+ - Myths: "The cloud is infinitely scalable" -- auto-scaling has lag time, cold-start costs, and hard limits
93
+ - Resource pools need health checks, eviction policies, and maximum lifetime limits
94
+
95
+ **Code applications:**
96
+
97
+ | Context | Pattern | Example |
98
+ |---------|---------|---------|
99
+ | **Load testing** | Ramp to expected peak, then 2x, observe degradation curve | Gradually increase RPS until latency exceeds SLO |
100
+ | **Connection pools** | Size based on measured concurrency, not defaults | Measure active connections under load; set pool to P99 + 20% headroom |
101
+ | **Auto-scaling** | Define scaling triggers with appropriate cooldown | Scale on CPU > 70% sustained 3 min; cooldown 5 min |
102
+ | **Soak testing** | Run at 80% capacity for 24-72 hours | Catch memory leaks, connection leaks, file handle exhaustion |
103
+ | **Capacity model** | Document resource bottleneck per service | "Service X is memory-bound at 2000 RPS; needs 4GB per instance" |
104
+
105
+ See: [references/capacity-planning.md](references/capacity-planning.md) for testing methodologies, resource pool management, and scalability modeling.
106
+
107
+ ### 4. Deployment and Release
108
+
109
+ **Core concept:** Deployment (putting code on servers) and release (exposing code to users) are separate operations that should be decoupled. Separating them gives you the ability to deploy without risk and release with confidence.
110
+
111
+ **Why it works:** Most outages are caused by changes -- deployments, configuration updates, database migrations. Decoupling deployment from release means you can deploy code to production, verify it works, and only then route traffic to it. If something goes wrong, you roll back the release, not the deployment.
112
+
113
+ **Key insights:**
114
+ - Zero-downtime deployment is non-negotiable for any system with users -- rolling deploys, blue-green, or canary
115
+ - Feature flags decouple deployment from release -- dark-launch code and enable it independently
116
+ - Database migrations must be backward-compatible -- the old code and new code will run simultaneously during deployment
117
+ - Immutable infrastructure: never patch a running server -- build a new image, deploy it, destroy the old one
118
+ - Canary releases limit blast radius by routing a small percentage of traffic to the new version first
119
+ - Rollback must be faster than roll-forward -- if rollback takes 30 minutes, you will avoid deploying
120
+
121
+ **Code applications:**
122
+
123
+ | Context | Pattern | Example |
124
+ |---------|---------|---------|
125
+ | **Deploys** | Blue-green with health check gate | Deploy to green; run smoke tests; swap router |
126
+ | **Progressive rollout** | Canary with automated rollback | Route 5% traffic to canary; auto-rollback if error rate > 1% |
127
+ | **Feature launch** | Feature flags with emergency off switch | Ship code behind flag; enable for 10% of users; monitor; ramp |
128
+ | **Schema changes** | Expand-contract migration pattern | Add new column; deploy code that writes both; backfill; drop old column |
129
+ | **Rollback** | Instant rollback via traffic routing | Keep previous version running; rollback = switch load balancer target |
130
+
131
+ See: [references/deployment-strategies.md](references/deployment-strategies.md) for deployment patterns, migration strategies, and infrastructure-as-code practices.
132
+
133
+ ### 5. Health Checks and Observability
134
+
135
+ **Core concept:** You cannot operate what you cannot observe. Observability is not an afterthought -- it is a first-class design concern. Health checks, metrics, logs, and traces are the sensory organs of your system in production.
136
+
137
+ **Why it works:** Production systems fail in ways that are invisible without proper instrumentation. A health check that only returns "OK" tells you nothing. Metrics without context are noise. Observability done right gives you the ability to answer questions about your system that you did not anticipate at design time.
138
+
139
+ **Key insights:**
140
+ - Health checks come in two flavors: shallow (process alive) and deep (dependencies reachable, resources available)
141
+ - The three pillars of observability: structured logs (what happened), metrics (how much), distributed traces (where and how long)
142
+ - RED method for services: Rate (requests/sec), Errors (error rate), Duration (latency distribution)
143
+ - USE method for resources: Utilization (%), Saturation (queue depth), Errors (error count)
144
+ - SLIs measure user experience; SLOs set targets; SLAs create contractual obligations -- define them in that order
145
+ - Alerting on symptoms (user-facing errors) beats alerting on causes (CPU usage) -- alert on what users feel
146
+ - Dashboards should answer "Is the system healthy right now?" within 5 seconds of looking
147
+
148
+ **Code applications:**
149
+
150
+ | Context | Pattern | Example |
151
+ |---------|---------|---------|
152
+ | **Health endpoints** | Deep health check with dependency status | `/health` returns status of DB, cache, queue, and disk space |
153
+ | **Service metrics** | RED method instrumentation | Track request rate, error rate, and p50/p95/p99 latency per endpoint |
154
+ | **Resource metrics** | USE method for infrastructure | Track CPU utilization, request queue depth, and error counts per host |
155
+ | **Distributed tracing** | Propagate trace context across service boundaries | Inject trace ID in headers; correlate logs across services |
156
+ | **Alerting** | Alert on SLO burn rate, not raw thresholds | "Error budget burning 10x normal rate" vs. "CPU > 80%" |
157
+
158
+ See: [references/observability.md](references/observability.md) for health check design, metrics instrumentation, SLO frameworks, and alerting strategies.
159
+
160
+ ### 6. Adaptation and Chaos Engineering
161
+
162
+ > **Safety note:** Chaos engineering experiments are design-time planning activities. The patterns below describe *what to test* and *what to verify*, not actions for an AI agent to execute autonomously. All failure injection must be performed by authorized engineers using dedicated tooling (e.g., Gremlin, Litmus, AWS FIS) with proper approvals, rollback plans, and blast radius controls in place.
163
+
164
+ **Core concept:** Confidence in your system's resilience comes from testing it under realistic failure conditions. Chaos engineering is the discipline of experimenting on a system in a controlled environment to build confidence in its ability to withstand turbulent conditions.
165
+
166
+ **Why it works:** You cannot know how your system handles failure until it actually fails. Waiting for production incidents to discover weaknesses is reactive and expensive. Chaos engineering proactively injects failures in a controlled way, turning unknown-unknowns into known-knowns before they cause real outages.
167
+
168
+ **Key insights:**
169
+ - Define steady state first -- you need a measurable baseline to detect when behavior deviates
170
+ - Start small in non-production environments: terminate a single process, add latency to one call -- then escalate gradually with approvals
171
+ - Minimize blast radius: use canary populations, feature flags, and emergency stop mechanisms for experiments
172
+ - Production experiments require explicit authorization, monitoring, and immediate rollback capability
173
+ - Automate recurring experiments so resilience is continuously verified, not a one-time event
174
+ - GameDay exercises combine chaos engineering with incident response practice -- test both the system and the team
175
+ - Every experiment should have a hypothesis: "We believe that when X fails, the system will Y"
176
+ - Build a culture where finding weaknesses is celebrated, not punished
177
+
178
+ **Code applications:**
179
+
180
+ | Context | Pattern | Example |
181
+ |---------|---------|---------|
182
+ | **Process failure** | Controlled instance termination (via chaos tooling) | Terminate one pod using Gremlin/Litmus; verify service recovers within SLO |
183
+ | **Network failure** | Inject latency or partition between services (via chaos tooling) | Add 500ms latency to DB calls; verify circuit breaker trips |
184
+ | **Dependency failure** | Simulate downstream service outage (via chaos tooling) | Return 503 from payment API; verify graceful degradation |
185
+ | **Resource exhaustion** | Simulate resource pressure (via chaos tooling) | Stress-test memory limits; verify process restarts cleanly |
186
+ | **GameDay** | Scheduled team exercise with realistic failure scenario | "Primary database goes read-only at 2pm" -- practice response |
187
+
188
+ See: [references/chaos-engineering.md](references/chaos-engineering.md) for experiment design, blast radius management, and building a chaos engineering practice.
189
+
190
+ ## Common Mistakes
191
+
192
+ | Mistake | Why It Fails | Fix |
193
+ |---------|-------------|------|
194
+ | **No timeouts on outbound calls** | One slow dependency freezes the entire system | Set connect and read timeouts on every external call |
195
+ | **Unbounded retries** | Retry storms amplify failures instead of recovering from them | Use exponential backoff, jitter, and fleet-wide retry budgets |
196
+ | **Shared thread/connection pools** | One failing dependency drains resources from all features | Bulkhead: isolate pools per dependency or feature |
197
+ | **Shallow health checks only** | Load balancer routes traffic to instances with broken dependencies | Implement deep health checks that verify downstream connectivity |
198
+ | **Testing only the happy path** | System works perfectly until the first real failure | Load test, soak test, and chaos test before every major release |
199
+ | **Coupling deploy and release** | Every deployment is a high-risk event with all-or-nothing rollout | Use feature flags, canary releases, and blue-green deployments |
200
+ | **Alerting on causes, not symptoms** | High CPU alerts fire but users are fine; errors spike but no alert fires | Alert on user-facing SLIs: error rate, latency, availability |
201
+ | **No capacity model** | System falls over at 2x load during an event nobody planned for | Model bottleneck resources; load test to 3x expected peak |
202
+
203
+ ## Quick Diagnostic
204
+
205
+ Audit any production system:
206
+
207
+ | Question | If No | Action |
208
+ |----------|-------|--------|
209
+ | Does every outbound call have a timeout? | Calls can hang indefinitely, blocking threads | Add connect and read timeouts to all external calls |
210
+ | Are circuit breakers in place for critical dependencies? | One dependency failure takes down the whole system | Add circuit breakers with appropriate thresholds |
211
+ | Are thread/connection pools isolated per dependency? | Shared pools allow cross-contamination of failures | Implement bulkhead pattern with dedicated pools |
212
+ | Can you deploy without downtime? | Deployments cause user-visible outages | Implement rolling, blue-green, or canary deployment |
213
+ | Do health checks verify dependency connectivity? | Dead instances receive traffic; partial failures go undetected | Add deep health checks that test DB, cache, queue |
214
+ | Are logs, metrics, and traces correlated? | Debugging requires manual log searching across services | Implement distributed tracing with correlated IDs |
215
+ | Have you load-tested beyond expected peak? | Unknown failure mode under real load | Load test to 2-3x expected peak; document breaking point |
216
+ | Do you practice failure injection? | Resilience is theoretical, not verified | Start chaos engineering with low-risk experiments |
217
+
218
+ ## Reference Files
219
+
220
+ - [anti-patterns.md](references/anti-patterns.md): Integration point failures, cascading failures, blocked threads, unbounded result sets, self-denial attacks, slow responses
221
+ - [stability-patterns.md](references/stability-patterns.md): Circuit Breaker, Bulkhead, Timeout, Retry, Fail Fast, Steady State, Let It Crash, Handshaking
222
+ - [capacity-planning.md](references/capacity-planning.md): Load/stress/soak testing, connection pool sizing, thread pool tuning, Universal Scalability Law
223
+ - [deployment-strategies.md](references/deployment-strategies.md): Blue-green, canary, rolling deploys, feature flags, database migrations, immutable infrastructure
224
+ - [observability.md](references/observability.md): Health checks, RED/USE methods, SLIs/SLOs/SLAs, distributed tracing, alerting strategy
225
+ - [chaos-engineering.md](references/chaos-engineering.md): Steady state hypothesis, failure injection, GameDay exercises, blast radius management
226
+
227
+ ## Further Reading
228
+
229
+ This skill is based on Michael Nygard's essential guide to building production-ready software. For the complete methodology, war stories, and implementation details:
230
+
231
+ - [*"Release It! Design and Deploy Production-Ready Software"* (2nd Edition)](https://www.amazon.com/Release-Design-Deploy-Production-Ready-Software/dp/1680502395?tag=wondelai00-20) by Michael T. Nygard
232
+
233
+ ## About the Author
234
+
235
+ **Michael T. Nygard** is a software architect and author with over 30 years of experience building and operating large-scale production systems. He has worked across industries including finance, retail, and government, and has been responsible for systems handling millions of transactions per day. Nygard is known for bridging the gap between development and operations, advocating that architects must be responsible for the systems they design long after the code is written. The first edition of *Release It!* (2007) became a foundational text in the DevOps and site reliability engineering movements. The second edition (2018) expands coverage to cloud-native architectures, containerization, and modern deployment practices. Nygard is a frequent conference speaker and has contributed to the broader conversation about resilience engineering, sociotechnical systems, and the human factors that influence production stability.
@@ -0,0 +1,279 @@
1
+ # Stability Anti-Patterns
2
+
3
+ Production systems do not fail because of bugs found in unit tests. They fail because of emergent behaviors that arise when systems interact under real-world conditions -- load spikes, network partitions, slow dependencies, and data growth that exceeds every assumption made during development.
4
+
5
+ Michael Nygard identifies a recurring set of anti-patterns that cause the vast majority of production outages. Recognizing these patterns is the first step toward building resilient systems.
6
+
7
+ ## 1. Integration Points: The Number-One Killer
8
+
9
+ Every integration point -- every socket connection, HTTP call, database query, message queue interaction, or third-party API call -- is a potential failure point. Integration points are the number-one killer of production systems because they introduce failure modes that do not exist in isolated testing.
10
+
11
+ ### How Integration Points Fail
12
+
13
+ | Failure Mode | Description | Consequence |
14
+ |-------------|-------------|-------------|
15
+ | **Connection refused** | Remote host rejects the connection | Fast failure; relatively benign |
16
+ | **Connection timeout** | Remote host does not respond to SYN | Thread blocked for 30-120 seconds (OS default) |
17
+ | **Read timeout** | Connection established but response never arrives | Thread blocked indefinitely without explicit timeout |
18
+ | **Partial response** | Connection drops mid-response | Corrupted data; parser exceptions |
19
+ | **Slow response** | Response eventually arrives but takes minutes | Threads accumulate; pool exhaustion; cascading failure |
20
+ | **Protocol violation** | Remote returns unexpected content type or format | Unhandled exceptions; crash |
21
+
22
+ ### Defense Strategy
23
+
24
+ Every integration point needs a defense-in-depth strategy:
25
+
26
+ 1. **Timeouts** on every connection and read operation -- never use defaults
27
+ 2. **Circuit breakers** to stop calling a failing dependency
28
+ 3. **Bulkheads** to isolate the failure from other parts of the system
29
+ 4. **Fallbacks** to degrade gracefully when the dependency is unavailable
30
+ 5. **Monitoring** to detect degradation before users notice
31
+
32
+ ### Real-World Example
33
+
34
+ A retail application calls an inventory service to check stock levels. The inventory service's database enters a long garbage collection pause. The inventory service stops responding but does not close connections. The retail application's thread pool fills with threads waiting for inventory responses. The retail application can no longer serve any requests -- including requests that do not need inventory data. The entire site goes down because one dependency slowed down.
35
+
36
+ **Root cause:** No read timeout on the inventory service call. No bulkhead isolating inventory calls from other request handling.
37
+
38
+ ---
39
+
40
+ ## 2. Cascading Failures
41
+
42
+ A cascading failure occurs when a failure in one system causes failures in the systems that depend on it, which in turn cause failures in the systems that depend on them, and so on. The defining characteristic of a cascading failure is that the damage spreads far beyond the original failure.
43
+
44
+ ### Cascade Mechanics
45
+
46
+ ```
47
+ Service A (database overloaded)
48
+ → Service B (calls A, threads block waiting)
49
+ → Service C (calls B, threads block waiting)
50
+ → Service D (calls C, threads block waiting)
51
+ → User-facing application (completely unresponsive)
52
+ ```
53
+
54
+ ### Why Cascading Failures Are Devastating
55
+
56
+ - The original failure may be minor (one database query slow)
57
+ - The cascade amplifies the failure geometrically
58
+ - Each layer adds more blocked threads, more resource consumption
59
+ - By the time the cascade is visible, every system in the chain is degraded
60
+ - Recovery requires coordinated action across all affected systems
61
+
62
+ ### Breaking the Cascade
63
+
64
+ | Pattern | How It Breaks the Cascade |
65
+ |---------|--------------------------|
66
+ | **Circuit Breaker** | Stops calling the failing service; returns error immediately |
67
+ | **Timeout** | Limits how long a caller waits; frees threads to handle other work |
68
+ | **Bulkhead** | Isolates the failing dependency's impact to a limited set of resources |
69
+ | **Fallback** | Provides degraded but functional response when dependency fails |
70
+ | **Fail Fast** | Rejects requests immediately when system knows it cannot fulfill them |
71
+
72
+ ### Prevention Checklist
73
+
74
+ - [ ] Every service-to-service call has a timeout
75
+ - [ ] Circuit breakers protect against sustained failures
76
+ - [ ] Failure in one dependency does not affect unrelated features
77
+ - [ ] Fallback behavior is defined for every critical dependency
78
+ - [ ] Cascading failure scenarios are included in chaos experiments
79
+
80
+ ---
81
+
82
+ ## 3. Users as a Source of Load
83
+
84
+ Users are not gentle with your system. They do not arrive in an orderly queue at predictable intervals. Real user behavior generates load patterns that are fundamentally different from what synthetic tests produce.
85
+
86
+ ### Unexpected User Behaviors
87
+
88
+ | Behavior | Load Impact | Example |
89
+ |----------|------------|---------|
90
+ | **Refresh storms** | Multiplies load when pages are slow | Users hit F5 repeatedly when checkout is slow |
91
+ | **Bot traffic** | Can exceed human traffic by 10-100x | Scrapers, search engines, monitoring tools |
92
+ | **Flash crowds** | Sudden, massive traffic spikes | Hacker News front page, TV mention, viral tweet |
93
+ | **Abandoned sessions** | Resource consumption without completion | Users open carts, leave; sessions consume server memory |
94
+ | **Power users** | Disproportionate resource consumption | One user with 50,000 items in a list; API consumers with no rate limit |
95
+
96
+ ### Defense Strategy
97
+
98
+ - Rate limiting per user, per IP, and per API key
99
+ - Session limits and timeouts to reclaim abandoned resources
100
+ - Bot detection and separate handling (different rate limits, caching strategies)
101
+ - Graceful degradation under load (serve cached content, disable non-essential features)
102
+ - Load shedding: deliberately reject some requests to preserve service for others
103
+
104
+ ---
105
+
106
+ ## 4. Blocked Threads
107
+
108
+ Blocked threads are the silent killer. Unlike a crash (which is loud and obvious), blocked threads produce no errors, no exceptions, and no log entries. The system simply stops processing requests.
109
+
110
+ ### Common Causes of Blocked Threads
111
+
112
+ | Cause | How It Blocks | Detection |
113
+ |-------|--------------|-----------|
114
+ | **Missing timeouts** | Thread waits indefinitely for a response | Thread dump shows threads in WAITING/TIMED_WAITING |
115
+ | **Deadlocks** | Two threads each hold a lock the other needs | Thread dump shows circular lock dependencies |
116
+ | **Synchronized access** | All threads queue for a single lock | Throughput drops to single-threaded speed |
117
+ | **DNS resolution** | DNS lookup blocks the calling thread | Threads stuck in `InetAddress.getByName()` |
118
+ | **Log file I/O** | Synchronous logging blocks application threads | Threads stuck in file write; especially during disk pressure |
119
+
120
+ ### Detection and Prevention
121
+
122
+ **Detection:**
123
+ - Thread dump analysis (scheduled periodic dumps, not just during incidents)
124
+ - Thread pool utilization metrics (active/idle/max)
125
+ - Request latency distribution (sudden latency spike = possible thread starvation)
126
+ - Health checks that verify thread pool availability
127
+
128
+ **Prevention:**
129
+ - Explicit timeouts on all blocking operations
130
+ - Asynchronous I/O where possible
131
+ - Bounded queues with rejection policies (not unbounded queues that grow forever)
132
+ - Thread pool sizing based on measured workload, not defaults
133
+
134
+ ---
135
+
136
+ ## 5. Self-Denial Attacks
137
+
138
+ A self-denial attack is when your own system, marketing, or business operations generate load that overwhelms your infrastructure. The irony is that these are "success disasters" -- everything is working as intended, but the system cannot handle its own success.
139
+
140
+ ### Common Self-Denial Scenarios
141
+
142
+ | Scenario | Mechanism | Prevention |
143
+ |----------|-----------|------------|
144
+ | **Marketing email blast** | 500,000 emails sent simultaneously, 10% click through in 5 minutes | Stagger sends over hours; pre-scale infrastructure |
145
+ | **Coupon code launch** | Viral sharing of limited coupon creates stampede | Queue-based redemption; rate limit per user |
146
+ | **Product launch countdown** | Users refresh at exactly midnight | Serve static page at launch time; queue for access |
147
+ | **Social media viral moment** | CEO's tweet goes viral, floods landing page | CDN caching; static page fallback |
148
+ | **Cron job stampede** | Every server runs cleanup job at midnight | Randomize cron schedules; use distributed job scheduling |
149
+
150
+ ### Defense Strategy
151
+
152
+ - Coordinate marketing events with engineering capacity planning
153
+ - Use CDN and static page caching for high-traffic landing pages
154
+ - Implement queue-based access for limited-resource events
155
+ - Stagger scheduled jobs with random jitter
156
+ - Pre-scale infrastructure before planned events
157
+
158
+ ---
159
+
160
+ ## 6. Scaling Effects
161
+
162
+ Patterns that work at small scale break at large scale. A design that performs well with 10 servers may collapse at 100 servers. Scaling effects are the emergent behaviors that appear only when the system grows.
163
+
164
+ ### Examples of Scaling Effects
165
+
166
+ | Pattern | Works at Small Scale | Breaks at Large Scale |
167
+ |---------|---------------------|----------------------|
168
+ | **Point-to-point connections** | 5 services = 20 connections | 50 services = 2,450 connections |
169
+ | **Broadcast messages** | 10 subscribers = manageable | 1,000 subscribers = message storm |
170
+ | **Shared database** | 5 services share one DB | 50 services = connection pool exhaustion |
171
+ | **Health check polling** | Load balancer checks 5 servers | Load balancer checks 500 servers = significant traffic |
172
+ | **Distributed locks** | Low contention with few nodes | High contention with many nodes |
173
+
174
+ ### Mitigation
175
+
176
+ - Replace point-to-point with message buses or service meshes
177
+ - Use fan-out patterns with controlled concurrency
178
+ - Give each service its own data store (or at minimum, its own connection pool limits)
179
+ - Use push-based health checks or sampling strategies at scale
180
+ - Avoid distributed locks; use optimistic concurrency or partitioning instead
181
+
182
+ ---
183
+
184
+ ## 7. Unbalanced Capacities
185
+
186
+ When upstream and downstream systems have different capacity limits, the faster system can overwhelm the slower one. This is particularly dangerous when a frontend tier can generate more requests than a backend tier can handle.
187
+
188
+ ### Common Imbalances
189
+
190
+ - Web tier: 100 servers; backend API: 10 servers
191
+ - Batch job produces 10,000 records/sec; downstream consumer processes 500/sec
192
+ - Marketing campaign drives 10x normal traffic to a service scaled for 1x
193
+
194
+ ### Defense Strategy
195
+
196
+ - Back-pressure: slow producers when consumers are overwhelmed
197
+ - Queue-based buffering between tiers with different throughput
198
+ - Rate limiting at the boundary between tiers
199
+ - Capacity modeling that considers the full request chain, not individual services in isolation
200
+ - Autoscaling policies that scale the entire chain, not just the entry point
201
+
202
+ ---
203
+
204
+ ## 8. Dogpile / Thundering Herd
205
+
206
+ A dogpile (also called thundering herd) occurs when many threads or processes simultaneously attempt the same expensive operation, typically after a cache expires or a service recovers.
207
+
208
+ ### Common Dogpile Scenarios
209
+
210
+ | Scenario | Mechanism | Impact |
211
+ |----------|-----------|--------|
212
+ | **Cache expiration** | Popular cache key expires; 1,000 threads hit the database simultaneously | Database overwhelmed; slow response; more cache misses |
213
+ | **Service recovery** | Circuit breaker half-opens; all waiting requests flood the recovering service | Service fails again immediately |
214
+ | **Cron overlap** | Slow job still running when next execution triggers | Double resource consumption; data corruption |
215
+ | **Lock release** | Mutex released; all waiting threads resume simultaneously | Resource spike; possible re-contention |
216
+
217
+ ### Prevention
218
+
219
+ - **Cache stampede prevention:** Use probabilistic early expiration, lock-based recomputation (only one thread refreshes), or serve stale + refresh in background
220
+ - **Circuit breaker recovery:** Half-open state allows only a small number of test requests through
221
+ - **Cron jobs:** Use distributed locks or leader election to ensure only one instance runs
222
+ - **Gradual ramp-up:** When recovering, slowly increase traffic rather than allowing full load immediately
223
+
224
+ ---
225
+
226
+ ## 9. Slow Responses (Worse Than No Response)
227
+
228
+ A fast failure is annoying. A slow failure is catastrophic. When a system responds slowly instead of failing fast, it creates a chain reaction of blocked resources throughout the calling stack.
229
+
230
+ ### Why Slow Is Worse Than Down
231
+
232
+ | Fast Failure | Slow Failure |
233
+ |-------------|-------------|
234
+ | Circuit breaker trips immediately | Circuit breaker does not trip (still getting responses) |
235
+ | Thread released after milliseconds | Thread blocked for seconds or minutes |
236
+ | Error is visible and actionable | Problem is invisible until pool exhaustion |
237
+ | Users see error, retry once, move on | Users see spinner, refresh, multiply load |
238
+ | Affects one request | Blocks a thread, affecting all subsequent requests |
239
+
240
+ ### Detection
241
+
242
+ - Monitor latency at p99 and p999, not just p50
243
+ - Alert on latency shifts, not just absolute thresholds
244
+ - Track thread pool utilization -- rising active threads with flat throughput indicates blocking
245
+ - Trace slow requests across service boundaries to find the bottleneck
246
+
247
+ ### Prevention
248
+
249
+ - Set aggressive read timeouts (seconds, not minutes)
250
+ - Implement deadline propagation: if the user's request has 5 seconds left, do not start a 10-second operation
251
+ - Use asynchronous processing for long operations
252
+ - Implement load shedding: reject requests when response time exceeds SLO
253
+
254
+ ---
255
+
256
+ ## 10. Unbounded Result Sets
257
+
258
+ A query that returns 10 rows in development returns 10 million rows in production. Unbounded result sets are a time bomb that detonates when data grows beyond test assumptions.
259
+
260
+ ### Common Manifestations
261
+
262
+ | Query Pattern | Development | Production |
263
+ |--------------|-------------|------------|
264
+ | `SELECT * FROM orders WHERE user_id = ?` | 3 orders | 50,000 orders (power user) |
265
+ | `SELECT * FROM events WHERE date > ?` | 100 events | 2 million events (6 months of data) |
266
+ | `SELECT * FROM logs` | 500 rows | Out of memory |
267
+ | API response with nested objects | Small JSON | 200MB JSON response |
268
+
269
+ ### Prevention
270
+
271
+ - **Always paginate:** Every list query must have a `LIMIT` and `OFFSET` (or cursor-based pagination)
272
+ - **Cap result sizes:** Enforce maximum result count at the API layer, even if the caller does not request it
273
+ - **Stream large results:** Use cursors or streaming for batch operations rather than loading everything into memory
274
+ - **Monitor query performance:** Track query execution time and result set sizes in production
275
+ - **Test with production-scale data:** Use anonymized production data volumes in performance testing
276
+
277
+ ### Rule of Thumb
278
+
279
+ If your code ever does `results = query.getAll()` without a limit, it is a production incident waiting to happen. Every query, every API response, every list operation must have an upper bound.