@rubix0270/arboris 1.0.1 → 1.0.3

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 (451) hide show
  1. package/package.json +8 -19
  2. package/run.mjs +10 -0
  3. package/dist/cli.mjs +0 -382
  4. package/manifest.json +0 -323
  5. package/prisma/skills/accessibility/SKILL.md +0 -147
  6. package/prisma/skills/agent-architecture-audit/SKILL.md +0 -257
  7. package/prisma/skills/agent-eval/SKILL.md +0 -146
  8. package/prisma/skills/agent-harness-construction/SKILL.md +0 -74
  9. package/prisma/skills/agent-introspection-debugging/SKILL.md +0 -154
  10. package/prisma/skills/agent-payment-x402/SKILL.md +0 -225
  11. package/prisma/skills/agent-self-evaluation/SKILL.md +0 -182
  12. package/prisma/skills/agent-self-evaluation/examples/high-score-example.md +0 -87
  13. package/prisma/skills/agent-self-evaluation/examples/low-score-example.md +0 -86
  14. package/prisma/skills/agent-self-evaluation/references/evaluation-criteria.md +0 -71
  15. package/prisma/skills/agent-self-evaluation/references/hook-integration.md +0 -64
  16. package/prisma/skills/agent-self-evaluation/scripts/evaluate.py +0 -408
  17. package/prisma/skills/agent-self-evaluation/templates/evaluation-report.md +0 -86
  18. package/prisma/skills/agent-sort/SKILL.md +0 -216
  19. package/prisma/skills/agentic-engineering/SKILL.md +0 -64
  20. package/prisma/skills/agentic-os/SKILL.md +0 -388
  21. package/prisma/skills/ai-first-engineering/SKILL.md +0 -52
  22. package/prisma/skills/ai-regression-testing/SKILL.md +0 -386
  23. package/prisma/skills/android-clean-architecture/SKILL.md +0 -340
  24. package/prisma/skills/angular-developer/SKILL.md +0 -155
  25. package/prisma/skills/angular-developer/references/angular-animations.md +0 -160
  26. package/prisma/skills/angular-developer/references/angular-aria.md +0 -410
  27. package/prisma/skills/angular-developer/references/cli.md +0 -86
  28. package/prisma/skills/angular-developer/references/component-harnesses.md +0 -59
  29. package/prisma/skills/angular-developer/references/component-styling.md +0 -91
  30. package/prisma/skills/angular-developer/references/components.md +0 -117
  31. package/prisma/skills/angular-developer/references/creating-services.md +0 -97
  32. package/prisma/skills/angular-developer/references/data-resolvers.md +0 -69
  33. package/prisma/skills/angular-developer/references/define-routes.md +0 -67
  34. package/prisma/skills/angular-developer/references/defining-providers.md +0 -72
  35. package/prisma/skills/angular-developer/references/di-fundamentals.md +0 -120
  36. package/prisma/skills/angular-developer/references/e2e-testing.md +0 -56
  37. package/prisma/skills/angular-developer/references/effects.md +0 -83
  38. package/prisma/skills/angular-developer/references/hierarchical-injectors.md +0 -43
  39. package/prisma/skills/angular-developer/references/host-elements.md +0 -80
  40. package/prisma/skills/angular-developer/references/injection-context.md +0 -63
  41. package/prisma/skills/angular-developer/references/inputs.md +0 -101
  42. package/prisma/skills/angular-developer/references/linked-signal.md +0 -59
  43. package/prisma/skills/angular-developer/references/loading-strategies.md +0 -61
  44. package/prisma/skills/angular-developer/references/mcp.md +0 -108
  45. package/prisma/skills/angular-developer/references/navigate-to-routes.md +0 -69
  46. package/prisma/skills/angular-developer/references/outputs.md +0 -86
  47. package/prisma/skills/angular-developer/references/reactive-forms.md +0 -122
  48. package/prisma/skills/angular-developer/references/rendering-strategies.md +0 -44
  49. package/prisma/skills/angular-developer/references/resource.md +0 -77
  50. package/prisma/skills/angular-developer/references/route-animations.md +0 -56
  51. package/prisma/skills/angular-developer/references/route-guards.md +0 -52
  52. package/prisma/skills/angular-developer/references/router-lifecycle.md +0 -45
  53. package/prisma/skills/angular-developer/references/router-testing.md +0 -87
  54. package/prisma/skills/angular-developer/references/show-routes-with-outlets.md +0 -68
  55. package/prisma/skills/angular-developer/references/signal-forms.md +0 -795
  56. package/prisma/skills/angular-developer/references/signals-overview.md +0 -94
  57. package/prisma/skills/angular-developer/references/tailwind-css.md +0 -69
  58. package/prisma/skills/angular-developer/references/template-driven-forms.md +0 -114
  59. package/prisma/skills/angular-developer/references/testing-fundamentals.md +0 -65
  60. package/prisma/skills/api-connector-builder/SKILL.md +0 -121
  61. package/prisma/skills/api-design/SKILL.md +0 -524
  62. package/prisma/skills/architecture-decision-records/SKILL.md +0 -180
  63. package/prisma/skills/article-writing/SKILL.md +0 -80
  64. package/prisma/skills/automation-audit-ops/SKILL.md +0 -143
  65. package/prisma/skills/autonomous-agent-harness/SKILL.md +0 -274
  66. package/prisma/skills/autonomous-loops/SKILL.md +0 -611
  67. package/prisma/skills/backend-patterns/SKILL.md +0 -562
  68. package/prisma/skills/benchmark/SKILL.md +0 -94
  69. package/prisma/skills/benchmark-methodology/SKILL.md +0 -190
  70. package/prisma/skills/benchmark-optimization-loop/SKILL.md +0 -70
  71. package/prisma/skills/blender-motion-state-inspection/SKILL.md +0 -165
  72. package/prisma/skills/blueprint/SKILL.md +0 -106
  73. package/prisma/skills/brand-discovery/SKILL.md +0 -145
  74. package/prisma/skills/brand-discovery/references/10_purpose-why.md +0 -40
  75. package/prisma/skills/brand-discovery/references/20_positioning.md +0 -44
  76. package/prisma/skills/brand-discovery/references/30_audience-niche.md +0 -52
  77. package/prisma/skills/brand-discovery/references/40_personality-archetype.md +0 -57
  78. package/prisma/skills/brand-discovery/references/50_voice-tone.md +0 -59
  79. package/prisma/skills/brand-discovery/references/60_narrative-story.md +0 -50
  80. package/prisma/skills/brand-discovery/references/70_founder-tension.md +0 -49
  81. package/prisma/skills/brand-discovery/references/90_SYNTHESIS.md +0 -133
  82. package/prisma/skills/brand-voice/SKILL.md +0 -98
  83. package/prisma/skills/brand-voice/references/voice-profile-schema.md +0 -55
  84. package/prisma/skills/browser-qa/SKILL.md +0 -105
  85. package/prisma/skills/bun-runtime/SKILL.md +0 -85
  86. package/prisma/skills/canary-watch/SKILL.md +0 -108
  87. package/prisma/skills/carrier-relationship-management/SKILL.md +0 -212
  88. package/prisma/skills/cisco-ios-patterns/SKILL.md +0 -164
  89. package/prisma/skills/ck/SKILL.md +0 -148
  90. package/prisma/skills/ck/commands/forget.mjs +0 -44
  91. package/prisma/skills/ck/commands/info.mjs +0 -24
  92. package/prisma/skills/ck/commands/init.mjs +0 -143
  93. package/prisma/skills/ck/commands/list.mjs +0 -40
  94. package/prisma/skills/ck/commands/migrate.mjs +0 -202
  95. package/prisma/skills/ck/commands/resume.mjs +0 -36
  96. package/prisma/skills/ck/commands/save.mjs +0 -210
  97. package/prisma/skills/ck/commands/shared.mjs +0 -387
  98. package/prisma/skills/ck/hooks/session-start.mjs +0 -224
  99. package/prisma/skills/claude-devfleet/SKILL.md +0 -112
  100. package/prisma/skills/click-path-audit/SKILL.md +0 -245
  101. package/prisma/skills/clickhouse-io/SKILL.md +0 -440
  102. package/prisma/skills/code-tour/SKILL.md +0 -254
  103. package/prisma/skills/codebase-onboarding/SKILL.md +0 -234
  104. package/prisma/skills/codehealth-mcp/SKILL.md +0 -167
  105. package/prisma/skills/coding-standards/SKILL.md +0 -551
  106. package/prisma/skills/competitive-platform-analysis/SKILL.md +0 -214
  107. package/prisma/skills/competitive-report-structure/SKILL.md +0 -162
  108. package/prisma/skills/compose-multiplatform-patterns/SKILL.md +0 -300
  109. package/prisma/skills/config-gc/SKILL.md +0 -120
  110. package/prisma/skills/configure-ecc/SKILL.md +0 -385
  111. package/prisma/skills/connections-optimizer/SKILL.md +0 -190
  112. package/prisma/skills/content-engine/SKILL.md +0 -132
  113. package/prisma/skills/content-hash-cache-pattern/SKILL.md +0 -162
  114. package/prisma/skills/context-budget/SKILL.md +0 -136
  115. package/prisma/skills/continuous-agent-loop/SKILL.md +0 -46
  116. package/prisma/skills/continuous-learning/SKILL.md +0 -132
  117. package/prisma/skills/continuous-learning/config.json +0 -18
  118. package/prisma/skills/continuous-learning/evaluate-session.sh +0 -69
  119. package/prisma/skills/continuous-learning-v2/SKILL.md +0 -361
  120. package/prisma/skills/continuous-learning-v2/agents/observer-loop.sh +0 -359
  121. package/prisma/skills/continuous-learning-v2/agents/observer.md +0 -189
  122. package/prisma/skills/continuous-learning-v2/agents/session-guardian.sh +0 -150
  123. package/prisma/skills/continuous-learning-v2/agents/start-observer.sh +0 -248
  124. package/prisma/skills/continuous-learning-v2/config.json +0 -8
  125. package/prisma/skills/continuous-learning-v2/hooks/observe.sh +0 -585
  126. package/prisma/skills/continuous-learning-v2/scripts/detect-project.sh +0 -322
  127. package/prisma/skills/continuous-learning-v2/scripts/instinct-cli.py +0 -1956
  128. package/prisma/skills/continuous-learning-v2/scripts/lib/homunculus-dir.sh +0 -31
  129. package/prisma/skills/continuous-learning-v2/scripts/migrate-homunculus.sh +0 -68
  130. package/prisma/skills/continuous-learning-v2/scripts/test_parse_instinct.py +0 -1421
  131. package/prisma/skills/cost-aware-llm-pipeline/SKILL.md +0 -184
  132. package/prisma/skills/cost-tracking/SKILL.md +0 -97
  133. package/prisma/skills/council/SKILL.md +0 -204
  134. package/prisma/skills/cpp-coding-standards/SKILL.md +0 -724
  135. package/prisma/skills/cpp-testing/SKILL.md +0 -325
  136. package/prisma/skills/crosspost/SKILL.md +0 -112
  137. package/prisma/skills/csharp-testing/SKILL.md +0 -322
  138. package/prisma/skills/customer-billing-ops/SKILL.md +0 -141
  139. package/prisma/skills/customs-trade-compliance/SKILL.md +0 -263
  140. package/prisma/skills/dart-flutter-patterns/SKILL.md +0 -564
  141. package/prisma/skills/dashboard-builder/SKILL.md +0 -109
  142. package/prisma/skills/data-scraper-agent/SKILL.md +0 -765
  143. package/prisma/skills/data-throughput-accelerator/SKILL.md +0 -73
  144. package/prisma/skills/database-migrations/SKILL.md +0 -430
  145. package/prisma/skills/deep-research/SKILL.md +0 -160
  146. package/prisma/skills/defi-amm-security/SKILL.md +0 -167
  147. package/prisma/skills/delivery-gate/SKILL.md +0 -126
  148. package/prisma/skills/delivery-gate/hooks/quality-gate.py +0 -220
  149. package/prisma/skills/deployment-patterns/SKILL.md +0 -428
  150. package/prisma/skills/design-system/SKILL.md +0 -83
  151. package/prisma/skills/django-celery/SKILL.md +0 -458
  152. package/prisma/skills/django-patterns/SKILL.md +0 -735
  153. package/prisma/skills/django-security/SKILL.md +0 -644
  154. package/prisma/skills/django-tdd/SKILL.md +0 -730
  155. package/prisma/skills/django-verification/SKILL.md +0 -470
  156. package/prisma/skills/dmux-workflows/SKILL.md +0 -192
  157. package/prisma/skills/docker-patterns/SKILL.md +0 -365
  158. package/prisma/skills/documentation-lookup/SKILL.md +0 -91
  159. package/prisma/skills/dotnet-patterns/SKILL.md +0 -322
  160. package/prisma/skills/dynamic-workflow-mode/SKILL.md +0 -124
  161. package/prisma/skills/e2e-testing/SKILL.md +0 -327
  162. package/prisma/skills/ecc-guide/SKILL.md +0 -190
  163. package/prisma/skills/ecc-recipes/SKILL.md +0 -149
  164. package/prisma/skills/ecc-tools-cost-audit/SKILL.md +0 -161
  165. package/prisma/skills/email-ops/SKILL.md +0 -122
  166. package/prisma/skills/energy-procurement/SKILL.md +0 -228
  167. package/prisma/skills/enterprise-agent-ops/SKILL.md +0 -51
  168. package/prisma/skills/error-handling/SKILL.md +0 -377
  169. package/prisma/skills/eval-harness/SKILL.md +0 -271
  170. package/prisma/skills/evm-token-decimals/SKILL.md +0 -131
  171. package/prisma/skills/exa-search/SKILL.md +0 -108
  172. package/prisma/skills/fal-ai-media/SKILL.md +0 -289
  173. package/prisma/skills/fastapi-patterns/SKILL.md +0 -514
  174. package/prisma/skills/finance-billing-ops/SKILL.md +0 -128
  175. package/prisma/skills/flox-environments/SKILL.md +0 -497
  176. package/prisma/skills/flutter-dart-code-review/SKILL.md +0 -436
  177. package/prisma/skills/foundation-models-on-device/SKILL.md +0 -243
  178. package/prisma/skills/frontend-a11y/SKILL.md +0 -446
  179. package/prisma/skills/frontend-design-direction/SKILL.md +0 -93
  180. package/prisma/skills/frontend-patterns/SKILL.md +0 -657
  181. package/prisma/skills/frontend-slides/SKILL.md +0 -185
  182. package/prisma/skills/frontend-slides/STYLE_PRESETS.md +0 -330
  183. package/prisma/skills/frontend-slides/animation-patterns.md +0 -122
  184. package/prisma/skills/frontend-slides/html-template.md +0 -419
  185. package/prisma/skills/frontend-slides/scripts/export-pdf.sh +0 -418
  186. package/prisma/skills/frontend-slides/scripts/extract-pptx.py +0 -96
  187. package/prisma/skills/frontend-slides/viewport-base.css +0 -153
  188. package/prisma/skills/fsharp-testing/SKILL.md +0 -281
  189. package/prisma/skills/gan-style-harness/SKILL.md +0 -279
  190. package/prisma/skills/gateguard/SKILL.md +0 -133
  191. package/prisma/skills/generating-python-installer/SKILL.md +0 -820
  192. package/prisma/skills/git-workflow/SKILL.md +0 -716
  193. package/prisma/skills/github-ops/SKILL.md +0 -145
  194. package/prisma/skills/golang-patterns/SKILL.md +0 -675
  195. package/prisma/skills/golang-testing/SKILL.md +0 -721
  196. package/prisma/skills/google-workspace-ops/SKILL.md +0 -96
  197. package/prisma/skills/growth-log/SKILL.md +0 -128
  198. package/prisma/skills/healthcare-cdss-patterns/SKILL.md +0 -246
  199. package/prisma/skills/healthcare-emr-patterns/SKILL.md +0 -160
  200. package/prisma/skills/healthcare-eval-harness/SKILL.md +0 -208
  201. package/prisma/skills/healthcare-phi-compliance/SKILL.md +0 -146
  202. package/prisma/skills/hermes-imports/SKILL.md +0 -89
  203. package/prisma/skills/hexagonal-architecture/SKILL.md +0 -277
  204. package/prisma/skills/hipaa-compliance/SKILL.md +0 -79
  205. package/prisma/skills/homelab-network-readiness/SKILL.md +0 -170
  206. package/prisma/skills/homelab-network-setup/SKILL.md +0 -130
  207. package/prisma/skills/homelab-pihole-dns/SKILL.md +0 -275
  208. package/prisma/skills/homelab-vlan-segmentation/SKILL.md +0 -312
  209. package/prisma/skills/homelab-wireguard-vpn/SKILL.md +0 -306
  210. package/prisma/skills/hookify-rules/SKILL.md +0 -128
  211. package/prisma/skills/inherit-legacy-style/SKILL.md +0 -157
  212. package/prisma/skills/intent-driven-development/SKILL.md +0 -360
  213. package/prisma/skills/inventory-demand-planning/SKILL.md +0 -247
  214. package/prisma/skills/investor-materials/SKILL.md +0 -97
  215. package/prisma/skills/investor-outreach/SKILL.md +0 -92
  216. package/prisma/skills/ios-icon-gen/SKILL.md +0 -158
  217. package/prisma/skills/ios-icon-gen/scripts/generate_icons.swift +0 -258
  218. package/prisma/skills/ios-icon-gen/scripts/iconify_gen.sh +0 -235
  219. package/prisma/skills/iterative-retrieval/SKILL.md +0 -212
  220. package/prisma/skills/ito-basket-compare/SKILL.md +0 -64
  221. package/prisma/skills/ito-data-atlas-agent/SKILL.md +0 -64
  222. package/prisma/skills/ito-market-intelligence/SKILL.md +0 -61
  223. package/prisma/skills/ito-trade-planner/SKILL.md +0 -68
  224. package/prisma/skills/java-coding-standards/SKILL.md +0 -384
  225. package/prisma/skills/jira-integration/SKILL.md +0 -303
  226. package/prisma/skills/jpa-patterns/SKILL.md +0 -152
  227. package/prisma/skills/knowledge-ops/SKILL.md +0 -155
  228. package/prisma/skills/kotlin-coroutines-flows/SKILL.md +0 -285
  229. package/prisma/skills/kotlin-exposed-patterns/SKILL.md +0 -720
  230. package/prisma/skills/kotlin-ktor-patterns/SKILL.md +0 -690
  231. package/prisma/skills/kotlin-patterns/SKILL.md +0 -712
  232. package/prisma/skills/kotlin-testing/SKILL.md +0 -825
  233. package/prisma/skills/kubernetes-patterns/SKILL.md +0 -756
  234. package/prisma/skills/laravel-patterns/SKILL.md +0 -416
  235. package/prisma/skills/laravel-plugin-discovery/SKILL.md +0 -230
  236. package/prisma/skills/laravel-security/SKILL.md +0 -948
  237. package/prisma/skills/laravel-tdd/SKILL.md +0 -675
  238. package/prisma/skills/laravel-verification/SKILL.md +0 -180
  239. package/prisma/skills/latency-critical-systems/SKILL.md +0 -74
  240. package/prisma/skills/lead-intelligence/SKILL.md +0 -322
  241. package/prisma/skills/lead-intelligence/agents/enrichment-agent.md +0 -85
  242. package/prisma/skills/lead-intelligence/agents/mutual-mapper.md +0 -75
  243. package/prisma/skills/lead-intelligence/agents/outreach-drafter.md +0 -98
  244. package/prisma/skills/lead-intelligence/agents/signal-scorer.md +0 -60
  245. package/prisma/skills/liquid-glass-design/SKILL.md +0 -279
  246. package/prisma/skills/llm-trading-agent-security/SKILL.md +0 -147
  247. package/prisma/skills/logistics-exception-management/SKILL.md +0 -222
  248. package/prisma/skills/loop-design-check/SKILL.md +0 -143
  249. package/prisma/skills/mailtrap-email-integration/SKILL.md +0 -77
  250. package/prisma/skills/make-interfaces-feel-better/SKILL.md +0 -152
  251. package/prisma/skills/manim-video/SKILL.md +0 -90
  252. package/prisma/skills/manim-video/assets/network_graph_scene.py +0 -52
  253. package/prisma/skills/market-research/SKILL.md +0 -76
  254. package/prisma/skills/marketing-campaign/SKILL.md +0 -114
  255. package/prisma/skills/mcp-server-patterns/SKILL.md +0 -70
  256. package/prisma/skills/messages-ops/SKILL.md +0 -105
  257. package/prisma/skills/ml-adoption-playbook/SKILL.md +0 -57
  258. package/prisma/skills/mle-workflow/SKILL.md +0 -347
  259. package/prisma/skills/motion-advanced/SKILL.md +0 -596
  260. package/prisma/skills/motion-foundations/SKILL.md +0 -299
  261. package/prisma/skills/motion-patterns/SKILL.md +0 -434
  262. package/prisma/skills/motion-ui/SKILL.md +0 -576
  263. package/prisma/skills/mysql-patterns/SKILL.md +0 -413
  264. package/prisma/skills/nanoclaw-repl/SKILL.md +0 -34
  265. package/prisma/skills/nestjs-patterns/SKILL.md +0 -231
  266. package/prisma/skills/netmiko-ssh-automation/SKILL.md +0 -174
  267. package/prisma/skills/network-bgp-diagnostics/SKILL.md +0 -168
  268. package/prisma/skills/network-config-validation/SKILL.md +0 -211
  269. package/prisma/skills/network-interface-health/SKILL.md +0 -153
  270. package/prisma/skills/nextjs-turbopack/SKILL.md +0 -58
  271. package/prisma/skills/nodejs-keccak256/SKILL.md +0 -103
  272. package/prisma/skills/nutrient-document-processing/SKILL.md +0 -168
  273. package/prisma/skills/nuxt4-patterns/SKILL.md +0 -101
  274. package/prisma/skills/openclaw-persona-forge/SKILL.md +0 -289
  275. package/prisma/skills/openclaw-persona-forge/gacha.py +0 -224
  276. package/prisma/skills/openclaw-persona-forge/gacha.sh +0 -5
  277. package/prisma/skills/openclaw-persona-forge/references/avatar-style.md +0 -124
  278. package/prisma/skills/openclaw-persona-forge/references/boundary-rules.md +0 -53
  279. package/prisma/skills/openclaw-persona-forge/references/error-handling.md +0 -53
  280. package/prisma/skills/openclaw-persona-forge/references/identity-tension.md +0 -48
  281. package/prisma/skills/openclaw-persona-forge/references/naming-system.md +0 -39
  282. package/prisma/skills/openclaw-persona-forge/references/output-template.md +0 -166
  283. package/prisma/skills/opensource-pipeline/SKILL.md +0 -256
  284. package/prisma/skills/orch-add-feature/SKILL.md +0 -45
  285. package/prisma/skills/orch-build-mvp/SKILL.md +0 -49
  286. package/prisma/skills/orch-change-feature/SKILL.md +0 -43
  287. package/prisma/skills/orch-fix-defect/SKILL.md +0 -43
  288. package/prisma/skills/orch-pipeline/SKILL.md +0 -121
  289. package/prisma/skills/orch-refine-code/SKILL.md +0 -44
  290. package/prisma/skills/parallel-execution-optimizer/SKILL.md +0 -73
  291. package/prisma/skills/perl-patterns/SKILL.md +0 -505
  292. package/prisma/skills/perl-security/SKILL.md +0 -504
  293. package/prisma/skills/perl-testing/SKILL.md +0 -476
  294. package/prisma/skills/plan-orchestrate/SKILL.md +0 -263
  295. package/prisma/skills/plankton-code-quality/SKILL.md +0 -237
  296. package/prisma/skills/postgres-patterns/SKILL.md +0 -148
  297. package/prisma/skills/prediction-market-oracle-research/SKILL.md +0 -64
  298. package/prisma/skills/prediction-market-risk-review/SKILL.md +0 -61
  299. package/prisma/skills/prisma-patterns/SKILL.md +0 -401
  300. package/prisma/skills/product-capability/SKILL.md +0 -142
  301. package/prisma/skills/product-lens/SKILL.md +0 -93
  302. package/prisma/skills/production-audit/SKILL.md +0 -207
  303. package/prisma/skills/production-scheduling/SKILL.md +0 -238
  304. package/prisma/skills/project-flow-ops/SKILL.md +0 -112
  305. package/prisma/skills/prompt-optimizer/SKILL.md +0 -398
  306. package/prisma/skills/python-patterns/SKILL.md +0 -751
  307. package/prisma/skills/python-testing/SKILL.md +0 -817
  308. package/prisma/skills/pytorch-patterns/SKILL.md +0 -397
  309. package/prisma/skills/quality-nonconformance/SKILL.md +0 -260
  310. package/prisma/skills/quarkus-patterns/SKILL.md +0 -723
  311. package/prisma/skills/quarkus-security/SKILL.md +0 -468
  312. package/prisma/skills/quarkus-tdd/SKILL.md +0 -812
  313. package/prisma/skills/quarkus-verification/SKILL.md +0 -480
  314. package/prisma/skills/ralphinho-rfc-pipeline/SKILL.md +0 -68
  315. package/prisma/skills/react-native-patterns/SKILL.md +0 -326
  316. package/prisma/skills/react-patterns/SKILL.md +0 -342
  317. package/prisma/skills/react-performance/SKILL.md +0 -575
  318. package/prisma/skills/react-testing/SKILL.md +0 -424
  319. package/prisma/skills/recsys-pipeline-architect/SKILL.md +0 -115
  320. package/prisma/skills/recursive-decision-ledger/SKILL.md +0 -80
  321. package/prisma/skills/redis-patterns/SKILL.md +0 -404
  322. package/prisma/skills/regex-vs-llm-structured-text/SKILL.md +0 -221
  323. package/prisma/skills/remotion-video-creation/SKILL.md +0 -43
  324. package/prisma/skills/remotion-video-creation/rules/3d.md +0 -86
  325. package/prisma/skills/remotion-video-creation/rules/animations.md +0 -29
  326. package/prisma/skills/remotion-video-creation/rules/assets/charts-bar-chart.tsx +0 -173
  327. package/prisma/skills/remotion-video-creation/rules/assets/text-animations-typewriter.tsx +0 -100
  328. package/prisma/skills/remotion-video-creation/rules/assets/text-animations-word-highlight.tsx +0 -108
  329. package/prisma/skills/remotion-video-creation/rules/assets.md +0 -78
  330. package/prisma/skills/remotion-video-creation/rules/audio.md +0 -172
  331. package/prisma/skills/remotion-video-creation/rules/calculate-metadata.md +0 -104
  332. package/prisma/skills/remotion-video-creation/rules/can-decode.md +0 -75
  333. package/prisma/skills/remotion-video-creation/rules/charts.md +0 -58
  334. package/prisma/skills/remotion-video-creation/rules/compositions.md +0 -146
  335. package/prisma/skills/remotion-video-creation/rules/display-captions.md +0 -126
  336. package/prisma/skills/remotion-video-creation/rules/extract-frames.md +0 -229
  337. package/prisma/skills/remotion-video-creation/rules/fonts.md +0 -152
  338. package/prisma/skills/remotion-video-creation/rules/get-audio-duration.md +0 -58
  339. package/prisma/skills/remotion-video-creation/rules/get-video-dimensions.md +0 -68
  340. package/prisma/skills/remotion-video-creation/rules/get-video-duration.md +0 -58
  341. package/prisma/skills/remotion-video-creation/rules/gifs.md +0 -138
  342. package/prisma/skills/remotion-video-creation/rules/images.md +0 -130
  343. package/prisma/skills/remotion-video-creation/rules/import-srt-captions.md +0 -67
  344. package/prisma/skills/remotion-video-creation/rules/lottie.md +0 -67
  345. package/prisma/skills/remotion-video-creation/rules/measuring-dom-nodes.md +0 -34
  346. package/prisma/skills/remotion-video-creation/rules/measuring-text.md +0 -143
  347. package/prisma/skills/remotion-video-creation/rules/sequencing.md +0 -106
  348. package/prisma/skills/remotion-video-creation/rules/tailwind.md +0 -11
  349. package/prisma/skills/remotion-video-creation/rules/text-animations.md +0 -20
  350. package/prisma/skills/remotion-video-creation/rules/timing.md +0 -179
  351. package/prisma/skills/remotion-video-creation/rules/transcribe-captions.md +0 -19
  352. package/prisma/skills/remotion-video-creation/rules/transitions.md +0 -122
  353. package/prisma/skills/remotion-video-creation/rules/trimming.md +0 -52
  354. package/prisma/skills/remotion-video-creation/rules/videos.md +0 -171
  355. package/prisma/skills/repo-scan/SKILL.md +0 -79
  356. package/prisma/skills/research-ops/SKILL.md +0 -113
  357. package/prisma/skills/returns-reverse-logistics/SKILL.md +0 -240
  358. package/prisma/skills/rules-distill/SKILL.md +0 -265
  359. package/prisma/skills/rules-distill/scripts/scan-rules.sh +0 -58
  360. package/prisma/skills/rules-distill/scripts/scan-skills.sh +0 -129
  361. package/prisma/skills/rust-patterns/SKILL.md +0 -500
  362. package/prisma/skills/rust-testing/SKILL.md +0 -501
  363. package/prisma/skills/safety-guard/SKILL.md +0 -76
  364. package/prisma/skills/santa-method/SKILL.md +0 -307
  365. package/prisma/skills/scientific-db-pubmed-database/SKILL.md +0 -176
  366. package/prisma/skills/scientific-db-uspto-database/SKILL.md +0 -178
  367. package/prisma/skills/scientific-pkg-gget/SKILL.md +0 -167
  368. package/prisma/skills/scientific-thinking-literature-review/SKILL.md +0 -193
  369. package/prisma/skills/scientific-thinking-scholar-evaluation/SKILL.md +0 -161
  370. package/prisma/skills/search-first/SKILL.md +0 -183
  371. package/prisma/skills/security-bounty-hunter/SKILL.md +0 -100
  372. package/prisma/skills/security-review/SKILL.md +0 -504
  373. package/prisma/skills/security-review/cloud-infrastructure-security.md +0 -361
  374. package/prisma/skills/security-scan/SKILL.md +0 -166
  375. package/prisma/skills/seo/SKILL.md +0 -155
  376. package/prisma/skills/skill-comply/SKILL.md +0 -59
  377. package/prisma/skills/skill-comply/fixtures/compliant_trace.jsonl +0 -5
  378. package/prisma/skills/skill-comply/fixtures/noncompliant_trace.jsonl +0 -3
  379. package/prisma/skills/skill-comply/fixtures/tdd_spec.yaml +0 -44
  380. package/prisma/skills/skill-comply/prompts/classifier.md +0 -24
  381. package/prisma/skills/skill-comply/prompts/scenario_generator.md +0 -62
  382. package/prisma/skills/skill-comply/prompts/spec_generator.md +0 -42
  383. package/prisma/skills/skill-comply/pyproject.toml +0 -15
  384. package/prisma/skills/skill-comply/scripts/__init__.py +0 -0
  385. package/prisma/skills/skill-comply/scripts/classifier.py +0 -85
  386. package/prisma/skills/skill-comply/scripts/grader.py +0 -124
  387. package/prisma/skills/skill-comply/scripts/parser.py +0 -107
  388. package/prisma/skills/skill-comply/scripts/report.py +0 -170
  389. package/prisma/skills/skill-comply/scripts/run.py +0 -127
  390. package/prisma/skills/skill-comply/scripts/runner.py +0 -194
  391. package/prisma/skills/skill-comply/scripts/scenario_generator.py +0 -70
  392. package/prisma/skills/skill-comply/scripts/spec_generator.py +0 -72
  393. package/prisma/skills/skill-comply/scripts/utils.py +0 -13
  394. package/prisma/skills/skill-comply/tests/test_grader.py +0 -197
  395. package/prisma/skills/skill-comply/tests/test_parser.py +0 -90
  396. package/prisma/skills/skill-comply/tests/test_runner.py +0 -172
  397. package/prisma/skills/skill-scout/SKILL.md +0 -141
  398. package/prisma/skills/skill-stocktake/SKILL.md +0 -195
  399. package/prisma/skills/skill-stocktake/scripts/quick-diff.sh +0 -87
  400. package/prisma/skills/skill-stocktake/scripts/save-results.sh +0 -56
  401. package/prisma/skills/skill-stocktake/scripts/scan.sh +0 -170
  402. package/prisma/skills/social-graph-ranker/SKILL.md +0 -155
  403. package/prisma/skills/social-publisher/SKILL.md +0 -130
  404. package/prisma/skills/springboot-patterns/SKILL.md +0 -315
  405. package/prisma/skills/springboot-security/SKILL.md +0 -273
  406. package/prisma/skills/springboot-tdd/SKILL.md +0 -159
  407. package/prisma/skills/springboot-verification/SKILL.md +0 -232
  408. package/prisma/skills/strategic-compact/SKILL.md +0 -136
  409. package/prisma/skills/swift-actor-persistence/SKILL.md +0 -144
  410. package/prisma/skills/swift-concurrency-6-2/SKILL.md +0 -216
  411. package/prisma/skills/swift-protocol-di-testing/SKILL.md +0 -191
  412. package/prisma/skills/swiftui-patterns/SKILL.md +0 -259
  413. package/prisma/skills/taste/SKILL.md +0 -264
  414. package/prisma/skills/taste/references/genre-taxonomy.md +0 -87
  415. package/prisma/skills/tdd-workflow/SKILL.md +0 -583
  416. package/prisma/skills/team-agent-orchestration/SKILL.md +0 -111
  417. package/prisma/skills/team-builder/SKILL.md +0 -169
  418. package/prisma/skills/terminal-ops/SKILL.md +0 -110
  419. package/prisma/skills/tinystruct-patterns/SKILL.md +0 -279
  420. package/prisma/skills/tinystruct-patterns/references/architecture.md +0 -90
  421. package/prisma/skills/tinystruct-patterns/references/data-handling.md +0 -60
  422. package/prisma/skills/tinystruct-patterns/references/database.md +0 -99
  423. package/prisma/skills/tinystruct-patterns/references/routing.md +0 -64
  424. package/prisma/skills/tinystruct-patterns/references/system-usage.md +0 -97
  425. package/prisma/skills/tinystruct-patterns/references/testing.md +0 -72
  426. package/prisma/skills/token-budget-advisor/SKILL.md +0 -134
  427. package/prisma/skills/ui-demo/SKILL.md +0 -466
  428. package/prisma/skills/ui-to-vue/SKILL.md +0 -135
  429. package/prisma/skills/uncloud/SKILL.md +0 -344
  430. package/prisma/skills/unified-notifications-ops/SKILL.md +0 -188
  431. package/prisma/skills/verification-loop/SKILL.md +0 -127
  432. package/prisma/skills/video-editing/SKILL.md +0 -311
  433. package/prisma/skills/videodb/SKILL.md +0 -375
  434. package/prisma/skills/videodb/reference/api-reference.md +0 -550
  435. package/prisma/skills/videodb/reference/capture-reference.md +0 -407
  436. package/prisma/skills/videodb/reference/capture.md +0 -101
  437. package/prisma/skills/videodb/reference/editor.md +0 -443
  438. package/prisma/skills/videodb/reference/generative.md +0 -331
  439. package/prisma/skills/videodb/reference/rtstream-reference.md +0 -564
  440. package/prisma/skills/videodb/reference/rtstream.md +0 -65
  441. package/prisma/skills/videodb/reference/search.md +0 -230
  442. package/prisma/skills/videodb/reference/streaming.md +0 -406
  443. package/prisma/skills/videodb/reference/use-cases.md +0 -118
  444. package/prisma/skills/videodb/scripts/ws_listener.py +0 -282
  445. package/prisma/skills/visa-doc-translate/README.md +0 -86
  446. package/prisma/skills/visa-doc-translate/SKILL.md +0 -117
  447. package/prisma/skills/vite-patterns/SKILL.md +0 -450
  448. package/prisma/skills/vue-patterns/SKILL.md +0 -471
  449. package/prisma/skills/windows-desktop-e2e/SKILL.md +0 -888
  450. package/prisma/skills/workspace-surface-audit/SKILL.md +0 -126
  451. package/prisma/skills/x-api/SKILL.md +0 -235
