claudecode-omc 5.5.2 → 5.6.0

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 (433) hide show
  1. package/README.md +63 -0
  2. package/bundled/manifest.json +3 -2
  3. package/bundled/upstream/ecc/.omc-source/bundle.json +23 -0
  4. package/bundled/upstream/ecc/.omc-source/last-plan-apply.json +439 -0
  5. package/bundled/upstream/ecc/.omc-source/manifests/.claude-plugin/marketplace.json +47 -0
  6. package/bundled/upstream/ecc/agents/a11y-architect.md +141 -0
  7. package/bundled/upstream/ecc/agents/architect.md +211 -0
  8. package/bundled/upstream/ecc/agents/build-error-resolver.md +114 -0
  9. package/bundled/upstream/ecc/agents/chief-of-staff.md +151 -0
  10. package/bundled/upstream/ecc/agents/code-architect.md +71 -0
  11. package/bundled/upstream/ecc/agents/code-explorer.md +69 -0
  12. package/bundled/upstream/ecc/agents/code-reviewer.md +237 -0
  13. package/bundled/upstream/ecc/agents/code-simplifier.md +47 -0
  14. package/bundled/upstream/ecc/agents/comment-analyzer.md +45 -0
  15. package/bundled/upstream/ecc/agents/conversation-analyzer.md +52 -0
  16. package/bundled/upstream/ecc/agents/cpp-build-resolver.md +90 -0
  17. package/bundled/upstream/ecc/agents/cpp-reviewer.md +72 -0
  18. package/bundled/upstream/ecc/agents/csharp-reviewer.md +101 -0
  19. package/bundled/upstream/ecc/agents/dart-build-resolver.md +201 -0
  20. package/bundled/upstream/ecc/agents/database-reviewer.md +91 -0
  21. package/bundled/upstream/ecc/agents/doc-updater.md +107 -0
  22. package/bundled/upstream/ecc/agents/docs-lookup.md +68 -0
  23. package/bundled/upstream/ecc/agents/e2e-runner.md +107 -0
  24. package/bundled/upstream/ecc/agents/flutter-reviewer.md +243 -0
  25. package/bundled/upstream/ecc/agents/gan-evaluator.md +209 -0
  26. package/bundled/upstream/ecc/agents/gan-generator.md +131 -0
  27. package/bundled/upstream/ecc/agents/gan-planner.md +99 -0
  28. package/bundled/upstream/ecc/agents/go-build-resolver.md +94 -0
  29. package/bundled/upstream/ecc/agents/go-reviewer.md +76 -0
  30. package/bundled/upstream/ecc/agents/harness-optimizer.md +35 -0
  31. package/bundled/upstream/ecc/agents/healthcare-reviewer.md +83 -0
  32. package/bundled/upstream/ecc/agents/java-build-resolver.md +153 -0
  33. package/bundled/upstream/ecc/agents/java-reviewer.md +92 -0
  34. package/bundled/upstream/ecc/agents/kotlin-build-resolver.md +118 -0
  35. package/bundled/upstream/ecc/agents/kotlin-reviewer.md +159 -0
  36. package/bundled/upstream/ecc/agents/loop-operator.md +36 -0
  37. package/bundled/upstream/ecc/agents/opensource-forker.md +198 -0
  38. package/bundled/upstream/ecc/agents/opensource-packager.md +249 -0
  39. package/bundled/upstream/ecc/agents/opensource-sanitizer.md +188 -0
  40. package/bundled/upstream/ecc/agents/performance-optimizer.md +446 -0
  41. package/bundled/upstream/ecc/agents/planner.md +212 -0
  42. package/bundled/upstream/ecc/agents/pr-test-analyzer.md +45 -0
  43. package/bundled/upstream/ecc/agents/python-reviewer.md +98 -0
  44. package/bundled/upstream/ecc/agents/pytorch-build-resolver.md +120 -0
  45. package/bundled/upstream/ecc/agents/refactor-cleaner.md +85 -0
  46. package/bundled/upstream/ecc/agents/rust-build-resolver.md +148 -0
  47. package/bundled/upstream/ecc/agents/rust-reviewer.md +94 -0
  48. package/bundled/upstream/ecc/agents/security-reviewer.md +108 -0
  49. package/bundled/upstream/ecc/agents/seo-specialist.md +62 -0
  50. package/bundled/upstream/ecc/agents/silent-failure-hunter.md +50 -0
  51. package/bundled/upstream/ecc/agents/tdd-guide.md +91 -0
  52. package/bundled/upstream/ecc/agents/type-design-analyzer.md +41 -0
  53. package/bundled/upstream/ecc/agents/typescript-reviewer.md +112 -0
  54. package/bundled/upstream/ecc/commands/agent-sort.md +23 -0
  55. package/bundled/upstream/ecc/commands/aside.md +164 -0
  56. package/bundled/upstream/ecc/commands/build-fix.md +62 -0
  57. package/bundled/upstream/ecc/commands/checkpoint.md +74 -0
  58. package/bundled/upstream/ecc/commands/claw.md +23 -0
  59. package/bundled/upstream/ecc/commands/code-review.md +289 -0
  60. package/bundled/upstream/ecc/commands/context-budget.md +23 -0
  61. package/bundled/upstream/ecc/commands/cpp-build.md +173 -0
  62. package/bundled/upstream/ecc/commands/cpp-review.md +132 -0
  63. package/bundled/upstream/ecc/commands/cpp-test.md +251 -0
  64. package/bundled/upstream/ecc/commands/devfleet.md +23 -0
  65. package/bundled/upstream/ecc/commands/docs.md +23 -0
  66. package/bundled/upstream/ecc/commands/e2e.md +268 -0
  67. package/bundled/upstream/ecc/commands/eval.md +23 -0
  68. package/bundled/upstream/ecc/commands/evolve.md +178 -0
  69. package/bundled/upstream/ecc/commands/feature-dev.md +49 -0
  70. package/bundled/upstream/ecc/commands/flutter-build.md +164 -0
  71. package/bundled/upstream/ecc/commands/flutter-review.md +116 -0
  72. package/bundled/upstream/ecc/commands/flutter-test.md +144 -0
  73. package/bundled/upstream/ecc/commands/gan-build.md +99 -0
  74. package/bundled/upstream/ecc/commands/gan-design.md +35 -0
  75. package/bundled/upstream/ecc/commands/go-build.md +183 -0
  76. package/bundled/upstream/ecc/commands/go-review.md +148 -0
  77. package/bundled/upstream/ecc/commands/go-test.md +268 -0
  78. package/bundled/upstream/ecc/commands/gradle-build.md +70 -0
  79. package/bundled/upstream/ecc/commands/harness-audit.md +73 -0
  80. package/bundled/upstream/ecc/commands/hookify-configure.md +14 -0
  81. package/bundled/upstream/ecc/commands/hookify-help.md +46 -0
  82. package/bundled/upstream/ecc/commands/hookify-list.md +21 -0
  83. package/bundled/upstream/ecc/commands/hookify.md +50 -0
  84. package/bundled/upstream/ecc/commands/instinct-export.md +66 -0
  85. package/bundled/upstream/ecc/commands/instinct-import.md +114 -0
  86. package/bundled/upstream/ecc/commands/instinct-status.md +59 -0
  87. package/bundled/upstream/ecc/commands/jira.md +106 -0
  88. package/bundled/upstream/ecc/commands/kotlin-build.md +174 -0
  89. package/bundled/upstream/ecc/commands/kotlin-review.md +140 -0
  90. package/bundled/upstream/ecc/commands/kotlin-test.md +312 -0
  91. package/bundled/upstream/ecc/commands/learn-eval.md +116 -0
  92. package/bundled/upstream/ecc/commands/learn.md +70 -0
  93. package/bundled/upstream/ecc/commands/loop-start.md +32 -0
  94. package/bundled/upstream/ecc/commands/loop-status.md +24 -0
  95. package/bundled/upstream/ecc/commands/model-route.md +26 -0
  96. package/bundled/upstream/ecc/commands/multi-backend.md +158 -0
  97. package/bundled/upstream/ecc/commands/multi-execute.md +315 -0
  98. package/bundled/upstream/ecc/commands/multi-frontend.md +158 -0
  99. package/bundled/upstream/ecc/commands/multi-plan.md +268 -0
  100. package/bundled/upstream/ecc/commands/multi-workflow.md +191 -0
  101. package/bundled/upstream/ecc/commands/orchestrate.md +135 -0
  102. package/bundled/upstream/ecc/commands/plan.md +117 -0
  103. package/bundled/upstream/ecc/commands/pm2.md +272 -0
  104. package/bundled/upstream/ecc/commands/projects.md +39 -0
  105. package/bundled/upstream/ecc/commands/promote.md +41 -0
  106. package/bundled/upstream/ecc/commands/prompt-optimize.md +23 -0
  107. package/bundled/upstream/ecc/commands/prp-commit.md +112 -0
  108. package/bundled/upstream/ecc/commands/prp-implement.md +385 -0
  109. package/bundled/upstream/ecc/commands/prp-plan.md +502 -0
  110. package/bundled/upstream/ecc/commands/prp-pr.md +184 -0
  111. package/bundled/upstream/ecc/commands/prp-prd.md +447 -0
  112. package/bundled/upstream/ecc/commands/prune.md +31 -0
  113. package/bundled/upstream/ecc/commands/python-review.md +297 -0
  114. package/bundled/upstream/ecc/commands/quality-gate.md +29 -0
  115. package/bundled/upstream/ecc/commands/refactor-clean.md +80 -0
  116. package/bundled/upstream/ecc/commands/resume-session.md +156 -0
  117. package/bundled/upstream/ecc/commands/review-pr.md +37 -0
  118. package/bundled/upstream/ecc/commands/rules-distill.md +20 -0
  119. package/bundled/upstream/ecc/commands/rust-build.md +187 -0
  120. package/bundled/upstream/ecc/commands/rust-review.md +142 -0
  121. package/bundled/upstream/ecc/commands/rust-test.md +308 -0
  122. package/bundled/upstream/ecc/commands/santa-loop.md +175 -0
  123. package/bundled/upstream/ecc/commands/save-session.md +275 -0
  124. package/bundled/upstream/ecc/commands/sessions.md +339 -0
  125. package/bundled/upstream/ecc/commands/setup-pm.md +80 -0
  126. package/bundled/upstream/ecc/commands/skill-create.md +174 -0
  127. package/bundled/upstream/ecc/commands/skill-health.md +54 -0
  128. package/bundled/upstream/ecc/commands/tdd.md +231 -0
  129. package/bundled/upstream/ecc/commands/test-coverage.md +69 -0
  130. package/bundled/upstream/ecc/commands/update-codemaps.md +72 -0
  131. package/bundled/upstream/ecc/commands/update-docs.md +84 -0
  132. package/bundled/upstream/ecc/commands/verify.md +23 -0
  133. package/bundled/upstream/ecc/hooks/README.md +237 -0
  134. package/bundled/upstream/ecc/hooks/hooks.json +330 -0
  135. package/bundled/upstream/ecc/skills/accessibility/SKILL.md +146 -0
  136. package/bundled/upstream/ecc/skills/agent-eval/SKILL.md +145 -0
  137. package/bundled/upstream/ecc/skills/agent-harness-construction/SKILL.md +73 -0
  138. package/bundled/upstream/ecc/skills/agent-introspection-debugging/SKILL.md +153 -0
  139. package/bundled/upstream/ecc/skills/agent-payment-x402/SKILL.md +178 -0
  140. package/bundled/upstream/ecc/skills/agent-sort/SKILL.md +215 -0
  141. package/bundled/upstream/ecc/skills/agentic-engineering/SKILL.md +63 -0
  142. package/bundled/upstream/ecc/skills/ai-first-engineering/SKILL.md +51 -0
  143. package/bundled/upstream/ecc/skills/ai-regression-testing/SKILL.md +385 -0
  144. package/bundled/upstream/ecc/skills/android-clean-architecture/SKILL.md +339 -0
  145. package/bundled/upstream/ecc/skills/api-connector-builder/SKILL.md +120 -0
  146. package/bundled/upstream/ecc/skills/api-design/SKILL.md +523 -0
  147. package/bundled/upstream/ecc/skills/architecture-decision-records/SKILL.md +179 -0
  148. package/bundled/upstream/ecc/skills/article-writing/SKILL.md +79 -0
  149. package/bundled/upstream/ecc/skills/automation-audit-ops/SKILL.md +142 -0
  150. package/bundled/upstream/ecc/skills/autonomous-agent-harness/SKILL.md +267 -0
  151. package/bundled/upstream/ecc/skills/autonomous-loops/SKILL.md +610 -0
  152. package/bundled/upstream/ecc/skills/backend-patterns/SKILL.md +598 -0
  153. package/bundled/upstream/ecc/skills/benchmark/SKILL.md +93 -0
  154. package/bundled/upstream/ecc/skills/blueprint/SKILL.md +105 -0
  155. package/bundled/upstream/ecc/skills/brand-voice/SKILL.md +97 -0
  156. package/bundled/upstream/ecc/skills/brand-voice/references/voice-profile-schema.md +55 -0
  157. package/bundled/upstream/ecc/skills/browser-qa/SKILL.md +87 -0
  158. package/bundled/upstream/ecc/skills/bun-runtime/SKILL.md +84 -0
  159. package/bundled/upstream/ecc/skills/canary-watch/SKILL.md +99 -0
  160. package/bundled/upstream/ecc/skills/carrier-relationship-management/SKILL.md +212 -0
  161. package/bundled/upstream/ecc/skills/ck/SKILL.md +147 -0
  162. package/bundled/upstream/ecc/skills/ck/commands/forget.mjs +44 -0
  163. package/bundled/upstream/ecc/skills/ck/commands/info.mjs +24 -0
  164. package/bundled/upstream/ecc/skills/ck/commands/init.mjs +143 -0
  165. package/bundled/upstream/ecc/skills/ck/commands/list.mjs +40 -0
  166. package/bundled/upstream/ecc/skills/ck/commands/migrate.mjs +202 -0
  167. package/bundled/upstream/ecc/skills/ck/commands/resume.mjs +36 -0
  168. package/bundled/upstream/ecc/skills/ck/commands/save.mjs +210 -0
  169. package/bundled/upstream/ecc/skills/ck/commands/shared.mjs +387 -0
  170. package/bundled/upstream/ecc/skills/ck/hooks/session-start.mjs +224 -0
  171. package/bundled/upstream/ecc/skills/claude-api/SKILL.md +337 -0
  172. package/bundled/upstream/ecc/skills/claude-devfleet/SKILL.md +103 -0
  173. package/bundled/upstream/ecc/skills/click-path-audit/SKILL.md +244 -0
  174. package/bundled/upstream/ecc/skills/clickhouse-io/SKILL.md +439 -0
  175. package/bundled/upstream/ecc/skills/code-tour/SKILL.md +236 -0
  176. package/bundled/upstream/ecc/skills/codebase-onboarding/SKILL.md +233 -0
  177. package/bundled/upstream/ecc/skills/coding-standards/SKILL.md +549 -0
  178. package/bundled/upstream/ecc/skills/compose-multiplatform-patterns/SKILL.md +299 -0
  179. package/bundled/upstream/ecc/skills/configure-ecc/SKILL.md +367 -0
  180. package/bundled/upstream/ecc/skills/connections-optimizer/SKILL.md +189 -0
  181. package/bundled/upstream/ecc/skills/content-engine/SKILL.md +131 -0
  182. package/bundled/upstream/ecc/skills/content-hash-cache-pattern/SKILL.md +161 -0
  183. package/bundled/upstream/ecc/skills/context-budget/SKILL.md +135 -0
  184. package/bundled/upstream/ecc/skills/continuous-agent-loop/SKILL.md +45 -0
  185. package/bundled/upstream/ecc/skills/continuous-learning/SKILL.md +123 -0
  186. package/bundled/upstream/ecc/skills/continuous-learning/config.json +18 -0
  187. package/bundled/upstream/ecc/skills/continuous-learning/evaluate-session.sh +69 -0
  188. package/bundled/upstream/ecc/skills/continuous-learning-v2/SKILL.md +346 -0
  189. package/bundled/upstream/ecc/skills/continuous-learning-v2/agents/observer-loop.sh +282 -0
  190. package/bundled/upstream/ecc/skills/continuous-learning-v2/agents/observer.md +198 -0
  191. package/bundled/upstream/ecc/skills/continuous-learning-v2/agents/session-guardian.sh +150 -0
  192. package/bundled/upstream/ecc/skills/continuous-learning-v2/agents/start-observer.sh +244 -0
  193. package/bundled/upstream/ecc/skills/continuous-learning-v2/config.json +8 -0
  194. package/bundled/upstream/ecc/skills/continuous-learning-v2/hooks/observe.sh +460 -0
  195. package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/detect-project.sh +243 -0
  196. package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/instinct-cli.py +1426 -0
  197. package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/test_parse_instinct.py +984 -0
  198. package/bundled/upstream/ecc/skills/cost-aware-llm-pipeline/SKILL.md +183 -0
  199. package/bundled/upstream/ecc/skills/council/SKILL.md +203 -0
  200. package/bundled/upstream/ecc/skills/cpp-coding-standards/SKILL.md +723 -0
  201. package/bundled/upstream/ecc/skills/cpp-testing/SKILL.md +324 -0
  202. package/bundled/upstream/ecc/skills/crosspost/SKILL.md +111 -0
  203. package/bundled/upstream/ecc/skills/csharp-testing/SKILL.md +321 -0
  204. package/bundled/upstream/ecc/skills/customer-billing-ops/SKILL.md +140 -0
  205. package/bundled/upstream/ecc/skills/customs-trade-compliance/SKILL.md +263 -0
  206. package/bundled/upstream/ecc/skills/dart-flutter-patterns/SKILL.md +563 -0
  207. package/bundled/upstream/ecc/skills/dashboard-builder/SKILL.md +108 -0
  208. package/bundled/upstream/ecc/skills/data-scraper-agent/SKILL.md +764 -0
  209. package/bundled/upstream/ecc/skills/database-migrations/SKILL.md +429 -0
  210. package/bundled/upstream/ecc/skills/deep-research/SKILL.md +155 -0
  211. package/bundled/upstream/ecc/skills/defi-amm-security/SKILL.md +160 -0
  212. package/bundled/upstream/ecc/skills/deployment-patterns/SKILL.md +427 -0
  213. package/bundled/upstream/ecc/skills/design-system/SKILL.md +82 -0
  214. package/bundled/upstream/ecc/skills/django-patterns/SKILL.md +734 -0
  215. package/bundled/upstream/ecc/skills/django-security/SKILL.md +593 -0
  216. package/bundled/upstream/ecc/skills/django-tdd/SKILL.md +729 -0
  217. package/bundled/upstream/ecc/skills/django-verification/SKILL.md +469 -0
  218. package/bundled/upstream/ecc/skills/dmux-workflows/SKILL.md +191 -0
  219. package/bundled/upstream/ecc/skills/docker-patterns/SKILL.md +364 -0
  220. package/bundled/upstream/ecc/skills/documentation-lookup/SKILL.md +90 -0
  221. package/bundled/upstream/ecc/skills/dotnet-patterns/SKILL.md +321 -0
  222. package/bundled/upstream/ecc/skills/e2e-testing/SKILL.md +326 -0
  223. package/bundled/upstream/ecc/skills/ecc-tools-cost-audit/SKILL.md +160 -0
  224. package/bundled/upstream/ecc/skills/email-ops/SKILL.md +121 -0
  225. package/bundled/upstream/ecc/skills/energy-procurement/SKILL.md +228 -0
  226. package/bundled/upstream/ecc/skills/enterprise-agent-ops/SKILL.md +50 -0
  227. package/bundled/upstream/ecc/skills/eval-harness/SKILL.md +270 -0
  228. package/bundled/upstream/ecc/skills/evm-token-decimals/SKILL.md +130 -0
  229. package/bundled/upstream/ecc/skills/exa-search/SKILL.md +103 -0
  230. package/bundled/upstream/ecc/skills/fal-ai-media/SKILL.md +284 -0
  231. package/bundled/upstream/ecc/skills/finance-billing-ops/SKILL.md +127 -0
  232. package/bundled/upstream/ecc/skills/flutter-dart-code-review/SKILL.md +435 -0
  233. package/bundled/upstream/ecc/skills/foundation-models-on-device/SKILL.md +243 -0
  234. package/bundled/upstream/ecc/skills/frontend-design/SKILL.md +145 -0
  235. package/bundled/upstream/ecc/skills/frontend-patterns/SKILL.md +642 -0
  236. package/bundled/upstream/ecc/skills/frontend-slides/SKILL.md +184 -0
  237. package/bundled/upstream/ecc/skills/frontend-slides/STYLE_PRESETS.md +330 -0
  238. package/bundled/upstream/ecc/skills/gan-style-harness/SKILL.md +278 -0
  239. package/bundled/upstream/ecc/skills/gateguard/SKILL.md +121 -0
  240. package/bundled/upstream/ecc/skills/git-workflow/SKILL.md +715 -0
  241. package/bundled/upstream/ecc/skills/github-ops/SKILL.md +144 -0
  242. package/bundled/upstream/ecc/skills/golang-patterns/SKILL.md +674 -0
  243. package/bundled/upstream/ecc/skills/golang-testing/SKILL.md +720 -0
  244. package/bundled/upstream/ecc/skills/google-workspace-ops/SKILL.md +95 -0
  245. package/bundled/upstream/ecc/skills/healthcare-cdss-patterns/SKILL.md +245 -0
  246. package/bundled/upstream/ecc/skills/healthcare-emr-patterns/SKILL.md +159 -0
  247. package/bundled/upstream/ecc/skills/healthcare-eval-harness/SKILL.md +207 -0
  248. package/bundled/upstream/ecc/skills/healthcare-phi-compliance/SKILL.md +145 -0
  249. package/bundled/upstream/ecc/skills/hexagonal-architecture/SKILL.md +276 -0
  250. package/bundled/upstream/ecc/skills/hipaa-compliance/SKILL.md +78 -0
  251. package/bundled/upstream/ecc/skills/hookify-rules/SKILL.md +128 -0
  252. package/bundled/upstream/ecc/skills/inventory-demand-planning/SKILL.md +247 -0
  253. package/bundled/upstream/ecc/skills/investor-materials/SKILL.md +96 -0
  254. package/bundled/upstream/ecc/skills/investor-outreach/SKILL.md +91 -0
  255. package/bundled/upstream/ecc/skills/iterative-retrieval/SKILL.md +211 -0
  256. package/bundled/upstream/ecc/skills/java-coding-standards/SKILL.md +147 -0
  257. package/bundled/upstream/ecc/skills/jira-integration/SKILL.md +293 -0
  258. package/bundled/upstream/ecc/skills/jpa-patterns/SKILL.md +151 -0
  259. package/bundled/upstream/ecc/skills/knowledge-ops/SKILL.md +154 -0
  260. package/bundled/upstream/ecc/skills/kotlin-coroutines-flows/SKILL.md +284 -0
  261. package/bundled/upstream/ecc/skills/kotlin-exposed-patterns/SKILL.md +719 -0
  262. package/bundled/upstream/ecc/skills/kotlin-ktor-patterns/SKILL.md +689 -0
  263. package/bundled/upstream/ecc/skills/kotlin-patterns/SKILL.md +711 -0
  264. package/bundled/upstream/ecc/skills/kotlin-testing/SKILL.md +824 -0
  265. package/bundled/upstream/ecc/skills/laravel-patterns/SKILL.md +415 -0
  266. package/bundled/upstream/ecc/skills/laravel-plugin-discovery/SKILL.md +229 -0
  267. package/bundled/upstream/ecc/skills/laravel-security/SKILL.md +285 -0
  268. package/bundled/upstream/ecc/skills/laravel-tdd/SKILL.md +283 -0
  269. package/bundled/upstream/ecc/skills/laravel-verification/SKILL.md +179 -0
  270. package/bundled/upstream/ecc/skills/lead-intelligence/SKILL.md +321 -0
  271. package/bundled/upstream/ecc/skills/lead-intelligence/agents/enrichment-agent.md +85 -0
  272. package/bundled/upstream/ecc/skills/lead-intelligence/agents/mutual-mapper.md +75 -0
  273. package/bundled/upstream/ecc/skills/lead-intelligence/agents/outreach-drafter.md +98 -0
  274. package/bundled/upstream/ecc/skills/lead-intelligence/agents/signal-scorer.md +60 -0
  275. package/bundled/upstream/ecc/skills/liquid-glass-design/SKILL.md +279 -0
  276. package/bundled/upstream/ecc/skills/llm-trading-agent-security/SKILL.md +146 -0
  277. package/bundled/upstream/ecc/skills/logistics-exception-management/SKILL.md +222 -0
  278. package/bundled/upstream/ecc/skills/manim-video/SKILL.md +89 -0
  279. package/bundled/upstream/ecc/skills/manim-video/assets/network_graph_scene.py +52 -0
  280. package/bundled/upstream/ecc/skills/market-research/SKILL.md +75 -0
  281. package/bundled/upstream/ecc/skills/mcp-server-patterns/SKILL.md +69 -0
  282. package/bundled/upstream/ecc/skills/messages-ops/SKILL.md +104 -0
  283. package/bundled/upstream/ecc/skills/nanoclaw-repl/SKILL.md +33 -0
  284. package/bundled/upstream/ecc/skills/nestjs-patterns/SKILL.md +230 -0
  285. package/bundled/upstream/ecc/skills/nextjs-turbopack/SKILL.md +44 -0
  286. package/bundled/upstream/ecc/skills/nodejs-keccak256/SKILL.md +102 -0
  287. package/bundled/upstream/ecc/skills/nutrient-document-processing/SKILL.md +167 -0
  288. package/bundled/upstream/ecc/skills/nuxt4-patterns/SKILL.md +100 -0
  289. package/bundled/upstream/ecc/skills/openclaw-persona-forge/SKILL.md +296 -0
  290. package/bundled/upstream/ecc/skills/openclaw-persona-forge/gacha.py +224 -0
  291. package/bundled/upstream/ecc/skills/openclaw-persona-forge/gacha.sh +5 -0
  292. package/bundled/upstream/ecc/skills/openclaw-persona-forge/references/avatar-style.md +124 -0
  293. package/bundled/upstream/ecc/skills/openclaw-persona-forge/references/boundary-rules.md +53 -0
  294. package/bundled/upstream/ecc/skills/openclaw-persona-forge/references/error-handling.md +53 -0
  295. package/bundled/upstream/ecc/skills/openclaw-persona-forge/references/identity-tension.md +48 -0
  296. package/bundled/upstream/ecc/skills/openclaw-persona-forge/references/naming-system.md +39 -0
  297. package/bundled/upstream/ecc/skills/openclaw-persona-forge/references/output-template.md +166 -0
  298. package/bundled/upstream/ecc/skills/opensource-pipeline/SKILL.md +255 -0
  299. package/bundled/upstream/ecc/skills/perl-patterns/SKILL.md +504 -0
  300. package/bundled/upstream/ecc/skills/perl-security/SKILL.md +503 -0
  301. package/bundled/upstream/ecc/skills/perl-testing/SKILL.md +475 -0
  302. package/bundled/upstream/ecc/skills/plankton-code-quality/SKILL.md +236 -0
  303. package/bundled/upstream/ecc/skills/postgres-patterns/SKILL.md +147 -0
  304. package/bundled/upstream/ecc/skills/product-capability/SKILL.md +141 -0
  305. package/bundled/upstream/ecc/skills/product-lens/SKILL.md +92 -0
  306. package/bundled/upstream/ecc/skills/production-scheduling/SKILL.md +238 -0
  307. package/bundled/upstream/ecc/skills/project-flow-ops/SKILL.md +111 -0
  308. package/bundled/upstream/ecc/skills/prompt-optimizer/SKILL.md +397 -0
  309. package/bundled/upstream/ecc/skills/python-patterns/SKILL.md +750 -0
  310. package/bundled/upstream/ecc/skills/python-testing/SKILL.md +816 -0
  311. package/bundled/upstream/ecc/skills/pytorch-patterns/SKILL.md +396 -0
  312. package/bundled/upstream/ecc/skills/quality-nonconformance/SKILL.md +260 -0
  313. package/bundled/upstream/ecc/skills/ralphinho-rfc-pipeline/SKILL.md +67 -0
  314. package/bundled/upstream/ecc/skills/regex-vs-llm-structured-text/SKILL.md +220 -0
  315. package/bundled/upstream/ecc/skills/remotion-video-creation/SKILL.md +43 -0
  316. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/3d.md +86 -0
  317. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/animations.md +29 -0
  318. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/assets/charts-bar-chart.tsx +173 -0
  319. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/assets/text-animations-typewriter.tsx +100 -0
  320. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/assets/text-animations-word-highlight.tsx +108 -0
  321. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/assets.md +78 -0
  322. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/audio.md +172 -0
  323. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/calculate-metadata.md +104 -0
  324. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/can-decode.md +75 -0
  325. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/charts.md +58 -0
  326. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/compositions.md +146 -0
  327. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/display-captions.md +126 -0
  328. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/extract-frames.md +229 -0
  329. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/fonts.md +152 -0
  330. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/get-audio-duration.md +58 -0
  331. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/get-video-dimensions.md +68 -0
  332. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/get-video-duration.md +58 -0
  333. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/gifs.md +138 -0
  334. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/images.md +130 -0
  335. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/import-srt-captions.md +67 -0
  336. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/lottie.md +67 -0
  337. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/measuring-dom-nodes.md +34 -0
  338. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/measuring-text.md +143 -0
  339. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/sequencing.md +106 -0
  340. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/tailwind.md +11 -0
  341. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/text-animations.md +20 -0
  342. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/timing.md +179 -0
  343. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/transcribe-captions.md +19 -0
  344. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/transitions.md +122 -0
  345. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/trimming.md +52 -0
  346. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/videos.md +171 -0
  347. package/bundled/upstream/ecc/skills/repo-scan/SKILL.md +78 -0
  348. package/bundled/upstream/ecc/skills/research-ops/SKILL.md +112 -0
  349. package/bundled/upstream/ecc/skills/returns-reverse-logistics/SKILL.md +240 -0
  350. package/bundled/upstream/ecc/skills/rules-distill/SKILL.md +264 -0
  351. package/bundled/upstream/ecc/skills/rules-distill/scripts/scan-rules.sh +58 -0
  352. package/bundled/upstream/ecc/skills/rules-distill/scripts/scan-skills.sh +129 -0
  353. package/bundled/upstream/ecc/skills/rust-patterns/SKILL.md +499 -0
  354. package/bundled/upstream/ecc/skills/rust-testing/SKILL.md +500 -0
  355. package/bundled/upstream/ecc/skills/safety-guard/SKILL.md +75 -0
  356. package/bundled/upstream/ecc/skills/santa-method/SKILL.md +306 -0
  357. package/bundled/upstream/ecc/skills/search-first/SKILL.md +161 -0
  358. package/bundled/upstream/ecc/skills/security-bounty-hunter/SKILL.md +99 -0
  359. package/bundled/upstream/ecc/skills/security-review/SKILL.md +495 -0
  360. package/bundled/upstream/ecc/skills/security-review/cloud-infrastructure-security.md +361 -0
  361. package/bundled/upstream/ecc/skills/security-scan/SKILL.md +165 -0
  362. package/bundled/upstream/ecc/skills/seo/SKILL.md +154 -0
  363. package/bundled/upstream/ecc/skills/skill-comply/SKILL.md +58 -0
  364. package/bundled/upstream/ecc/skills/skill-comply/fixtures/compliant_trace.jsonl +5 -0
  365. package/bundled/upstream/ecc/skills/skill-comply/fixtures/noncompliant_trace.jsonl +3 -0
  366. package/bundled/upstream/ecc/skills/skill-comply/fixtures/tdd_spec.yaml +44 -0
  367. package/bundled/upstream/ecc/skills/skill-comply/prompts/classifier.md +24 -0
  368. package/bundled/upstream/ecc/skills/skill-comply/prompts/scenario_generator.md +62 -0
  369. package/bundled/upstream/ecc/skills/skill-comply/prompts/spec_generator.md +42 -0
  370. package/bundled/upstream/ecc/skills/skill-comply/pyproject.toml +15 -0
  371. package/bundled/upstream/ecc/skills/skill-comply/scripts/__init__.py +0 -0
  372. package/bundled/upstream/ecc/skills/skill-comply/scripts/classifier.py +85 -0
  373. package/bundled/upstream/ecc/skills/skill-comply/scripts/grader.py +124 -0
  374. package/bundled/upstream/ecc/skills/skill-comply/scripts/parser.py +107 -0
  375. package/bundled/upstream/ecc/skills/skill-comply/scripts/report.py +170 -0
  376. package/bundled/upstream/ecc/skills/skill-comply/scripts/run.py +127 -0
  377. package/bundled/upstream/ecc/skills/skill-comply/scripts/runner.py +161 -0
  378. package/bundled/upstream/ecc/skills/skill-comply/scripts/scenario_generator.py +70 -0
  379. package/bundled/upstream/ecc/skills/skill-comply/scripts/spec_generator.py +72 -0
  380. package/bundled/upstream/ecc/skills/skill-comply/scripts/utils.py +13 -0
  381. package/bundled/upstream/ecc/skills/skill-comply/tests/test_grader.py +197 -0
  382. package/bundled/upstream/ecc/skills/skill-comply/tests/test_parser.py +90 -0
  383. package/bundled/upstream/ecc/skills/skill-stocktake/SKILL.md +193 -0
  384. package/bundled/upstream/ecc/skills/skill-stocktake/scripts/quick-diff.sh +87 -0
  385. package/bundled/upstream/ecc/skills/skill-stocktake/scripts/save-results.sh +56 -0
  386. package/bundled/upstream/ecc/skills/skill-stocktake/scripts/scan.sh +170 -0
  387. package/bundled/upstream/ecc/skills/social-graph-ranker/SKILL.md +154 -0
  388. package/bundled/upstream/ecc/skills/springboot-patterns/SKILL.md +314 -0
  389. package/bundled/upstream/ecc/skills/springboot-security/SKILL.md +272 -0
  390. package/bundled/upstream/ecc/skills/springboot-tdd/SKILL.md +158 -0
  391. package/bundled/upstream/ecc/skills/springboot-verification/SKILL.md +231 -0
  392. package/bundled/upstream/ecc/skills/strategic-compact/SKILL.md +131 -0
  393. package/bundled/upstream/ecc/skills/strategic-compact/suggest-compact.sh +54 -0
  394. package/bundled/upstream/ecc/skills/swift-actor-persistence/SKILL.md +143 -0
  395. package/bundled/upstream/ecc/skills/swift-concurrency-6-2/SKILL.md +216 -0
  396. package/bundled/upstream/ecc/skills/swift-protocol-di-testing/SKILL.md +190 -0
  397. package/bundled/upstream/ecc/skills/swiftui-patterns/SKILL.md +259 -0
  398. package/bundled/upstream/ecc/skills/tdd-workflow/SKILL.md +463 -0
  399. package/bundled/upstream/ecc/skills/team-builder/SKILL.md +168 -0
  400. package/bundled/upstream/ecc/skills/terminal-ops/SKILL.md +109 -0
  401. package/bundled/upstream/ecc/skills/token-budget-advisor/SKILL.md +133 -0
  402. package/bundled/upstream/ecc/skills/ui-demo/SKILL.md +465 -0
  403. package/bundled/upstream/ecc/skills/unified-notifications-ops/SKILL.md +187 -0
  404. package/bundled/upstream/ecc/skills/verification-loop/SKILL.md +126 -0
  405. package/bundled/upstream/ecc/skills/video-editing/SKILL.md +310 -0
  406. package/bundled/upstream/ecc/skills/videodb/SKILL.md +374 -0
  407. package/bundled/upstream/ecc/skills/videodb/reference/api-reference.md +550 -0
  408. package/bundled/upstream/ecc/skills/videodb/reference/capture-reference.md +407 -0
  409. package/bundled/upstream/ecc/skills/videodb/reference/capture.md +101 -0
  410. package/bundled/upstream/ecc/skills/videodb/reference/editor.md +443 -0
  411. package/bundled/upstream/ecc/skills/videodb/reference/generative.md +331 -0
  412. package/bundled/upstream/ecc/skills/videodb/reference/rtstream-reference.md +564 -0
  413. package/bundled/upstream/ecc/skills/videodb/reference/rtstream.md +65 -0
  414. package/bundled/upstream/ecc/skills/videodb/reference/search.md +230 -0
  415. package/bundled/upstream/ecc/skills/videodb/reference/streaming.md +406 -0
  416. package/bundled/upstream/ecc/skills/videodb/reference/use-cases.md +118 -0
  417. package/bundled/upstream/ecc/skills/videodb/scripts/ws_listener.py +282 -0
  418. package/bundled/upstream/ecc/skills/visa-doc-translate/README.md +86 -0
  419. package/bundled/upstream/ecc/skills/visa-doc-translate/SKILL.md +117 -0
  420. package/bundled/upstream/ecc/skills/workspace-surface-audit/SKILL.md +125 -0
  421. package/bundled/upstream/ecc/skills/x-api/SKILL.md +230 -0
  422. package/bundled/upstream/superpowers/.omc-source/last-plan-apply.json +22 -0
  423. package/package.json +3 -1
  424. package/src/catalog/source-catalog.js +391 -0
  425. package/src/cli/artifact.js +3 -2
  426. package/src/cli/doctor.js +25 -4
  427. package/src/cli/index.js +19 -0
  428. package/src/cli/plan.js +220 -0
  429. package/src/cli/setup.js +209 -12
  430. package/src/cli/source.js +110 -3
  431. package/src/config/paths.js +31 -0
  432. package/src/config/sources.js +103 -10
  433. package/src/merge/hook-merger.js +1 -0
