@rubix0270/arboris 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (451) hide show
  1. package/README.md +151 -0
  2. package/cli/manifest.json +323 -0
  3. package/dist/cli.mjs +376 -0
  4. package/package.json +81 -0
  5. package/prisma/skills/accessibility/SKILL.md +147 -0
  6. package/prisma/skills/agent-architecture-audit/SKILL.md +257 -0
  7. package/prisma/skills/agent-eval/SKILL.md +146 -0
  8. package/prisma/skills/agent-harness-construction/SKILL.md +74 -0
  9. package/prisma/skills/agent-introspection-debugging/SKILL.md +154 -0
  10. package/prisma/skills/agent-payment-x402/SKILL.md +225 -0
  11. package/prisma/skills/agent-self-evaluation/SKILL.md +182 -0
  12. package/prisma/skills/agent-self-evaluation/examples/high-score-example.md +87 -0
  13. package/prisma/skills/agent-self-evaluation/examples/low-score-example.md +86 -0
  14. package/prisma/skills/agent-self-evaluation/references/evaluation-criteria.md +71 -0
  15. package/prisma/skills/agent-self-evaluation/references/hook-integration.md +64 -0
  16. package/prisma/skills/agent-self-evaluation/scripts/evaluate.py +408 -0
  17. package/prisma/skills/agent-self-evaluation/templates/evaluation-report.md +86 -0
  18. package/prisma/skills/agent-sort/SKILL.md +216 -0
  19. package/prisma/skills/agentic-engineering/SKILL.md +64 -0
  20. package/prisma/skills/agentic-os/SKILL.md +388 -0
  21. package/prisma/skills/ai-first-engineering/SKILL.md +52 -0
  22. package/prisma/skills/ai-regression-testing/SKILL.md +386 -0
  23. package/prisma/skills/android-clean-architecture/SKILL.md +340 -0
  24. package/prisma/skills/angular-developer/SKILL.md +155 -0
  25. package/prisma/skills/angular-developer/references/angular-animations.md +160 -0
  26. package/prisma/skills/angular-developer/references/angular-aria.md +410 -0
  27. package/prisma/skills/angular-developer/references/cli.md +86 -0
  28. package/prisma/skills/angular-developer/references/component-harnesses.md +59 -0
  29. package/prisma/skills/angular-developer/references/component-styling.md +91 -0
  30. package/prisma/skills/angular-developer/references/components.md +117 -0
  31. package/prisma/skills/angular-developer/references/creating-services.md +97 -0
  32. package/prisma/skills/angular-developer/references/data-resolvers.md +69 -0
  33. package/prisma/skills/angular-developer/references/define-routes.md +67 -0
  34. package/prisma/skills/angular-developer/references/defining-providers.md +72 -0
  35. package/prisma/skills/angular-developer/references/di-fundamentals.md +120 -0
  36. package/prisma/skills/angular-developer/references/e2e-testing.md +56 -0
  37. package/prisma/skills/angular-developer/references/effects.md +83 -0
  38. package/prisma/skills/angular-developer/references/hierarchical-injectors.md +43 -0
  39. package/prisma/skills/angular-developer/references/host-elements.md +80 -0
  40. package/prisma/skills/angular-developer/references/injection-context.md +63 -0
  41. package/prisma/skills/angular-developer/references/inputs.md +101 -0
  42. package/prisma/skills/angular-developer/references/linked-signal.md +59 -0
  43. package/prisma/skills/angular-developer/references/loading-strategies.md +61 -0
  44. package/prisma/skills/angular-developer/references/mcp.md +108 -0
  45. package/prisma/skills/angular-developer/references/navigate-to-routes.md +69 -0
  46. package/prisma/skills/angular-developer/references/outputs.md +86 -0
  47. package/prisma/skills/angular-developer/references/reactive-forms.md +122 -0
  48. package/prisma/skills/angular-developer/references/rendering-strategies.md +44 -0
  49. package/prisma/skills/angular-developer/references/resource.md +77 -0
  50. package/prisma/skills/angular-developer/references/route-animations.md +56 -0
  51. package/prisma/skills/angular-developer/references/route-guards.md +52 -0
  52. package/prisma/skills/angular-developer/references/router-lifecycle.md +45 -0
  53. package/prisma/skills/angular-developer/references/router-testing.md +87 -0
  54. package/prisma/skills/angular-developer/references/show-routes-with-outlets.md +68 -0
  55. package/prisma/skills/angular-developer/references/signal-forms.md +795 -0
  56. package/prisma/skills/angular-developer/references/signals-overview.md +94 -0
  57. package/prisma/skills/angular-developer/references/tailwind-css.md +69 -0
  58. package/prisma/skills/angular-developer/references/template-driven-forms.md +114 -0
  59. package/prisma/skills/angular-developer/references/testing-fundamentals.md +65 -0
  60. package/prisma/skills/api-connector-builder/SKILL.md +121 -0
  61. package/prisma/skills/api-design/SKILL.md +524 -0
  62. package/prisma/skills/architecture-decision-records/SKILL.md +180 -0
  63. package/prisma/skills/article-writing/SKILL.md +80 -0
  64. package/prisma/skills/automation-audit-ops/SKILL.md +143 -0
  65. package/prisma/skills/autonomous-agent-harness/SKILL.md +274 -0
  66. package/prisma/skills/autonomous-loops/SKILL.md +611 -0
  67. package/prisma/skills/backend-patterns/SKILL.md +562 -0
  68. package/prisma/skills/benchmark/SKILL.md +94 -0
  69. package/prisma/skills/benchmark-methodology/SKILL.md +190 -0
  70. package/prisma/skills/benchmark-optimization-loop/SKILL.md +70 -0
  71. package/prisma/skills/blender-motion-state-inspection/SKILL.md +165 -0
  72. package/prisma/skills/blueprint/SKILL.md +106 -0
  73. package/prisma/skills/brand-discovery/SKILL.md +145 -0
  74. package/prisma/skills/brand-discovery/references/10_purpose-why.md +40 -0
  75. package/prisma/skills/brand-discovery/references/20_positioning.md +44 -0
  76. package/prisma/skills/brand-discovery/references/30_audience-niche.md +52 -0
  77. package/prisma/skills/brand-discovery/references/40_personality-archetype.md +57 -0
  78. package/prisma/skills/brand-discovery/references/50_voice-tone.md +59 -0
  79. package/prisma/skills/brand-discovery/references/60_narrative-story.md +50 -0
  80. package/prisma/skills/brand-discovery/references/70_founder-tension.md +49 -0
  81. package/prisma/skills/brand-discovery/references/90_SYNTHESIS.md +133 -0
  82. package/prisma/skills/brand-voice/SKILL.md +98 -0
  83. package/prisma/skills/brand-voice/references/voice-profile-schema.md +55 -0
  84. package/prisma/skills/browser-qa/SKILL.md +105 -0
  85. package/prisma/skills/bun-runtime/SKILL.md +85 -0
  86. package/prisma/skills/canary-watch/SKILL.md +108 -0
  87. package/prisma/skills/carrier-relationship-management/SKILL.md +212 -0
  88. package/prisma/skills/cisco-ios-patterns/SKILL.md +164 -0
  89. package/prisma/skills/ck/SKILL.md +148 -0
  90. package/prisma/skills/ck/commands/forget.mjs +44 -0
  91. package/prisma/skills/ck/commands/info.mjs +24 -0
  92. package/prisma/skills/ck/commands/init.mjs +143 -0
  93. package/prisma/skills/ck/commands/list.mjs +40 -0
  94. package/prisma/skills/ck/commands/migrate.mjs +202 -0
  95. package/prisma/skills/ck/commands/resume.mjs +36 -0
  96. package/prisma/skills/ck/commands/save.mjs +210 -0
  97. package/prisma/skills/ck/commands/shared.mjs +387 -0
  98. package/prisma/skills/ck/hooks/session-start.mjs +224 -0
  99. package/prisma/skills/claude-devfleet/SKILL.md +112 -0
  100. package/prisma/skills/click-path-audit/SKILL.md +245 -0
  101. package/prisma/skills/clickhouse-io/SKILL.md +440 -0
  102. package/prisma/skills/code-tour/SKILL.md +254 -0
  103. package/prisma/skills/codebase-onboarding/SKILL.md +234 -0
  104. package/prisma/skills/codehealth-mcp/SKILL.md +167 -0
  105. package/prisma/skills/coding-standards/SKILL.md +551 -0
  106. package/prisma/skills/competitive-platform-analysis/SKILL.md +214 -0
  107. package/prisma/skills/competitive-report-structure/SKILL.md +162 -0
  108. package/prisma/skills/compose-multiplatform-patterns/SKILL.md +300 -0
  109. package/prisma/skills/config-gc/SKILL.md +120 -0
  110. package/prisma/skills/configure-ecc/SKILL.md +385 -0
  111. package/prisma/skills/connections-optimizer/SKILL.md +190 -0
  112. package/prisma/skills/content-engine/SKILL.md +132 -0
  113. package/prisma/skills/content-hash-cache-pattern/SKILL.md +162 -0
  114. package/prisma/skills/context-budget/SKILL.md +136 -0
  115. package/prisma/skills/continuous-agent-loop/SKILL.md +46 -0
  116. package/prisma/skills/continuous-learning/SKILL.md +132 -0
  117. package/prisma/skills/continuous-learning/config.json +18 -0
  118. package/prisma/skills/continuous-learning/evaluate-session.sh +69 -0
  119. package/prisma/skills/continuous-learning-v2/SKILL.md +361 -0
  120. package/prisma/skills/continuous-learning-v2/agents/observer-loop.sh +359 -0
  121. package/prisma/skills/continuous-learning-v2/agents/observer.md +189 -0
  122. package/prisma/skills/continuous-learning-v2/agents/session-guardian.sh +150 -0
  123. package/prisma/skills/continuous-learning-v2/agents/start-observer.sh +248 -0
  124. package/prisma/skills/continuous-learning-v2/config.json +8 -0
  125. package/prisma/skills/continuous-learning-v2/hooks/observe.sh +585 -0
  126. package/prisma/skills/continuous-learning-v2/scripts/detect-project.sh +322 -0
  127. package/prisma/skills/continuous-learning-v2/scripts/instinct-cli.py +1956 -0
  128. package/prisma/skills/continuous-learning-v2/scripts/lib/homunculus-dir.sh +31 -0
  129. package/prisma/skills/continuous-learning-v2/scripts/migrate-homunculus.sh +68 -0
  130. package/prisma/skills/continuous-learning-v2/scripts/test_parse_instinct.py +1421 -0
  131. package/prisma/skills/cost-aware-llm-pipeline/SKILL.md +184 -0
  132. package/prisma/skills/cost-tracking/SKILL.md +97 -0
  133. package/prisma/skills/council/SKILL.md +204 -0
  134. package/prisma/skills/cpp-coding-standards/SKILL.md +724 -0
  135. package/prisma/skills/cpp-testing/SKILL.md +325 -0
  136. package/prisma/skills/crosspost/SKILL.md +112 -0
  137. package/prisma/skills/csharp-testing/SKILL.md +322 -0
  138. package/prisma/skills/customer-billing-ops/SKILL.md +141 -0
  139. package/prisma/skills/customs-trade-compliance/SKILL.md +263 -0
  140. package/prisma/skills/dart-flutter-patterns/SKILL.md +564 -0
  141. package/prisma/skills/dashboard-builder/SKILL.md +109 -0
  142. package/prisma/skills/data-scraper-agent/SKILL.md +765 -0
  143. package/prisma/skills/data-throughput-accelerator/SKILL.md +73 -0
  144. package/prisma/skills/database-migrations/SKILL.md +430 -0
  145. package/prisma/skills/deep-research/SKILL.md +160 -0
  146. package/prisma/skills/defi-amm-security/SKILL.md +167 -0
  147. package/prisma/skills/delivery-gate/SKILL.md +126 -0
  148. package/prisma/skills/delivery-gate/hooks/quality-gate.py +220 -0
  149. package/prisma/skills/deployment-patterns/SKILL.md +428 -0
  150. package/prisma/skills/design-system/SKILL.md +83 -0
  151. package/prisma/skills/django-celery/SKILL.md +458 -0
  152. package/prisma/skills/django-patterns/SKILL.md +735 -0
  153. package/prisma/skills/django-security/SKILL.md +644 -0
  154. package/prisma/skills/django-tdd/SKILL.md +730 -0
  155. package/prisma/skills/django-verification/SKILL.md +470 -0
  156. package/prisma/skills/dmux-workflows/SKILL.md +192 -0
  157. package/prisma/skills/docker-patterns/SKILL.md +365 -0
  158. package/prisma/skills/documentation-lookup/SKILL.md +91 -0
  159. package/prisma/skills/dotnet-patterns/SKILL.md +322 -0
  160. package/prisma/skills/dynamic-workflow-mode/SKILL.md +124 -0
  161. package/prisma/skills/e2e-testing/SKILL.md +327 -0
  162. package/prisma/skills/ecc-guide/SKILL.md +190 -0
  163. package/prisma/skills/ecc-recipes/SKILL.md +149 -0
  164. package/prisma/skills/ecc-tools-cost-audit/SKILL.md +161 -0
  165. package/prisma/skills/email-ops/SKILL.md +122 -0
  166. package/prisma/skills/energy-procurement/SKILL.md +228 -0
  167. package/prisma/skills/enterprise-agent-ops/SKILL.md +51 -0
  168. package/prisma/skills/error-handling/SKILL.md +377 -0
  169. package/prisma/skills/eval-harness/SKILL.md +271 -0
  170. package/prisma/skills/evm-token-decimals/SKILL.md +131 -0
  171. package/prisma/skills/exa-search/SKILL.md +108 -0
  172. package/prisma/skills/fal-ai-media/SKILL.md +289 -0
  173. package/prisma/skills/fastapi-patterns/SKILL.md +514 -0
  174. package/prisma/skills/finance-billing-ops/SKILL.md +128 -0
  175. package/prisma/skills/flox-environments/SKILL.md +497 -0
  176. package/prisma/skills/flutter-dart-code-review/SKILL.md +436 -0
  177. package/prisma/skills/foundation-models-on-device/SKILL.md +243 -0
  178. package/prisma/skills/frontend-a11y/SKILL.md +446 -0
  179. package/prisma/skills/frontend-design-direction/SKILL.md +93 -0
  180. package/prisma/skills/frontend-patterns/SKILL.md +657 -0
  181. package/prisma/skills/frontend-slides/SKILL.md +185 -0
  182. package/prisma/skills/frontend-slides/STYLE_PRESETS.md +330 -0
  183. package/prisma/skills/frontend-slides/animation-patterns.md +122 -0
  184. package/prisma/skills/frontend-slides/html-template.md +419 -0
  185. package/prisma/skills/frontend-slides/scripts/export-pdf.sh +418 -0
  186. package/prisma/skills/frontend-slides/scripts/extract-pptx.py +96 -0
  187. package/prisma/skills/frontend-slides/viewport-base.css +153 -0
  188. package/prisma/skills/fsharp-testing/SKILL.md +281 -0
  189. package/prisma/skills/gan-style-harness/SKILL.md +279 -0
  190. package/prisma/skills/gateguard/SKILL.md +133 -0
  191. package/prisma/skills/generating-python-installer/SKILL.md +820 -0
  192. package/prisma/skills/git-workflow/SKILL.md +716 -0
  193. package/prisma/skills/github-ops/SKILL.md +145 -0
  194. package/prisma/skills/golang-patterns/SKILL.md +675 -0
  195. package/prisma/skills/golang-testing/SKILL.md +721 -0
  196. package/prisma/skills/google-workspace-ops/SKILL.md +96 -0
  197. package/prisma/skills/growth-log/SKILL.md +128 -0
  198. package/prisma/skills/healthcare-cdss-patterns/SKILL.md +246 -0
  199. package/prisma/skills/healthcare-emr-patterns/SKILL.md +160 -0
  200. package/prisma/skills/healthcare-eval-harness/SKILL.md +208 -0
  201. package/prisma/skills/healthcare-phi-compliance/SKILL.md +146 -0
  202. package/prisma/skills/hermes-imports/SKILL.md +89 -0
  203. package/prisma/skills/hexagonal-architecture/SKILL.md +277 -0
  204. package/prisma/skills/hipaa-compliance/SKILL.md +79 -0
  205. package/prisma/skills/homelab-network-readiness/SKILL.md +170 -0
  206. package/prisma/skills/homelab-network-setup/SKILL.md +130 -0
  207. package/prisma/skills/homelab-pihole-dns/SKILL.md +275 -0
  208. package/prisma/skills/homelab-vlan-segmentation/SKILL.md +312 -0
  209. package/prisma/skills/homelab-wireguard-vpn/SKILL.md +306 -0
  210. package/prisma/skills/hookify-rules/SKILL.md +128 -0
  211. package/prisma/skills/inherit-legacy-style/SKILL.md +157 -0
  212. package/prisma/skills/intent-driven-development/SKILL.md +360 -0
  213. package/prisma/skills/inventory-demand-planning/SKILL.md +247 -0
  214. package/prisma/skills/investor-materials/SKILL.md +97 -0
  215. package/prisma/skills/investor-outreach/SKILL.md +92 -0
  216. package/prisma/skills/ios-icon-gen/SKILL.md +158 -0
  217. package/prisma/skills/ios-icon-gen/scripts/generate_icons.swift +258 -0
  218. package/prisma/skills/ios-icon-gen/scripts/iconify_gen.sh +235 -0
  219. package/prisma/skills/iterative-retrieval/SKILL.md +212 -0
  220. package/prisma/skills/ito-basket-compare/SKILL.md +64 -0
  221. package/prisma/skills/ito-data-atlas-agent/SKILL.md +64 -0
  222. package/prisma/skills/ito-market-intelligence/SKILL.md +61 -0
  223. package/prisma/skills/ito-trade-planner/SKILL.md +68 -0
  224. package/prisma/skills/java-coding-standards/SKILL.md +384 -0
  225. package/prisma/skills/jira-integration/SKILL.md +303 -0
  226. package/prisma/skills/jpa-patterns/SKILL.md +152 -0
  227. package/prisma/skills/knowledge-ops/SKILL.md +155 -0
  228. package/prisma/skills/kotlin-coroutines-flows/SKILL.md +285 -0
  229. package/prisma/skills/kotlin-exposed-patterns/SKILL.md +720 -0
  230. package/prisma/skills/kotlin-ktor-patterns/SKILL.md +690 -0
  231. package/prisma/skills/kotlin-patterns/SKILL.md +712 -0
  232. package/prisma/skills/kotlin-testing/SKILL.md +825 -0
  233. package/prisma/skills/kubernetes-patterns/SKILL.md +756 -0
  234. package/prisma/skills/laravel-patterns/SKILL.md +416 -0
  235. package/prisma/skills/laravel-plugin-discovery/SKILL.md +230 -0
  236. package/prisma/skills/laravel-security/SKILL.md +948 -0
  237. package/prisma/skills/laravel-tdd/SKILL.md +675 -0
  238. package/prisma/skills/laravel-verification/SKILL.md +180 -0
  239. package/prisma/skills/latency-critical-systems/SKILL.md +74 -0
  240. package/prisma/skills/lead-intelligence/SKILL.md +322 -0
  241. package/prisma/skills/lead-intelligence/agents/enrichment-agent.md +85 -0
  242. package/prisma/skills/lead-intelligence/agents/mutual-mapper.md +75 -0
  243. package/prisma/skills/lead-intelligence/agents/outreach-drafter.md +98 -0
  244. package/prisma/skills/lead-intelligence/agents/signal-scorer.md +60 -0
  245. package/prisma/skills/liquid-glass-design/SKILL.md +279 -0
  246. package/prisma/skills/llm-trading-agent-security/SKILL.md +147 -0
  247. package/prisma/skills/logistics-exception-management/SKILL.md +222 -0
  248. package/prisma/skills/loop-design-check/SKILL.md +143 -0
  249. package/prisma/skills/mailtrap-email-integration/SKILL.md +77 -0
  250. package/prisma/skills/make-interfaces-feel-better/SKILL.md +152 -0
  251. package/prisma/skills/manim-video/SKILL.md +90 -0
  252. package/prisma/skills/manim-video/assets/network_graph_scene.py +52 -0
  253. package/prisma/skills/market-research/SKILL.md +76 -0
  254. package/prisma/skills/marketing-campaign/SKILL.md +114 -0
  255. package/prisma/skills/mcp-server-patterns/SKILL.md +70 -0
  256. package/prisma/skills/messages-ops/SKILL.md +105 -0
  257. package/prisma/skills/ml-adoption-playbook/SKILL.md +57 -0
  258. package/prisma/skills/mle-workflow/SKILL.md +347 -0
  259. package/prisma/skills/motion-advanced/SKILL.md +596 -0
  260. package/prisma/skills/motion-foundations/SKILL.md +299 -0
  261. package/prisma/skills/motion-patterns/SKILL.md +434 -0
  262. package/prisma/skills/motion-ui/SKILL.md +576 -0
  263. package/prisma/skills/mysql-patterns/SKILL.md +413 -0
  264. package/prisma/skills/nanoclaw-repl/SKILL.md +34 -0
  265. package/prisma/skills/nestjs-patterns/SKILL.md +231 -0
  266. package/prisma/skills/netmiko-ssh-automation/SKILL.md +174 -0
  267. package/prisma/skills/network-bgp-diagnostics/SKILL.md +168 -0
  268. package/prisma/skills/network-config-validation/SKILL.md +211 -0
  269. package/prisma/skills/network-interface-health/SKILL.md +153 -0
  270. package/prisma/skills/nextjs-turbopack/SKILL.md +58 -0
  271. package/prisma/skills/nodejs-keccak256/SKILL.md +103 -0
  272. package/prisma/skills/nutrient-document-processing/SKILL.md +168 -0
  273. package/prisma/skills/nuxt4-patterns/SKILL.md +101 -0
  274. package/prisma/skills/openclaw-persona-forge/SKILL.md +289 -0
  275. package/prisma/skills/openclaw-persona-forge/gacha.py +224 -0
  276. package/prisma/skills/openclaw-persona-forge/gacha.sh +5 -0
  277. package/prisma/skills/openclaw-persona-forge/references/avatar-style.md +124 -0
  278. package/prisma/skills/openclaw-persona-forge/references/boundary-rules.md +53 -0
  279. package/prisma/skills/openclaw-persona-forge/references/error-handling.md +53 -0
  280. package/prisma/skills/openclaw-persona-forge/references/identity-tension.md +48 -0
  281. package/prisma/skills/openclaw-persona-forge/references/naming-system.md +39 -0
  282. package/prisma/skills/openclaw-persona-forge/references/output-template.md +166 -0
  283. package/prisma/skills/opensource-pipeline/SKILL.md +256 -0
  284. package/prisma/skills/orch-add-feature/SKILL.md +45 -0
  285. package/prisma/skills/orch-build-mvp/SKILL.md +49 -0
  286. package/prisma/skills/orch-change-feature/SKILL.md +43 -0
  287. package/prisma/skills/orch-fix-defect/SKILL.md +43 -0
  288. package/prisma/skills/orch-pipeline/SKILL.md +121 -0
  289. package/prisma/skills/orch-refine-code/SKILL.md +44 -0
  290. package/prisma/skills/parallel-execution-optimizer/SKILL.md +73 -0
  291. package/prisma/skills/perl-patterns/SKILL.md +505 -0
  292. package/prisma/skills/perl-security/SKILL.md +504 -0
  293. package/prisma/skills/perl-testing/SKILL.md +476 -0
  294. package/prisma/skills/plan-orchestrate/SKILL.md +263 -0
  295. package/prisma/skills/plankton-code-quality/SKILL.md +237 -0
  296. package/prisma/skills/postgres-patterns/SKILL.md +148 -0
  297. package/prisma/skills/prediction-market-oracle-research/SKILL.md +64 -0
  298. package/prisma/skills/prediction-market-risk-review/SKILL.md +61 -0
  299. package/prisma/skills/prisma-patterns/SKILL.md +401 -0
  300. package/prisma/skills/product-capability/SKILL.md +142 -0
  301. package/prisma/skills/product-lens/SKILL.md +93 -0
  302. package/prisma/skills/production-audit/SKILL.md +207 -0
  303. package/prisma/skills/production-scheduling/SKILL.md +238 -0
  304. package/prisma/skills/project-flow-ops/SKILL.md +112 -0
  305. package/prisma/skills/prompt-optimizer/SKILL.md +398 -0
  306. package/prisma/skills/python-patterns/SKILL.md +751 -0
  307. package/prisma/skills/python-testing/SKILL.md +817 -0
  308. package/prisma/skills/pytorch-patterns/SKILL.md +397 -0
  309. package/prisma/skills/quality-nonconformance/SKILL.md +260 -0
  310. package/prisma/skills/quarkus-patterns/SKILL.md +723 -0
  311. package/prisma/skills/quarkus-security/SKILL.md +468 -0
  312. package/prisma/skills/quarkus-tdd/SKILL.md +812 -0
  313. package/prisma/skills/quarkus-verification/SKILL.md +480 -0
  314. package/prisma/skills/ralphinho-rfc-pipeline/SKILL.md +68 -0
  315. package/prisma/skills/react-native-patterns/SKILL.md +326 -0
  316. package/prisma/skills/react-patterns/SKILL.md +342 -0
  317. package/prisma/skills/react-performance/SKILL.md +575 -0
  318. package/prisma/skills/react-testing/SKILL.md +424 -0
  319. package/prisma/skills/recsys-pipeline-architect/SKILL.md +115 -0
  320. package/prisma/skills/recursive-decision-ledger/SKILL.md +80 -0
  321. package/prisma/skills/redis-patterns/SKILL.md +404 -0
  322. package/prisma/skills/regex-vs-llm-structured-text/SKILL.md +221 -0
  323. package/prisma/skills/remotion-video-creation/SKILL.md +43 -0
  324. package/prisma/skills/remotion-video-creation/rules/3d.md +86 -0
  325. package/prisma/skills/remotion-video-creation/rules/animations.md +29 -0
  326. package/prisma/skills/remotion-video-creation/rules/assets/charts-bar-chart.tsx +173 -0
  327. package/prisma/skills/remotion-video-creation/rules/assets/text-animations-typewriter.tsx +100 -0
  328. package/prisma/skills/remotion-video-creation/rules/assets/text-animations-word-highlight.tsx +108 -0
  329. package/prisma/skills/remotion-video-creation/rules/assets.md +78 -0
  330. package/prisma/skills/remotion-video-creation/rules/audio.md +172 -0
  331. package/prisma/skills/remotion-video-creation/rules/calculate-metadata.md +104 -0
  332. package/prisma/skills/remotion-video-creation/rules/can-decode.md +75 -0
  333. package/prisma/skills/remotion-video-creation/rules/charts.md +58 -0
  334. package/prisma/skills/remotion-video-creation/rules/compositions.md +146 -0
  335. package/prisma/skills/remotion-video-creation/rules/display-captions.md +126 -0
  336. package/prisma/skills/remotion-video-creation/rules/extract-frames.md +229 -0
  337. package/prisma/skills/remotion-video-creation/rules/fonts.md +152 -0
  338. package/prisma/skills/remotion-video-creation/rules/get-audio-duration.md +58 -0
  339. package/prisma/skills/remotion-video-creation/rules/get-video-dimensions.md +68 -0
  340. package/prisma/skills/remotion-video-creation/rules/get-video-duration.md +58 -0
  341. package/prisma/skills/remotion-video-creation/rules/gifs.md +138 -0
  342. package/prisma/skills/remotion-video-creation/rules/images.md +130 -0
  343. package/prisma/skills/remotion-video-creation/rules/import-srt-captions.md +67 -0
  344. package/prisma/skills/remotion-video-creation/rules/lottie.md +67 -0
  345. package/prisma/skills/remotion-video-creation/rules/measuring-dom-nodes.md +34 -0
  346. package/prisma/skills/remotion-video-creation/rules/measuring-text.md +143 -0
  347. package/prisma/skills/remotion-video-creation/rules/sequencing.md +106 -0
  348. package/prisma/skills/remotion-video-creation/rules/tailwind.md +11 -0
  349. package/prisma/skills/remotion-video-creation/rules/text-animations.md +20 -0
  350. package/prisma/skills/remotion-video-creation/rules/timing.md +179 -0
  351. package/prisma/skills/remotion-video-creation/rules/transcribe-captions.md +19 -0
  352. package/prisma/skills/remotion-video-creation/rules/transitions.md +122 -0
  353. package/prisma/skills/remotion-video-creation/rules/trimming.md +52 -0
  354. package/prisma/skills/remotion-video-creation/rules/videos.md +171 -0
  355. package/prisma/skills/repo-scan/SKILL.md +79 -0
  356. package/prisma/skills/research-ops/SKILL.md +113 -0
  357. package/prisma/skills/returns-reverse-logistics/SKILL.md +240 -0
  358. package/prisma/skills/rules-distill/SKILL.md +265 -0
  359. package/prisma/skills/rules-distill/scripts/scan-rules.sh +58 -0
  360. package/prisma/skills/rules-distill/scripts/scan-skills.sh +129 -0
  361. package/prisma/skills/rust-patterns/SKILL.md +500 -0
  362. package/prisma/skills/rust-testing/SKILL.md +501 -0
  363. package/prisma/skills/safety-guard/SKILL.md +76 -0
  364. package/prisma/skills/santa-method/SKILL.md +307 -0
  365. package/prisma/skills/scientific-db-pubmed-database/SKILL.md +176 -0
  366. package/prisma/skills/scientific-db-uspto-database/SKILL.md +178 -0
  367. package/prisma/skills/scientific-pkg-gget/SKILL.md +167 -0
  368. package/prisma/skills/scientific-thinking-literature-review/SKILL.md +193 -0
  369. package/prisma/skills/scientific-thinking-scholar-evaluation/SKILL.md +161 -0
  370. package/prisma/skills/search-first/SKILL.md +183 -0
  371. package/prisma/skills/security-bounty-hunter/SKILL.md +100 -0
  372. package/prisma/skills/security-review/SKILL.md +504 -0
  373. package/prisma/skills/security-review/cloud-infrastructure-security.md +361 -0
  374. package/prisma/skills/security-scan/SKILL.md +166 -0
  375. package/prisma/skills/seo/SKILL.md +155 -0
  376. package/prisma/skills/skill-comply/SKILL.md +59 -0
  377. package/prisma/skills/skill-comply/fixtures/compliant_trace.jsonl +5 -0
  378. package/prisma/skills/skill-comply/fixtures/noncompliant_trace.jsonl +3 -0
  379. package/prisma/skills/skill-comply/fixtures/tdd_spec.yaml +44 -0
  380. package/prisma/skills/skill-comply/prompts/classifier.md +24 -0
  381. package/prisma/skills/skill-comply/prompts/scenario_generator.md +62 -0
  382. package/prisma/skills/skill-comply/prompts/spec_generator.md +42 -0
  383. package/prisma/skills/skill-comply/pyproject.toml +15 -0
  384. package/prisma/skills/skill-comply/scripts/__init__.py +0 -0
  385. package/prisma/skills/skill-comply/scripts/classifier.py +85 -0
  386. package/prisma/skills/skill-comply/scripts/grader.py +124 -0
  387. package/prisma/skills/skill-comply/scripts/parser.py +107 -0
  388. package/prisma/skills/skill-comply/scripts/report.py +170 -0
  389. package/prisma/skills/skill-comply/scripts/run.py +127 -0
  390. package/prisma/skills/skill-comply/scripts/runner.py +194 -0
  391. package/prisma/skills/skill-comply/scripts/scenario_generator.py +70 -0
  392. package/prisma/skills/skill-comply/scripts/spec_generator.py +72 -0
  393. package/prisma/skills/skill-comply/scripts/utils.py +13 -0
  394. package/prisma/skills/skill-comply/tests/test_grader.py +197 -0
  395. package/prisma/skills/skill-comply/tests/test_parser.py +90 -0
  396. package/prisma/skills/skill-comply/tests/test_runner.py +172 -0
  397. package/prisma/skills/skill-scout/SKILL.md +141 -0
  398. package/prisma/skills/skill-stocktake/SKILL.md +195 -0
  399. package/prisma/skills/skill-stocktake/scripts/quick-diff.sh +87 -0
  400. package/prisma/skills/skill-stocktake/scripts/save-results.sh +56 -0
  401. package/prisma/skills/skill-stocktake/scripts/scan.sh +170 -0
  402. package/prisma/skills/social-graph-ranker/SKILL.md +155 -0
  403. package/prisma/skills/social-publisher/SKILL.md +130 -0
  404. package/prisma/skills/springboot-patterns/SKILL.md +315 -0
  405. package/prisma/skills/springboot-security/SKILL.md +273 -0
  406. package/prisma/skills/springboot-tdd/SKILL.md +159 -0
  407. package/prisma/skills/springboot-verification/SKILL.md +232 -0
  408. package/prisma/skills/strategic-compact/SKILL.md +136 -0
  409. package/prisma/skills/swift-actor-persistence/SKILL.md +144 -0
  410. package/prisma/skills/swift-concurrency-6-2/SKILL.md +216 -0
  411. package/prisma/skills/swift-protocol-di-testing/SKILL.md +191 -0
  412. package/prisma/skills/swiftui-patterns/SKILL.md +259 -0
  413. package/prisma/skills/taste/SKILL.md +264 -0
  414. package/prisma/skills/taste/references/genre-taxonomy.md +87 -0
  415. package/prisma/skills/tdd-workflow/SKILL.md +583 -0
  416. package/prisma/skills/team-agent-orchestration/SKILL.md +111 -0
  417. package/prisma/skills/team-builder/SKILL.md +169 -0
  418. package/prisma/skills/terminal-ops/SKILL.md +110 -0
  419. package/prisma/skills/tinystruct-patterns/SKILL.md +279 -0
  420. package/prisma/skills/tinystruct-patterns/references/architecture.md +90 -0
  421. package/prisma/skills/tinystruct-patterns/references/data-handling.md +60 -0
  422. package/prisma/skills/tinystruct-patterns/references/database.md +99 -0
  423. package/prisma/skills/tinystruct-patterns/references/routing.md +64 -0
  424. package/prisma/skills/tinystruct-patterns/references/system-usage.md +97 -0
  425. package/prisma/skills/tinystruct-patterns/references/testing.md +72 -0
  426. package/prisma/skills/token-budget-advisor/SKILL.md +134 -0
  427. package/prisma/skills/ui-demo/SKILL.md +466 -0
  428. package/prisma/skills/ui-to-vue/SKILL.md +135 -0
  429. package/prisma/skills/uncloud/SKILL.md +344 -0
  430. package/prisma/skills/unified-notifications-ops/SKILL.md +188 -0
  431. package/prisma/skills/verification-loop/SKILL.md +127 -0
  432. package/prisma/skills/video-editing/SKILL.md +311 -0
  433. package/prisma/skills/videodb/SKILL.md +375 -0
  434. package/prisma/skills/videodb/reference/api-reference.md +550 -0
  435. package/prisma/skills/videodb/reference/capture-reference.md +407 -0
  436. package/prisma/skills/videodb/reference/capture.md +101 -0
  437. package/prisma/skills/videodb/reference/editor.md +443 -0
  438. package/prisma/skills/videodb/reference/generative.md +331 -0
  439. package/prisma/skills/videodb/reference/rtstream-reference.md +564 -0
  440. package/prisma/skills/videodb/reference/rtstream.md +65 -0
  441. package/prisma/skills/videodb/reference/search.md +230 -0
  442. package/prisma/skills/videodb/reference/streaming.md +406 -0
  443. package/prisma/skills/videodb/reference/use-cases.md +118 -0
  444. package/prisma/skills/videodb/scripts/ws_listener.py +282 -0
  445. package/prisma/skills/visa-doc-translate/README.md +86 -0
  446. package/prisma/skills/visa-doc-translate/SKILL.md +117 -0
  447. package/prisma/skills/vite-patterns/SKILL.md +450 -0
  448. package/prisma/skills/vue-patterns/SKILL.md +471 -0
  449. package/prisma/skills/windows-desktop-e2e/SKILL.md +888 -0
  450. package/prisma/skills/workspace-surface-audit/SKILL.md +126 -0
  451. package/prisma/skills/x-api/SKILL.md +235 -0
