arboris-cli 1.0.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (451) hide show
  1. package/dist/cli.mjs +420 -0
  2. package/manifest.json +602 -0
  3. package/package.json +22 -10
  4. package/prisma/skills/accessibility/SKILL.md +147 -0
  5. package/prisma/skills/agent-architecture-audit/SKILL.md +257 -0
  6. package/prisma/skills/agent-eval/SKILL.md +146 -0
  7. package/prisma/skills/agent-harness-construction/SKILL.md +74 -0
  8. package/prisma/skills/agent-introspection-debugging/SKILL.md +154 -0
  9. package/prisma/skills/agent-payment-x402/SKILL.md +225 -0
  10. package/prisma/skills/agent-self-evaluation/SKILL.md +182 -0
  11. package/prisma/skills/agent-self-evaluation/examples/high-score-example.md +87 -0
  12. package/prisma/skills/agent-self-evaluation/examples/low-score-example.md +86 -0
  13. package/prisma/skills/agent-self-evaluation/references/evaluation-criteria.md +71 -0
  14. package/prisma/skills/agent-self-evaluation/references/hook-integration.md +64 -0
  15. package/prisma/skills/agent-self-evaluation/scripts/evaluate.py +408 -0
  16. package/prisma/skills/agent-self-evaluation/templates/evaluation-report.md +86 -0
  17. package/prisma/skills/agent-sort/SKILL.md +216 -0
  18. package/prisma/skills/agentic-engineering/SKILL.md +64 -0
  19. package/prisma/skills/agentic-os/SKILL.md +388 -0
  20. package/prisma/skills/ai-first-engineering/SKILL.md +52 -0
  21. package/prisma/skills/ai-regression-testing/SKILL.md +386 -0
  22. package/prisma/skills/android-clean-architecture/SKILL.md +340 -0
  23. package/prisma/skills/angular-developer/SKILL.md +155 -0
  24. package/prisma/skills/angular-developer/references/angular-animations.md +160 -0
  25. package/prisma/skills/angular-developer/references/angular-aria.md +410 -0
  26. package/prisma/skills/angular-developer/references/cli.md +86 -0
  27. package/prisma/skills/angular-developer/references/component-harnesses.md +59 -0
  28. package/prisma/skills/angular-developer/references/component-styling.md +91 -0
  29. package/prisma/skills/angular-developer/references/components.md +117 -0
  30. package/prisma/skills/angular-developer/references/creating-services.md +97 -0
  31. package/prisma/skills/angular-developer/references/data-resolvers.md +69 -0
  32. package/prisma/skills/angular-developer/references/define-routes.md +67 -0
  33. package/prisma/skills/angular-developer/references/defining-providers.md +72 -0
  34. package/prisma/skills/angular-developer/references/di-fundamentals.md +120 -0
  35. package/prisma/skills/angular-developer/references/e2e-testing.md +56 -0
  36. package/prisma/skills/angular-developer/references/effects.md +83 -0
  37. package/prisma/skills/angular-developer/references/hierarchical-injectors.md +43 -0
  38. package/prisma/skills/angular-developer/references/host-elements.md +80 -0
  39. package/prisma/skills/angular-developer/references/injection-context.md +63 -0
  40. package/prisma/skills/angular-developer/references/inputs.md +101 -0
  41. package/prisma/skills/angular-developer/references/linked-signal.md +59 -0
  42. package/prisma/skills/angular-developer/references/loading-strategies.md +61 -0
  43. package/prisma/skills/angular-developer/references/mcp.md +108 -0
  44. package/prisma/skills/angular-developer/references/navigate-to-routes.md +69 -0
  45. package/prisma/skills/angular-developer/references/outputs.md +86 -0
  46. package/prisma/skills/angular-developer/references/reactive-forms.md +122 -0
  47. package/prisma/skills/angular-developer/references/rendering-strategies.md +44 -0
  48. package/prisma/skills/angular-developer/references/resource.md +77 -0
  49. package/prisma/skills/angular-developer/references/route-animations.md +56 -0
  50. package/prisma/skills/angular-developer/references/route-guards.md +52 -0
  51. package/prisma/skills/angular-developer/references/router-lifecycle.md +45 -0
  52. package/prisma/skills/angular-developer/references/router-testing.md +87 -0
  53. package/prisma/skills/angular-developer/references/show-routes-with-outlets.md +68 -0
  54. package/prisma/skills/angular-developer/references/signal-forms.md +795 -0
  55. package/prisma/skills/angular-developer/references/signals-overview.md +94 -0
  56. package/prisma/skills/angular-developer/references/tailwind-css.md +69 -0
  57. package/prisma/skills/angular-developer/references/template-driven-forms.md +114 -0
  58. package/prisma/skills/angular-developer/references/testing-fundamentals.md +65 -0
  59. package/prisma/skills/api-connector-builder/SKILL.md +121 -0
  60. package/prisma/skills/api-design/SKILL.md +524 -0
  61. package/prisma/skills/architecture-decision-records/SKILL.md +180 -0
  62. package/prisma/skills/article-writing/SKILL.md +80 -0
  63. package/prisma/skills/automation-audit-ops/SKILL.md +143 -0
  64. package/prisma/skills/autonomous-agent-harness/SKILL.md +274 -0
  65. package/prisma/skills/autonomous-loops/SKILL.md +611 -0
  66. package/prisma/skills/backend-patterns/SKILL.md +562 -0
  67. package/prisma/skills/benchmark/SKILL.md +94 -0
  68. package/prisma/skills/benchmark-methodology/SKILL.md +190 -0
  69. package/prisma/skills/benchmark-optimization-loop/SKILL.md +70 -0
  70. package/prisma/skills/blender-motion-state-inspection/SKILL.md +165 -0
  71. package/prisma/skills/blueprint/SKILL.md +106 -0
  72. package/prisma/skills/brand-discovery/SKILL.md +145 -0
  73. package/prisma/skills/brand-discovery/references/10_purpose-why.md +40 -0
  74. package/prisma/skills/brand-discovery/references/20_positioning.md +44 -0
  75. package/prisma/skills/brand-discovery/references/30_audience-niche.md +52 -0
  76. package/prisma/skills/brand-discovery/references/40_personality-archetype.md +57 -0
  77. package/prisma/skills/brand-discovery/references/50_voice-tone.md +59 -0
  78. package/prisma/skills/brand-discovery/references/60_narrative-story.md +50 -0
  79. package/prisma/skills/brand-discovery/references/70_founder-tension.md +49 -0
  80. package/prisma/skills/brand-discovery/references/90_SYNTHESIS.md +133 -0
  81. package/prisma/skills/brand-voice/SKILL.md +98 -0
  82. package/prisma/skills/brand-voice/references/voice-profile-schema.md +55 -0
  83. package/prisma/skills/browser-qa/SKILL.md +105 -0
  84. package/prisma/skills/bun-runtime/SKILL.md +85 -0
  85. package/prisma/skills/canary-watch/SKILL.md +108 -0
  86. package/prisma/skills/carrier-relationship-management/SKILL.md +212 -0
  87. package/prisma/skills/cisco-ios-patterns/SKILL.md +164 -0
  88. package/prisma/skills/ck/SKILL.md +148 -0
  89. package/prisma/skills/ck/commands/forget.mjs +44 -0
  90. package/prisma/skills/ck/commands/info.mjs +24 -0
  91. package/prisma/skills/ck/commands/init.mjs +143 -0
  92. package/prisma/skills/ck/commands/list.mjs +40 -0
  93. package/prisma/skills/ck/commands/migrate.mjs +202 -0
  94. package/prisma/skills/ck/commands/resume.mjs +36 -0
  95. package/prisma/skills/ck/commands/save.mjs +210 -0
  96. package/prisma/skills/ck/commands/shared.mjs +387 -0
  97. package/prisma/skills/ck/hooks/session-start.mjs +224 -0
  98. package/prisma/skills/claude-devfleet/SKILL.md +112 -0
  99. package/prisma/skills/click-path-audit/SKILL.md +245 -0
  100. package/prisma/skills/clickhouse-io/SKILL.md +440 -0
  101. package/prisma/skills/code-tour/SKILL.md +254 -0
  102. package/prisma/skills/codebase-onboarding/SKILL.md +234 -0
  103. package/prisma/skills/codehealth-mcp/SKILL.md +167 -0
  104. package/prisma/skills/coding-standards/SKILL.md +551 -0
  105. package/prisma/skills/competitive-platform-analysis/SKILL.md +214 -0
  106. package/prisma/skills/competitive-report-structure/SKILL.md +162 -0
  107. package/prisma/skills/compose-multiplatform-patterns/SKILL.md +300 -0
  108. package/prisma/skills/config-gc/SKILL.md +120 -0
  109. package/prisma/skills/configure-ecc/SKILL.md +385 -0
  110. package/prisma/skills/connections-optimizer/SKILL.md +190 -0
  111. package/prisma/skills/content-engine/SKILL.md +132 -0
  112. package/prisma/skills/content-hash-cache-pattern/SKILL.md +162 -0
  113. package/prisma/skills/context-budget/SKILL.md +136 -0
  114. package/prisma/skills/continuous-agent-loop/SKILL.md +46 -0
  115. package/prisma/skills/continuous-learning/SKILL.md +132 -0
  116. package/prisma/skills/continuous-learning/config.json +18 -0
  117. package/prisma/skills/continuous-learning/evaluate-session.sh +69 -0
  118. package/prisma/skills/continuous-learning-v2/SKILL.md +361 -0
  119. package/prisma/skills/continuous-learning-v2/agents/observer-loop.sh +359 -0
  120. package/prisma/skills/continuous-learning-v2/agents/observer.md +189 -0
  121. package/prisma/skills/continuous-learning-v2/agents/session-guardian.sh +150 -0
  122. package/prisma/skills/continuous-learning-v2/agents/start-observer.sh +248 -0
  123. package/prisma/skills/continuous-learning-v2/config.json +8 -0
  124. package/prisma/skills/continuous-learning-v2/hooks/observe.sh +585 -0
  125. package/prisma/skills/continuous-learning-v2/scripts/detect-project.sh +322 -0
  126. package/prisma/skills/continuous-learning-v2/scripts/instinct-cli.py +1956 -0
  127. package/prisma/skills/continuous-learning-v2/scripts/lib/homunculus-dir.sh +31 -0
  128. package/prisma/skills/continuous-learning-v2/scripts/migrate-homunculus.sh +68 -0
  129. package/prisma/skills/continuous-learning-v2/scripts/test_parse_instinct.py +1421 -0
  130. package/prisma/skills/cost-aware-llm-pipeline/SKILL.md +184 -0
  131. package/prisma/skills/cost-tracking/SKILL.md +97 -0
  132. package/prisma/skills/council/SKILL.md +204 -0
  133. package/prisma/skills/cpp-coding-standards/SKILL.md +724 -0
  134. package/prisma/skills/cpp-testing/SKILL.md +325 -0
  135. package/prisma/skills/crosspost/SKILL.md +112 -0
  136. package/prisma/skills/csharp-testing/SKILL.md +322 -0
  137. package/prisma/skills/customer-billing-ops/SKILL.md +141 -0
  138. package/prisma/skills/customs-trade-compliance/SKILL.md +263 -0
  139. package/prisma/skills/dart-flutter-patterns/SKILL.md +564 -0
  140. package/prisma/skills/dashboard-builder/SKILL.md +109 -0
  141. package/prisma/skills/data-scraper-agent/SKILL.md +765 -0
  142. package/prisma/skills/data-throughput-accelerator/SKILL.md +73 -0
  143. package/prisma/skills/database-migrations/SKILL.md +430 -0
  144. package/prisma/skills/deep-research/SKILL.md +160 -0
  145. package/prisma/skills/defi-amm-security/SKILL.md +167 -0
  146. package/prisma/skills/delivery-gate/SKILL.md +126 -0
  147. package/prisma/skills/delivery-gate/hooks/quality-gate.py +220 -0
  148. package/prisma/skills/deployment-patterns/SKILL.md +428 -0
  149. package/prisma/skills/design-system/SKILL.md +83 -0
  150. package/prisma/skills/django-celery/SKILL.md +458 -0
  151. package/prisma/skills/django-patterns/SKILL.md +735 -0
  152. package/prisma/skills/django-security/SKILL.md +644 -0
  153. package/prisma/skills/django-tdd/SKILL.md +730 -0
  154. package/prisma/skills/django-verification/SKILL.md +470 -0
  155. package/prisma/skills/dmux-workflows/SKILL.md +192 -0
  156. package/prisma/skills/docker-patterns/SKILL.md +365 -0
  157. package/prisma/skills/documentation-lookup/SKILL.md +91 -0
  158. package/prisma/skills/dotnet-patterns/SKILL.md +322 -0
  159. package/prisma/skills/dynamic-workflow-mode/SKILL.md +124 -0
  160. package/prisma/skills/e2e-testing/SKILL.md +327 -0
  161. package/prisma/skills/ecc-guide/SKILL.md +190 -0
  162. package/prisma/skills/ecc-recipes/SKILL.md +149 -0
  163. package/prisma/skills/ecc-tools-cost-audit/SKILL.md +161 -0
  164. package/prisma/skills/email-ops/SKILL.md +122 -0
  165. package/prisma/skills/energy-procurement/SKILL.md +228 -0
  166. package/prisma/skills/enterprise-agent-ops/SKILL.md +51 -0
  167. package/prisma/skills/error-handling/SKILL.md +377 -0
  168. package/prisma/skills/eval-harness/SKILL.md +271 -0
  169. package/prisma/skills/evm-token-decimals/SKILL.md +131 -0
  170. package/prisma/skills/exa-search/SKILL.md +108 -0
  171. package/prisma/skills/fal-ai-media/SKILL.md +289 -0
  172. package/prisma/skills/fastapi-patterns/SKILL.md +514 -0
  173. package/prisma/skills/finance-billing-ops/SKILL.md +128 -0
  174. package/prisma/skills/flox-environments/SKILL.md +497 -0
  175. package/prisma/skills/flutter-dart-code-review/SKILL.md +436 -0
  176. package/prisma/skills/foundation-models-on-device/SKILL.md +243 -0
  177. package/prisma/skills/frontend-a11y/SKILL.md +446 -0
  178. package/prisma/skills/frontend-design-direction/SKILL.md +93 -0
  179. package/prisma/skills/frontend-patterns/SKILL.md +657 -0
  180. package/prisma/skills/frontend-slides/SKILL.md +185 -0
  181. package/prisma/skills/frontend-slides/STYLE_PRESETS.md +330 -0
  182. package/prisma/skills/frontend-slides/animation-patterns.md +122 -0
  183. package/prisma/skills/frontend-slides/html-template.md +419 -0
  184. package/prisma/skills/frontend-slides/scripts/export-pdf.sh +418 -0
  185. package/prisma/skills/frontend-slides/scripts/extract-pptx.py +96 -0
  186. package/prisma/skills/frontend-slides/viewport-base.css +153 -0
  187. package/prisma/skills/fsharp-testing/SKILL.md +281 -0
  188. package/prisma/skills/gan-style-harness/SKILL.md +279 -0
  189. package/prisma/skills/gateguard/SKILL.md +133 -0
  190. package/prisma/skills/generating-python-installer/SKILL.md +820 -0
  191. package/prisma/skills/git-workflow/SKILL.md +716 -0
  192. package/prisma/skills/github-ops/SKILL.md +145 -0
  193. package/prisma/skills/golang-patterns/SKILL.md +675 -0
  194. package/prisma/skills/golang-testing/SKILL.md +721 -0
  195. package/prisma/skills/google-workspace-ops/SKILL.md +96 -0
  196. package/prisma/skills/growth-log/SKILL.md +128 -0
  197. package/prisma/skills/healthcare-cdss-patterns/SKILL.md +246 -0
  198. package/prisma/skills/healthcare-emr-patterns/SKILL.md +160 -0
  199. package/prisma/skills/healthcare-eval-harness/SKILL.md +208 -0
  200. package/prisma/skills/healthcare-phi-compliance/SKILL.md +146 -0
  201. package/prisma/skills/hermes-imports/SKILL.md +89 -0
  202. package/prisma/skills/hexagonal-architecture/SKILL.md +277 -0
  203. package/prisma/skills/hipaa-compliance/SKILL.md +79 -0
  204. package/prisma/skills/homelab-network-readiness/SKILL.md +170 -0
  205. package/prisma/skills/homelab-network-setup/SKILL.md +130 -0
  206. package/prisma/skills/homelab-pihole-dns/SKILL.md +275 -0
  207. package/prisma/skills/homelab-vlan-segmentation/SKILL.md +312 -0
  208. package/prisma/skills/homelab-wireguard-vpn/SKILL.md +306 -0
  209. package/prisma/skills/hookify-rules/SKILL.md +128 -0
  210. package/prisma/skills/inherit-legacy-style/SKILL.md +157 -0
  211. package/prisma/skills/intent-driven-development/SKILL.md +360 -0
  212. package/prisma/skills/inventory-demand-planning/SKILL.md +247 -0
  213. package/prisma/skills/investor-materials/SKILL.md +97 -0
  214. package/prisma/skills/investor-outreach/SKILL.md +92 -0
  215. package/prisma/skills/ios-icon-gen/SKILL.md +158 -0
  216. package/prisma/skills/ios-icon-gen/scripts/generate_icons.swift +258 -0
  217. package/prisma/skills/ios-icon-gen/scripts/iconify_gen.sh +235 -0
  218. package/prisma/skills/iterative-retrieval/SKILL.md +212 -0
  219. package/prisma/skills/ito-basket-compare/SKILL.md +64 -0
  220. package/prisma/skills/ito-data-atlas-agent/SKILL.md +64 -0
  221. package/prisma/skills/ito-market-intelligence/SKILL.md +61 -0
  222. package/prisma/skills/ito-trade-planner/SKILL.md +68 -0
  223. package/prisma/skills/java-coding-standards/SKILL.md +384 -0
  224. package/prisma/skills/jira-integration/SKILL.md +303 -0
  225. package/prisma/skills/jpa-patterns/SKILL.md +152 -0
  226. package/prisma/skills/knowledge-ops/SKILL.md +155 -0
  227. package/prisma/skills/kotlin-coroutines-flows/SKILL.md +285 -0
  228. package/prisma/skills/kotlin-exposed-patterns/SKILL.md +720 -0
  229. package/prisma/skills/kotlin-ktor-patterns/SKILL.md +690 -0
  230. package/prisma/skills/kotlin-patterns/SKILL.md +712 -0
  231. package/prisma/skills/kotlin-testing/SKILL.md +825 -0
  232. package/prisma/skills/kubernetes-patterns/SKILL.md +756 -0
  233. package/prisma/skills/laravel-patterns/SKILL.md +416 -0
  234. package/prisma/skills/laravel-plugin-discovery/SKILL.md +230 -0
  235. package/prisma/skills/laravel-security/SKILL.md +948 -0
  236. package/prisma/skills/laravel-tdd/SKILL.md +675 -0
  237. package/prisma/skills/laravel-verification/SKILL.md +180 -0
  238. package/prisma/skills/latency-critical-systems/SKILL.md +74 -0
  239. package/prisma/skills/lead-intelligence/SKILL.md +322 -0
  240. package/prisma/skills/lead-intelligence/agents/enrichment-agent.md +85 -0
  241. package/prisma/skills/lead-intelligence/agents/mutual-mapper.md +75 -0
  242. package/prisma/skills/lead-intelligence/agents/outreach-drafter.md +98 -0
  243. package/prisma/skills/lead-intelligence/agents/signal-scorer.md +60 -0
  244. package/prisma/skills/liquid-glass-design/SKILL.md +279 -0
  245. package/prisma/skills/llm-trading-agent-security/SKILL.md +147 -0
  246. package/prisma/skills/logistics-exception-management/SKILL.md +222 -0
  247. package/prisma/skills/loop-design-check/SKILL.md +143 -0
  248. package/prisma/skills/mailtrap-email-integration/SKILL.md +77 -0
  249. package/prisma/skills/make-interfaces-feel-better/SKILL.md +152 -0
  250. package/prisma/skills/manim-video/SKILL.md +90 -0
  251. package/prisma/skills/manim-video/assets/network_graph_scene.py +52 -0
  252. package/prisma/skills/market-research/SKILL.md +76 -0
  253. package/prisma/skills/marketing-campaign/SKILL.md +114 -0
  254. package/prisma/skills/mcp-server-patterns/SKILL.md +70 -0
  255. package/prisma/skills/messages-ops/SKILL.md +105 -0
  256. package/prisma/skills/ml-adoption-playbook/SKILL.md +57 -0
  257. package/prisma/skills/mle-workflow/SKILL.md +347 -0
  258. package/prisma/skills/motion-advanced/SKILL.md +596 -0
  259. package/prisma/skills/motion-foundations/SKILL.md +299 -0
  260. package/prisma/skills/motion-patterns/SKILL.md +434 -0
  261. package/prisma/skills/motion-ui/SKILL.md +576 -0
  262. package/prisma/skills/mysql-patterns/SKILL.md +413 -0
  263. package/prisma/skills/nanoclaw-repl/SKILL.md +34 -0
  264. package/prisma/skills/nestjs-patterns/SKILL.md +231 -0
  265. package/prisma/skills/netmiko-ssh-automation/SKILL.md +174 -0
  266. package/prisma/skills/network-bgp-diagnostics/SKILL.md +168 -0
  267. package/prisma/skills/network-config-validation/SKILL.md +211 -0
  268. package/prisma/skills/network-interface-health/SKILL.md +153 -0
  269. package/prisma/skills/nextjs-turbopack/SKILL.md +58 -0
  270. package/prisma/skills/nodejs-keccak256/SKILL.md +103 -0
  271. package/prisma/skills/nutrient-document-processing/SKILL.md +168 -0
  272. package/prisma/skills/nuxt4-patterns/SKILL.md +101 -0
  273. package/prisma/skills/openclaw-persona-forge/SKILL.md +289 -0
  274. package/prisma/skills/openclaw-persona-forge/gacha.py +224 -0
  275. package/prisma/skills/openclaw-persona-forge/gacha.sh +5 -0
  276. package/prisma/skills/openclaw-persona-forge/references/avatar-style.md +124 -0
  277. package/prisma/skills/openclaw-persona-forge/references/boundary-rules.md +53 -0
  278. package/prisma/skills/openclaw-persona-forge/references/error-handling.md +53 -0
  279. package/prisma/skills/openclaw-persona-forge/references/identity-tension.md +48 -0
  280. package/prisma/skills/openclaw-persona-forge/references/naming-system.md +39 -0
  281. package/prisma/skills/openclaw-persona-forge/references/output-template.md +166 -0
  282. package/prisma/skills/opensource-pipeline/SKILL.md +256 -0
  283. package/prisma/skills/orch-add-feature/SKILL.md +45 -0
  284. package/prisma/skills/orch-build-mvp/SKILL.md +49 -0
  285. package/prisma/skills/orch-change-feature/SKILL.md +43 -0
  286. package/prisma/skills/orch-fix-defect/SKILL.md +43 -0
  287. package/prisma/skills/orch-pipeline/SKILL.md +121 -0
  288. package/prisma/skills/orch-refine-code/SKILL.md +44 -0
  289. package/prisma/skills/parallel-execution-optimizer/SKILL.md +73 -0
  290. package/prisma/skills/perl-patterns/SKILL.md +505 -0
  291. package/prisma/skills/perl-security/SKILL.md +504 -0
  292. package/prisma/skills/perl-testing/SKILL.md +476 -0
  293. package/prisma/skills/plan-orchestrate/SKILL.md +263 -0
  294. package/prisma/skills/plankton-code-quality/SKILL.md +237 -0
  295. package/prisma/skills/postgres-patterns/SKILL.md +148 -0
  296. package/prisma/skills/prediction-market-oracle-research/SKILL.md +64 -0
  297. package/prisma/skills/prediction-market-risk-review/SKILL.md +61 -0
  298. package/prisma/skills/prisma-patterns/SKILL.md +401 -0
  299. package/prisma/skills/product-capability/SKILL.md +142 -0
  300. package/prisma/skills/product-lens/SKILL.md +93 -0
  301. package/prisma/skills/production-audit/SKILL.md +207 -0
  302. package/prisma/skills/production-scheduling/SKILL.md +238 -0
  303. package/prisma/skills/project-flow-ops/SKILL.md +112 -0
  304. package/prisma/skills/prompt-optimizer/SKILL.md +398 -0
  305. package/prisma/skills/python-patterns/SKILL.md +751 -0
  306. package/prisma/skills/python-testing/SKILL.md +817 -0
  307. package/prisma/skills/pytorch-patterns/SKILL.md +397 -0
  308. package/prisma/skills/quality-nonconformance/SKILL.md +260 -0
  309. package/prisma/skills/quarkus-patterns/SKILL.md +723 -0
  310. package/prisma/skills/quarkus-security/SKILL.md +468 -0
  311. package/prisma/skills/quarkus-tdd/SKILL.md +812 -0
  312. package/prisma/skills/quarkus-verification/SKILL.md +480 -0
  313. package/prisma/skills/ralphinho-rfc-pipeline/SKILL.md +68 -0
  314. package/prisma/skills/react-native-patterns/SKILL.md +326 -0
  315. package/prisma/skills/react-patterns/SKILL.md +342 -0
  316. package/prisma/skills/react-performance/SKILL.md +575 -0
  317. package/prisma/skills/react-testing/SKILL.md +424 -0
  318. package/prisma/skills/recsys-pipeline-architect/SKILL.md +115 -0
  319. package/prisma/skills/recursive-decision-ledger/SKILL.md +80 -0
  320. package/prisma/skills/redis-patterns/SKILL.md +404 -0
  321. package/prisma/skills/regex-vs-llm-structured-text/SKILL.md +221 -0
  322. package/prisma/skills/remotion-video-creation/SKILL.md +43 -0
  323. package/prisma/skills/remotion-video-creation/rules/3d.md +86 -0
  324. package/prisma/skills/remotion-video-creation/rules/animations.md +29 -0
  325. package/prisma/skills/remotion-video-creation/rules/assets/charts-bar-chart.tsx +173 -0
  326. package/prisma/skills/remotion-video-creation/rules/assets/text-animations-typewriter.tsx +100 -0
  327. package/prisma/skills/remotion-video-creation/rules/assets/text-animations-word-highlight.tsx +108 -0
  328. package/prisma/skills/remotion-video-creation/rules/assets.md +78 -0
  329. package/prisma/skills/remotion-video-creation/rules/audio.md +172 -0
  330. package/prisma/skills/remotion-video-creation/rules/calculate-metadata.md +104 -0
  331. package/prisma/skills/remotion-video-creation/rules/can-decode.md +75 -0
  332. package/prisma/skills/remotion-video-creation/rules/charts.md +58 -0
  333. package/prisma/skills/remotion-video-creation/rules/compositions.md +146 -0
  334. package/prisma/skills/remotion-video-creation/rules/display-captions.md +126 -0
  335. package/prisma/skills/remotion-video-creation/rules/extract-frames.md +229 -0
  336. package/prisma/skills/remotion-video-creation/rules/fonts.md +152 -0
  337. package/prisma/skills/remotion-video-creation/rules/get-audio-duration.md +58 -0
  338. package/prisma/skills/remotion-video-creation/rules/get-video-dimensions.md +68 -0
  339. package/prisma/skills/remotion-video-creation/rules/get-video-duration.md +58 -0
  340. package/prisma/skills/remotion-video-creation/rules/gifs.md +138 -0
  341. package/prisma/skills/remotion-video-creation/rules/images.md +130 -0
  342. package/prisma/skills/remotion-video-creation/rules/import-srt-captions.md +67 -0
  343. package/prisma/skills/remotion-video-creation/rules/lottie.md +67 -0
  344. package/prisma/skills/remotion-video-creation/rules/measuring-dom-nodes.md +34 -0
  345. package/prisma/skills/remotion-video-creation/rules/measuring-text.md +143 -0
  346. package/prisma/skills/remotion-video-creation/rules/sequencing.md +106 -0
  347. package/prisma/skills/remotion-video-creation/rules/tailwind.md +11 -0
  348. package/prisma/skills/remotion-video-creation/rules/text-animations.md +20 -0
  349. package/prisma/skills/remotion-video-creation/rules/timing.md +179 -0
  350. package/prisma/skills/remotion-video-creation/rules/transcribe-captions.md +19 -0
  351. package/prisma/skills/remotion-video-creation/rules/transitions.md +122 -0
  352. package/prisma/skills/remotion-video-creation/rules/trimming.md +52 -0
  353. package/prisma/skills/remotion-video-creation/rules/videos.md +171 -0
  354. package/prisma/skills/repo-scan/SKILL.md +79 -0
  355. package/prisma/skills/research-ops/SKILL.md +113 -0
  356. package/prisma/skills/returns-reverse-logistics/SKILL.md +240 -0
  357. package/prisma/skills/rules-distill/SKILL.md +265 -0
  358. package/prisma/skills/rules-distill/scripts/scan-rules.sh +58 -0
  359. package/prisma/skills/rules-distill/scripts/scan-skills.sh +129 -0
  360. package/prisma/skills/rust-patterns/SKILL.md +500 -0
  361. package/prisma/skills/rust-testing/SKILL.md +501 -0
  362. package/prisma/skills/safety-guard/SKILL.md +76 -0
  363. package/prisma/skills/santa-method/SKILL.md +307 -0
  364. package/prisma/skills/scientific-db-pubmed-database/SKILL.md +176 -0
  365. package/prisma/skills/scientific-db-uspto-database/SKILL.md +178 -0
  366. package/prisma/skills/scientific-pkg-gget/SKILL.md +167 -0
  367. package/prisma/skills/scientific-thinking-literature-review/SKILL.md +193 -0
  368. package/prisma/skills/scientific-thinking-scholar-evaluation/SKILL.md +161 -0
  369. package/prisma/skills/search-first/SKILL.md +183 -0
  370. package/prisma/skills/security-bounty-hunter/SKILL.md +100 -0
  371. package/prisma/skills/security-review/SKILL.md +504 -0
  372. package/prisma/skills/security-review/cloud-infrastructure-security.md +361 -0
  373. package/prisma/skills/security-scan/SKILL.md +166 -0
  374. package/prisma/skills/seo/SKILL.md +155 -0
  375. package/prisma/skills/skill-comply/SKILL.md +59 -0
  376. package/prisma/skills/skill-comply/fixtures/compliant_trace.jsonl +5 -0
  377. package/prisma/skills/skill-comply/fixtures/noncompliant_trace.jsonl +3 -0
  378. package/prisma/skills/skill-comply/fixtures/tdd_spec.yaml +44 -0
  379. package/prisma/skills/skill-comply/prompts/classifier.md +24 -0
  380. package/prisma/skills/skill-comply/prompts/scenario_generator.md +62 -0
  381. package/prisma/skills/skill-comply/prompts/spec_generator.md +42 -0
  382. package/prisma/skills/skill-comply/pyproject.toml +15 -0
  383. package/prisma/skills/skill-comply/scripts/__init__.py +0 -0
  384. package/prisma/skills/skill-comply/scripts/classifier.py +85 -0
  385. package/prisma/skills/skill-comply/scripts/grader.py +124 -0
  386. package/prisma/skills/skill-comply/scripts/parser.py +107 -0
  387. package/prisma/skills/skill-comply/scripts/report.py +170 -0
  388. package/prisma/skills/skill-comply/scripts/run.py +127 -0
  389. package/prisma/skills/skill-comply/scripts/runner.py +194 -0
  390. package/prisma/skills/skill-comply/scripts/scenario_generator.py +70 -0
  391. package/prisma/skills/skill-comply/scripts/spec_generator.py +72 -0
  392. package/prisma/skills/skill-comply/scripts/utils.py +13 -0
  393. package/prisma/skills/skill-comply/tests/test_grader.py +197 -0
  394. package/prisma/skills/skill-comply/tests/test_parser.py +90 -0
  395. package/prisma/skills/skill-comply/tests/test_runner.py +172 -0
  396. package/prisma/skills/skill-scout/SKILL.md +141 -0
  397. package/prisma/skills/skill-stocktake/SKILL.md +195 -0
  398. package/prisma/skills/skill-stocktake/scripts/quick-diff.sh +87 -0
  399. package/prisma/skills/skill-stocktake/scripts/save-results.sh +56 -0
  400. package/prisma/skills/skill-stocktake/scripts/scan.sh +170 -0
  401. package/prisma/skills/social-graph-ranker/SKILL.md +155 -0
  402. package/prisma/skills/social-publisher/SKILL.md +130 -0
  403. package/prisma/skills/springboot-patterns/SKILL.md +315 -0
  404. package/prisma/skills/springboot-security/SKILL.md +273 -0
  405. package/prisma/skills/springboot-tdd/SKILL.md +159 -0
  406. package/prisma/skills/springboot-verification/SKILL.md +232 -0
  407. package/prisma/skills/strategic-compact/SKILL.md +136 -0
  408. package/prisma/skills/swift-actor-persistence/SKILL.md +144 -0
  409. package/prisma/skills/swift-concurrency-6-2/SKILL.md +216 -0
  410. package/prisma/skills/swift-protocol-di-testing/SKILL.md +191 -0
  411. package/prisma/skills/swiftui-patterns/SKILL.md +259 -0
  412. package/prisma/skills/taste/SKILL.md +264 -0
  413. package/prisma/skills/taste/references/genre-taxonomy.md +87 -0
  414. package/prisma/skills/tdd-workflow/SKILL.md +583 -0
  415. package/prisma/skills/team-agent-orchestration/SKILL.md +111 -0
  416. package/prisma/skills/team-builder/SKILL.md +169 -0
  417. package/prisma/skills/terminal-ops/SKILL.md +110 -0
  418. package/prisma/skills/tinystruct-patterns/SKILL.md +279 -0
  419. package/prisma/skills/tinystruct-patterns/references/architecture.md +90 -0
  420. package/prisma/skills/tinystruct-patterns/references/data-handling.md +60 -0
  421. package/prisma/skills/tinystruct-patterns/references/database.md +99 -0
  422. package/prisma/skills/tinystruct-patterns/references/routing.md +64 -0
  423. package/prisma/skills/tinystruct-patterns/references/system-usage.md +97 -0
  424. package/prisma/skills/tinystruct-patterns/references/testing.md +72 -0
  425. package/prisma/skills/token-budget-advisor/SKILL.md +134 -0
  426. package/prisma/skills/ui-demo/SKILL.md +466 -0
  427. package/prisma/skills/ui-to-vue/SKILL.md +135 -0
  428. package/prisma/skills/uncloud/SKILL.md +344 -0
  429. package/prisma/skills/unified-notifications-ops/SKILL.md +188 -0
  430. package/prisma/skills/verification-loop/SKILL.md +127 -0
  431. package/prisma/skills/video-editing/SKILL.md +311 -0
  432. package/prisma/skills/videodb/SKILL.md +375 -0
  433. package/prisma/skills/videodb/reference/api-reference.md +550 -0
  434. package/prisma/skills/videodb/reference/capture-reference.md +407 -0
  435. package/prisma/skills/videodb/reference/capture.md +101 -0
  436. package/prisma/skills/videodb/reference/editor.md +443 -0
  437. package/prisma/skills/videodb/reference/generative.md +331 -0
  438. package/prisma/skills/videodb/reference/rtstream-reference.md +564 -0
  439. package/prisma/skills/videodb/reference/rtstream.md +65 -0
  440. package/prisma/skills/videodb/reference/search.md +230 -0
  441. package/prisma/skills/videodb/reference/streaming.md +406 -0
  442. package/prisma/skills/videodb/reference/use-cases.md +118 -0
  443. package/prisma/skills/videodb/scripts/ws_listener.py +282 -0
  444. package/prisma/skills/visa-doc-translate/README.md +86 -0
  445. package/prisma/skills/visa-doc-translate/SKILL.md +117 -0
  446. package/prisma/skills/vite-patterns/SKILL.md +450 -0
  447. package/prisma/skills/vue-patterns/SKILL.md +471 -0
  448. package/prisma/skills/windows-desktop-e2e/SKILL.md +888 -0
  449. package/prisma/skills/workspace-surface-audit/SKILL.md +126 -0
  450. package/prisma/skills/x-api/SKILL.md +235 -0
  451. package/run.mjs +0 -10
