@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,440 +0,0 @@
1
- ---
2
- name: clickhouse-io
3
- description: ClickHouse database patterns, query optimization, analytics, and data engineering best practices for high-performance analytical workloads.
4
- metadata:
5
- origin: ECC
6
- ---
7
-
8
- # ClickHouse Analytics Patterns
9
-
10
- ClickHouse-specific patterns for high-performance analytics and data engineering.
11
-
12
- ## When to Activate
13
-
14
- - Designing ClickHouse table schemas (MergeTree engine selection)
15
- - Writing analytical queries (aggregations, window functions, joins)
16
- - Optimizing query performance (partition pruning, projections, materialized views)
17
- - Ingesting large volumes of data (batch inserts, Kafka integration)
18
- - Migrating from PostgreSQL/MySQL to ClickHouse for analytics
19
- - Implementing real-time dashboards or time-series analytics
20
-
21
- ## Overview
22
-
23
- ClickHouse is a column-oriented database management system (DBMS) for online analytical processing (OLAP). It's optimized for fast analytical queries on large datasets.
24
-
25
- **Key Features:**
26
- - Column-oriented storage
27
- - Data compression
28
- - Parallel query execution
29
- - Distributed queries
30
- - Real-time analytics
31
-
32
- ## Table Design Patterns
33
-
34
- ### MergeTree Engine (Most Common)
35
-
36
- ```sql
37
- CREATE TABLE markets_analytics (
38
- date Date,
39
- market_id String,
40
- market_name String,
41
- volume UInt64,
42
- trades UInt32,
43
- unique_traders UInt32,
44
- avg_trade_size Float64,
45
- created_at DateTime
46
- ) ENGINE = MergeTree()
47
- PARTITION BY toYYYYMM(date)
48
- ORDER BY (date, market_id)
49
- SETTINGS index_granularity = 8192;
50
- ```
51
-
52
- ### ReplacingMergeTree (Deduplication)
53
-
54
- ```sql
55
- -- For data that may have duplicates (e.g., from multiple sources)
56
- CREATE TABLE user_events (
57
- event_id String,
58
- user_id String,
59
- event_type String,
60
- timestamp DateTime,
61
- properties String
62
- ) ENGINE = ReplacingMergeTree()
63
- PARTITION BY toYYYYMM(timestamp)
64
- ORDER BY (user_id, event_id, timestamp)
65
- PRIMARY KEY (user_id, event_id);
66
- ```
67
-
68
- ### AggregatingMergeTree (Pre-aggregation)
69
-
70
- ```sql
71
- -- For maintaining aggregated metrics
72
- CREATE TABLE market_stats_hourly (
73
- hour DateTime,
74
- market_id String,
75
- total_volume AggregateFunction(sum, UInt64),
76
- total_trades AggregateFunction(count, UInt32),
77
- unique_users AggregateFunction(uniq, String)
78
- ) ENGINE = AggregatingMergeTree()
79
- PARTITION BY toYYYYMM(hour)
80
- ORDER BY (hour, market_id);
81
-
82
- -- Query aggregated data
83
- SELECT
84
- hour,
85
- market_id,
86
- sumMerge(total_volume) AS volume,
87
- countMerge(total_trades) AS trades,
88
- uniqMerge(unique_users) AS users
89
- FROM market_stats_hourly
90
- WHERE hour >= toStartOfHour(now() - INTERVAL 24 HOUR)
91
- GROUP BY hour, market_id
92
- ORDER BY hour DESC;
93
- ```
94
-
95
- ## Query Optimization Patterns
96
-
97
- ### Efficient Filtering
98
-
99
- ```sql
100
- -- PASS: GOOD: Use indexed columns first
101
- SELECT *
102
- FROM markets_analytics
103
- WHERE date >= '2025-01-01'
104
- AND market_id = 'market-123'
105
- AND volume > 1000
106
- ORDER BY date DESC
107
- LIMIT 100;
108
-
109
- -- FAIL: BAD: Filter on non-indexed columns first
110
- SELECT *
111
- FROM markets_analytics
112
- WHERE volume > 1000
113
- AND market_name LIKE '%election%'
114
- AND date >= '2025-01-01';
115
- ```
116
-
117
- ### Aggregations
118
-
119
- ```sql
120
- -- PASS: GOOD: Use ClickHouse-specific aggregation functions
121
- SELECT
122
- toStartOfDay(created_at) AS day,
123
- market_id,
124
- sum(volume) AS total_volume,
125
- count() AS total_trades,
126
- uniq(trader_id) AS unique_traders,
127
- avg(trade_size) AS avg_size
128
- FROM trades
129
- WHERE created_at >= today() - INTERVAL 7 DAY
130
- GROUP BY day, market_id
131
- ORDER BY day DESC, total_volume DESC;
132
-
133
- -- PASS: Use quantile for percentiles (more efficient than percentile)
134
- SELECT
135
- quantile(0.50)(trade_size) AS median,
136
- quantile(0.95)(trade_size) AS p95,
137
- quantile(0.99)(trade_size) AS p99
138
- FROM trades
139
- WHERE created_at >= now() - INTERVAL 1 HOUR;
140
- ```
141
-
142
- ### Window Functions
143
-
144
- ```sql
145
- -- Calculate running totals
146
- SELECT
147
- date,
148
- market_id,
149
- volume,
150
- sum(volume) OVER (
151
- PARTITION BY market_id
152
- ORDER BY date
153
- ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
154
- ) AS cumulative_volume
155
- FROM markets_analytics
156
- WHERE date >= today() - INTERVAL 30 DAY
157
- ORDER BY market_id, date;
158
- ```
159
-
160
- ## Data Insertion Patterns
161
-
162
- ### Bulk Insert (Recommended)
163
-
164
- ```typescript
165
- import { ClickHouse } from 'clickhouse'
166
-
167
- const clickhouse = new ClickHouse({
168
- url: process.env.CLICKHOUSE_URL,
169
- port: 8123,
170
- basicAuth: {
171
- username: process.env.CLICKHOUSE_USER,
172
- password: process.env.CLICKHOUSE_PASSWORD
173
- }
174
- })
175
-
176
- // PASS: Batch insert (efficient)
177
- async function bulkInsertTrades(trades: Trade[]) {
178
- const values = trades.map(trade => `(
179
- '${trade.id}',
180
- '${trade.market_id}',
181
- '${trade.user_id}',
182
- ${trade.amount},
183
- '${trade.timestamp.toISOString()}'
184
- )`).join(',')
185
-
186
- await clickhouse.query(`
187
- INSERT INTO trades (id, market_id, user_id, amount, timestamp)
188
- VALUES ${values}
189
- `).toPromise()
190
- }
191
-
192
- // FAIL: Individual inserts (slow)
193
- async function insertTrade(trade: Trade) {
194
- // Don't do this in a loop!
195
- await clickhouse.query(`
196
- INSERT INTO trades VALUES ('${trade.id}', ...)
197
- `).toPromise()
198
- }
199
- ```
200
-
201
- ### Streaming Insert
202
-
203
- ```typescript
204
- // For continuous data ingestion
205
- import { createWriteStream } from 'fs'
206
- import { pipeline } from 'stream/promises'
207
-
208
- async function streamInserts() {
209
- const stream = clickhouse.insert('trades').stream()
210
-
211
- for await (const batch of dataSource) {
212
- stream.write(batch)
213
- }
214
-
215
- await stream.end()
216
- }
217
- ```
218
-
219
- ## Materialized Views
220
-
221
- ### Real-time Aggregations
222
-
223
- ```sql
224
- -- Create materialized view for hourly stats
225
- CREATE MATERIALIZED VIEW market_stats_hourly_mv
226
- TO market_stats_hourly
227
- AS SELECT
228
- toStartOfHour(timestamp) AS hour,
229
- market_id,
230
- sumState(amount) AS total_volume,
231
- countState() AS total_trades,
232
- uniqState(user_id) AS unique_users
233
- FROM trades
234
- GROUP BY hour, market_id;
235
-
236
- -- Query the materialized view
237
- SELECT
238
- hour,
239
- market_id,
240
- sumMerge(total_volume) AS volume,
241
- countMerge(total_trades) AS trades,
242
- uniqMerge(unique_users) AS users
243
- FROM market_stats_hourly
244
- WHERE hour >= now() - INTERVAL 24 HOUR
245
- GROUP BY hour, market_id;
246
- ```
247
-
248
- ## Performance Monitoring
249
-
250
- ### Query Performance
251
-
252
- ```sql
253
- -- Check slow queries
254
- SELECT
255
- query_id,
256
- user,
257
- query,
258
- query_duration_ms,
259
- read_rows,
260
- read_bytes,
261
- memory_usage
262
- FROM system.query_log
263
- WHERE type = 'QueryFinish'
264
- AND query_duration_ms > 1000
265
- AND event_time >= now() - INTERVAL 1 HOUR
266
- ORDER BY query_duration_ms DESC
267
- LIMIT 10;
268
- ```
269
-
270
- ### Table Statistics
271
-
272
- ```sql
273
- -- Check table sizes
274
- SELECT
275
- database,
276
- table,
277
- formatReadableSize(sum(bytes)) AS size,
278
- sum(rows) AS rows,
279
- max(modification_time) AS latest_modification
280
- FROM system.parts
281
- WHERE active
282
- GROUP BY database, table
283
- ORDER BY sum(bytes) DESC;
284
- ```
285
-
286
- ## Common Analytics Queries
287
-
288
- ### Time Series Analysis
289
-
290
- ```sql
291
- -- Daily active users
292
- SELECT
293
- toDate(timestamp) AS date,
294
- uniq(user_id) AS daily_active_users
295
- FROM events
296
- WHERE timestamp >= today() - INTERVAL 30 DAY
297
- GROUP BY date
298
- ORDER BY date;
299
-
300
- -- Retention analysis
301
- SELECT
302
- signup_date,
303
- countIf(days_since_signup = 0) AS day_0,
304
- countIf(days_since_signup = 1) AS day_1,
305
- countIf(days_since_signup = 7) AS day_7,
306
- countIf(days_since_signup = 30) AS day_30
307
- FROM (
308
- SELECT
309
- user_id,
310
- min(toDate(timestamp)) AS signup_date,
311
- toDate(timestamp) AS activity_date,
312
- dateDiff('day', signup_date, activity_date) AS days_since_signup
313
- FROM events
314
- GROUP BY user_id, activity_date
315
- )
316
- GROUP BY signup_date
317
- ORDER BY signup_date DESC;
318
- ```
319
-
320
- ### Funnel Analysis
321
-
322
- ```sql
323
- -- Conversion funnel
324
- SELECT
325
- countIf(step = 'viewed_market') AS viewed,
326
- countIf(step = 'clicked_trade') AS clicked,
327
- countIf(step = 'completed_trade') AS completed,
328
- round(clicked / viewed * 100, 2) AS view_to_click_rate,
329
- round(completed / clicked * 100, 2) AS click_to_completion_rate
330
- FROM (
331
- SELECT
332
- user_id,
333
- session_id,
334
- event_type AS step
335
- FROM events
336
- WHERE event_date = today()
337
- )
338
- GROUP BY session_id;
339
- ```
340
-
341
- ### Cohort Analysis
342
-
343
- ```sql
344
- -- User cohorts by signup month
345
- SELECT
346
- toStartOfMonth(signup_date) AS cohort,
347
- toStartOfMonth(activity_date) AS month,
348
- dateDiff('month', cohort, month) AS months_since_signup,
349
- count(DISTINCT user_id) AS active_users
350
- FROM (
351
- SELECT
352
- user_id,
353
- min(toDate(timestamp)) OVER (PARTITION BY user_id) AS signup_date,
354
- toDate(timestamp) AS activity_date
355
- FROM events
356
- )
357
- GROUP BY cohort, month, months_since_signup
358
- ORDER BY cohort, months_since_signup;
359
- ```
360
-
361
- ## Data Pipeline Patterns
362
-
363
- ### ETL Pattern
364
-
365
- ```typescript
366
- // Extract, Transform, Load
367
- async function etlPipeline() {
368
- // 1. Extract from source
369
- const rawData = await extractFromPostgres()
370
-
371
- // 2. Transform
372
- const transformed = rawData.map(row => ({
373
- date: new Date(row.created_at).toISOString().split('T')[0],
374
- market_id: row.market_slug,
375
- volume: parseFloat(row.total_volume),
376
- trades: parseInt(row.trade_count)
377
- }))
378
-
379
- // 3. Load to ClickHouse
380
- await bulkInsertToClickHouse(transformed)
381
- }
382
-
383
- // Run periodically
384
- setInterval(etlPipeline, 60 * 60 * 1000) // Every hour
385
- ```
386
-
387
- ### Change Data Capture (CDC)
388
-
389
- ```typescript
390
- // Listen to PostgreSQL changes and sync to ClickHouse
391
- import { Client } from 'pg'
392
-
393
- const pgClient = new Client({ connectionString: process.env.DATABASE_URL })
394
-
395
- pgClient.query('LISTEN market_updates')
396
-
397
- pgClient.on('notification', async (msg) => {
398
- const update = JSON.parse(msg.payload)
399
-
400
- await clickhouse.insert('market_updates', [
401
- {
402
- market_id: update.id,
403
- event_type: update.operation, // INSERT, UPDATE, DELETE
404
- timestamp: new Date(),
405
- data: JSON.stringify(update.new_data)
406
- }
407
- ])
408
- })
409
- ```
410
-
411
- ## Best Practices
412
-
413
- ### 1. Partitioning Strategy
414
- - Partition by time (usually month or day)
415
- - Avoid too many partitions (performance impact)
416
- - Use DATE type for partition key
417
-
418
- ### 2. Ordering Key
419
- - Put most frequently filtered columns first
420
- - Consider cardinality (high cardinality first)
421
- - Order impacts compression
422
-
423
- ### 3. Data Types
424
- - Use smallest appropriate type (UInt32 vs UInt64)
425
- - Use LowCardinality for repeated strings
426
- - Use Enum for categorical data
427
-
428
- ### 4. Avoid
429
- - SELECT * (specify columns)
430
- - FINAL (merge data before query instead)
431
- - Too many JOINs (denormalize for analytics)
432
- - Small frequent inserts (batch instead)
433
-
434
- ### 5. Monitoring
435
- - Track query performance
436
- - Monitor disk usage
437
- - Check merge operations
438
- - Review slow query log
439
-
440
- **Remember**: ClickHouse excels at analytical workloads. Design tables for your query patterns, batch inserts, and leverage materialized views for real-time aggregations.
@@ -1,254 +0,0 @@
1
- ---
2
- name: code-tour
3
- description: Create CodeTour `.tour` files — persona-targeted, step-by-step walkthroughs with real file and line anchors. Use for onboarding tours, architecture walkthroughs, PR tours, RCA tours, and structured "explain how this works" requests.
4
- metadata:
5
- origin: ECC
6
- ---
7
-
8
- # Code Tour
9
-
10
- Create **CodeTour** `.tour` files for codebase walkthroughs that open directly to real files and line ranges. Tours live in `.tours/` and are meant for the CodeTour format, not ad hoc Markdown notes.
11
-
12
- A good tour is a narrative for a specific reader:
13
- - what they are looking at
14
- - why it matters
15
- - what path they should follow next
16
-
17
- Only create `.tour` JSON files. Do not modify source code as part of this skill.
18
-
19
- ## When to Use
20
-
21
- Use this skill when:
22
- - the user asks for a code tour, onboarding tour, architecture walkthrough, or PR tour
23
- - the user says "explain how X works" and wants a reusable guided artifact
24
- - the user wants a ramp-up path for a new engineer or reviewer
25
- - the task is better served by a guided sequence than a flat summary
26
-
27
- Examples:
28
- - onboarding a new maintainer
29
- - architecture tour for one service or package
30
- - PR-review walk-through anchored to changed files
31
- - RCA tour showing the failure path
32
- - security review tour of trust boundaries and key checks
33
-
34
- ## When NOT to Use
35
-
36
- | Instead of code-tour | Use |
37
- | --- | --- |
38
- | A one-off explanation in chat is enough | answer directly |
39
- | The user wants prose docs, not a `.tour` artifact | `documentation-lookup` or repo docs editing |
40
- | The task is implementation or refactoring | do the implementation work |
41
- | The task is broad codebase onboarding without a tour artifact | `codebase-onboarding` |
42
-
43
- ## Workflow
44
-
45
- ### 1. Discover
46
-
47
- Explore the repo before writing anything:
48
- - README and package/app entry points
49
- - folder structure
50
- - relevant config files
51
- - the changed files if the tour is PR-focused
52
-
53
- Do not start writing steps before you understand the shape of the code.
54
-
55
- ### 2. Infer the reader
56
-
57
- Decide the persona and depth from the request.
58
-
59
- | Request shape | Persona | Suggested depth |
60
- | --- | --- | --- |
61
- | "onboarding", "new joiner" | `new-joiner` | 9-13 steps |
62
- | "quick tour", "vibe check" | `vibecoder` | 5-8 steps |
63
- | "architecture" | `architect` | 14-18 steps |
64
- | "tour this PR" | `pr-reviewer` | 7-11 steps |
65
- | "why did this break" | `rca-investigator` | 7-11 steps |
66
- | "security review" | `security-reviewer` | 7-11 steps |
67
- | "explain how this feature works" | `feature-explainer` | 7-11 steps |
68
- | "debug this path" | `bug-fixer` | 7-11 steps |
69
-
70
- ### 3. Read and verify anchors
71
-
72
- Every file path and line anchor must be real:
73
- - confirm the file exists
74
- - confirm the line numbers are in range
75
- - if using a selection, verify the exact block
76
- - if the file is volatile, prefer a pattern-based anchor
77
-
78
- Never guess line numbers.
79
-
80
- ### 4. Write the `.tour`
81
-
82
- Write to:
83
-
84
- ```text
85
- .tours/<persona>-<focus>.tour
86
- ```
87
-
88
- Keep the path deterministic and readable.
89
-
90
- ### 5. Validate
91
-
92
- Before finishing:
93
- - every referenced path exists
94
- - every line or selection is valid
95
- - the first step is anchored to a real file or directory
96
- - the `ref` points at a branch or commit that actually has every file the tour references (see below)
97
- - the tour tells a coherent story rather than listing files
98
-
99
- ## The `ref` Field
100
-
101
- `ref` ties the tour to a git branch or commit. It matters more than it looks: when `ref` is not the branch the reader has checked out, CodeTour opens each step's file from that revision in git, not from the files on disk. If a file is not in that revision, the step will not open — the reader sees *"The editor could not be opened because the file was not found"* even though the file is sitting right there. The tour and its comments still show, so the real cause is easy to miss.
102
-
103
- Pick `ref` by tour type:
104
-
105
- | Tour type | Set `ref` to |
106
- | --- | --- |
107
- | PR tour | the PR branch — never the base branch |
108
- | Onboarding / architecture | the branch the reader will be on (often `main`), or leave it out |
109
- | Not sure | leave `ref` out, so CodeTour reads files straight from disk |
110
-
111
- The PR case is the common trap: a PR usually adds new files, and new files do not exist on the base branch yet. Point `ref` at the base (e.g. `develop`) and every step on a new file fails to open.
112
-
113
- Before finishing, confirm each step's file actually exists at the `ref` you chose.
114
-
115
- ## Step Types
116
-
117
- ### Content
118
-
119
- Use sparingly, usually only for a closing step:
120
-
121
- ```json
122
- { "title": "Next Steps", "description": "You can now trace the request path end to end." }
123
- ```
124
-
125
- Do not make the first step content-only.
126
-
127
- ### Directory
128
-
129
- Use to orient the reader to a module:
130
-
131
- ```json
132
- { "directory": "src/services", "title": "Service Layer", "description": "The core orchestration logic lives here." }
133
- ```
134
-
135
- ### File + line
136
-
137
- This is the default step type:
138
-
139
- ```json
140
- { "file": "src/auth/middleware.ts", "line": 42, "title": "Auth Gate", "description": "Every protected request passes here first." }
141
- ```
142
-
143
- ### Selection
144
-
145
- Use when one code block matters more than the whole file:
146
-
147
- ```json
148
- {
149
- "file": "src/core/pipeline.ts",
150
- "selection": {
151
- "start": { "line": 15, "character": 0 },
152
- "end": { "line": 34, "character": 0 }
153
- },
154
- "title": "Request Pipeline",
155
- "description": "This block wires validation, auth, and downstream execution."
156
- }
157
- ```
158
-
159
- ### Pattern
160
-
161
- Use when exact lines may drift:
162
-
163
- ```json
164
- { "file": "src/app.ts", "pattern": "export default class App", "title": "Application Entry" }
165
- ```
166
-
167
- ### URI
168
-
169
- Use for PRs, issues, or docs when helpful:
170
-
171
- ```json
172
- { "uri": "https://github.com/org/repo/pull/456", "title": "The PR" }
173
- ```
174
-
175
- ## Writing Rule: SMIG
176
-
177
- Each description should answer:
178
- - **Situation**: what the reader is looking at
179
- - **Mechanism**: how it works
180
- - **Implication**: why it matters for this persona
181
- - **Gotcha**: what a smart reader might miss
182
-
183
- Keep descriptions compact, specific, and grounded in the actual code.
184
-
185
- ## Narrative Shape
186
-
187
- Use this arc unless the task clearly needs something different:
188
- 1. orientation
189
- 2. module map
190
- 3. core execution path
191
- 4. edge case or gotcha
192
- 5. closing / next move
193
-
194
- The tour should feel like a path, not an inventory.
195
-
196
- ## Example
197
-
198
- ```json
199
- {
200
- "$schema": "https://aka.ms/codetour-schema",
201
- "title": "API Service Tour",
202
- "description": "Walkthrough of the request path for the payments service.",
203
- "ref": "main",
204
- "steps": [
205
- {
206
- "directory": "src",
207
- "title": "Source Root",
208
- "description": "All runtime code for the service starts here."
209
- },
210
- {
211
- "file": "src/server.ts",
212
- "line": 12,
213
- "title": "Entry Point",
214
- "description": "The server boots here and wires middleware before any route is reached."
215
- },
216
- {
217
- "file": "src/routes/payments.ts",
218
- "line": 8,
219
- "title": "Payment Routes",
220
- "description": "Every payments request enters through this router before hitting service logic."
221
- },
222
- {
223
- "title": "Next Steps",
224
- "description": "You can now follow any payment request end to end with the main anchors in place."
225
- }
226
- ]
227
- }
228
- ```
229
-
230
- ## Anti-Patterns
231
-
232
- | Anti-pattern | Fix |
233
- | --- | --- |
234
- | Flat file listing | Tell a story with dependency between steps |
235
- | Generic descriptions | Name the concrete code path or pattern |
236
- | Guessed anchors | Verify every file and line first |
237
- | Too many steps for a quick tour | Cut aggressively |
238
- | First step is content-only | Anchor the first step to a real file or directory |
239
- | Persona mismatch | Write for the actual reader, not a generic engineer |
240
-
241
- ## Best Practices
242
-
243
- - keep step count proportional to repo size and persona depth
244
- - use directory steps for orientation, file steps for substance
245
- - for PR tours, cover changed files first
246
- - for monorepos, scope to the relevant packages instead of touring everything
247
- - close with what the reader can now do, not a recap
248
-
249
- ## Related Skills
250
-
251
- - `codebase-onboarding`
252
- - `coding-standards`
253
- - `council`
254
- - official upstream format: `microsoft/codetour`