@@ -0,0 +1,184 @@
1
+ ---
2
+ name: cost-aware-llm-pipeline
3
+ description: Cost optimization patterns for LLM API usage — model routing by task complexity, budget tracking, retry logic, and prompt caching.
4
+ metadata:
5
+ origin: ECC
6
+ ---
7
+
8
+ # Cost-Aware LLM Pipeline
9
+
10
+ Patterns for controlling LLM API costs while maintaining quality. Combines model routing, budget tracking, retry logic, and prompt caching into a composable pipeline.
11
+
12
+ ## When to Activate
13
+
14
+ - Building applications that call LLM APIs (Claude, GPT, etc.)
15
+ - Processing batches of items with varying complexity
16
+ - Need to stay within a budget for API spend
17
+ - Optimizing cost without sacrificing quality on complex tasks
18
+
19
+ ## Core Concepts
20
+
21
+ ### 1. Model Routing by Task Complexity
22
+
23
+ Automatically select cheaper models for simple tasks, reserving expensive models for complex ones.
24
+
25
+ ```python
26
+ MODEL_SONNET = "claude-sonnet-4-6"
27
+ MODEL_HAIKU = "claude-haiku-4-5-20251001"
28
+
29
+ _SONNET_TEXT_THRESHOLD = 10_000 # chars
30
+ _SONNET_ITEM_THRESHOLD = 30 # items
31
+
32
+ def select_model(
33
+ text_length: int,
34
+ item_count: int,
35
+ force_model: str | None = None,
36
+ ) -> str:
37
+ """Select model based on task complexity."""
38
+ if force_model is not None:
39
+ return force_model
40
+ if text_length >= _SONNET_TEXT_THRESHOLD or item_count >= _SONNET_ITEM_THRESHOLD:
41
+ return MODEL_SONNET # Complex task
42
+ return MODEL_HAIKU # Simple task (3-4x cheaper)
43
+ ```
44
+
45
+ ### 2. Immutable Cost Tracking
46
+
47
+ Track cumulative spend with frozen dataclasses. Each API call returns a new tracker — never mutates state.
48
+
49
+ ```python
50
+ from dataclasses import dataclass
51
+
52
+ @dataclass(frozen=True, slots=True)
53
+ class CostRecord:
54
+ model: str
55
+ input_tokens: int
56
+ output_tokens: int
57
+ cost_usd: float
58
+
59
+ @dataclass(frozen=True, slots=True)
60
+ class CostTracker:
61
+ budget_limit: float = 1.00
62
+ records: tuple[CostRecord, ...] = ()
63
+
64
+ def add(self, record: CostRecord) -> "CostTracker":
65
+ """Return new tracker with added record (never mutates self)."""
66
+ return CostTracker(
67
+ budget_limit=self.budget_limit,
68
+ records=(*self.records, record),
69
+ )
70
+
71
+ @property
72
+ def total_cost(self) -> float:
73
+ return sum(r.cost_usd for r in self.records)
74
+
75
+ @property
76
+ def over_budget(self) -> bool:
77
+ return self.total_cost > self.budget_limit
78
+ ```
79
+
80
+ ### 3. Narrow Retry Logic
81
+
82
+ Retry only on transient errors. Fail fast on authentication or bad request errors.
83
+
84
+ ```python
85
+ from anthropic import (
86
+ APIConnectionError,
87
+ InternalServerError,
88
+ RateLimitError,
89
+ )
90
+
91
+ _RETRYABLE_ERRORS = (APIConnectionError, RateLimitError, InternalServerError)
92
+ _MAX_RETRIES = 3
93
+
94
+ def call_with_retry(func, *, max_retries: int = _MAX_RETRIES):
95
+ """Retry only on transient errors, fail fast on others."""
96
+ for attempt in range(max_retries):
97
+ try:
98
+ return func()
99
+ except _RETRYABLE_ERRORS:
100
+ if attempt == max_retries - 1:
101
+ raise
102
+ time.sleep(2 ** attempt) # Exponential backoff
103
+ # AuthenticationError, BadRequestError etc. → raise immediately
104
+ ```
105
+
106
+ ### 4. Prompt Caching
107
+
108
+ Cache long system prompts to avoid resending them on every request.
109
+
110
+ ```python
111
+ messages = [
112
+ {
113
+ "role": "user",
114
+ "content": [
115
+ {
116
+ "type": "text",
117
+ "text": system_prompt,
118
+ "cache_control": {"type": "ephemeral"}, # Cache this
119
+ },
120
+ {
121
+ "type": "text",
122
+ "text": user_input, # Variable part
123
+ },
124
+ ],
125
+ }
126
+ ]
127
+ ```
128
+
129
+ ## Composition
130
+
131
+ Combine all four techniques in a single pipeline function:
132
+
133
+ ```python
134
+ def process(text: str, config: Config, tracker: CostTracker) -> tuple[Result, CostTracker]:
135
+ # 1. Route model
136
+ model = select_model(len(text), estimated_items, config.force_model)
137
+
138
+ # 2. Check budget
139
+ if tracker.over_budget:
140
+ raise BudgetExceededError(tracker.total_cost, tracker.budget_limit)
141
+
142
+ # 3. Call with retry + caching
143
+ response = call_with_retry(lambda: client.messages.create(
144
+ model=model,
145
+ messages=build_cached_messages(system_prompt, text),
146
+ ))
147
+
148
+ # 4. Track cost (immutable)
149
+ record = CostRecord(model=model, input_tokens=..., output_tokens=..., cost_usd=...)
150
+ tracker = tracker.add(record)
151
+
152
+ return parse_result(response), tracker
153
+ ```
154
+
155
+ ## Pricing Reference (2025-2026)
156
+
157
+ | Model | Input ($/1M tokens) | Output ($/1M tokens) | Relative Cost |
158
+ |-------|---------------------|----------------------|---------------|
159
+ | Haiku 4.5 | $0.80 | $4.00 | 1x |
160
+ | Sonnet 4.6 | $3.00 | $15.00 | ~4x |
161
+ | Opus 4.5 | $15.00 | $75.00 | ~19x |
162
+
163
+ ## Best Practices
164
+
165
+ - **Start with the cheapest model** and only route to expensive models when complexity thresholds are met
166
+ - **Set explicit budget limits** before processing batches — fail early rather than overspend
167
+ - **Log model selection decisions** so you can tune thresholds based on real data
168
+ - **Use prompt caching** for system prompts over 1024 tokens — saves both cost and latency
169
+ - **Never retry on authentication or validation errors** — only transient failures (network, rate limit, server error)
170
+
171
+ ## Anti-Patterns to Avoid
172
+
173
+ - Using the most expensive model for all requests regardless of complexity
174
+ - Retrying on all errors (wastes budget on permanent failures)
175
+ - Mutating cost tracking state (makes debugging and auditing difficult)
176
+ - Hardcoding model names throughout the codebase (use constants or config)
177
+ - Ignoring prompt caching for repetitive system prompts
178
+
179
+ ## When to Use
180
+
181
+ - Any application calling Claude, OpenAI, or similar LLM APIs
182
+ - Batch processing pipelines where cost adds up quickly
183
+ - Multi-model architectures that need intelligent routing
184
+ - Production systems that need budget guardrails
@@ -0,0 +1,97 @@
1
+ ---
2
+ name: cost-tracking
3
+ description: Track and report Claude Code token usage, spending, and budgets from the local ECC cost-tracker metrics log. Use when the user asks about costs, spending, usage, tokens, budgets, or cost breakdowns by model, session, or date.
4
+ metadata:
5
+ origin: community
6
+ ---
7
+
8
+ # Cost Tracking
9
+
10
+ Use this skill to analyze Claude Code cost and usage history from the metrics log
11
+ that ECC's `stop:cost-tracker` hook writes.
12
+
13
+ ## Where the data lives
14
+
15
+ The tracker appends one JSON object per session-stop to
16
+ `~/.claude/metrics/costs.jsonl`. Each row is a **cumulative snapshot for that
17
+ session**, so to total spend you take the **latest row per `session_id`** and
18
+ sum across sessions — summing every row multiply-counts.
19
+
20
+ Row schema:
21
+
22
+ | Field | Meaning |
23
+ | --- | --- |
24
+ | `timestamp` | ISO timestamp of the snapshot |
25
+ | `session_id` | Claude Code session identifier |
26
+ | `transcript_path` | Path to the session transcript |
27
+ | `model` | Model used |
28
+ | `input_tokens` / `output_tokens` | Token counts |
29
+ | `cache_write_tokens` / `cache_read_tokens` | Prompt-cache token counts |
30
+ | `estimated_cost_usd` | Precomputed cumulative cost in USD for the session |
31
+
32
+ Prefer `estimated_cost_usd` over hand-calculating pricing — model and cache
33
+ prices change, and the tracker is the source of truth.
34
+
35
+ ## When to Use
36
+
37
+ - The user asks "how much have I spent?", "what did this session cost?", or
38
+ "what is my token usage?"
39
+ - The user mentions budgets, spending limits, overruns, or cost controls.
40
+ - The user wants a cost breakdown by model, session, or date, or a CSV export.
41
+
42
+ ## How It Works
43
+
44
+ First verify the log exists (use `node`, not `sqlite3` — the tracker writes
45
+ JSONL, and `node` is cross-platform):
46
+
47
+ ```bash
48
+ node -e 'const fs=require("fs"),os=require("os"),p=require("path");const f=p.join(os.homedir(),".claude","metrics","costs.jsonl");console.log(fs.existsSync(f)?"cost log found":"cost log not found: "+f)'
49
+ ```
50
+
51
+ If the log is missing, do not fabricate usage data. Tell the user that cost
52
+ tracking populates after the first session ends with the `stop:cost-tracker`
53
+ hook enabled.
54
+
55
+ ## Example — summary, by model, last 7 days
56
+
57
+ ```bash
58
+ node -e '
59
+ const fs=require("fs"),os=require("os"),path=require("path");
60
+ const f=path.join(os.homedir(),".claude","metrics","costs.jsonl");
61
+ if(!fs.existsSync(f)){console.log("cost log not found: "+f);process.exit(0);}
62
+ const rows=fs.readFileSync(f,"utf8").split(/\r?\n/).filter(Boolean).map(l=>{try{return JSON.parse(l)}catch{return null}}).filter(Boolean);
63
+ const bySession=new Map();
64
+ for(const r of rows){const k=r.session_id||r.transcript_path||r.timestamp;const p=bySession.get(k);if(!p||String(r.timestamp)>String(p.timestamp))bySession.set(k,r);}
65
+ const latest=[...bySession.values()];
66
+ const cost=r=>Number(r.estimated_cost_usd)||0, day=r=>String(r.timestamp||"").slice(0,10), sum=a=>a.reduce((s,r)=>s+cost(r),0), f4=n=>"$"+n.toFixed(4);
67
+ const today=new Date().toISOString().slice(0,10), yest=new Date(Date.now()-864e5).toISOString().slice(0,10);
68
+ console.log("today: "+f4(sum(latest.filter(r=>day(r)===today)))+" | yesterday: "+f4(sum(latest.filter(r=>day(r)===yest)))+" | total: "+f4(sum(latest))+" ("+latest.length+" sessions)");
69
+ const m=new Map();for(const r of latest){const k=r.model||"(unknown)";m.set(k,(m.get(k)||0)+cost(r));}
70
+ console.log("by model:");[...m.entries()].sort((a,b)=>b[1]-a[1]).forEach(([k,v])=>console.log(" "+f4(v)+" "+k));
71
+ '
72
+ ```
73
+
74
+ For a session drilldown or CSV export, iterate the same `latest` set (or the raw
75
+ rows for CSV) and print the fields you need.
76
+
77
+ ## Reporting Guidance
78
+
79
+ When presenting cost data, include today's spend vs yesterday, total across all
80
+ sessions, a by-model breakdown, and session count. Format sub-dollar amounts
81
+ with four decimals, larger amounts with two.
82
+
83
+ ## Anti-Patterns
84
+
85
+ - Do not sum every row — they are cumulative per session; reduce to the latest
86
+ row per `session_id` first.
87
+ - Do not estimate costs from raw token counts when `estimated_cost_usd` is present.
88
+ - Do not assume the log exists without checking.
89
+ - Do not hard-code current model pricing in user-facing answers.
90
+ - Do not recommend installing unreviewed hooks or plugins that execute arbitrary code.
91
+
92
+ ## Related
93
+
94
+ - `/cost-report` - Command-form report over the same metrics log.
95
+ - `cost-aware-llm-pipeline` - Model-routing and budget-design patterns.
96
+ - `token-budget-advisor` - Context and token-budget planning.
97
+ - `strategic-compact` - Context compaction to reduce repeated token spend.
@@ -0,0 +1,204 @@
1
+ ---
2
+ name: council
3
+ description: Convene a four-voice council for ambiguous decisions, tradeoffs, and go/no-go calls. Use when multiple valid paths exist and you need structured disagreement before choosing.
4
+ metadata:
5
+ origin: ECC
6
+ ---
7
+
8
+ # Council
9
+
10
+ Convene four advisors for ambiguous decisions:
11
+ - the in-context Claude voice
12
+ - a Skeptic subagent
13
+ - a Pragmatist subagent
14
+ - a Critic subagent
15
+
16
+ This is for **decision-making under ambiguity**, not code review, implementation planning, or architecture design.
17
+
18
+ ## When to Use
19
+
20
+ Use council when:
21
+ - a decision has multiple credible paths and no obvious winner
22
+ - you need explicit tradeoff surfacing
23
+ - the user asks for second opinions, dissent, or multiple perspectives
24
+ - conversational anchoring is a real risk
25
+ - a go / no-go call would benefit from adversarial challenge
26
+
27
+ Examples:
28
+ - monorepo vs polyrepo
29
+ - ship now vs hold for polish
30
+ - feature flag vs full rollout
31
+ - simplify scope vs keep strategic breadth
32
+
33
+ ## When NOT to Use
34
+
35
+ | Instead of council | Use |
36
+ | --- | --- |
37
+ | Verifying whether output is correct | `santa-method` |
38
+ | Breaking a feature into implementation steps | `planner` |
39
+ | Designing system architecture | `architect` |
40
+ | Reviewing code for bugs or security | `code-reviewer` or `santa-method` |
41
+ | Straight factual questions | just answer directly |
42
+ | Obvious execution tasks | just do the task |
43
+
44
+ ## Roles
45
+
46
+ | Voice | Lens |
47
+ | --- | --- |
48
+ | Architect | correctness, maintainability, long-term implications |
49
+ | Skeptic | premise challenge, simplification, assumption breaking |
50
+ | Pragmatist | shipping speed, user impact, operational reality |
51
+ | Critic | edge cases, downside risk, failure modes |
52
+
53
+ The three external voices should be launched as fresh subagents with **only the question and relevant context**, not the full ongoing conversation. That is the anti-anchoring mechanism.
54
+
55
+ ## Workflow
56
+
57
+ ### 1. Extract the real question
58
+
59
+ Reduce the decision to one explicit prompt:
60
+ - what are we deciding?
61
+ - what constraints matter?
62
+ - what counts as success?
63
+
64
+ If the question is vague, ask one clarifying question before convening the council.
65
+
66
+ ### 2. Gather only the necessary context
67
+
68
+ If the decision is codebase-specific:
69
+ - collect the relevant files, snippets, issue text, or metrics
70
+ - keep it compact
71
+ - include only the context needed to make the decision
72
+
73
+ If the decision is strategic/general:
74
+ - skip repo snippets unless they materially change the answer
75
+
76
+ ### 3. Form the Architect position first
77
+
78
+ Before reading other voices, write down:
79
+ - your initial position
80
+ - the three strongest reasons for it
81
+ - the main risk in your preferred path
82
+
83
+ Do this first so the synthesis does not simply mirror the external voices.
84
+
85
+ ### 4. Launch three independent voices in parallel
86
+
87
+ Each subagent gets:
88
+ - the decision question
89
+ - compact context if needed
90
+ - a strict role
91
+ - no unnecessary conversation history
92
+
93
+ Prompt shape:
94
+
95
+ ```text
96
+ You are the [ROLE] on a four-voice decision council.
97
+
98
+ Question:
99
+ [decision question]
100
+
101
+ Context:
102
+ [only the relevant snippets or constraints]
103
+
104
+ Respond with:
105
+ 1. Position — 1-2 sentences
106
+ 2. Reasoning — 3 concise bullets
107
+ 3. Risk — biggest risk in your recommendation
108
+ 4. Surprise — one thing the other voices may miss
109
+
110
+ Be direct. No hedging. Keep it under 300 words.
111
+ ```
112
+
113
+ Role emphasis:
114
+ - Skeptic: challenge framing, question assumptions, propose the simplest credible alternative
115
+ - Pragmatist: optimize for speed, simplicity, and real-world execution
116
+ - Critic: surface downside risk, edge cases, and reasons the plan could fail
117
+
118
+ ### 5. Synthesize with bias guardrails
119
+
120
+ You are both a participant and the synthesizer, so use these rules:
121
+ - do not dismiss an external view without explaining why
122
+ - if an external voice changed your recommendation, say so explicitly
123
+ - always include the strongest dissent, even if you reject it
124
+ - if two voices align against your initial position, treat that as a real signal
125
+ - keep the raw positions visible before the verdict
126
+
127
+ ### 6. Present a compact verdict
128
+
129
+ Use this output shape:
130
+
131
+ ```markdown
132
+ ## Council: [short decision title]
133
+
134
+ **Architect:** [1-2 sentence position]
135
+ [1 line on why]
136
+
137
+ **Skeptic:** [1-2 sentence position]
138
+ [1 line on why]
139
+
140
+ **Pragmatist:** [1-2 sentence position]
141
+ [1 line on why]
142
+
143
+ **Critic:** [1-2 sentence position]
144
+ [1 line on why]
145
+
146
+ ### Verdict
147
+ - **Consensus:** [where they align]
148
+ - **Strongest dissent:** [most important disagreement]
149
+ - **Premise check:** [did the Skeptic challenge the question itself?]
150
+ - **Recommendation:** [the synthesized path]
151
+ ```
152
+
153
+ Keep it scannable on a phone screen.
154
+
155
+ ## Persistence Rule
156
+
157
+ Do **not** write ad-hoc notes to `~/.claude/notes` or other shadow paths from this skill.
158
+
159
+ If the council materially changes the recommendation:
160
+ - use `knowledge-ops` to store the lesson in the right durable location
161
+ - or use `/save-session` if the outcome belongs in session memory
162
+ - or update the relevant GitHub / Linear issue directly if the decision changes active execution truth
163
+
164
+ Only persist a decision when it changes something real.
165
+
166
+ ## Multi-Round Follow-up
167
+
168
+ Default is one round.
169
+
170
+ If the user wants another round:
171
+ - keep the new question focused
172
+ - include the previous verdict only if it is necessary
173
+ - keep the Skeptic as clean as possible to preserve anti-anchoring value
174
+
175
+ ## Anti-Patterns
176
+
177
+ - using council for code review
178
+ - using council when the task is just implementation work
179
+ - feeding the subagents the entire conversation transcript
180
+ - hiding disagreement in the final verdict
181
+ - persisting every decision as a note regardless of importance
182
+
183
+ ## Related Skills
184
+
185
+ - `santa-method` — adversarial verification
186
+ - `knowledge-ops` — persist durable decision deltas correctly
187
+ - `search-first` — gather external reference material before the council if needed
188
+ - `architecture-decision-records` — formalize the outcome when the decision becomes long-lived system policy
189
+
190
+ ## Example
191
+
192
+ Question:
193
+
194
+ ```text
195
+ Should we ship ECC 2.0 as alpha now, or hold until the control-plane UI is more complete?
196
+ ```
197
+
198
+ Likely council shape:
199
+ - Architect pushes for structural integrity and avoiding a confused surface
200
+ - Skeptic questions whether the UI is actually the gating factor
201
+ - Pragmatist asks what can be shipped now without harming trust
202
+ - Critic focuses on support burden, expectation debt, and rollout confusion
203
+
204
+ The value is not unanimity. The value is making the disagreement legible before choosing.