@@ -0,0 +1,263 @@
1
+ ---
2
+ name: plan-orchestrate
3
+ description: Read a plan document, decompose it into steps, design a per-step agent chain from the ECC catalogue, and emit ready-to-paste /orchestrate custom prompts. Generative only — never invokes /orchestrate itself. Use when the user has a multi-step plan and wants to drive it through orchestrate without composing chains by hand.
4
+ metadata:
5
+ origin: ECC
6
+ ---
7
+
8
+ # Plan Orchestrate
9
+
10
+ Bridge a plan document to `/orchestrate custom` by emitting one ready-to-paste invocation per step. The skill is generative only — it never executes `/orchestrate`. The user pastes each line when ready.
11
+
12
+ ## When to Activate
13
+
14
+ - User has a multi-step plan document (PRD, RFC, implementation plan) and wants to drive it through `/orchestrate`.
15
+ - User says "orchestrate this plan", "give me orchestrate prompts for each step", "compose chains for this plan".
16
+ - A step-by-step plan exists but the user does not want to manually pick agents per step.
17
+
18
+ Skip when:
19
+ - The work is one ad-hoc step → call `/orchestrate custom` directly.
20
+ - The plan is unreadable or empty. Lack of explicit numbering alone is not a skip condition — see the "No clear steps" edge case below.
21
+
22
+ ## Inputs
23
+
24
+ ```
25
+ <plan-doc-path> [--lang=python|typescript|go|rust|cpp|java|kotlin|flutter|auto] [--scope=all|step:<n>|range:<a>-<b>] [--dry-run]
26
+ ```
27
+
28
+ - `<plan-doc-path>` — required; relative or absolute path (`@docs/...` accepted).
29
+ - `--lang` — reviewer language variant; defaults to `auto` (detected from project).
30
+ - `--scope` — limits emitted steps; defaults to `all`.
31
+ - `--dry-run` — print decomposition + chain rationale only; do not emit final prompts.
32
+
33
+ ## Authoritative `/orchestrate` shape (do not deviate)
34
+
35
+ ```
36
+ {ORCH_CMD} custom "<agent1>,<agent2>,...,<agentN>" "<task description>"
37
+ ```
38
+
39
+ Where `{ORCH_CMD}` is determined in Phase 0 (see below). The command string in the emitted output **always uses one concrete form** — never both, never a placeholder.
40
+
41
+ - `custom` is a sequential chain; each agent's HANDOFF feeds the next.
42
+ - Comma-separated agent list. No spaces preferred; one space tolerated.
43
+ - No `--mode` / `--gate` / `--agents=...` flags exist — never invent them.
44
+ - Agent names come from the catalogue in this skill. Embedded double quotes in the task description are escaped as `\"`.
45
+
46
+ ## ECC install form and namespacing
47
+
48
+ Two install forms determine the prefix on **both** the slash command and every agent name. The two MUST stay in sync — one form per output, never mixed:
49
+
50
+ Let `<claude-home>` denote the Claude Code home directory: `~/.claude` on macOS/Linux, `%USERPROFILE%\.claude` on Windows. Resolve it the way the host platform resolves the user home directory (do not hardcode `~`).
51
+
52
+ | Form | Detection | `{ORCH_CMD}` | Agent name format |
53
+ |---|---|---|---|
54
+ | Plugin install (1.9.0+) | `<claude-home>/plugins/marketplaces/everything-claude-code/` exists | `/everything-claude-code:orchestrate` | `everything-claude-code:<name>` |
55
+ | Legacy bare install | Above absent; agent files under `<claude-home>/agents/` | `/orchestrate` | `<name>` |
56
+
57
+ Why this matters: under the plugin install, agents register as `everything-claude-code:tdd-guide`. Bare names force fuzzy matching, which fails intermittently under parallel calls. Under legacy, the prefixed forms are not registered and fail outright.
58
+
59
+ ## Available agent catalogue (must pick from these)
60
+
61
+ General:
62
+ - `planner` — requirement restatement, risk decomposition, step planning
63
+ - `architect` — architecture, system design, refactor proposals
64
+ - `tdd-guide` — write tests → implement → 80%+ coverage
65
+ - `code-reviewer` — generic code review
66
+ - `security-reviewer` — security audit, OWASP, secret leakage
67
+ - `refactor-cleaner` — dead code, duplicates, knip-class cleanup
68
+ - `doc-updater` — documentation, codemap, README
69
+ - `docs-lookup` — third-party library API lookups (Context7)
70
+ - `e2e-runner` — end-to-end test orchestration
71
+ - `database-reviewer` — PostgreSQL schema, migration, performance
72
+ - `harness-optimizer` — local agent harness configuration
73
+ - `loop-operator` — long-running autonomous loops
74
+ - `chief-of-staff` — multi-channel triage (rarely a fit for plan steps)
75
+
76
+ Build error resolvers:
77
+ - `build-error-resolver` (generic) / `cpp-build-resolver` / `go-build-resolver` / `java-build-resolver` / `kotlin-build-resolver` / `rust-build-resolver` / `pytorch-build-resolver`
78
+
79
+ Code reviewers:
80
+ - `python-reviewer` / `typescript-reviewer` / `go-reviewer` / `rust-reviewer` / `cpp-reviewer` / `java-reviewer` / `kotlin-reviewer` / `flutter-reviewer`
81
+
82
+ A misspelled agent name fails `/orchestrate`. Cross-check against this list before emitting.
83
+
84
+ ## How It Works
85
+
86
+ ### Phase 0 — Detect ECC mode + language
87
+
88
+ 1. Read `<plan-doc-path>`. If missing or empty, report and stop.
89
+ 2. Detect ECC install form once and freeze it into `ECC_MODE`. Algorithm (run in order, stop at the first match):
90
+ 1. If `<claude-home>/plugins/marketplaces/everything-claude-code/` exists → `ECC_MODE=plugin`.
91
+ 2. Else if `<claude-home>/agents/` exists and contains at least one ECC agent file (e.g. `tdd-guide.md`, `code-reviewer.md`) → `ECC_MODE=legacy`.
92
+ 3. Else → default to `ECC_MODE=legacy` and emit a one-line warning at the top of the output: `> Warning: could not detect ECC install; defaulting to legacy form. If you use the plugin install, edit the prefixes manually.`
93
+ 4. If both markers exist (mixed install), `plugin` wins — the plugin namespace is the only one that resolves agent names without fuzzy matching.
94
+
95
+ From this point on, every emitted line uses the matching prefix on **both** the slash command and every agent name. **Never emit both forms in the same output.**
96
+ 3. Resolve `--lang`. When `auto`, run a polyglot-aware detection:
97
+ - Probe markers: `pyproject.toml` / `uv.lock` / `requirements.txt` → python; `package.json` → typescript; `go.mod` → go; `Cargo.toml` → rust; `CMakeLists.txt` or top-level `*.cpp` → cpp; `pom.xml` / `build.gradle` (Java) → java; `build.gradle.kts` or top-level Kotlin → kotlin; `pubspec.yaml` → flutter.
98
+ - **Polyglot tie-break**: if more than one marker matches, pick the language whose source files outnumber the others (count via `git ls-files`, excluding `vendor/`, `node_modules/`, `dist/`, `build/`, `.venv/`, generated files, and obvious test fixtures). On a tie or when no language exceeds 60% of source files, set `lang=unknown`.
99
+ - No marker matched → set `lang=unknown`.
100
+ - `lang=unknown` is a sentinel — it is **not** an agent name. Phase 2 rules 4 and 5 turn it into `code-reviewer` / `build-error-resolver` at chain composition time.
101
+ 4. Detect a **PyTorch sub-profile**: when `lang=python` and any of `pyproject.toml` / `requirements.txt` / `uv.lock` declares a dependency on `torch`, set `pytorch=true`. This only affects `build` chain selection (Phase 2 rule below); the reviewer remains `python-reviewer`.
102
+ 5. **Normalize any agent names declared in the plan**: if the plan text references agents by their plugin-prefixed form (e.g. `everything-claude-code:tdd-guide`), strip the prefix to get the bare catalogue name before validating or composing chains. Re-prefixing happens only at output time per `ECC_MODE` (Phase 4). Never let a pre-prefixed name flow into chain composition — it would double-prefix in plugin mode.
103
+
104
+ ### Phase 1 — Decompose steps
105
+
106
+ Identify "step units" in priority order:
107
+
108
+ 1. Explicit numbering: `## Step N` / `### Phase N` / `## N. ...` / top-level ordered list.
109
+ 2. A "Step" column in a table.
110
+ 3. `---`-separated blocks with verb-led headings.
111
+ 4. Otherwise treat each H2 as one step.
112
+
113
+ Per step extract `id` (1-based), `title` (≤ 80 chars), `intent` (1–3 sentences), `tags`.
114
+
115
+ ### Phase 2 — Tag and pick chain
116
+
117
+ Tag by intent (multi-tag allowed; chain built from primary + stacked secondaries):
118
+
119
+ Trigger words below are matched case-insensitively. Multilingual plans are supported by matching the word stems in any language as long as the meaning aligns with the listed English trigger words.
120
+
121
+ | Tag | Trigger words | Default chain |
122
+ |---|---|---|
123
+ | `design` | architecture, design, choose, evaluate, RFC | `planner,architect` |
124
+ | `plan` | plan, breakdown, milestone | `planner` |
125
+ | `impl` | implement, build, add, create, port | `tdd-guide,<lang>-reviewer` |
126
+ | `test` | test, coverage, e2e, integration | `tdd-guide,e2e-runner` |
127
+ | `refactor` | refactor, cleanup, dedupe, split | `architect,refactor-cleaner,<lang>-reviewer` |
128
+ | `migration` | migrate, upgrade, rewrite, port | `architect,tdd-guide,<lang>-reviewer` |
129
+ | `db` | schema, migration, index, SQL, Postgres, alembic, sqlmodel | `database-reviewer,<lang>-reviewer` |
130
+ | `security` | encrypt, auth, secret, OWASP, PII | `security-reviewer,<lang>-reviewer` |
131
+ | `build` | build, compile, lint failure, CI | `<lang>-build-resolver` (falls back to `build-error-resolver`) |
132
+ | `docs` | docs, readme, codemap, changelog | `doc-updater` |
133
+ | `lookup` | lookup, reference, API usage | `docs-lookup` |
134
+ | `review` | review, audit, verify | `<lang>-reviewer,code-reviewer` |
135
+ | `loop` | loop, autonomous, watchdog | `loop-operator` |
136
+
137
+ Chain composition rules:
138
+ 1. **Primary tag selection**: when a step matches multiple tags, the **first one in table order** (top of the table = highest priority) is the primary; the rest are secondaries. Composition rules 2 and 3 below handle specific multi-tag combinations explicitly; otherwise, append secondary chains in tag table order.
139
+ 2. `impl` + `security` → `tdd-guide,<lang>-reviewer,security-reviewer`.
140
+ 3. `impl` + `db` → `tdd-guide,database-reviewer,<lang>-reviewer`.
141
+ 4. **Deduplicate** the resulting chain (preserve first occurrence). E.g. `review` + `lang=unknown` would yield `code-reviewer,code-reviewer` after rule 5; deduplication collapses it to `code-reviewer`.
142
+ 5. `<lang>-reviewer` resolves to `code-reviewer` when `lang=unknown`.
143
+ 6. `<lang>-build-resolver` resolves to `build-error-resolver` when `lang=unknown`. **Special case**: if Phase 0 set `pytorch=true`, use `pytorch-build-resolver` for `build` chains regardless of `<lang>`. There is no `python-build-resolver`; `--lang=python` without `pytorch=true` resolves to `build-error-resolver`.
144
+ 7. **Zero-tag steps**: if no trigger word matches, set chain to `code-reviewer` and write `no tag matched; default review-only chain` under "Chain rationale".
145
+ 8. Chain length ≤ 4 after deduplication. If exceeded, drop weakest tag (`lookup` and `docs` first).
146
+ 9. Do not pair `planner` and `architect` in an `impl` chain (token waste). Pair them only on `design` steps.
147
+ 10. Steps tagged `impl`, `refactor`, or `migration` end with a **reviewer-class** agent — any of `<lang>-reviewer`, `code-reviewer`, `security-reviewer`, or `database-reviewer`. The most domain-specific reviewer wins the tail position (e.g. rule 2's `impl+security` ends with `security-reviewer`; rule 3's `impl+db` ends with `<lang>-reviewer` because `database-reviewer` already gates the migration earlier in the chain). `test` and `build` steps are gated by their own validators (`e2e-runner` and the build resolver respectively) and do not require an additional reviewer.
148
+
149
+ ### Phase 3 — Compress task description
150
+
151
+ Each emitted `<task description>` must:
152
+ - Be self-contained (the first agent does not need the plan document open).
153
+ - Start with `[Plan: <path>#step-<id>]`.
154
+ - Include 1–3 verifiable Acceptance criteria.
155
+ - Include a Scope guard (`Out of scope: ...`) **only if the plan declares one for this step**. Inherit verbatim. If the plan has no out-of-scope statement, omit the clause entirely — do not invent one.
156
+ - Be 200–600 characters; one line; embedded `"` escaped as `\"`; no literal newlines.
157
+
158
+ ### Phase 4 — Output
159
+
160
+ Emit Markdown using **the form determined by `ECC_MODE`**. The output uses one form throughout — every `{ORCH_CMD}` and every agent name is rendered with the matching prefix from Phase 0. **Do not emit both forms; do not include "this is plugin form" / "strip the prefix" instructions in the rendered output.**
161
+
162
+ Concrete rendering rules:
163
+
164
+ - `{ORCH_CMD}` = `/everything-claude-code:orchestrate` under `plugin`, `/orchestrate` under `legacy`.
165
+ - `{AGENT(name)}` = `everything-claude-code:<name>` under `plugin`, `<name>` under `legacy`.
166
+ - The overview-table "Chain" column uses the same `{AGENT(name)}` rendering.
167
+ - Per-step bash blocks contain only the runnable command. **No `# plugin form` or `# legacy form` comments** — the form is implicit and uniform across the whole output.
168
+
169
+ Output structure:
170
+
171
+ ````markdown
172
+ # Plan-Orchestrate Result
173
+
174
+ **Plan**: `<path>`
175
+ **Lang**: `<detected-or-given>`
176
+ **ECC mode**: `<plugin | legacy>`
177
+ **Steps**: <N>
178
+ **Scope**: <all | step:n | range:a-b>
179
+
180
+ ## Steps overview
181
+
182
+ | # | Title | Tags | Chain |
183
+ |---|---|---|---|
184
+ | 1 | ... | impl, db | `{AGENT(tdd-guide)},{AGENT(database-reviewer)},{AGENT(python-reviewer)}` |
185
+ | ... | | | |
186
+
187
+ ---
188
+
189
+ ## Step 1 — <title>
190
+
191
+ **Intent**: <1–3 sentences>
192
+ **Tags**: <a, b>
193
+ **Chain rationale**: <why this chain; which agent closes the loop>
194
+
195
+ ```bash
196
+ {ORCH_CMD} custom "{AGENT(tdd-guide)},{AGENT(database-reviewer)},{AGENT(python-reviewer)}" "[Plan: docs/foo.md#step-1] <compressed task description>; Acceptance: <1–3 items>; Out of scope: <…>"
197
+ ```
198
+ ````
199
+
200
+ > The `{ORCH_CMD}` and `{AGENT(...)}` notation above describes the substitution this skill performs at runtime. The actual emitted Markdown contains the resolved strings, never the placeholders.
201
+
202
+ Append a final "Batch execution" block aggregating every step's command in order so the user can paste them all at once. **Skip the Batch block in overview-only mode** (see "Large plan" edge case): when only the overview table is being emitted, there are no per-step commands to aggregate.
203
+
204
+ ### Phase 5 — Self-check (run before emitting)
205
+
206
+ - [ ] Every agent in every chain comes from the catalogue (after stripping any `everything-claude-code:` prefix that appeared in the plan; see Phase 0 step 5).
207
+ - [ ] Resolved `{ORCH_CMD}` and every resolved `{AGENT(...)}` use the **same** form (`plugin` or `legacy`) — never mixed in one output.
208
+ - [ ] No `# plugin form` / `# legacy form` annotations and no "strip the prefix" instructions remain in the rendered output.
209
+ - [ ] No invented `--mode` / `--gate` / `--agents=...` fields.
210
+ - [ ] Each task description is single-line, double-quoted, with embedded `"` escaped.
211
+ - [ ] Each task description begins with `[Plan: <path>#step-<id>]` and includes Acceptance (1–3 items). The `Out of scope:` clause is present only when inherited from the plan.
212
+ - [ ] No duplicate agent in any chain after Phase 2 dedup.
213
+ - [ ] Chain length ≤ 4.
214
+ - [ ] Steps tagged `impl`/`refactor`/`migration` end with a reviewer-class agent (`<lang>-reviewer`, `code-reviewer`, `security-reviewer`, or `database-reviewer`). `test` and `build` are exempt — see Phase 2 rule 10.
215
+ - [ ] Zero-tag steps emit `code-reviewer` with the rationale `no tag matched; default review-only chain`.
216
+ - [ ] Overview table lists every step in the plan, regardless of `--scope`.
217
+ - [ ] Per-step detail block count matches the resolved `--scope` (full plan when `--scope=all`; one block for `step:n`; range size for `range:a-b`). In overview-only mode, no per-step blocks and no Batch block are emitted.
218
+
219
+ ## Edge cases
220
+
221
+ - **No clear steps**: prefer H2/H3 splitting; if still ambiguous, report "no structured steps detected" with the document outline and ask the user to confirm running by outline.
222
+ - **Large plan (>1500 lines)**: enter **overview-only mode** — emit only the overview table and ask the user to narrow with `--scope` before re-running for details. In this mode, skip per-step detail blocks and skip the Batch execution block.
223
+ - **Step too broad** (e.g. "complete all backend work"): do not force a single chain. Suggest splitting into N.a and N.b and propose a split.
224
+ - **Plan declares agents** (rare): first **strip any `everything-claude-code:` prefix** to get the bare catalogue name (Phase 0 step 5), then validate against the catalogue. Replace invalid agents and explain under "Chain rationale". The bare name is re-prefixed at output time per `ECC_MODE`.
225
+ - **Polyglot project where `--lang=auto` cannot pick a winner**: set `lang=unknown`; reviewer resolves to `code-reviewer` and build resolver to `build-error-resolver`. Mention the fallback under "Chain rationale".
226
+
227
+ ## Examples
228
+
229
+ ### Example 1 — Plugin mode, Python plan
230
+
231
+ Input:
232
+ ```
233
+ plan-orchestrate @docs/plan/example-feature.md --lang=python
234
+ ```
235
+
236
+ Excerpt of expected output:
237
+ ````markdown
238
+ ## Step 2 — Encrypt sensitive UserProfile fields
239
+
240
+ **Intent**: Introduce an `EncryptedString` SQLAlchemy type and AES-GCM encrypt `birth_datetime` / `location` before persistence; load the key from an environment variable.
241
+ **Tags**: impl, security, db
242
+ **Chain rationale**: Security-sensitive write path, so `security-reviewer` closes the chain; `database-reviewer` validates the alembic migration; `python-reviewer` covers typing and PEP 8.
243
+
244
+ ```bash
245
+ /everything-claude-code:orchestrate custom "everything-claude-code:tdd-guide,everything-claude-code:database-reviewer,everything-claude-code:python-reviewer,everything-claude-code:security-reviewer" "[Plan: docs/plan/example-feature.md#step-2] Implement EncryptedString SQLAlchemy type and migrate UserProfile.birth_datetime/location columns; key from ENV APP_DB_KEY; Acceptance: encrypt/decrypt roundtrip tests pass; alembic upgrade/downgrade clean on empty DB; no plaintext in DB after migrate; Out of scope: cross-tenant profile sharing logic"
246
+ ```
247
+ ````
248
+
249
+ ### Example 2 — Legacy mode, same step
250
+
251
+ If `ECC_MODE=legacy` were detected, the same step would be emitted as a single uniform command (no plugin-prefixed forms anywhere in the output):
252
+
253
+ ```bash
254
+ /orchestrate custom "tdd-guide,database-reviewer,python-reviewer,security-reviewer" "[Plan: docs/plan/example-feature.md#step-2] ..."
255
+ ```
256
+
257
+ The two examples above illustrate **the two possible outputs** for two different environments. A single skill invocation produces only one of them, end to end.
258
+
259
+ ## Notes
260
+
261
+ - Generative only. Never invoke `/orchestrate` from inside this skill.
262
+ - Match the language of the plan document for task descriptions (agent names always remain English).
263
+ - Do not insert "Co-Authored-By" lines or emoji in the output unless the user explicitly asks.
@@ -0,0 +1,237 @@
1
+ ---
2
+ name: plankton-code-quality
3
+ description: "Write-time code quality enforcement using Plankton — auto-formatting, linting, and Claude-powered fixes on every file edit via hooks."
4
+ metadata:
5
+ origin: community
6
+ ---
7
+
8
+ # Plankton Code Quality Skill
9
+
10
+ Integration reference for Plankton (credit: @alxfazio), a write-time code quality enforcement system for Claude Code. Plankton runs formatters and linters on every file edit via PostToolUse hooks, then spawns Claude subprocesses to fix violations the agent didn't catch.
11
+
12
+ ## When to Use
13
+
14
+ - You want automatic formatting and linting on every file edit (not just at commit time)
15
+ - You need defense against agents modifying linter configs to pass instead of fixing code
16
+ - You want tiered model routing for fixes (Haiku for simple style, Sonnet for logic, Opus for types)
17
+ - You work with multiple languages (Python, TypeScript, Shell, YAML, JSON, TOML, Markdown, Dockerfile)
18
+
19
+ ## How It Works
20
+
21
+ ### Three-Phase Architecture
22
+
23
+ Every time Claude Code edits or writes a file, Plankton's `multi_linter.sh` PostToolUse hook runs:
24
+
25
+ ```
26
+ Phase 1: Auto-Format (Silent)
27
+ ├─ Runs formatters (ruff format, biome, shfmt, taplo, markdownlint)
28
+ ├─ Fixes 40-50% of issues silently
29
+ └─ No output to main agent
30
+
31
+ Phase 2: Collect Violations (JSON)
32
+ ├─ Runs linters and collects unfixable violations
33
+ ├─ Returns structured JSON: {line, column, code, message, linter}
34
+ └─ Still no output to main agent
35
+
36
+ Phase 3: Delegate + Verify
37
+ ├─ Spawns claude -p subprocess with violations JSON
38
+ ├─ Routes to model tier based on violation complexity:
39
+ │ ├─ Haiku: formatting, imports, style (E/W/F codes) — 120s timeout
40
+ │ ├─ Sonnet: complexity, refactoring (C901, PLR codes) — 300s timeout
41
+ │ └─ Opus: type system, deep reasoning (unresolved-attribute) — 600s timeout
42
+ ├─ Re-runs Phase 1+2 to verify fixes
43
+ └─ Exit 0 if clean, Exit 2 if violations remain (reported to main agent)
44
+ ```
45
+
46
+ ### What the Main Agent Sees
47
+
48
+ | Scenario | Agent sees | Hook exit |
49
+ |----------|-----------|-----------|
50
+ | No violations | Nothing | 0 |
51
+ | All fixed by subprocess | Nothing | 0 |
52
+ | Violations remain after subprocess | `[hook] N violation(s) remain` | 2 |
53
+ | Advisory (duplicates, old tooling) | `[hook:advisory] ...` | 0 |
54
+
55
+ The main agent only sees issues the subprocess couldn't fix. Most quality problems are resolved transparently.
56
+
57
+ ### Config Protection (Defense Against Rule-Gaming)
58
+
59
+ LLMs will modify `.ruff.toml` or `biome.json` to disable rules rather than fix code. Plankton blocks this with three layers:
60
+
61
+ 1. **PreToolUse hook** — `protect_linter_configs.sh` blocks edits to all linter configs before they happen
62
+ 2. **Stop hook** — `stop_config_guardian.sh` detects config changes via `git diff` at session end
63
+ 3. **Protected files list** — `.ruff.toml`, `biome.json`, `.shellcheckrc`, `.yamllint`, `.hadolint.yaml`, and more
64
+
65
+ ### Package Manager Enforcement
66
+
67
+ A PreToolUse hook on Bash blocks legacy package managers:
68
+ - `pip`, `pip3`, `poetry`, `pipenv` → Blocked (use `uv`)
69
+ - `npm`, `yarn`, `pnpm` → Blocked (use `bun`)
70
+ - Allowed exceptions: `npm audit`, `npm view`, `npm publish`
71
+
72
+ ## Setup
73
+
74
+ ### Quick Start
75
+
76
+ > **Note:** Plankton requires manual installation from its repository. Review the code before installing.
77
+
78
+ ```bash
79
+ # Install core dependencies
80
+ brew install jaq ruff uv
81
+
82
+ # Install Python linters
83
+ uv sync --all-extras
84
+
85
+ # Start Claude Code — hooks activate automatically
86
+ claude
87
+ ```
88
+
89
+ No install command, no plugin config. The hooks in `.claude/settings.json` are picked up automatically when you run Claude Code in the Plankton directory.
90
+
91
+ ### Per-Project Integration
92
+
93
+ To use Plankton hooks in your own project:
94
+
95
+ 1. Copy `.claude/hooks/` directory to your project
96
+ 2. Copy `.claude/settings.json` hook configuration
97
+ 3. Copy linter config files (`.ruff.toml`, `biome.json`, etc.)
98
+ 4. Install the linters for your languages
99
+
100
+ ### Language-Specific Dependencies
101
+
102
+ | Language | Required | Optional |
103
+ |----------|----------|----------|
104
+ | Python | `ruff`, `uv` | `ty` (types), `vulture` (dead code), `bandit` (security) |
105
+ | TypeScript/JS | `biome` | `oxlint`, `semgrep`, `knip` (dead exports) |
106
+ | Shell | `shellcheck`, `shfmt` | — |
107
+ | YAML | `yamllint` | — |
108
+ | Markdown | `markdownlint-cli2` | — |
109
+ | Dockerfile | `hadolint` (>= 2.12.0) | — |
110
+ | TOML | `taplo` | — |
111
+ | JSON | `jaq` | — |
112
+
113
+ ## Pairing with ECC
114
+
115
+ ### Complementary, Not Overlapping
116
+
117
+ | Concern | ECC | Plankton |
118
+ |---------|-----|----------|
119
+ | Code quality enforcement | PostToolUse hooks (Prettier, tsc) | PostToolUse hooks (20+ linters + subprocess fixes) |
120
+ | Security scanning | AgentShield, security-reviewer agent | Bandit (Python), Semgrep (TypeScript) |
121
+ | Config protection | — | PreToolUse blocks + Stop hook detection |
122
+ | Package manager | Detection + setup | Enforcement (blocks legacy PMs) |
123
+ | CI integration | — | Pre-commit hooks for git |
124
+ | Model routing | Manual (`/model opus`) | Automatic (violation complexity → tier) |
125
+
126
+ ### Recommended Combination
127
+
128
+ 1. Install ECC as your plugin (agents, skills, commands, rules)
129
+ 2. Add Plankton hooks for write-time quality enforcement
130
+ 3. Use AgentShield for security audits
131
+ 4. Use ECC's verification-loop as a final gate before PRs
132
+
133
+ ### Avoiding Hook Conflicts
134
+
135
+ If running both ECC and Plankton hooks:
136
+ - ECC's Prettier hook and Plankton's biome formatter may conflict on JS/TS files
137
+ - Resolution: disable ECC's Prettier PostToolUse hook when using Plankton (Plankton's biome is more comprehensive)
138
+ - Both can coexist on different file types (ECC handles what Plankton doesn't cover)
139
+
140
+ ## Configuration Reference
141
+
142
+ Plankton's `.claude/hooks/config.json` controls all behavior:
143
+
144
+ ```json
145
+ {
146
+ "languages": {
147
+ "python": true,
148
+ "shell": true,
149
+ "yaml": true,
150
+ "json": true,
151
+ "toml": true,
152
+ "dockerfile": true,
153
+ "markdown": true,
154
+ "typescript": {
155
+ "enabled": true,
156
+ "js_runtime": "auto",
157
+ "biome_nursery": "warn",
158
+ "semgrep": true
159
+ }
160
+ },
161
+ "phases": {
162
+ "auto_format": true,
163
+ "subprocess_delegation": true
164
+ },
165
+ "subprocess": {
166
+ "tiers": {
167
+ "haiku": { "timeout": 120, "max_turns": 10 },
168
+ "sonnet": { "timeout": 300, "max_turns": 10 },
169
+ "opus": { "timeout": 600, "max_turns": 15 }
170
+ },
171
+ "volume_threshold": 5
172
+ }
173
+ }
174
+ ```
175
+
176
+ **Key settings:**
177
+ - Disable languages you don't use to speed up hooks
178
+ - `volume_threshold` — violations > this count auto-escalate to a higher model tier
179
+ - `subprocess_delegation: false` — skip Phase 3 entirely (just report violations)
180
+
181
+ ## Environment Overrides
182
+
183
+ | Variable | Purpose |
184
+ |----------|---------|
185
+ | `HOOK_SKIP_SUBPROCESS=1` | Skip Phase 3, report violations directly |
186
+ | `HOOK_SUBPROCESS_TIMEOUT=N` | Override tier timeout |
187
+ | `HOOK_DEBUG_MODEL=1` | Log model selection decisions |
188
+ | `HOOK_SKIP_PM=1` | Bypass package manager enforcement |
189
+
190
+ ## References
191
+
192
+ - Plankton (credit: @alxfazio)
193
+ - Plankton REFERENCE.md — Full architecture documentation (credit: @alxfazio)
194
+ - Plankton SETUP.md — Detailed installation guide (credit: @alxfazio)
195
+
196
+ ## ECC v1.8 Additions
197
+
198
+ ### Copyable Hook Profile
199
+
200
+ Set strict quality behavior:
201
+
202
+ ```bash
203
+ export ECC_HOOK_PROFILE=strict
204
+ export ECC_QUALITY_GATE_FIX=true
205
+ export ECC_QUALITY_GATE_STRICT=true
206
+ ```
207
+
208
+ ### Language Gate Table
209
+
210
+ - TypeScript/JavaScript: Biome preferred, Prettier fallback
211
+ - Python: Ruff format/check
212
+ - Go: gofmt
213
+
214
+ ### Config Tamper Guard
215
+
216
+ During quality enforcement, flag changes to config files in same iteration:
217
+
218
+ - `biome.json`, `.eslintrc*`, `prettier.config*`, `tsconfig.json`, `pyproject.toml`
219
+
220
+ If config is changed to suppress violations, require explicit review before merge.
221
+
222
+ ### CI Integration Pattern
223
+
224
+ Use the same commands in CI as local hooks:
225
+
226
+ 1. run formatter checks
227
+ 2. run lint/type checks
228
+ 3. fail fast on strict mode
229
+ 4. publish remediation summary
230
+
231
+ ### Health Metrics
232
+
233
+ Track:
234
+ - edits flagged by gates
235
+ - average remediation time
236
+ - repeat violations by category
237
+ - merge blocks due to gate failures
@@ -0,0 +1,148 @@
1
+ ---
2
+ name: postgres-patterns
3
+ description: PostgreSQL database patterns for query optimization, schema design, indexing, and security. Based on Supabase best practices.
4
+ metadata:
5
+ origin: ECC
6
+ ---
7
+
8
+ # PostgreSQL Patterns
9
+
10
+ Quick reference for PostgreSQL best practices. For detailed guidance, use the `database-reviewer` agent.
11
+
12
+ ## When to Activate
13
+
14
+ - Writing SQL queries or migrations
15
+ - Designing database schemas
16
+ - Troubleshooting slow queries
17
+ - Implementing Row Level Security
18
+ - Setting up connection pooling
19
+
20
+ ## Quick Reference
21
+
22
+ ### Index Cheat Sheet
23
+
24
+ | Query Pattern | Index Type | Example |
25
+ |--------------|------------|---------|
26
+ | `WHERE col = value` | B-tree (default) | `CREATE INDEX idx ON t (col)` |
27
+ | `WHERE col > value` | B-tree | `CREATE INDEX idx ON t (col)` |
28
+ | `WHERE a = x AND b > y` | Composite | `CREATE INDEX idx ON t (a, b)` |
29
+ | `WHERE jsonb @> '{}'` | GIN | `CREATE INDEX idx ON t USING gin (col)` |
30
+ | `WHERE tsv @@ query` | GIN | `CREATE INDEX idx ON t USING gin (col)` |
31
+ | Time-series ranges | BRIN | `CREATE INDEX idx ON t USING brin (col)` |
32
+
33
+ ### Data Type Quick Reference
34
+
35
+ | Use Case | Correct Type | Avoid |
36
+ |----------|-------------|-------|
37
+ | IDs | `bigint` | `int`, random UUID |
38
+ | Strings | `text` | `varchar(255)` |
39
+ | Timestamps | `timestamptz` | `timestamp` |
40
+ | Money | `numeric(10,2)` | `float` |
41
+ | Flags | `boolean` | `varchar`, `int` |
42
+
43
+ ### Common Patterns
44
+
45
+ **Composite Index Order:**
46
+ ```sql
47
+ -- Equality columns first, then range columns
48
+ CREATE INDEX idx ON orders (status, created_at);
49
+ -- Works for: WHERE status = 'pending' AND created_at > '2024-01-01'
50
+ ```
51
+
52
+ **Covering Index:**
53
+ ```sql
54
+ CREATE INDEX idx ON users (email) INCLUDE (name, created_at);
55
+ -- Avoids table lookup for SELECT email, name, created_at
56
+ ```
57
+
58
+ **Partial Index:**
59
+ ```sql
60
+ CREATE INDEX idx ON users (email) WHERE deleted_at IS NULL;
61
+ -- Smaller index, only includes active users
62
+ ```
63
+
64
+ **RLS Policy (Optimized):**
65
+ ```sql
66
+ CREATE POLICY policy ON orders
67
+ USING ((SELECT auth.uid()) = user_id); -- Wrap in SELECT!
68
+ ```
69
+
70
+ **UPSERT:**
71
+ ```sql
72
+ INSERT INTO settings (user_id, key, value)
73
+ VALUES (123, 'theme', 'dark')
74
+ ON CONFLICT (user_id, key)
75
+ DO UPDATE SET value = EXCLUDED.value;
76
+ ```
77
+
78
+ **Cursor Pagination:**
79
+ ```sql
80
+ SELECT * FROM products WHERE id > $last_id ORDER BY id LIMIT 20;
81
+ -- O(1) vs OFFSET which is O(n)
82
+ ```
83
+
84
+ **Queue Processing:**
85
+ ```sql
86
+ UPDATE jobs SET status = 'processing'
87
+ WHERE id = (
88
+ SELECT id FROM jobs WHERE status = 'pending'
89
+ ORDER BY created_at LIMIT 1
90
+ FOR UPDATE SKIP LOCKED
91
+ ) RETURNING *;
92
+ ```
93
+
94
+ ### Anti-Pattern Detection
95
+
96
+ ```sql
97
+ -- Find unindexed foreign keys
98
+ SELECT conrelid::regclass, a.attname
99
+ FROM pg_constraint c
100
+ JOIN pg_attribute a ON a.attrelid = c.conrelid AND a.attnum = ANY(c.conkey)
101
+ WHERE c.contype = 'f'
102
+ AND NOT EXISTS (
103
+ SELECT 1 FROM pg_index i
104
+ WHERE i.indrelid = c.conrelid AND a.attnum = ANY(i.indkey)
105
+ );
106
+
107
+ -- Find slow queries
108
+ SELECT query, mean_exec_time, calls
109
+ FROM pg_stat_statements
110
+ WHERE mean_exec_time > 100
111
+ ORDER BY mean_exec_time DESC;
112
+
113
+ -- Check table bloat
114
+ SELECT relname, n_dead_tup, last_vacuum
115
+ FROM pg_stat_user_tables
116
+ WHERE n_dead_tup > 1000
117
+ ORDER BY n_dead_tup DESC;
118
+ ```
119
+
120
+ ### Configuration Template
121
+
122
+ ```sql
123
+ -- Connection limits (adjust for RAM)
124
+ ALTER SYSTEM SET max_connections = 100;
125
+ ALTER SYSTEM SET work_mem = '8MB';
126
+
127
+ -- Timeouts
128
+ ALTER SYSTEM SET idle_in_transaction_session_timeout = '30s';
129
+ ALTER SYSTEM SET statement_timeout = '30s';
130
+
131
+ -- Monitoring
132
+ CREATE EXTENSION IF NOT EXISTS pg_stat_statements;
133
+
134
+ -- Security defaults
135
+ REVOKE ALL ON SCHEMA public FROM public;
136
+
137
+ SELECT pg_reload_conf();
138
+ ```
139
+
140
+ ## Related
141
+
142
+ - Agent: `database-reviewer` - Full database review workflow
143
+ - Skill: `clickhouse-io` - ClickHouse analytics patterns
144
+ - Skill: `backend-patterns` - API and backend patterns
145
+
146
+ ---
147
+
148
+ *Based on Supabase Agent Skills (credit: Supabase team) (MIT License)*