@@ -0,0 +1,160 @@
1
+ ---
2
+ name: defi-amm-security
3
+ description: Security checklist for Solidity AMM contracts, liquidity pools, and swap flows. Covers reentrancy, CEI ordering, donation or inflation attacks, oracle manipulation, slippage, admin controls, and integer math.
4
+ origin: ECC direct-port adaptation
5
+ version: "1.0.0"
6
+ ---
7
+
8
+ # DeFi AMM Security
9
+
10
+ Critical vulnerability patterns and hardened implementations for Solidity AMM contracts, LP vaults, and swap functions.
11
+
12
+ ## When to Use
13
+
14
+ - Writing or auditing a Solidity AMM or liquidity-pool contract
15
+ - Implementing swap, deposit, withdraw, mint, or burn flows that hold token balances
16
+ - Reviewing any contract that uses `token.balanceOf(address(this))` in share or reserve math
17
+ - Adding fee setters, pausers, oracle updates, or other admin functions to a DeFi protocol
18
+
19
+ ## How It Works
20
+
21
+ Use this as a checklist-plus-pattern library. Review every user entrypoint against the categories below and prefer the hardened examples over hand-rolled variants.
22
+
23
+ ## Examples
24
+
25
+ ### Reentrancy: enforce CEI order
26
+
27
+ Vulnerable:
28
+
29
+ ```solidity
30
+ function withdraw(uint256 amount) external {
31
+ require(balances[msg.sender] >= amount);
32
+ token.transfer(msg.sender, amount);
33
+ balances[msg.sender] -= amount;
34
+ }
35
+ ```
36
+
37
+ Safe:
38
+
39
+ ```solidity
40
+ import {ReentrancyGuard} from "@openzeppelin/contracts/utils/ReentrancyGuard.sol";
41
+ import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
42
+
43
+ using SafeERC20 for IERC20;
44
+
45
+ function withdraw(uint256 amount) external nonReentrant {
46
+ require(balances[msg.sender] >= amount, "Insufficient");
47
+ balances[msg.sender] -= amount;
48
+ token.safeTransfer(msg.sender, amount);
49
+ }
50
+ ```
51
+
52
+ Do not write your own guard when a hardened library exists.
53
+
54
+ ### Donation or inflation attacks
55
+
56
+ Using `token.balanceOf(address(this))` directly for share math lets attackers manipulate the denominator by sending tokens to the contract outside the intended path.
57
+
58
+ ```solidity
59
+ // Vulnerable
60
+ function deposit(uint256 assets) external returns (uint256 shares) {
61
+ shares = (assets * totalShares) / token.balanceOf(address(this));
62
+ }
63
+ ```
64
+
65
+ ```solidity
66
+ // Safe
67
+ uint256 private _totalAssets;
68
+
69
+ function deposit(uint256 assets) external nonReentrant returns (uint256 shares) {
70
+ uint256 balBefore = token.balanceOf(address(this));
71
+ token.safeTransferFrom(msg.sender, address(this), assets);
72
+ uint256 received = token.balanceOf(address(this)) - balBefore;
73
+
74
+ shares = totalShares == 0 ? received : (received * totalShares) / _totalAssets;
75
+ _totalAssets += received;
76
+ totalShares += shares;
77
+ }
78
+ ```
79
+
80
+ Track internal accounting and measure actual tokens received.
81
+
82
+ ### Oracle manipulation
83
+
84
+ Spot prices are flash-loan manipulable. Prefer TWAP.
85
+
86
+ ```solidity
87
+ uint32[] memory secondsAgos = new uint32[](2);
88
+ secondsAgos[0] = 1800;
89
+ secondsAgos[1] = 0;
90
+ (int56[] memory tickCumulatives,) = IUniswapV3Pool(pool).observe(secondsAgos);
91
+ int24 twapTick = int24(
92
+ (tickCumulatives[1] - tickCumulatives[0]) / int56(uint56(30 minutes))
93
+ );
94
+ uint160 sqrtPriceX96 = TickMath.getSqrtRatioAtTick(twapTick);
95
+ ```
96
+
97
+ ### Slippage protection
98
+
99
+ Every swap path needs caller-provided slippage and a deadline.
100
+
101
+ ```solidity
102
+ function swap(
103
+ uint256 amountIn,
104
+ uint256 amountOutMin,
105
+ uint256 deadline
106
+ ) external returns (uint256 amountOut) {
107
+ require(block.timestamp <= deadline, "Expired");
108
+ amountOut = _calculateOut(amountIn);
109
+ require(amountOut >= amountOutMin, "Slippage exceeded");
110
+ _executeSwap(amountIn, amountOut);
111
+ }
112
+ ```
113
+
114
+ ### Safe reserve math
115
+
116
+ ```solidity
117
+ import {FullMath} from "@uniswap/v3-core/contracts/libraries/FullMath.sol";
118
+
119
+ uint256 result = FullMath.mulDiv(a, b, c);
120
+ ```
121
+
122
+ For large reserve math, avoid naive `a * b / c` when overflow risk exists.
123
+
124
+ ### Admin controls
125
+
126
+ ```solidity
127
+ import {Ownable2Step} from "@openzeppelin/contracts/access/Ownable2Step.sol";
128
+
129
+ contract MyAMM is Ownable2Step {
130
+ function setFee(uint256 fee) external onlyOwner { ... }
131
+ function pause() external onlyOwner { ... }
132
+ }
133
+ ```
134
+
135
+ Prefer explicit acceptance for ownership transfer and gate every privileged path.
136
+
137
+ ## Security Checklist
138
+
139
+ - Reentrancy-exposed entrypoints use `nonReentrant`
140
+ - CEI ordering is respected
141
+ - Share math does not depend on raw `balanceOf(address(this))`
142
+ - ERC-20 transfers use `SafeERC20`
143
+ - Deposits measure actual tokens received
144
+ - Oracle reads use TWAP or another manipulation-resistant source
145
+ - Swaps require `amountOutMin` and `deadline`
146
+ - Overflow-sensitive reserve math uses safe primitives like `mulDiv`
147
+ - Admin functions are access-controlled
148
+ - Emergency pause exists and is tested
149
+ - Static analysis and fuzzing are run before production
150
+
151
+ ## Audit Tools
152
+
153
+ ```bash
154
+ pip install slither-analyzer
155
+ slither . --exclude-dependencies
156
+
157
+ echidna-test . --contract YourAMM --config echidna.yaml
158
+
159
+ forge test --fuzz-runs 10000
160
+ ```
@@ -0,0 +1,427 @@
1
+ ---
2
+ name: deployment-patterns
3
+ description: Deployment workflows, CI/CD pipeline patterns, Docker containerization, health checks, rollback strategies, and production readiness checklists for web applications.
4
+ origin: ECC
5
+ ---
6
+
7
+ # Deployment Patterns
8
+
9
+ Production deployment workflows and CI/CD best practices.
10
+
11
+ ## When to Activate
12
+
13
+ - Setting up CI/CD pipelines
14
+ - Dockerizing an application
15
+ - Planning deployment strategy (blue-green, canary, rolling)
16
+ - Implementing health checks and readiness probes
17
+ - Preparing for a production release
18
+ - Configuring environment-specific settings
19
+
20
+ ## Deployment Strategies
21
+
22
+ ### Rolling Deployment (Default)
23
+
24
+ Replace instances gradually — old and new versions run simultaneously during rollout.
25
+
26
+ ```
27
+ Instance 1: v1 → v2 (update first)
28
+ Instance 2: v1 (still running v1)
29
+ Instance 3: v1 (still running v1)
30
+
31
+ Instance 1: v2
32
+ Instance 2: v1 → v2 (update second)
33
+ Instance 3: v1
34
+
35
+ Instance 1: v2
36
+ Instance 2: v2
37
+ Instance 3: v1 → v2 (update last)
38
+ ```
39
+
40
+ **Pros:** Zero downtime, gradual rollout
41
+ **Cons:** Two versions run simultaneously — requires backward-compatible changes
42
+ **Use when:** Standard deployments, backward-compatible changes
43
+
44
+ ### Blue-Green Deployment
45
+
46
+ Run two identical environments. Switch traffic atomically.
47
+
48
+ ```
49
+ Blue (v1) ← traffic
50
+ Green (v2) idle, running new version
51
+
52
+ # After verification:
53
+ Blue (v1) idle (becomes standby)
54
+ Green (v2) ← traffic
55
+ ```
56
+
57
+ **Pros:** Instant rollback (switch back to blue), clean cutover
58
+ **Cons:** Requires 2x infrastructure during deployment
59
+ **Use when:** Critical services, zero-tolerance for issues
60
+
61
+ ### Canary Deployment
62
+
63
+ Route a small percentage of traffic to the new version first.
64
+
65
+ ```
66
+ v1: 95% of traffic
67
+ v2: 5% of traffic (canary)
68
+
69
+ # If metrics look good:
70
+ v1: 50% of traffic
71
+ v2: 50% of traffic
72
+
73
+ # Final:
74
+ v2: 100% of traffic
75
+ ```
76
+
77
+ **Pros:** Catches issues with real traffic before full rollout
78
+ **Cons:** Requires traffic splitting infrastructure, monitoring
79
+ **Use when:** High-traffic services, risky changes, feature flags
80
+
81
+ ## Docker
82
+
83
+ ### Multi-Stage Dockerfile (Node.js)
84
+
85
+ ```dockerfile
86
+ # Stage 1: Install dependencies
87
+ FROM node:22-alpine AS deps
88
+ WORKDIR /app
89
+ COPY package.json package-lock.json ./
90
+ RUN npm ci --production=false
91
+
92
+ # Stage 2: Build
93
+ FROM node:22-alpine AS builder
94
+ WORKDIR /app
95
+ COPY --from=deps /app/node_modules ./node_modules
96
+ COPY . .
97
+ RUN npm run build
98
+ RUN npm prune --production
99
+
100
+ # Stage 3: Production image
101
+ FROM node:22-alpine AS runner
102
+ WORKDIR /app
103
+
104
+ RUN addgroup -g 1001 -S appgroup && adduser -S appuser -u 1001
105
+ USER appuser
106
+
107
+ COPY --from=builder --chown=appuser:appgroup /app/node_modules ./node_modules
108
+ COPY --from=builder --chown=appuser:appgroup /app/dist ./dist
109
+ COPY --from=builder --chown=appuser:appgroup /app/package.json ./
110
+
111
+ ENV NODE_ENV=production
112
+ EXPOSE 3000
113
+
114
+ HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
115
+ CMD wget --no-verbose --tries=1 --spider http://localhost:3000/health || exit 1
116
+
117
+ CMD ["node", "dist/server.js"]
118
+ ```
119
+
120
+ ### Multi-Stage Dockerfile (Go)
121
+
122
+ ```dockerfile
123
+ FROM golang:1.22-alpine AS builder
124
+ WORKDIR /app
125
+ COPY go.mod go.sum ./
126
+ RUN go mod download
127
+ COPY . .
128
+ RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w" -o /server ./cmd/server
129
+
130
+ FROM alpine:3.19 AS runner
131
+ RUN apk --no-cache add ca-certificates
132
+ RUN adduser -D -u 1001 appuser
133
+ USER appuser
134
+
135
+ COPY --from=builder /server /server
136
+
137
+ EXPOSE 8080
138
+ HEALTHCHECK --interval=30s --timeout=3s CMD wget -qO- http://localhost:8080/health || exit 1
139
+ CMD ["/server"]
140
+ ```
141
+
142
+ ### Multi-Stage Dockerfile (Python/Django)
143
+
144
+ ```dockerfile
145
+ FROM python:3.12-slim AS builder
146
+ WORKDIR /app
147
+ RUN pip install --no-cache-dir uv
148
+ COPY requirements.txt .
149
+ RUN uv pip install --system --no-cache -r requirements.txt
150
+
151
+ FROM python:3.12-slim AS runner
152
+ WORKDIR /app
153
+
154
+ RUN useradd -r -u 1001 appuser
155
+ USER appuser
156
+
157
+ COPY --from=builder /usr/local/lib/python3.12/site-packages /usr/local/lib/python3.12/site-packages
158
+ COPY --from=builder /usr/local/bin /usr/local/bin
159
+ COPY . .
160
+
161
+ ENV PYTHONUNBUFFERED=1
162
+ EXPOSE 8000
163
+
164
+ HEALTHCHECK --interval=30s --timeout=3s CMD python -c "import urllib.request; urllib.request.urlopen('http://localhost:8000/health/')" || exit 1
165
+ CMD ["gunicorn", "config.wsgi:application", "--bind", "0.0.0.0:8000", "--workers", "4"]
166
+ ```
167
+
168
+ ### Docker Best Practices
169
+
170
+ ```
171
+ # GOOD practices
172
+ - Use specific version tags (node:22-alpine, not node:latest)
173
+ - Multi-stage builds to minimize image size
174
+ - Run as non-root user
175
+ - Copy dependency files first (layer caching)
176
+ - Use .dockerignore to exclude node_modules, .git, tests
177
+ - Add HEALTHCHECK instruction
178
+ - Set resource limits in docker-compose or k8s
179
+
180
+ # BAD practices
181
+ - Running as root
182
+ - Using :latest tags
183
+ - Copying entire repo in one COPY layer
184
+ - Installing dev dependencies in production image
185
+ - Storing secrets in image (use env vars or secrets manager)
186
+ ```
187
+
188
+ ## CI/CD Pipeline
189
+
190
+ ### GitHub Actions (Standard Pipeline)
191
+
192
+ ```yaml
193
+ name: CI/CD
194
+
195
+ on:
196
+ push:
197
+ branches: [main]
198
+ pull_request:
199
+ branches: [main]
200
+
201
+ jobs:
202
+ test:
203
+ runs-on: ubuntu-latest
204
+ steps:
205
+ - uses: actions/checkout@v4
206
+ - uses: actions/setup-node@v4
207
+ with:
208
+ node-version: 22
209
+ cache: npm
210
+ - run: npm ci
211
+ - run: npm run lint
212
+ - run: npm run typecheck
213
+ - run: npm test -- --coverage
214
+ - uses: actions/upload-artifact@v4
215
+ if: always()
216
+ with:
217
+ name: coverage
218
+ path: coverage/
219
+
220
+ build:
221
+ needs: test
222
+ runs-on: ubuntu-latest
223
+ if: github.ref == 'refs/heads/main'
224
+ steps:
225
+ - uses: actions/checkout@v4
226
+ - uses: docker/setup-buildx-action@v3
227
+ - uses: docker/login-action@v3
228
+ with:
229
+ registry: ghcr.io
230
+ username: ${{ github.actor }}
231
+ password: ${{ secrets.GITHUB_TOKEN }}
232
+ - uses: docker/build-push-action@v5
233
+ with:
234
+ push: true
235
+ tags: ghcr.io/${{ github.repository }}:${{ github.sha }}
236
+ cache-from: type=gha
237
+ cache-to: type=gha,mode=max
238
+
239
+ deploy:
240
+ needs: build
241
+ runs-on: ubuntu-latest
242
+ if: github.ref == 'refs/heads/main'
243
+ environment: production
244
+ steps:
245
+ - name: Deploy to production
246
+ run: |
247
+ # Platform-specific deployment command
248
+ # Railway: railway up
249
+ # Vercel: vercel --prod
250
+ # K8s: kubectl set image deployment/app app=ghcr.io/${{ github.repository }}:${{ github.sha }}
251
+ echo "Deploying ${{ github.sha }}"
252
+ ```
253
+
254
+ ### Pipeline Stages
255
+
256
+ ```
257
+ PR opened:
258
+ lint → typecheck → unit tests → integration tests → preview deploy
259
+
260
+ Merged to main:
261
+ lint → typecheck → unit tests → integration tests → build image → deploy staging → smoke tests → deploy production
262
+ ```
263
+
264
+ ## Health Checks
265
+
266
+ ### Health Check Endpoint
267
+
268
+ ```typescript
269
+ // Simple health check
270
+ app.get("/health", (req, res) => {
271
+ res.status(200).json({ status: "ok" });
272
+ });
273
+
274
+ // Detailed health check (for internal monitoring)
275
+ app.get("/health/detailed", async (req, res) => {
276
+ const checks = {
277
+ database: await checkDatabase(),
278
+ redis: await checkRedis(),
279
+ externalApi: await checkExternalApi(),
280
+ };
281
+
282
+ const allHealthy = Object.values(checks).every(c => c.status === "ok");
283
+
284
+ res.status(allHealthy ? 200 : 503).json({
285
+ status: allHealthy ? "ok" : "degraded",
286
+ timestamp: new Date().toISOString(),
287
+ version: process.env.APP_VERSION || "unknown",
288
+ uptime: process.uptime(),
289
+ checks,
290
+ });
291
+ });
292
+
293
+ async function checkDatabase(): Promise<HealthCheck> {
294
+ try {
295
+ await db.query("SELECT 1");
296
+ return { status: "ok", latency_ms: 2 };
297
+ } catch (err) {
298
+ return { status: "error", message: "Database unreachable" };
299
+ }
300
+ }
301
+ ```
302
+
303
+ ### Kubernetes Probes
304
+
305
+ ```yaml
306
+ livenessProbe:
307
+ httpGet:
308
+ path: /health
309
+ port: 3000
310
+ initialDelaySeconds: 10
311
+ periodSeconds: 30
312
+ failureThreshold: 3
313
+
314
+ readinessProbe:
315
+ httpGet:
316
+ path: /health
317
+ port: 3000
318
+ initialDelaySeconds: 5
319
+ periodSeconds: 10
320
+ failureThreshold: 2
321
+
322
+ startupProbe:
323
+ httpGet:
324
+ path: /health
325
+ port: 3000
326
+ initialDelaySeconds: 0
327
+ periodSeconds: 5
328
+ failureThreshold: 30 # 30 * 5s = 150s max startup time
329
+ ```
330
+
331
+ ## Environment Configuration
332
+
333
+ ### Twelve-Factor App Pattern
334
+
335
+ ```bash
336
+ # All config via environment variables — never in code
337
+ DATABASE_URL=postgres://user:pass@host:5432/db
338
+ REDIS_URL=redis://host:6379/0
339
+ API_KEY=${API_KEY} # injected by secrets manager
340
+ LOG_LEVEL=info
341
+ PORT=3000
342
+
343
+ # Environment-specific behavior
344
+ NODE_ENV=production # or staging, development
345
+ APP_ENV=production # explicit app environment
346
+ ```
347
+
348
+ ### Configuration Validation
349
+
350
+ ```typescript
351
+ import { z } from "zod";
352
+
353
+ const envSchema = z.object({
354
+ NODE_ENV: z.enum(["development", "staging", "production"]),
355
+ PORT: z.coerce.number().default(3000),
356
+ DATABASE_URL: z.string().url(),
357
+ REDIS_URL: z.string().url(),
358
+ JWT_SECRET: z.string().min(32),
359
+ LOG_LEVEL: z.enum(["debug", "info", "warn", "error"]).default("info"),
360
+ });
361
+
362
+ // Validate at startup — fail fast if config is wrong
363
+ export const env = envSchema.parse(process.env);
364
+ ```
365
+
366
+ ## Rollback Strategy
367
+
368
+ ### Instant Rollback
369
+
370
+ ```bash
371
+ # Docker/Kubernetes: point to previous image
372
+ kubectl rollout undo deployment/app
373
+
374
+ # Vercel: promote previous deployment
375
+ vercel rollback
376
+
377
+ # Railway: redeploy previous commit
378
+ railway up --commit <previous-sha>
379
+
380
+ # Database: rollback migration (if reversible)
381
+ npx prisma migrate resolve --rolled-back <migration-name>
382
+ ```
383
+
384
+ ### Rollback Checklist
385
+
386
+ - [ ] Previous image/artifact is available and tagged
387
+ - [ ] Database migrations are backward-compatible (no destructive changes)
388
+ - [ ] Feature flags can disable new features without deploy
389
+ - [ ] Monitoring alerts configured for error rate spikes
390
+ - [ ] Rollback tested in staging before production release
391
+
392
+ ## Production Readiness Checklist
393
+
394
+ Before any production deployment:
395
+
396
+ ### Application
397
+ - [ ] All tests pass (unit, integration, E2E)
398
+ - [ ] No hardcoded secrets in code or config files
399
+ - [ ] Error handling covers all edge cases
400
+ - [ ] Logging is structured (JSON) and does not contain PII
401
+ - [ ] Health check endpoint returns meaningful status
402
+
403
+ ### Infrastructure
404
+ - [ ] Docker image builds reproducibly (pinned versions)
405
+ - [ ] Environment variables documented and validated at startup
406
+ - [ ] Resource limits set (CPU, memory)
407
+ - [ ] Horizontal scaling configured (min/max instances)
408
+ - [ ] SSL/TLS enabled on all endpoints
409
+
410
+ ### Monitoring
411
+ - [ ] Application metrics exported (request rate, latency, errors)
412
+ - [ ] Alerts configured for error rate > threshold
413
+ - [ ] Log aggregation set up (structured logs, searchable)
414
+ - [ ] Uptime monitoring on health endpoint
415
+
416
+ ### Security
417
+ - [ ] Dependencies scanned for CVEs
418
+ - [ ] CORS configured for allowed origins only
419
+ - [ ] Rate limiting enabled on public endpoints
420
+ - [ ] Authentication and authorization verified
421
+ - [ ] Security headers set (CSP, HSTS, X-Frame-Options)
422
+
423
+ ### Operations
424
+ - [ ] Rollback plan documented and tested
425
+ - [ ] Database migration tested against production-sized data
426
+ - [ ] Runbook for common failure scenarios
427
+ - [ ] On-call rotation and escalation path defined
@@ -0,0 +1,82 @@
1
+ ---
2
+ name: design-system
3
+ description: Use this skill to generate or audit design systems, check visual consistency, and review PRs that touch styling.
4
+ origin: ECC
5
+ ---
6
+
7
+ # Design System — Generate & Audit Visual Systems
8
+
9
+ ## When to Use
10
+
11
+ - Starting a new project that needs a design system
12
+ - Auditing an existing codebase for visual consistency
13
+ - Before a redesign — understand what you have
14
+ - When the UI looks "off" but you can't pinpoint why
15
+ - Reviewing PRs that touch styling
16
+
17
+ ## How It Works
18
+
19
+ ### Mode 1: Generate Design System
20
+
21
+ Analyzes your codebase and generates a cohesive design system:
22
+
23
+ ```
24
+ 1. Scan CSS/Tailwind/styled-components for existing patterns
25
+ 2. Extract: colors, typography, spacing, border-radius, shadows, breakpoints
26
+ 3. Research 3 competitor sites for inspiration (via browser MCP)
27
+ 4. Propose a design token set (JSON + CSS custom properties)
28
+ 5. Generate DESIGN.md with rationale for each decision
29
+ 6. Create an interactive HTML preview page (self-contained, no deps)
30
+ ```
31
+
32
+ Output: `DESIGN.md` + `design-tokens.json` + `design-preview.html`
33
+
34
+ ### Mode 2: Visual Audit
35
+
36
+ Scores your UI across 10 dimensions (0-10 each):
37
+
38
+ ```
39
+ 1. Color consistency — are you using your palette or random hex values?
40
+ 2. Typography hierarchy — clear h1 > h2 > h3 > body > caption?
41
+ 3. Spacing rhythm — consistent scale (4px/8px/16px) or arbitrary?
42
+ 4. Component consistency — do similar elements look similar?
43
+ 5. Responsive behavior — fluid or broken at breakpoints?
44
+ 6. Dark mode — complete or half-done?
45
+ 7. Animation — purposeful or gratuitous?
46
+ 8. Accessibility — contrast ratios, focus states, touch targets
47
+ 9. Information density — cluttered or clean?
48
+ 10. Polish — hover states, transitions, loading states, empty states
49
+ ```
50
+
51
+ Each dimension gets a score, specific examples, and a fix with exact file:line.
52
+
53
+ ### Mode 3: AI Slop Detection
54
+
55
+ Identifies generic AI-generated design patterns:
56
+
57
+ ```
58
+ - Gratuitous gradients on everything
59
+ - Purple-to-blue defaults
60
+ - "Glass morphism" cards with no purpose
61
+ - Rounded corners on things that shouldn't be rounded
62
+ - Excessive animations on scroll
63
+ - Generic hero with centered text over stock gradient
64
+ - Sans-serif font stack with no personality
65
+ ```
66
+
67
+ ## Examples
68
+
69
+ **Generate for a SaaS app:**
70
+ ```
71
+ /design-system generate --style minimal --palette earth-tones
72
+ ```
73
+
74
+ **Audit existing UI:**
75
+ ```
76
+ /design-system audit --url http://localhost:3000 --pages / /pricing /docs
77
+ ```
78
+
79
+ **Check for AI slop:**
80
+ ```
81
+ /design-system slop-check
82
+ ```