@@ -1,413 +0,0 @@
1
- ---
2
- name: mysql-patterns
3
- description: MySQL and MariaDB schema, query, indexing, transaction, replication, and connection-pool patterns for production backends.
4
- metadata:
5
- origin: ECC
6
- ---
7
-
8
- # MySQL Patterns
9
-
10
- Use this skill when working on MySQL or MariaDB schema design, migrations,
11
- slow-query investigation, queue-style transactions, connection pools, or
12
- production database configuration. Prefer exact version checks before applying a
13
- feature-specific pattern because MySQL and MariaDB have diverged in several SQL
14
- details.
15
-
16
- ## Activation
17
-
18
- - Designing MySQL or MariaDB tables, indexes, and constraints
19
- - Reviewing migrations before they run on large production tables
20
- - Debugging slow queries, lock waits, deadlocks, or connection exhaustion
21
- - Adding keyset pagination, upserts, full-text search, JSON columns, or queues
22
- - Configuring application connection pools, read replicas, TLS, or slow logs
23
-
24
- ## Version Check
25
-
26
- Start by identifying the engine and version:
27
-
28
- ```sql
29
- SELECT VERSION();
30
- SHOW VARIABLES LIKE 'version_comment';
31
- ```
32
-
33
- Keep MySQL and MariaDB guidance separate when syntax differs:
34
-
35
- - MySQL documents row aliases as the replacement for `VALUES(col)` in
36
- `ON DUPLICATE KEY UPDATE`; `VALUES(col)` is deprecated there.
37
- - MariaDB documents `VALUES(col)` as the supported way to reference inserted
38
- values in `ON DUPLICATE KEY UPDATE`; use it for cross-engine compatibility.
39
- - `SKIP LOCKED` is appropriate for queue-like work only. It skips locked rows
40
- and can return an inconsistent view, so do not use it for general accounting
41
- or integrity-sensitive reads.
42
-
43
- ## Schema Defaults
44
-
45
- ```sql
46
- CREATE TABLE orders (
47
- id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
48
- account_id BIGINT UNSIGNED NOT NULL,
49
- status VARCHAR(32) NOT NULL,
50
- total DECIMAL(15, 2) NOT NULL,
51
- created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
52
- updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
53
- deleted_at DATETIME NULL,
54
- PRIMARY KEY (id),
55
- KEY idx_orders_account_status_created (account_id, status, created_at),
56
- KEY idx_orders_active (account_id, deleted_at)
57
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
58
- ```
59
-
60
- Default choices:
61
-
62
- | Use Case | Prefer | Avoid |
63
- | --- | --- | --- |
64
- | Surrogate primary keys | `BIGINT UNSIGNED AUTO_INCREMENT` | `INT` for tables that can grow beyond 2B rows |
65
- | UUID lookup keys | `BINARY(16)` with conversion helpers | `VARCHAR(36)` primary keys on hot tables |
66
- | Money and exact quantities | `DECIMAL(p, s)` | `FLOAT` or `DOUBLE` |
67
- | User-facing text | `utf8mb4` tables and indexes | MySQL `utf8` / `utf8mb3` defaults |
68
- | Application timestamps | `DATETIME` with UTC managed by the app | Assuming `DATETIME` stores time zone metadata |
69
- | Soft deletes | `deleted_at DATETIME NULL` plus scoped indexes | Filtering soft-deleted rows without an index |
70
- | Extensible status values | lookup table or constrained `VARCHAR` | `ENUM` when values change often |
71
-
72
- ## Indexing
73
-
74
- Composite index order usually follows equality predicates first, then range or
75
- sort columns:
76
-
77
- ```sql
78
- CREATE INDEX idx_orders_account_status_created
79
- ON orders (account_id, status, created_at);
80
-
81
- SELECT id, total
82
- FROM orders
83
- WHERE account_id = ?
84
- AND status = 'pending'
85
- AND created_at >= ?
86
- ORDER BY created_at DESC
87
- LIMIT 50;
88
- ```
89
-
90
- Use `EXPLAIN` before adding or changing an index:
91
-
92
- ```sql
93
- EXPLAIN
94
- SELECT id, total
95
- FROM orders
96
- WHERE account_id = 123 AND status = 'pending'
97
- ORDER BY created_at DESC
98
- LIMIT 50;
99
- ```
100
-
101
- Signals to investigate:
102
-
103
- | Field | Risk Signal |
104
- | --- | --- |
105
- | `type` | `ALL` on a large table |
106
- | `key` | `NULL` when a selective predicate exists |
107
- | `rows` | Very high row estimate for an interactive path |
108
- | `Extra` | `Using temporary`, `Using filesort`, or broad `Using where` |
109
-
110
- Avoid adding indexes blindly. Each index increases write cost, migration time,
111
- backup size, and buffer-pool pressure.
112
-
113
- ## Query Patterns
114
-
115
- ### Upsert
116
-
117
- Cross-engine-compatible form:
118
-
119
- ```sql
120
- INSERT INTO user_settings (user_id, setting_key, setting_value)
121
- VALUES (?, ?, ?)
122
- ON DUPLICATE KEY UPDATE
123
- setting_value = VALUES(setting_value),
124
- updated_at = CURRENT_TIMESTAMP;
125
- ```
126
-
127
- MySQL row-alias form:
128
-
129
- ```sql
130
- INSERT INTO user_settings (user_id, setting_key, setting_value)
131
- VALUES (?, ?, ?) AS new
132
- ON DUPLICATE KEY UPDATE
133
- setting_value = new.setting_value,
134
- updated_at = CURRENT_TIMESTAMP;
135
- ```
136
-
137
- Use the row-alias form only after confirming the target is MySQL. Use
138
- `VALUES(col)` for MariaDB or mixed MySQL/MariaDB fleets.
139
-
140
- ### Keyset Pagination
141
-
142
- ```sql
143
- SELECT id, name, created_at
144
- FROM products
145
- WHERE (created_at, id) < (?, ?)
146
- ORDER BY created_at DESC, id DESC
147
- LIMIT 50;
148
- ```
149
-
150
- Back it with an index that matches the cursor:
151
-
152
- ```sql
153
- CREATE INDEX idx_products_created_id ON products (created_at, id);
154
- ```
155
-
156
- Do not use deep `OFFSET` pagination on large tables; it makes the server scan
157
- and discard rows before returning the page.
158
-
159
- ### JSON Fields
160
-
161
- Use JSON columns for extension data, not for fields that need heavy relational
162
- filtering or constraints.
163
-
164
- ```sql
165
- CREATE TABLE events (
166
- id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
167
- payload JSON NOT NULL,
168
- event_type VARCHAR(64)
169
- GENERATED ALWAYS AS (JSON_UNQUOTE(JSON_EXTRACT(payload, '$.type'))) STORED,
170
- KEY idx_events_type (event_type)
171
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
172
- ```
173
-
174
- For frequently queried JSON paths, expose a generated column and index that
175
- column. Keep foreign keys, ownership, tenancy, and lifecycle fields relational.
176
-
177
- ### Full-Text Search
178
-
179
- ```sql
180
- ALTER TABLE articles ADD FULLTEXT KEY ft_articles_title_body (title, body);
181
-
182
- SELECT id, title, MATCH(title, body) AGAINST (? IN NATURAL LANGUAGE MODE) AS score
183
- FROM articles
184
- WHERE MATCH(title, body) AGAINST (? IN NATURAL LANGUAGE MODE)
185
- ORDER BY score DESC
186
- LIMIT 20;
187
- ```
188
-
189
- Use external search when you need typo tolerance, complex ranking, cross-table
190
- facets, or language-specific analysis beyond built-in full-text behavior.
191
-
192
- ## Transactions
193
-
194
- Keep transactions short and lock rows in a consistent order:
195
-
196
- ```sql
197
- START TRANSACTION;
198
-
199
- SELECT id, balance
200
- FROM accounts
201
- WHERE id IN (?, ?)
202
- ORDER BY id
203
- FOR UPDATE;
204
-
205
- UPDATE accounts SET balance = balance - ? WHERE id = ?;
206
- UPDATE accounts SET balance = balance + ? WHERE id = ?;
207
-
208
- COMMIT;
209
- ```
210
-
211
- Deadlock and lock-wait checklist:
212
-
213
- - Lock rows in a deterministic order across code paths.
214
- - Do external API calls before opening the transaction, not inside it.
215
- - Add indexes for predicates used in `UPDATE`, `DELETE`, and locking reads.
216
- - On deadlock, roll back and retry the whole transaction with a bounded retry
217
- budget.
218
- - Capture `SHOW ENGINE INNODB STATUS\G` soon after a deadlock; it is overwritten
219
- by later events.
220
-
221
- Queue-style worker claim:
222
-
223
- ```sql
224
- START TRANSACTION;
225
-
226
- SELECT id
227
- FROM jobs
228
- WHERE status = 'pending'
229
- ORDER BY created_at
230
- LIMIT 1
231
- FOR UPDATE SKIP LOCKED;
232
-
233
- UPDATE jobs
234
- SET status = 'processing', started_at = CURRENT_TIMESTAMP
235
- WHERE id = ?;
236
-
237
- COMMIT;
238
- ```
239
-
240
- Use `SKIP LOCKED` only for queue-like workloads where skipping a locked row is
241
- acceptable. It is not a replacement for normal transactional consistency.
242
-
243
- ## Connection Pools
244
-
245
- SQLAlchemy example:
246
-
247
- ```python
248
- from sqlalchemy import create_engine
249
-
250
- engine = create_engine(
251
- "mysql+mysqlconnector://app:secret@db.internal/app",
252
- pool_size=10,
253
- max_overflow=5,
254
- pool_timeout=30,
255
- pool_recycle=240,
256
- pool_pre_ping=True,
257
- connect_args={"connect_timeout": 5},
258
- )
259
- ```
260
-
261
- Node.js `mysql2` example:
262
-
263
- ```javascript
264
- import mysql from 'mysql2/promise';
265
-
266
- const pool = mysql.createPool({
267
- host: process.env.DB_HOST,
268
- user: process.env.DB_USER,
269
- password: process.env.DB_PASSWORD,
270
- database: process.env.DB_NAME,
271
- waitForConnections: true,
272
- connectionLimit: 10,
273
- queueLimit: 0,
274
- enableKeepAlive: true,
275
- keepAliveInitialDelay: 30000,
276
- });
277
-
278
- const [rows] = await pool.execute(
279
- 'SELECT id, total FROM orders WHERE account_id = ? LIMIT 50',
280
- [accountId],
281
- );
282
- ```
283
-
284
- Keep application pool recycling below the server `wait_timeout`. If the server
285
- uses `wait_timeout = 300`, a `pool_recycle` around 240 seconds is coherent;
286
- `pool_pre_ping` still helps recover from network and failover events.
287
-
288
- ## Diagnostics
289
-
290
- Useful first-pass commands:
291
-
292
- ```sql
293
- SHOW FULL PROCESSLIST;
294
- SHOW ENGINE INNODB STATUS\G;
295
- SHOW VARIABLES LIKE 'slow_query_log';
296
- SHOW VARIABLES LIKE 'long_query_time';
297
- ```
298
-
299
- Enable the slow log in a controlled environment:
300
-
301
- ```sql
302
- SET GLOBAL slow_query_log = 'ON';
303
- SET GLOBAL long_query_time = 1;
304
- SET GLOBAL log_queries_not_using_indexes = 'ON';
305
- ```
306
-
307
- Use `EXPLAIN ANALYZE` only when it is safe to execute the query. It runs the
308
- statement and can be expensive on production-sized data.
309
-
310
- ## Replication
311
-
312
- Read replicas can lag. Do not route read-your-own-write paths, checkout flows,
313
- permission checks, or idempotency-key reads to a replica immediately after a
314
- write.
315
-
316
- ```sql
317
- -- MySQL legacy terminology, still common in existing fleets
318
- SHOW SLAVE STATUS\G;
319
-
320
- -- Newer terminology where supported
321
- SHOW REPLICA STATUS\G;
322
- ```
323
-
324
- Check the engine/version before standardizing on one command. Monitor replica
325
- SQL thread health, IO thread health, and lag, not just whether the TCP
326
- connection is alive.
327
-
328
- ## Security
329
-
330
- ```sql
331
- CREATE USER 'app'@'%' IDENTIFIED BY 'use-a-secret-manager';
332
- GRANT SELECT, INSERT, UPDATE, DELETE ON appdb.* TO 'app'@'%';
333
-
334
- ALTER USER 'app'@'%' REQUIRE SSL;
335
-
336
- SELECT user, host
337
- FROM mysql.user
338
- WHERE user = '';
339
-
340
- DROP USER IF EXISTS ''@'localhost';
341
- DROP USER IF EXISTS ''@'%';
342
- ```
343
-
344
- Security review points:
345
-
346
- - Do not grant `ALL PRIVILEGES` or `*.*` to application users.
347
- - Require TLS for application users when traffic crosses hosts or networks.
348
- - Store credentials in the platform secret manager, not in examples, scripts, or
349
- repository files.
350
- - Separate migration/admin users from runtime application users.
351
- - Audit public network exposure and bind addresses before tuning performance.
352
-
353
- ## Configuration
354
-
355
- Example starting point for a dedicated database host:
356
-
357
- ```ini
358
- [mysqld]
359
- innodb_buffer_pool_size = 4G
360
- innodb_flush_log_at_trx_commit = 1
361
- sync_binlog = 1
362
-
363
- max_connections = 300
364
- thread_cache_size = 50
365
-
366
- wait_timeout = 300
367
- interactive_timeout = 300
368
- innodb_lock_wait_timeout = 10
369
-
370
- slow_query_log = ON
371
- long_query_time = 1
372
- log_queries_not_using_indexes = ON
373
-
374
- log_bin = mysql-bin
375
- binlog_format = ROW
376
- binlog_expire_logs_seconds = 604800
377
- ```
378
-
379
- Treat configuration values as a prompt for review, not a universal preset. Size
380
- memory, connections, log retention, and durability settings from workload,
381
- hardware, backup policy, and recovery objectives.
382
-
383
- ## Anti-Patterns
384
-
385
- | Anti-Pattern | Risk | Better Pattern |
386
- | --- | --- | --- |
387
- | `SELECT *` in hot paths | Over-fetching and brittle clients | Select explicit columns |
388
- | Deep `OFFSET` pagination | Linear scans and slow pages | Keyset pagination |
389
- | No index on foreign-key joins | Slow joins and lock-heavy deletes | Index FK columns intentionally |
390
- | Long transactions | Lock waits and large undo history | Commit small units of work |
391
- | Direct DML against `mysql.user` | Grant-table corruption risk | Use `CREATE USER`, `ALTER USER`, `DROP USER` |
392
- | Application user with admin grants | High blast radius | Least-privilege runtime user |
393
- | Pool recycle above `wait_timeout` | Stale pooled connections | Recycle below timeout and pre-ping |
394
- | Replica reads after writes | Stale user-facing state | Pin read-after-write flows to primary |
395
-
396
- ## Output Expectations
397
-
398
- When this skill is used for review, return:
399
-
400
- 1. Engine/version assumptions.
401
- 2. Highest-risk correctness, lock, security, and migration issues.
402
- 3. Exact SQL or code changes for the safe path.
403
- 4. Validation plan: `EXPLAIN`, migration dry run, lock/deadlock check, and
404
- rollback criteria.
405
- 5. Any MySQL/MariaDB syntax differences that affect the recommendation.
406
-
407
- ## Related
408
-
409
- - Skill: `postgres-patterns` - PostgreSQL-specific schema and query patterns
410
- - Skill: `database-migrations` - migration planning and rollout safety
411
- - Skill: `backend-patterns` - API and service-layer patterns
412
- - Skill: `security-review` - secret handling, auth, and least privilege
413
- - Agent: `database-reviewer` - broader database review workflow
@@ -1,34 +0,0 @@
1
- ---
2
- name: nanoclaw-repl
3
- description: Operate and extend NanoClaw v2, ECC's zero-dependency session-aware REPL built on claude -p.
4
- metadata:
5
- origin: ECC
6
- ---
7
-
8
- # NanoClaw REPL
9
-
10
- Use this skill when running or extending `scripts/claw.js`.
11
-
12
- ## Capabilities
13
-
14
- - persistent markdown-backed sessions
15
- - model switching with `/model`
16
- - dynamic skill loading with `/load`
17
- - session branching with `/branch`
18
- - cross-session search with `/search`
19
- - history compaction with `/compact`
20
- - export to md/json/txt with `/export`
21
- - session metrics with `/metrics`
22
-
23
- ## Operating Guidance
24
-
25
- 1. Keep sessions task-focused.
26
- 2. Branch before high-risk changes.
27
- 3. Compact after major milestones.
28
- 4. Export before sharing or archival.
29
-
30
- ## Extension Rules
31
-
32
- - keep zero external runtime dependencies
33
- - preserve markdown-as-database compatibility
34
- - keep command handlers deterministic and local
@@ -1,231 +0,0 @@
1
- ---
2
- name: nestjs-patterns
3
- description: NestJS architecture patterns for modules, controllers, providers, DTO validation, guards, interceptors, config, and production-grade TypeScript backends.
4
- metadata:
5
- origin: ECC
6
- ---
7
-
8
- # NestJS Development Patterns
9
-
10
- Production-grade NestJS patterns for modular TypeScript backends.
11
-
12
- ## When to Activate
13
-
14
- - Building NestJS APIs or services
15
- - Structuring modules, controllers, and providers
16
- - Adding DTO validation, guards, interceptors, or exception filters
17
- - Configuring environment-aware settings and database integrations
18
- - Testing NestJS units or HTTP endpoints
19
-
20
- ## Project Structure
21
-
22
- ```text
23
- src/
24
- ├── app.module.ts
25
- ├── main.ts
26
- ├── common/
27
- │ ├── filters/
28
- │ ├── guards/
29
- │ ├── interceptors/
30
- │ └── pipes/
31
- ├── config/
32
- │ ├── configuration.ts
33
- │ └── validation.ts
34
- ├── modules/
35
- │ ├── auth/
36
- │ │ ├── auth.controller.ts
37
- │ │ ├── auth.module.ts
38
- │ │ ├── auth.service.ts
39
- │ │ ├── dto/
40
- │ │ ├── guards/
41
- │ │ └── strategies/
42
- │ └── users/
43
- │ ├── dto/
44
- │ ├── entities/
45
- │ ├── users.controller.ts
46
- │ ├── users.module.ts
47
- │ └── users.service.ts
48
- └── prisma/ or database/
49
- ```
50
-
51
- - Keep domain code inside feature modules.
52
- - Put cross-cutting filters, decorators, guards, and interceptors in `common/`.
53
- - Keep DTOs close to the module that owns them.
54
-
55
- ## Bootstrap and Global Validation
56
-
57
- ```ts
58
- async function bootstrap() {
59
- const app = await NestFactory.create(AppModule, { bufferLogs: true });
60
-
61
- app.useGlobalPipes(
62
- new ValidationPipe({
63
- whitelist: true,
64
- forbidNonWhitelisted: true,
65
- transform: true,
66
- transformOptions: { enableImplicitConversion: true },
67
- }),
68
- );
69
-
70
- app.useGlobalInterceptors(new ClassSerializerInterceptor(app.get(Reflector)));
71
- app.useGlobalFilters(new HttpExceptionFilter());
72
-
73
- await app.listen(process.env.PORT ?? 3000);
74
- }
75
- bootstrap();
76
- ```
77
-
78
- - Always enable `whitelist` and `forbidNonWhitelisted` on public APIs.
79
- - Prefer one global validation pipe instead of repeating validation config per route.
80
-
81
- ## Modules, Controllers, and Providers
82
-
83
- ```ts
84
- @Module({
85
- controllers: [UsersController],
86
- providers: [UsersService],
87
- exports: [UsersService],
88
- })
89
- export class UsersModule {}
90
-
91
- @Controller('users')
92
- export class UsersController {
93
- constructor(private readonly usersService: UsersService) {}
94
-
95
- @Get(':id')
96
- getById(@Param('id', ParseUUIDPipe) id: string) {
97
- return this.usersService.getById(id);
98
- }
99
-
100
- @Post()
101
- create(@Body() dto: CreateUserDto) {
102
- return this.usersService.create(dto);
103
- }
104
- }
105
-
106
- @Injectable()
107
- export class UsersService {
108
- constructor(private readonly usersRepo: UsersRepository) {}
109
-
110
- async create(dto: CreateUserDto) {
111
- return this.usersRepo.create(dto);
112
- }
113
- }
114
- ```
115
-
116
- - Controllers should stay thin: parse HTTP input, call a provider, return response DTOs.
117
- - Put business logic in injectable services, not controllers.
118
- - Export only the providers other modules genuinely need.
119
-
120
- ## DTOs and Validation
121
-
122
- ```ts
123
- export class CreateUserDto {
124
- @IsEmail()
125
- email!: string;
126
-
127
- @IsString()
128
- @Length(2, 80)
129
- name!: string;
130
-
131
- @IsOptional()
132
- @IsEnum(UserRole)
133
- role?: UserRole;
134
- }
135
- ```
136
-
137
- - Validate every request DTO with `class-validator`.
138
- - Use dedicated response DTOs or serializers instead of returning ORM entities directly.
139
- - Avoid leaking internal fields such as password hashes, tokens, or audit columns.
140
-
141
- ## Auth, Guards, and Request Context
142
-
143
- ```ts
144
- @UseGuards(JwtAuthGuard, RolesGuard)
145
- @Roles('admin')
146
- @Get('admin/report')
147
- getAdminReport(@Req() req: AuthenticatedRequest) {
148
- return this.reportService.getForUser(req.user.id);
149
- }
150
- ```
151
-
152
- - Keep auth strategies and guards module-local unless they are truly shared.
153
- - Encode coarse access rules in guards, then do resource-specific authorization in services.
154
- - Prefer explicit request types for authenticated request objects.
155
-
156
- ## Exception Filters and Error Shape
157
-
158
- ```ts
159
- @Catch()
160
- export class HttpExceptionFilter implements ExceptionFilter {
161
- catch(exception: unknown, host: ArgumentsHost) {
162
- const response = host.switchToHttp().getResponse<Response>();
163
- const request = host.switchToHttp().getRequest<Request>();
164
-
165
- if (exception instanceof HttpException) {
166
- return response.status(exception.getStatus()).json({
167
- path: request.url,
168
- error: exception.getResponse(),
169
- });
170
- }
171
-
172
- return response.status(500).json({
173
- path: request.url,
174
- error: 'Internal server error',
175
- });
176
- }
177
- }
178
- ```
179
-
180
- - Keep one consistent error envelope across the API.
181
- - Throw framework exceptions for expected client errors; log and wrap unexpected failures centrally.
182
-
183
- ## Config and Environment Validation
184
-
185
- ```ts
186
- ConfigModule.forRoot({
187
- isGlobal: true,
188
- load: [configuration],
189
- validate: validateEnv,
190
- });
191
- ```
192
-
193
- - Validate env at boot, not lazily at first request.
194
- - Keep config access behind typed helpers or config services.
195
- - Split dev/staging/prod concerns in config factories instead of branching throughout feature code.
196
-
197
- ## Persistence and Transactions
198
-
199
- - Keep repository / ORM code behind providers that speak domain language.
200
- - For Prisma or TypeORM, isolate transactional workflows in services that own the unit of work.
201
- - Do not let controllers coordinate multi-step writes directly.
202
-
203
- ## Testing
204
-
205
- ```ts
206
- describe('UsersController', () => {
207
- let app: INestApplication;
208
-
209
- beforeAll(async () => {
210
- const moduleRef = await Test.createTestingModule({
211
- imports: [UsersModule],
212
- }).compile();
213
-
214
- app = moduleRef.createNestApplication();
215
- app.useGlobalPipes(new ValidationPipe({ whitelist: true, transform: true }));
216
- await app.init();
217
- });
218
- });
219
- ```
220
-
221
- - Unit test providers in isolation with mocked dependencies.
222
- - Add request-level tests for guards, validation pipes, and exception filters.
223
- - Reuse the same global pipes/filters in tests that you use in production.
224
-
225
- ## Production Defaults
226
-
227
- - Enable structured logging and request correlation ids.
228
- - Terminate on invalid env/config instead of booting partially.
229
- - Prefer async provider initialization for DB/cache clients with explicit health checks.
230
- - Keep background jobs and event consumers in their own modules, not inside HTTP controllers.
231
- - Make rate limiting, auth, and audit logging explicit for public endpoints.