@baselane/packs 0.1.5 → 0.1.7

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 (445) hide show
  1. package/package.json +2 -2
  2. package/packs/full-harness/pack.json +3093 -0
  3. package/packs/full-harness/rendered/.claude/agents/a11y-architect.md +138 -0
  4. package/packs/full-harness/rendered/.claude/agents/agent-evaluator.md +206 -0
  5. package/packs/full-harness/rendered/.claude/agents/architect.md +209 -0
  6. package/packs/full-harness/rendered/.claude/agents/build-error-resolver.md +114 -0
  7. package/packs/full-harness/rendered/.claude/agents/chief-of-staff.md +149 -0
  8. package/packs/full-harness/rendered/.claude/agents/code-architect.md +71 -0
  9. package/packs/full-harness/rendered/.claude/agents/code-explorer.md +69 -0
  10. package/packs/full-harness/rendered/.claude/agents/code-reviewer.md +312 -0
  11. package/packs/full-harness/rendered/.claude/agents/code-simplifier.md +47 -0
  12. package/packs/full-harness/rendered/.claude/agents/comment-analyzer.md +45 -0
  13. package/packs/full-harness/rendered/.claude/agents/conversation-analyzer.md +52 -0
  14. package/packs/full-harness/rendered/.claude/agents/cpp-build-resolver.md +90 -0
  15. package/packs/full-harness/rendered/.claude/agents/cpp-reviewer.md +64 -0
  16. package/packs/full-harness/rendered/.claude/agents/csharp-reviewer.md +93 -0
  17. package/packs/full-harness/rendered/.claude/agents/dart-build-resolver.md +201 -0
  18. package/packs/full-harness/rendered/.claude/agents/database-reviewer.md +91 -0
  19. package/packs/full-harness/rendered/.claude/agents/django-build-resolver.md +243 -0
  20. package/packs/full-harness/rendered/.claude/agents/django-reviewer.md +149 -0
  21. package/packs/full-harness/rendered/.claude/agents/doc-updater.md +107 -0
  22. package/packs/full-harness/rendered/.claude/agents/docs-lookup.md +64 -0
  23. package/packs/full-harness/rendered/.claude/agents/e2e-runner.md +107 -0
  24. package/packs/full-harness/rendered/.claude/agents/fastapi-reviewer.md +68 -0
  25. package/packs/full-harness/rendered/.claude/agents/flutter-reviewer.md +241 -0
  26. package/packs/full-harness/rendered/.claude/agents/fsharp-reviewer.md +92 -0
  27. package/packs/full-harness/rendered/.claude/agents/gan-evaluator.md +206 -0
  28. package/packs/full-harness/rendered/.claude/agents/gan-generator.md +128 -0
  29. package/packs/full-harness/rendered/.claude/agents/gan-planner.md +96 -0
  30. package/packs/full-harness/rendered/.claude/agents/go-build-resolver.md +94 -0
  31. package/packs/full-harness/rendered/.claude/agents/go-reviewer.md +68 -0
  32. package/packs/full-harness/rendered/.claude/agents/harmonyos-app-resolver.md +173 -0
  33. package/packs/full-harness/rendered/.claude/agents/harness-optimizer.md +32 -0
  34. package/packs/full-harness/rendered/.claude/agents/healthcare-reviewer.md +83 -0
  35. package/packs/full-harness/rendered/.claude/agents/homelab-architect.md +94 -0
  36. package/packs/full-harness/rendered/.claude/agents/java-build-resolver.md +266 -0
  37. package/packs/full-harness/rendered/.claude/agents/java-reviewer.md +179 -0
  38. package/packs/full-harness/rendered/.claude/agents/kotlin-build-resolver.md +118 -0
  39. package/packs/full-harness/rendered/.claude/agents/kotlin-reviewer.md +157 -0
  40. package/packs/full-harness/rendered/.claude/agents/loop-operator.md +33 -0
  41. package/packs/full-harness/rendered/.claude/agents/marketing-agent.md +141 -0
  42. package/packs/full-harness/rendered/.claude/agents/mle-reviewer.md +153 -0
  43. package/packs/full-harness/rendered/.claude/agents/network-architect.md +92 -0
  44. package/packs/full-harness/rendered/.claude/agents/network-config-reviewer.md +94 -0
  45. package/packs/full-harness/rendered/.claude/agents/network-troubleshooter.md +116 -0
  46. package/packs/full-harness/rendered/.claude/agents/opensource-forker.md +198 -0
  47. package/packs/full-harness/rendered/.claude/agents/opensource-packager.md +249 -0
  48. package/packs/full-harness/rendered/.claude/agents/opensource-sanitizer.md +188 -0
  49. package/packs/full-harness/rendered/.claude/agents/performance-optimizer.md +446 -0
  50. package/packs/full-harness/rendered/.claude/agents/php-reviewer.md +92 -0
  51. package/packs/full-harness/rendered/.claude/agents/planner.md +210 -0
  52. package/packs/full-harness/rendered/.claude/agents/pr-test-analyzer.md +45 -0
  53. package/packs/full-harness/rendered/.claude/agents/python-reviewer.md +90 -0
  54. package/packs/full-harness/rendered/.claude/agents/pytorch-build-resolver.md +120 -0
  55. package/packs/full-harness/rendered/.claude/agents/react-build-resolver.md +206 -0
  56. package/packs/full-harness/rendered/.claude/agents/react-reviewer.md +156 -0
  57. package/packs/full-harness/rendered/.claude/agents/refactor-cleaner.md +85 -0
  58. package/packs/full-harness/rendered/.claude/agents/rust-build-resolver.md +148 -0
  59. package/packs/full-harness/rendered/.claude/agents/rust-reviewer.md +85 -0
  60. package/packs/full-harness/rendered/.claude/agents/security-reviewer.md +108 -0
  61. package/packs/full-harness/rendered/.claude/agents/seo-specialist.md +54 -0
  62. package/packs/full-harness/rendered/.claude/agents/silent-failure-hunter.md +50 -0
  63. package/packs/full-harness/rendered/.claude/agents/spec-miner.md +207 -0
  64. package/packs/full-harness/rendered/.claude/agents/swift-build-resolver.md +161 -0
  65. package/packs/full-harness/rendered/.claude/agents/swift-reviewer.md +98 -0
  66. package/packs/full-harness/rendered/.claude/agents/tdd-guide.md +89 -0
  67. package/packs/full-harness/rendered/.claude/agents/type-design-analyzer.md +41 -0
  68. package/packs/full-harness/rendered/.claude/agents/typescript-reviewer.md +96 -0
  69. package/packs/full-harness/rendered/.claude/agents/vue-reviewer.md +195 -0
  70. package/packs/full-harness/rendered/.claude/commands/aside.md +6 -0
  71. package/packs/full-harness/rendered/.claude/commands/auto-update.md +6 -0
  72. package/packs/full-harness/rendered/.claude/commands/build-fix.md +6 -0
  73. package/packs/full-harness/rendered/.claude/commands/checkpoint.md +6 -0
  74. package/packs/full-harness/rendered/.claude/commands/code-review.md +6 -0
  75. package/packs/full-harness/rendered/.claude/commands/cost-report.md +6 -0
  76. package/packs/full-harness/rendered/.claude/commands/cpp-build.md +6 -0
  77. package/packs/full-harness/rendered/.claude/commands/cpp-review.md +6 -0
  78. package/packs/full-harness/rendered/.claude/commands/cpp-test.md +6 -0
  79. package/packs/full-harness/rendered/.claude/commands/ecc-guide.md +6 -0
  80. package/packs/full-harness/rendered/.claude/commands/epic-claim.md +6 -0
  81. package/packs/full-harness/rendered/.claude/commands/epic-decompose.md +6 -0
  82. package/packs/full-harness/rendered/.claude/commands/epic-publish.md +6 -0
  83. package/packs/full-harness/rendered/.claude/commands/epic-review.md +6 -0
  84. package/packs/full-harness/rendered/.claude/commands/epic-sync.md +6 -0
  85. package/packs/full-harness/rendered/.claude/commands/epic-unblock.md +6 -0
  86. package/packs/full-harness/rendered/.claude/commands/epic-validate.md +6 -0
  87. package/packs/full-harness/rendered/.claude/commands/evolve.md +6 -0
  88. package/packs/full-harness/rendered/.claude/commands/fastapi-review.md +6 -0
  89. package/packs/full-harness/rendered/.claude/commands/feature-dev.md +6 -0
  90. package/packs/full-harness/rendered/.claude/commands/flutter-build.md +6 -0
  91. package/packs/full-harness/rendered/.claude/commands/flutter-review.md +6 -0
  92. package/packs/full-harness/rendered/.claude/commands/flutter-test.md +6 -0
  93. package/packs/full-harness/rendered/.claude/commands/gan-build.md +6 -0
  94. package/packs/full-harness/rendered/.claude/commands/gan-design.md +6 -0
  95. package/packs/full-harness/rendered/.claude/commands/go-build.md +6 -0
  96. package/packs/full-harness/rendered/.claude/commands/go-review.md +6 -0
  97. package/packs/full-harness/rendered/.claude/commands/go-test.md +6 -0
  98. package/packs/full-harness/rendered/.claude/commands/gradle-build.md +6 -0
  99. package/packs/full-harness/rendered/.claude/commands/harness-audit.md +6 -0
  100. package/packs/full-harness/rendered/.claude/commands/hookify-configure.md +6 -0
  101. package/packs/full-harness/rendered/.claude/commands/hookify-help.md +6 -0
  102. package/packs/full-harness/rendered/.claude/commands/hookify-list.md +6 -0
  103. package/packs/full-harness/rendered/.claude/commands/hookify.md +6 -0
  104. package/packs/full-harness/rendered/.claude/commands/instinct-export.md +6 -0
  105. package/packs/full-harness/rendered/.claude/commands/instinct-import.md +6 -0
  106. package/packs/full-harness/rendered/.claude/commands/instinct-status.md +6 -0
  107. package/packs/full-harness/rendered/.claude/commands/jira.md +6 -0
  108. package/packs/full-harness/rendered/.claude/commands/kotlin-build.md +6 -0
  109. package/packs/full-harness/rendered/.claude/commands/kotlin-review.md +6 -0
  110. package/packs/full-harness/rendered/.claude/commands/kotlin-test.md +6 -0
  111. package/packs/full-harness/rendered/.claude/commands/learn-eval.md +6 -0
  112. package/packs/full-harness/rendered/.claude/commands/learn.md +6 -0
  113. package/packs/full-harness/rendered/.claude/commands/loop-start.md +6 -0
  114. package/packs/full-harness/rendered/.claude/commands/loop-status.md +6 -0
  115. package/packs/full-harness/rendered/.claude/commands/marketing-campaign.md +6 -0
  116. package/packs/full-harness/rendered/.claude/commands/model-route.md +6 -0
  117. package/packs/full-harness/rendered/.claude/commands/multi-backend.md +6 -0
  118. package/packs/full-harness/rendered/.claude/commands/multi-execute.md +6 -0
  119. package/packs/full-harness/rendered/.claude/commands/multi-frontend.md +6 -0
  120. package/packs/full-harness/rendered/.claude/commands/multi-plan.md +6 -0
  121. package/packs/full-harness/rendered/.claude/commands/multi-workflow.md +6 -0
  122. package/packs/full-harness/rendered/.claude/commands/orch-add-feature.md +6 -0
  123. package/packs/full-harness/rendered/.claude/commands/orch-build-mvp.md +6 -0
  124. package/packs/full-harness/rendered/.claude/commands/orch-change-feature.md +6 -0
  125. package/packs/full-harness/rendered/.claude/commands/orch-fix-defect.md +6 -0
  126. package/packs/full-harness/rendered/.claude/commands/orch-refine-code.md +6 -0
  127. package/packs/full-harness/rendered/.claude/commands/orch-review.md +6 -0
  128. package/packs/full-harness/rendered/.claude/commands/plan-canvas.md +6 -0
  129. package/packs/full-harness/rendered/.claude/commands/plan-prd.md +6 -0
  130. package/packs/full-harness/rendered/.claude/commands/plan.md +6 -0
  131. package/packs/full-harness/rendered/.claude/commands/pm2.md +6 -0
  132. package/packs/full-harness/rendered/.claude/commands/pr.md +6 -0
  133. package/packs/full-harness/rendered/.claude/commands/project-init.md +6 -0
  134. package/packs/full-harness/rendered/.claude/commands/projects.md +6 -0
  135. package/packs/full-harness/rendered/.claude/commands/promote.md +6 -0
  136. package/packs/full-harness/rendered/.claude/commands/prp-commit.md +6 -0
  137. package/packs/full-harness/rendered/.claude/commands/prp-implement.md +6 -0
  138. package/packs/full-harness/rendered/.claude/commands/prp-plan.md +6 -0
  139. package/packs/full-harness/rendered/.claude/commands/prp-pr.md +6 -0
  140. package/packs/full-harness/rendered/.claude/commands/prp-prd.md +6 -0
  141. package/packs/full-harness/rendered/.claude/commands/prune.md +6 -0
  142. package/packs/full-harness/rendered/.claude/commands/python-review.md +6 -0
  143. package/packs/full-harness/rendered/.claude/commands/quality-gate.md +6 -0
  144. package/packs/full-harness/rendered/.claude/commands/react-build.md +6 -0
  145. package/packs/full-harness/rendered/.claude/commands/react-review.md +6 -0
  146. package/packs/full-harness/rendered/.claude/commands/react-test.md +6 -0
  147. package/packs/full-harness/rendered/.claude/commands/refactor-clean.md +6 -0
  148. package/packs/full-harness/rendered/.claude/commands/resume-session.md +6 -0
  149. package/packs/full-harness/rendered/.claude/commands/review-pr.md +6 -0
  150. package/packs/full-harness/rendered/.claude/commands/rust-build.md +6 -0
  151. package/packs/full-harness/rendered/.claude/commands/rust-review.md +6 -0
  152. package/packs/full-harness/rendered/.claude/commands/rust-test.md +6 -0
  153. package/packs/full-harness/rendered/.claude/commands/santa-loop.md +6 -0
  154. package/packs/full-harness/rendered/.claude/commands/save-session.md +6 -0
  155. package/packs/full-harness/rendered/.claude/commands/security-scan.md +6 -0
  156. package/packs/full-harness/rendered/.claude/commands/sessions.md +6 -0
  157. package/packs/full-harness/rendered/.claude/commands/setup-pm.md +6 -0
  158. package/packs/full-harness/rendered/.claude/commands/skill-create.md +6 -0
  159. package/packs/full-harness/rendered/.claude/commands/skill-health.md +6 -0
  160. package/packs/full-harness/rendered/.claude/commands/test-coverage.md +6 -0
  161. package/packs/full-harness/rendered/.claude/commands/update-codemaps.md +6 -0
  162. package/packs/full-harness/rendered/.claude/commands/update-docs.md +6 -0
  163. package/packs/full-harness/rendered/.claude/commands/vue-review.md +6 -0
  164. package/packs/full-harness/rendered/.claude/skills/accessibility/SKILL.md +144 -0
  165. package/packs/full-harness/rendered/.claude/skills/agent-architecture-audit/SKILL.md +254 -0
  166. package/packs/full-harness/rendered/.claude/skills/agent-eval/SKILL.md +143 -0
  167. package/packs/full-harness/rendered/.claude/skills/agent-harness-construction/SKILL.md +72 -0
  168. package/packs/full-harness/rendered/.claude/skills/agent-introspection-debugging/SKILL.md +152 -0
  169. package/packs/full-harness/rendered/.claude/skills/agent-payment-x402/SKILL.md +223 -0
  170. package/packs/full-harness/rendered/.claude/skills/agent-self-evaluation/SKILL.md +181 -0
  171. package/packs/full-harness/rendered/.claude/skills/agent-sort/SKILL.md +214 -0
  172. package/packs/full-harness/rendered/.claude/skills/agentic-engineering/SKILL.md +62 -0
  173. package/packs/full-harness/rendered/.claude/skills/agentic-os/SKILL.md +386 -0
  174. package/packs/full-harness/rendered/.claude/skills/ai-first-engineering/SKILL.md +50 -0
  175. package/packs/full-harness/rendered/.claude/skills/ai-regression-testing/SKILL.md +384 -0
  176. package/packs/full-harness/rendered/.claude/skills/android-clean-architecture/SKILL.md +338 -0
  177. package/packs/full-harness/rendered/.claude/skills/angular-developer/SKILL.md +153 -0
  178. package/packs/full-harness/rendered/.claude/skills/api-connector-builder/SKILL.md +118 -0
  179. package/packs/full-harness/rendered/.claude/skills/api-design/SKILL.md +522 -0
  180. package/packs/full-harness/rendered/.claude/skills/architecture-decision-records/SKILL.md +178 -0
  181. package/packs/full-harness/rendered/.claude/skills/article-writing/SKILL.md +78 -0
  182. package/packs/full-harness/rendered/.claude/skills/automation-audit-ops/SKILL.md +141 -0
  183. package/packs/full-harness/rendered/.claude/skills/autonomous-agent-harness/SKILL.md +272 -0
  184. package/packs/full-harness/rendered/.claude/skills/autonomous-loops/SKILL.md +609 -0
  185. package/packs/full-harness/rendered/.claude/skills/backend-patterns/SKILL.md +560 -0
  186. package/packs/full-harness/rendered/.claude/skills/benchmark/SKILL.md +92 -0
  187. package/packs/full-harness/rendered/.claude/skills/benchmark-methodology/SKILL.md +185 -0
  188. package/packs/full-harness/rendered/.claude/skills/benchmark-optimization-loop/SKILL.md +67 -0
  189. package/packs/full-harness/rendered/.claude/skills/blender-motion-state-inspection/SKILL.md +162 -0
  190. package/packs/full-harness/rendered/.claude/skills/blueprint/SKILL.md +95 -0
  191. package/packs/full-harness/rendered/.claude/skills/brand-discovery/SKILL.md +140 -0
  192. package/packs/full-harness/rendered/.claude/skills/brand-voice/SKILL.md +96 -0
  193. package/packs/full-harness/rendered/.claude/skills/browser-qa/SKILL.md +103 -0
  194. package/packs/full-harness/rendered/.claude/skills/bun-runtime/SKILL.md +83 -0
  195. package/packs/full-harness/rendered/.claude/skills/canary-watch/SKILL.md +106 -0
  196. package/packs/full-harness/rendered/.claude/skills/carrier-relationship-management/SKILL.md +198 -0
  197. package/packs/full-harness/rendered/.claude/skills/cisco-ios-patterns/SKILL.md +162 -0
  198. package/packs/full-harness/rendered/.claude/skills/ck/SKILL.md +143 -0
  199. package/packs/full-harness/rendered/.claude/skills/claude-devfleet/SKILL.md +110 -0
  200. package/packs/full-harness/rendered/.claude/skills/click-path-audit/SKILL.md +243 -0
  201. package/packs/full-harness/rendered/.claude/skills/clickhouse-io/SKILL.md +443 -0
  202. package/packs/full-harness/rendered/.claude/skills/code-tour/SKILL.md +252 -0
  203. package/packs/full-harness/rendered/.claude/skills/codebase-onboarding/SKILL.md +232 -0
  204. package/packs/full-harness/rendered/.claude/skills/codehealth-mcp/SKILL.md +165 -0
  205. package/packs/full-harness/rendered/.claude/skills/coding-standards/SKILL.md +549 -0
  206. package/packs/full-harness/rendered/.claude/skills/competitive-platform-analysis/SKILL.md +209 -0
  207. package/packs/full-harness/rendered/.claude/skills/competitive-report-structure/SKILL.md +157 -0
  208. package/packs/full-harness/rendered/.claude/skills/compose-multiplatform-patterns/SKILL.md +298 -0
  209. package/packs/full-harness/rendered/.claude/skills/config-gc/SKILL.md +118 -0
  210. package/packs/full-harness/rendered/.claude/skills/configure-ecc/SKILL.md +383 -0
  211. package/packs/full-harness/rendered/.claude/skills/connections-optimizer/SKILL.md +188 -0
  212. package/packs/full-harness/rendered/.claude/skills/content-engine/SKILL.md +130 -0
  213. package/packs/full-harness/rendered/.claude/skills/content-hash-cache-pattern/SKILL.md +160 -0
  214. package/packs/full-harness/rendered/.claude/skills/context-budget/SKILL.md +134 -0
  215. package/packs/full-harness/rendered/.claude/skills/continuous-agent-loop/SKILL.md +44 -0
  216. package/packs/full-harness/rendered/.claude/skills/continuous-learning/SKILL.md +130 -0
  217. package/packs/full-harness/rendered/.claude/skills/continuous-learning-v2/SKILL.md +358 -0
  218. package/packs/full-harness/rendered/.claude/skills/cost-aware-llm-pipeline/SKILL.md +182 -0
  219. package/packs/full-harness/rendered/.claude/skills/cost-tracking/SKILL.md +95 -0
  220. package/packs/full-harness/rendered/.claude/skills/council/SKILL.md +202 -0
  221. package/packs/full-harness/rendered/.claude/skills/cpp-coding-standards/SKILL.md +722 -0
  222. package/packs/full-harness/rendered/.claude/skills/cpp-testing/SKILL.md +323 -0
  223. package/packs/full-harness/rendered/.claude/skills/crosspost/SKILL.md +110 -0
  224. package/packs/full-harness/rendered/.claude/skills/csharp-testing/SKILL.md +320 -0
  225. package/packs/full-harness/rendered/.claude/skills/customer-billing-ops/SKILL.md +139 -0
  226. package/packs/full-harness/rendered/.claude/skills/customs-trade-compliance/SKILL.md +248 -0
  227. package/packs/full-harness/rendered/.claude/skills/dart-flutter-patterns/SKILL.md +562 -0
  228. package/packs/full-harness/rendered/.claude/skills/dashboard-builder/SKILL.md +106 -0
  229. package/packs/full-harness/rendered/.claude/skills/data-scraper-agent/SKILL.md +763 -0
  230. package/packs/full-harness/rendered/.claude/skills/data-throughput-accelerator/SKILL.md +70 -0
  231. package/packs/full-harness/rendered/.claude/skills/database-migrations/SKILL.md +428 -0
  232. package/packs/full-harness/rendered/.claude/skills/deep-research/SKILL.md +158 -0
  233. package/packs/full-harness/rendered/.claude/skills/defi-amm-security/SKILL.md +164 -0
  234. package/packs/full-harness/rendered/.claude/skills/delivery-gate/SKILL.md +123 -0
  235. package/packs/full-harness/rendered/.claude/skills/deployment-patterns/SKILL.md +426 -0
  236. package/packs/full-harness/rendered/.claude/skills/design-system/SKILL.md +81 -0
  237. package/packs/full-harness/rendered/.claude/skills/django-celery/SKILL.md +456 -0
  238. package/packs/full-harness/rendered/.claude/skills/django-patterns/SKILL.md +733 -0
  239. package/packs/full-harness/rendered/.claude/skills/django-security/SKILL.md +642 -0
  240. package/packs/full-harness/rendered/.claude/skills/django-tdd/SKILL.md +728 -0
  241. package/packs/full-harness/rendered/.claude/skills/django-verification/SKILL.md +468 -0
  242. package/packs/full-harness/rendered/.claude/skills/dmux-workflows/SKILL.md +190 -0
  243. package/packs/full-harness/rendered/.claude/skills/docker-patterns/SKILL.md +363 -0
  244. package/packs/full-harness/rendered/.claude/skills/documentation-lookup/SKILL.md +89 -0
  245. package/packs/full-harness/rendered/.claude/skills/dotnet-patterns/SKILL.md +320 -0
  246. package/packs/full-harness/rendered/.claude/skills/dynamic-workflow-mode/SKILL.md +122 -0
  247. package/packs/full-harness/rendered/.claude/skills/e2e-testing/SKILL.md +325 -0
  248. package/packs/full-harness/rendered/.claude/skills/ecc-guide/SKILL.md +188 -0
  249. package/packs/full-harness/rendered/.claude/skills/ecc-recipes/SKILL.md +145 -0
  250. package/packs/full-harness/rendered/.claude/skills/ecc-tools-cost-audit/SKILL.md +159 -0
  251. package/packs/full-harness/rendered/.claude/skills/email-ops/SKILL.md +120 -0
  252. package/packs/full-harness/rendered/.claude/skills/energy-procurement/SKILL.md +213 -0
  253. package/packs/full-harness/rendered/.claude/skills/enterprise-agent-ops/SKILL.md +49 -0
  254. package/packs/full-harness/rendered/.claude/skills/error-handling/SKILL.md +375 -0
  255. package/packs/full-harness/rendered/.claude/skills/eval-harness/SKILL.md +268 -0
  256. package/packs/full-harness/rendered/.claude/skills/evm-token-decimals/SKILL.md +128 -0
  257. package/packs/full-harness/rendered/.claude/skills/exa-search/SKILL.md +106 -0
  258. package/packs/full-harness/rendered/.claude/skills/fal-ai-media/SKILL.md +287 -0
  259. package/packs/full-harness/rendered/.claude/skills/fastapi-patterns/SKILL.md +512 -0
  260. package/packs/full-harness/rendered/.claude/skills/finance-billing-ops/SKILL.md +126 -0
  261. package/packs/full-harness/rendered/.claude/skills/flox-environments/SKILL.md +495 -0
  262. package/packs/full-harness/rendered/.claude/skills/flutter-dart-code-review/SKILL.md +434 -0
  263. package/packs/full-harness/rendered/.claude/skills/foundation-models-on-device/SKILL.md +243 -0
  264. package/packs/full-harness/rendered/.claude/skills/frontend-a11y/SKILL.md +441 -0
  265. package/packs/full-harness/rendered/.claude/skills/frontend-design-direction/SKILL.md +91 -0
  266. package/packs/full-harness/rendered/.claude/skills/frontend-patterns/SKILL.md +655 -0
  267. package/packs/full-harness/rendered/.claude/skills/frontend-slides/SKILL.md +183 -0
  268. package/packs/full-harness/rendered/.claude/skills/fsharp-testing/SKILL.md +279 -0
  269. package/packs/full-harness/rendered/.claude/skills/gan-style-harness/SKILL.md +276 -0
  270. package/packs/full-harness/rendered/.claude/skills/gateguard/SKILL.md +131 -0
  271. package/packs/full-harness/rendered/.claude/skills/generating-python-installer/SKILL.md +820 -0
  272. package/packs/full-harness/rendered/.claude/skills/gget/SKILL.md +165 -0
  273. package/packs/full-harness/rendered/.claude/skills/git-workflow/SKILL.md +714 -0
  274. package/packs/full-harness/rendered/.claude/skills/github-ops/SKILL.md +143 -0
  275. package/packs/full-harness/rendered/.claude/skills/golang-patterns/SKILL.md +674 -0
  276. package/packs/full-harness/rendered/.claude/skills/golang-testing/SKILL.md +719 -0
  277. package/packs/full-harness/rendered/.claude/skills/google-workspace-ops/SKILL.md +94 -0
  278. package/packs/full-harness/rendered/.claude/skills/growth-log/SKILL.md +125 -0
  279. package/packs/full-harness/rendered/.claude/skills/healthcare-cdss-patterns/SKILL.md +243 -0
  280. package/packs/full-harness/rendered/.claude/skills/healthcare-emr-patterns/SKILL.md +157 -0
  281. package/packs/full-harness/rendered/.claude/skills/healthcare-eval-harness/SKILL.md +205 -0
  282. package/packs/full-harness/rendered/.claude/skills/healthcare-phi-compliance/SKILL.md +143 -0
  283. package/packs/full-harness/rendered/.claude/skills/hermes-imports/SKILL.md +87 -0
  284. package/packs/full-harness/rendered/.claude/skills/hexagonal-architecture/SKILL.md +275 -0
  285. package/packs/full-harness/rendered/.claude/skills/hipaa-compliance/SKILL.md +76 -0
  286. package/packs/full-harness/rendered/.claude/skills/homelab-network-readiness/SKILL.md +168 -0
  287. package/packs/full-harness/rendered/.claude/skills/homelab-network-setup/SKILL.md +128 -0
  288. package/packs/full-harness/rendered/.claude/skills/homelab-pihole-dns/SKILL.md +273 -0
  289. package/packs/full-harness/rendered/.claude/skills/homelab-vlan-segmentation/SKILL.md +310 -0
  290. package/packs/full-harness/rendered/.claude/skills/homelab-wireguard-vpn/SKILL.md +304 -0
  291. package/packs/full-harness/rendered/.claude/skills/hookify-rules/SKILL.md +128 -0
  292. package/packs/full-harness/rendered/.claude/skills/inherit-legacy-style/SKILL.md +154 -0
  293. package/packs/full-harness/rendered/.claude/skills/intent-driven-development/SKILL.md +360 -0
  294. package/packs/full-harness/rendered/.claude/skills/inventory-demand-planning/SKILL.md +232 -0
  295. package/packs/full-harness/rendered/.claude/skills/investor-materials/SKILL.md +95 -0
  296. package/packs/full-harness/rendered/.claude/skills/investor-outreach/SKILL.md +90 -0
  297. package/packs/full-harness/rendered/.claude/skills/ios-icon-gen/SKILL.md +156 -0
  298. package/packs/full-harness/rendered/.claude/skills/iterative-retrieval/SKILL.md +210 -0
  299. package/packs/full-harness/rendered/.claude/skills/ito-basket-compare/SKILL.md +62 -0
  300. package/packs/full-harness/rendered/.claude/skills/ito-data-atlas-agent/SKILL.md +62 -0
  301. package/packs/full-harness/rendered/.claude/skills/ito-market-intelligence/SKILL.md +59 -0
  302. package/packs/full-harness/rendered/.claude/skills/ito-trade-planner/SKILL.md +66 -0
  303. package/packs/full-harness/rendered/.claude/skills/java-coding-standards/SKILL.md +382 -0
  304. package/packs/full-harness/rendered/.claude/skills/jira-integration/SKILL.md +301 -0
  305. package/packs/full-harness/rendered/.claude/skills/jpa-patterns/SKILL.md +150 -0
  306. package/packs/full-harness/rendered/.claude/skills/knowledge-ops/SKILL.md +153 -0
  307. package/packs/full-harness/rendered/.claude/skills/kotlin-coroutines-flows/SKILL.md +283 -0
  308. package/packs/full-harness/rendered/.claude/skills/kotlin-exposed-patterns/SKILL.md +718 -0
  309. package/packs/full-harness/rendered/.claude/skills/kotlin-ktor-patterns/SKILL.md +688 -0
  310. package/packs/full-harness/rendered/.claude/skills/kotlin-patterns/SKILL.md +710 -0
  311. package/packs/full-harness/rendered/.claude/skills/kotlin-testing/SKILL.md +823 -0
  312. package/packs/full-harness/rendered/.claude/skills/kubernetes-patterns/SKILL.md +754 -0
  313. package/packs/full-harness/rendered/.claude/skills/laravel-patterns/SKILL.md +414 -0
  314. package/packs/full-harness/rendered/.claude/skills/laravel-plugin-discovery/SKILL.md +228 -0
  315. package/packs/full-harness/rendered/.claude/skills/laravel-security/SKILL.md +946 -0
  316. package/packs/full-harness/rendered/.claude/skills/laravel-tdd/SKILL.md +673 -0
  317. package/packs/full-harness/rendered/.claude/skills/laravel-verification/SKILL.md +178 -0
  318. package/packs/full-harness/rendered/.claude/skills/latency-critical-systems/SKILL.md +71 -0
  319. package/packs/full-harness/rendered/.claude/skills/lead-intelligence/SKILL.md +320 -0
  320. package/packs/full-harness/rendered/.claude/skills/liquid-glass-design/SKILL.md +279 -0
  321. package/packs/full-harness/rendered/.claude/skills/literature-review/SKILL.md +191 -0
  322. package/packs/full-harness/rendered/.claude/skills/llm-trading-agent-security/SKILL.md +144 -0
  323. package/packs/full-harness/rendered/.claude/skills/logistics-exception-management/SKILL.md +208 -0
  324. package/packs/full-harness/rendered/.claude/skills/loop-design-check/SKILL.md +141 -0
  325. package/packs/full-harness/rendered/.claude/skills/mailtrap-email-integration/SKILL.md +76 -0
  326. package/packs/full-harness/rendered/.claude/skills/make-interfaces-feel-better/SKILL.md +150 -0
  327. package/packs/full-harness/rendered/.claude/skills/manim-video/SKILL.md +88 -0
  328. package/packs/full-harness/rendered/.claude/skills/market-research/SKILL.md +74 -0
  329. package/packs/full-harness/rendered/.claude/skills/marketing-campaign/SKILL.md +112 -0
  330. package/packs/full-harness/rendered/.claude/skills/mcp-server-patterns/SKILL.md +68 -0
  331. package/packs/full-harness/rendered/.claude/skills/messages-ops/SKILL.md +103 -0
  332. package/packs/full-harness/rendered/.claude/skills/ml-adoption-playbook/SKILL.md +56 -0
  333. package/packs/full-harness/rendered/.claude/skills/mle-workflow/SKILL.md +345 -0
  334. package/packs/full-harness/rendered/.claude/skills/motion-advanced/SKILL.md +592 -0
  335. package/packs/full-harness/rendered/.claude/skills/motion-foundations/SKILL.md +295 -0
  336. package/packs/full-harness/rendered/.claude/skills/motion-patterns/SKILL.md +430 -0
  337. package/packs/full-harness/rendered/.claude/skills/motion-ui/SKILL.md +574 -0
  338. package/packs/full-harness/rendered/.claude/skills/mysql-patterns/SKILL.md +411 -0
  339. package/packs/full-harness/rendered/.claude/skills/nanoclaw-repl/SKILL.md +32 -0
  340. package/packs/full-harness/rendered/.claude/skills/nestjs-patterns/SKILL.md +229 -0
  341. package/packs/full-harness/rendered/.claude/skills/netmiko-ssh-automation/SKILL.md +172 -0
  342. package/packs/full-harness/rendered/.claude/skills/network-bgp-diagnostics/SKILL.md +166 -0
  343. package/packs/full-harness/rendered/.claude/skills/network-config-validation/SKILL.md +209 -0
  344. package/packs/full-harness/rendered/.claude/skills/network-interface-health/SKILL.md +151 -0
  345. package/packs/full-harness/rendered/.claude/skills/nextjs-turbopack/SKILL.md +56 -0
  346. package/packs/full-harness/rendered/.claude/skills/nodejs-keccak256/SKILL.md +100 -0
  347. package/packs/full-harness/rendered/.claude/skills/nutrient-document-processing/SKILL.md +166 -0
  348. package/packs/full-harness/rendered/.claude/skills/nuxt4-patterns/SKILL.md +99 -0
  349. package/packs/full-harness/rendered/.claude/skills/openclaw-persona-forge/SKILL.md +287 -0
  350. package/packs/full-harness/rendered/.claude/skills/opensource-pipeline/SKILL.md +254 -0
  351. package/packs/full-harness/rendered/.claude/skills/orch-add-feature/SKILL.md +43 -0
  352. package/packs/full-harness/rendered/.claude/skills/orch-build-mvp/SKILL.md +47 -0
  353. package/packs/full-harness/rendered/.claude/skills/orch-change-feature/SKILL.md +41 -0
  354. package/packs/full-harness/rendered/.claude/skills/orch-fix-defect/SKILL.md +41 -0
  355. package/packs/full-harness/rendered/.claude/skills/orch-pipeline/SKILL.md +119 -0
  356. package/packs/full-harness/rendered/.claude/skills/orch-refine-code/SKILL.md +42 -0
  357. package/packs/full-harness/rendered/.claude/skills/parallel-execution-optimizer/SKILL.md +70 -0
  358. package/packs/full-harness/rendered/.claude/skills/perl-patterns/SKILL.md +503 -0
  359. package/packs/full-harness/rendered/.claude/skills/perl-security/SKILL.md +502 -0
  360. package/packs/full-harness/rendered/.claude/skills/perl-testing/SKILL.md +474 -0
  361. package/packs/full-harness/rendered/.claude/skills/plan-canvas/SKILL.md +150 -0
  362. package/packs/full-harness/rendered/.claude/skills/plan-orchestrate/SKILL.md +261 -0
  363. package/packs/full-harness/rendered/.claude/skills/plankton-code-quality/SKILL.md +235 -0
  364. package/packs/full-harness/rendered/.claude/skills/postgres-patterns/SKILL.md +146 -0
  365. package/packs/full-harness/rendered/.claude/skills/prediction-market-oracle-research/SKILL.md +62 -0
  366. package/packs/full-harness/rendered/.claude/skills/prediction-market-risk-review/SKILL.md +59 -0
  367. package/packs/full-harness/rendered/.claude/skills/prisma-patterns/SKILL.md +399 -0
  368. package/packs/full-harness/rendered/.claude/skills/product-capability/SKILL.md +140 -0
  369. package/packs/full-harness/rendered/.claude/skills/product-lens/SKILL.md +91 -0
  370. package/packs/full-harness/rendered/.claude/skills/production-audit/SKILL.md +205 -0
  371. package/packs/full-harness/rendered/.claude/skills/production-scheduling/SKILL.md +223 -0
  372. package/packs/full-harness/rendered/.claude/skills/project-flow-ops/SKILL.md +110 -0
  373. package/packs/full-harness/rendered/.claude/skills/prompt-optimizer/SKILL.md +383 -0
  374. package/packs/full-harness/rendered/.claude/skills/pubmed-database/SKILL.md +174 -0
  375. package/packs/full-harness/rendered/.claude/skills/python-patterns/SKILL.md +749 -0
  376. package/packs/full-harness/rendered/.claude/skills/python-testing/SKILL.md +815 -0
  377. package/packs/full-harness/rendered/.claude/skills/pytorch-patterns/SKILL.md +395 -0
  378. package/packs/full-harness/rendered/.claude/skills/quality-nonconformance/SKILL.md +245 -0
  379. package/packs/full-harness/rendered/.claude/skills/quarkus-patterns/SKILL.md +721 -0
  380. package/packs/full-harness/rendered/.claude/skills/quarkus-security/SKILL.md +466 -0
  381. package/packs/full-harness/rendered/.claude/skills/quarkus-tdd/SKILL.md +810 -0
  382. package/packs/full-harness/rendered/.claude/skills/quarkus-verification/SKILL.md +478 -0
  383. package/packs/full-harness/rendered/.claude/skills/ralphinho-rfc-pipeline/SKILL.md +66 -0
  384. package/packs/full-harness/rendered/.claude/skills/react-native-patterns/SKILL.md +325 -0
  385. package/packs/full-harness/rendered/.claude/skills/react-patterns/SKILL.md +340 -0
  386. package/packs/full-harness/rendered/.claude/skills/react-performance/SKILL.md +573 -0
  387. package/packs/full-harness/rendered/.claude/skills/react-testing/SKILL.md +422 -0
  388. package/packs/full-harness/rendered/.claude/skills/recsys-pipeline-architect/SKILL.md +113 -0
  389. package/packs/full-harness/rendered/.claude/skills/recursive-decision-ledger/SKILL.md +77 -0
  390. package/packs/full-harness/rendered/.claude/skills/redis-patterns/SKILL.md +402 -0
  391. package/packs/full-harness/rendered/.claude/skills/regex-vs-llm-structured-text/SKILL.md +219 -0
  392. package/packs/full-harness/rendered/.claude/skills/remotion-video-creation/SKILL.md +41 -0
  393. package/packs/full-harness/rendered/.claude/skills/repo-scan/SKILL.md +77 -0
  394. package/packs/full-harness/rendered/.claude/skills/research-ops/SKILL.md +111 -0
  395. package/packs/full-harness/rendered/.claude/skills/returns-reverse-logistics/SKILL.md +225 -0
  396. package/packs/full-harness/rendered/.claude/skills/rules-distill/SKILL.md +263 -0
  397. package/packs/full-harness/rendered/.claude/skills/rust-patterns/SKILL.md +498 -0
  398. package/packs/full-harness/rendered/.claude/skills/rust-testing/SKILL.md +499 -0
  399. package/packs/full-harness/rendered/.claude/skills/safety-guard/SKILL.md +74 -0
  400. package/packs/full-harness/rendered/.claude/skills/santa-method/SKILL.md +305 -0
  401. package/packs/full-harness/rendered/.claude/skills/scholar-evaluation/SKILL.md +159 -0
  402. package/packs/full-harness/rendered/.claude/skills/search-first/SKILL.md +181 -0
  403. package/packs/full-harness/rendered/.claude/skills/security-bounty-hunter/SKILL.md +97 -0
  404. package/packs/full-harness/rendered/.claude/skills/security-review/SKILL.md +502 -0
  405. package/packs/full-harness/rendered/.claude/skills/security-scan/SKILL.md +164 -0
  406. package/packs/full-harness/rendered/.claude/skills/seo/SKILL.md +153 -0
  407. package/packs/full-harness/rendered/.claude/skills/skill-comply/SKILL.md +56 -0
  408. package/packs/full-harness/rendered/.claude/skills/skill-scout/SKILL.md +139 -0
  409. package/packs/full-harness/rendered/.claude/skills/skill-stocktake/SKILL.md +193 -0
  410. package/packs/full-harness/rendered/.claude/skills/social-graph-ranker/SKILL.md +153 -0
  411. package/packs/full-harness/rendered/.claude/skills/social-publisher/SKILL.md +128 -0
  412. package/packs/full-harness/rendered/.claude/skills/springboot-patterns/SKILL.md +313 -0
  413. package/packs/full-harness/rendered/.claude/skills/springboot-security/SKILL.md +271 -0
  414. package/packs/full-harness/rendered/.claude/skills/springboot-tdd/SKILL.md +157 -0
  415. package/packs/full-harness/rendered/.claude/skills/springboot-verification/SKILL.md +230 -0
  416. package/packs/full-harness/rendered/.claude/skills/strategic-compact/SKILL.md +136 -0
  417. package/packs/full-harness/rendered/.claude/skills/swift-actor-persistence/SKILL.md +142 -0
  418. package/packs/full-harness/rendered/.claude/skills/swift-concurrency-6-2/SKILL.md +216 -0
  419. package/packs/full-harness/rendered/.claude/skills/swift-protocol-di-testing/SKILL.md +189 -0
  420. package/packs/full-harness/rendered/.claude/skills/swiftui-patterns/SKILL.md +259 -0
  421. package/packs/full-harness/rendered/.claude/skills/taste/SKILL.md +263 -0
  422. package/packs/full-harness/rendered/.claude/skills/tdd-workflow/SKILL.md +580 -0
  423. package/packs/full-harness/rendered/.claude/skills/team-agent-orchestration/SKILL.md +109 -0
  424. package/packs/full-harness/rendered/.claude/skills/team-builder/SKILL.md +167 -0
  425. package/packs/full-harness/rendered/.claude/skills/terminal-ops/SKILL.md +108 -0
  426. package/packs/full-harness/rendered/.claude/skills/tinystruct-patterns/SKILL.md +277 -0
  427. package/packs/full-harness/rendered/.claude/skills/token-budget-advisor/SKILL.md +120 -0
  428. package/packs/full-harness/rendered/.claude/skills/ui-demo/SKILL.md +464 -0
  429. package/packs/full-harness/rendered/.claude/skills/ui-to-vue/SKILL.md +133 -0
  430. package/packs/full-harness/rendered/.claude/skills/uncloud/SKILL.md +342 -0
  431. package/packs/full-harness/rendered/.claude/skills/unified-notifications-ops/SKILL.md +186 -0
  432. package/packs/full-harness/rendered/.claude/skills/uspto-database/SKILL.md +176 -0
  433. package/packs/full-harness/rendered/.claude/skills/verification-loop/SKILL.md +126 -0
  434. package/packs/full-harness/rendered/.claude/skills/video-editing/SKILL.md +309 -0
  435. package/packs/full-harness/rendered/.claude/skills/videodb/SKILL.md +371 -0
  436. package/packs/full-harness/rendered/.claude/skills/visa-doc-translate/SKILL.md +117 -0
  437. package/packs/full-harness/rendered/.claude/skills/vite-patterns/SKILL.md +448 -0
  438. package/packs/full-harness/rendered/.claude/skills/vue-patterns/SKILL.md +470 -0
  439. package/packs/full-harness/rendered/.claude/skills/windows-desktop-e2e/SKILL.md +886 -0
  440. package/packs/full-harness/rendered/.claude/skills/workspace-surface-audit/SKILL.md +124 -0
  441. package/packs/full-harness/rendered/.claude/skills/x-api/SKILL.md +233 -0
  442. package/packs/full-harness/rendered/.github/copilot-instructions.md +89529 -0
  443. package/packs/full-harness/rendered/AGENTS.md +9663 -0
  444. package/packs/full-harness/rendered/CLAUDE.md +444 -0
  445. package/packs/full-harness/rendered/GEMINI.md +71959 -0
@@ -0,0 +1,62 @@
1
+ ---
2
+ name: prediction-market-oracle-research
3
+ description: Research prediction markets as data sources or oracle signals for products, agents, dashboards, and corporate decision intelligence. Use for source-grounded analysis of market-implied probabilities, caveats, and integration patterns without investment advice.
4
+ ---
5
+
6
+ # Prediction Market Oracle Research
7
+
8
+ Use this skill when prediction markets are being considered as a data source,
9
+ forecasting input, oracle-like signal, or decision-intelligence layer.
10
+
11
+ ## Guardrails
12
+
13
+ - Do not treat market prices as objective truth.
14
+ - Do not provide investment advice or trading recommendations.
15
+ - Separate venue mechanics, liquidity, incentives, and resolution rules from the
16
+ implied signal.
17
+ - Call out manipulation, thin liquidity, stale markets, and ambiguous outcomes.
18
+ - For on-chain or execution-linked systems, run `llm-trading-agent-security`
19
+ before granting any write authority.
20
+
21
+ ## Research Workflow
22
+
23
+ 1. Define the decision the signal is meant to inform.
24
+ 2. Find relevant markets, events, tags, and venues.
25
+ 3. Record market-implied probabilities with timestamps and source links.
26
+ 4. Evaluate signal quality:
27
+ - liquidity
28
+ - spread
29
+ - market age
30
+ - trader/incentive concentration if known
31
+ - resolution authority
32
+ - geography or account restrictions
33
+ 5. Compare against non-market sources such as filings, news, polls, research,
34
+ customer data, or internal KPIs.
35
+ 6. Recommend whether the signal is usable, weak, or unsuitable for the stated
36
+ decision.
37
+
38
+ ## Integration Patterns
39
+
40
+ - Research assistant: source-grounded context for a human analyst.
41
+ - Dashboard signal: market-implied probability alongside internal metrics.
42
+ - Agent memory input: a time-stamped signal that can be retrieved later.
43
+ - Alerting input: notify when probabilities, spreads, or liquidity cross a
44
+ threshold.
45
+ - Scenario planning: compare multiple event outcomes without automating trades.
46
+
47
+ ## Output Contract
48
+
49
+ Use:
50
+
51
+ 1. decision context
52
+ 2. market sources
53
+ 3. signal quality
54
+ 4. comparison sources
55
+ 5. integration recommendation
56
+ 6. caveats
57
+
58
+ End with:
59
+
60
+ ```text
61
+ Prediction-market signals are informational inputs, not investment advice.
62
+ ```
@@ -0,0 +1,59 @@
1
+ ---
2
+ name: prediction-market-risk-review
3
+ description: Review prediction-market, basket, oracle, and trading-agent workflows for compliance, safety, data-quality, privacy, and execution risk. Use before any workflow handles venue auth, user portfolio data, API keys, or trade planning.
4
+ ---
5
+
6
+ # Prediction Market Risk Review
7
+
8
+ Use this skill before a prediction-market workflow touches user financial
9
+ context, venue authentication, portfolio data, automation, or execution-capable
10
+ tools.
11
+
12
+ ## Review Gates
13
+
14
+ ### Advice Boundary
15
+
16
+ - Confirm the output is informational.
17
+ - Remove buy/sell/hold/size recommendations.
18
+ - Keep manual user decision points explicit.
19
+
20
+ ### Venue And Regulatory Boundary
21
+
22
+ - Identify venue terms, geography restrictions, account limits, and API rules.
23
+ - Flag betting, derivatives, securities, or commodities ambiguity for legal
24
+ review when relevant.
25
+ - Do not bypass venue restrictions or rate limits.
26
+
27
+ ### Data Quality
28
+
29
+ - Check market liquidity, spread, resolution rules, stale prices, and source
30
+ timestamps.
31
+ - Separate public venue data from Itô gated data.
32
+ - Do not mix public and private sources without labels.
33
+
34
+ ### Security
35
+
36
+ - Do not request or store private keys, seed phrases, or passwords.
37
+ - Keep `ITO_API_KEY` and venue API keys out of logs and docs.
38
+ - Use read-only scopes by default.
39
+ - Require circuit breakers, spend limits, dry runs, and human approval before
40
+ any private implementation adds execution.
41
+
42
+ ### Privacy
43
+
44
+ - Minimize user portfolio, financial, and knowledge-base data.
45
+ - Redact private sources in public artifacts.
46
+ - Preserve only the fields needed for the review.
47
+
48
+ ## Output Contract
49
+
50
+ Return:
51
+
52
+ 1. scope reviewed
53
+ 2. pass/warn/fail findings
54
+ 3. blocked actions
55
+ 4. required mitigations
56
+ 5. safe next step
57
+
58
+ If any execution-capable step is requested, require a separate implementation
59
+ plan and explicit user approval.
@@ -0,0 +1,399 @@
1
+ ---
2
+ name: prisma-patterns
3
+ description: Prisma ORM patterns for TypeScript backends — schema design, query optimization, transactions, pagination, and critical traps like updateMany returning count not records, $transaction timeouts, migrate dev resetting the DB, @updatedAt skipped on bulk writes, and serverless connection exhaustion.
4
+ ---
5
+
6
+ # Prisma Patterns
7
+
8
+ Production patterns and non-obvious traps for Prisma ORM in TypeScript backends.
9
+
10
+ > **Check your version before applying patterns.** The Prisma API surface has evolved across major releases:
11
+ >
12
+ > ```bash
13
+ > npx prisma --version
14
+ > ```
15
+ >
16
+ > Notable API differences across versions:
17
+ > - `relationJoins` can load relations via JOIN rather than separate queries, but may cause row explosion on large 1:N relations or deep `include` — benchmark both approaches
18
+ > - `omit` field modifier and `prisma.$extends` Client Extensions API were added
19
+ > - **Newer installs**: the package may be named `prisma` instead of `@prisma/client`; `PrismaClient` may require a driver adapter (e.g. `@prisma/adapter-pg`); `datasource.url` may live in `prisma.config.ts` instead of `schema.prisma`
20
+ > - CLI commands (`migrate dev`, `migrate deploy`, `generate`) are unchanged across versions
21
+
22
+ ## When to Activate
23
+
24
+ - Designing or modifying Prisma schema models and relations
25
+ - Writing queries, transactions, or pagination logic
26
+ - Using `updateMany`, `deleteMany`, or any bulk operation
27
+ - Running or planning database migrations
28
+ - Deploying to serverless environments (Vercel, Lambda, Cloudflare Workers)
29
+ - Implementing soft delete or multi-tenant row filtering
30
+
31
+ ## Core Concepts
32
+
33
+ ### ID Strategy
34
+
35
+ | Strategy | Use When | Avoid When |
36
+ |---|---|---|
37
+ | `@default(cuid())` | Default choice — URL-safe, sortable, no collisions | Sequential IDs needed for external systems |
38
+ | `@default(uuid())` | Interoperability with non-Prisma systems required | High-write tables (random UUIDs fragment B-tree indexes) |
39
+ | `@default(autoincrement())` | Internal join tables, audit logs | Public-facing IDs (exposes record count) |
40
+
41
+ ### Schema Defaults
42
+
43
+ ```prisma
44
+ model User {
45
+ id String @id @default(cuid())
46
+ email String @unique // @unique already creates an index — no @@index needed
47
+ name String
48
+ role Role @default(USER)
49
+ posts Post[]
50
+ createdAt DateTime @default(now())
51
+ updatedAt DateTime @updatedAt
52
+ deletedAt DateTime?
53
+
54
+ @@index([createdAt])
55
+ @@index([deletedAt, createdAt]) // composite for soft-delete + sort queries
56
+ }
57
+ ```
58
+
59
+ - Add `@@index` on every foreign key and column used in `WHERE` or `ORDER BY`.
60
+ - Declare `deletedAt DateTime?` upfront when soft delete is a foreseeable requirement — adding it later requires a migration on a live table.
61
+ - `updatedAt @updatedAt` is set automatically by Prisma on `update` and `upsert` only (see Anti-Patterns for bulk update trap).
62
+
63
+ ### `include` vs `select`
64
+
65
+ | | `include` | `select` |
66
+ |---|---|---|
67
+ | Returns | All scalar fields + specified relations | Only specified fields |
68
+ | Use when | You need most fields plus a relation | Hot paths, large tables, avoiding over-fetch |
69
+ | Performance | May over-fetch on wide tables | Minimal payload, faster on large datasets |
70
+ | Prisma 5 note | Uses JOIN by default (`relationJoins`) | Same |
71
+
72
+ ```ts
73
+ // include — all columns + relation
74
+ const user = await prisma.user.findUnique({
75
+ where: { id },
76
+ include: { posts: { select: { id: true, title: true } } },
77
+ });
78
+
79
+ // select — explicit allowlist
80
+ const user = await prisma.user.findUnique({
81
+ where: { id },
82
+ select: { id: true, email: true, name: true },
83
+ });
84
+ ```
85
+
86
+ Never return raw Prisma entities from API responses — map to response DTOs to control exposed fields:
87
+
88
+ ```ts
89
+ // BAD: leaks passwordHash, deletedAt, internal fields
90
+ return await prisma.user.findUniqueOrThrow({ where: { id } });
91
+
92
+ // GOOD: explicit DTO mapping
93
+ const user = await prisma.user.findUniqueOrThrow({ where: { id } });
94
+ return { id: user.id, name: user.name, email: user.email };
95
+ ```
96
+
97
+ ### Transaction Form Selection
98
+
99
+ | Situation | Use |
100
+ |---|---|
101
+ | Independent operations, no inter-dependency | Array form |
102
+ | Later step depends on earlier result | Interactive form |
103
+ | External calls (email, HTTP) involved | Outside transaction entirely |
104
+
105
+ ```ts
106
+ // Array form — batched in one round trip
107
+ const [user, post] = await prisma.$transaction([
108
+ prisma.user.update({ where: { id }, data: { name } }),
109
+ prisma.post.create({ data: { title, authorId: id } }),
110
+ ]);
111
+
112
+ // Interactive form — use tx client only, never the outer prisma client
113
+ const post = await prisma.$transaction(async (tx) => {
114
+ const user = await tx.user.findUniqueOrThrow({ where: { id } });
115
+ if (user.role !== 'ADMIN') throw new Error('Forbidden');
116
+ return tx.post.create({ data: { title, authorId: user.id } });
117
+ });
118
+ ```
119
+
120
+ ### PrismaClient Singleton
121
+
122
+ Each `PrismaClient` instance opens its own connection pool. Instantiate once.
123
+
124
+ ```ts
125
+ // lib/prisma.ts
126
+
127
+ // Option A — adapter-based initialization (required by newer Prisma installs)
128
+ import { PrismaClient } from '@prisma/client'; // or the generated client path for your setup
129
+ import { PrismaPg } from '@prisma/adapter-pg';
130
+
131
+ function createPrismaClient() {
132
+ const adapter = new PrismaPg({
133
+ connectionString: process.env.DATABASE_URL!,
134
+ });
135
+ return new PrismaClient({
136
+ adapter,
137
+ log: process.env.NODE_ENV === 'development' ? ['query', 'error'] : ['error'],
138
+ });
139
+ }
140
+
141
+ const globalForPrisma = globalThis as unknown as { prisma?: PrismaClient };
142
+
143
+ export const prisma = globalForPrisma.prisma ?? createPrismaClient();
144
+
145
+ if (process.env.NODE_ENV !== 'production') globalForPrisma.prisma = prisma;
146
+
147
+ // Option B — direct initialization (older installs, no adapter needed)
148
+ // import { PrismaClient } from '@prisma/client';
149
+ // export const prisma = globalForPrisma.prisma ?? new PrismaClient({ ... });
150
+ ```
151
+
152
+ Use Option A if your Prisma install requires an `adapter` argument in the `PrismaClient` constructor.
153
+ Use Option B if `new PrismaClient()` works without arguments. Let the compiler tell you which is correct.
154
+
155
+ The `globalThis` pattern prevents duplicate instances during hot reload (Next.js, nodemon, ts-node-dev).
156
+
157
+ ### N+1 Problem
158
+
159
+ Loading relations inside a loop issues one query per row.
160
+
161
+ ```ts
162
+ // BAD: N+1 — one extra query per user
163
+ const users = await prisma.user.findMany();
164
+ for (const user of users) {
165
+ const posts = await prisma.post.findMany({ where: { authorId: user.id } });
166
+ }
167
+
168
+ // GOOD: single query
169
+ const users = await prisma.user.findMany({ include: { posts: true } });
170
+ ```
171
+
172
+ With Prisma 5+ `relationJoins`, the `include` form uses a single JOIN. On large 1:N sets this may increase result set size — benchmark both approaches if the relation can return many rows per parent.
173
+
174
+ ## Code Examples
175
+
176
+ ### Cursor Pagination (preferred for feeds and large datasets)
177
+
178
+ ```ts
179
+ async function getPosts(cursor?: string, limit = 20) {
180
+ const items = await prisma.post.findMany({
181
+ where: { published: true },
182
+ orderBy: [
183
+ { createdAt: 'desc' },
184
+ { id: 'desc' }, // secondary sort prevents unstable pagination on duplicate timestamps
185
+ ],
186
+ take: limit + 1,
187
+ ...(cursor && { cursor: { id: cursor }, skip: 1 }),
188
+ });
189
+
190
+ const hasNextPage = items.length > limit;
191
+ if (hasNextPage) items.pop();
192
+
193
+ return { items, nextCursor: hasNextPage ? items[items.length - 1].id : null };
194
+ }
195
+ ```
196
+
197
+ Fetch `limit + 1` and pop — canonical way to detect `hasNextPage` without an extra count query. Always include a unique field (e.g. `id`) as a secondary `orderBy` to prevent unstable pagination when multiple rows share the same timestamp. Use offset pagination only when users need to jump to arbitrary pages (admin tables).
198
+
199
+ ### Soft Delete
200
+
201
+ ```ts
202
+ // Always filter explicitly — do not rely on middleware (hides behavior, hard to debug)
203
+ const activeUsers = await prisma.user.findMany({ where: { deletedAt: null } });
204
+
205
+ await prisma.user.update({ where: { id }, data: { deletedAt: new Date() } });
206
+ await prisma.user.update({ where: { id }, data: { deletedAt: null } }); // restore
207
+ ```
208
+
209
+ ### Error Handling
210
+
211
+ ```ts
212
+ import { Prisma } from '@prisma/client'; // or the generated client path for your setup
213
+
214
+ try {
215
+ await prisma.user.create({ data: { email } });
216
+ } catch (e) {
217
+ if (e instanceof Prisma.PrismaClientKnownRequestError) {
218
+ if (e.code === 'P2002') throw new ConflictError('Email already exists');
219
+ if (e.code === 'P2025') throw new NotFoundError('Record not found');
220
+ if (e.code === 'P2003') throw new BadRequestError('Referenced record does not exist');
221
+ }
222
+ throw e;
223
+ }
224
+ ```
225
+
226
+ Common codes: `P2002` unique violation · `P2025` not found · `P2003` foreign key violation.
227
+
228
+ Catch at the service boundary and translate to domain errors. Never expose raw Prisma messages to API consumers.
229
+
230
+ ### Connection Pool — Serverless
231
+
232
+ Embed connection params directly in `DATABASE_URL` — string concatenation breaks if the URL already has query parameters (e.g. `?schema=public`):
233
+
234
+ ```bash
235
+ # .env — preferred: embed params in the URL
236
+ DATABASE_URL="postgresql://user:pass@host/db?connection_limit=1&pool_timeout=20"
237
+
238
+ # With an external pooler (PgBouncer, Supabase pooler)
239
+ DATABASE_URL="postgresql://user:pass@host/db?pgbouncer=true&connection_limit=1"
240
+ ```
241
+
242
+ ```ts
243
+ // Vercel, AWS Lambda, and similar serverless runtimes:
244
+ // cap pool to 1 per instance; connection_limit and pool_timeout controlled via DATABASE_URL
245
+
246
+ // Adapter-based setup (if your Prisma install requires an adapter):
247
+ import { PrismaClient } from '@prisma/client';
248
+ import { PrismaPg } from '@prisma/adapter-pg';
249
+
250
+ const prisma = new PrismaClient({
251
+ adapter: new PrismaPg({ connectionString: process.env.DATABASE_URL }),
252
+ });
253
+
254
+ // Direct setup (if your Prisma install does not require an adapter):
255
+ // const prisma = new PrismaClient();
256
+ ```
257
+
258
+ ## Anti-Patterns
259
+
260
+ ### `updateMany` returns a count, not records
261
+
262
+ ```ts
263
+ // BAD: result is { count: 2 } — users[0] is undefined
264
+ const users = await prisma.user.updateMany({ where: { role: 'GUEST' }, data: { role: 'USER' } });
265
+
266
+ // GOOD: capture IDs first, then update, then fetch only the affected rows
267
+ const targets = await prisma.user.findMany({
268
+ where: { role: 'GUEST' },
269
+ select: { id: true },
270
+ });
271
+ const ids = targets.map((u) => u.id);
272
+ await prisma.user.updateMany({ where: { id: { in: ids } }, data: { role: 'USER' } });
273
+ const updated = await prisma.user.findMany({ where: { id: { in: ids } } });
274
+ ```
275
+
276
+ Same applies to `deleteMany` — returns `{ count: n }`, never the deleted rows.
277
+
278
+ ### `$transaction` interactive form times out after 5 seconds
279
+
280
+ ```ts
281
+ // BAD: external call inside transaction exceeds 5s default → "Transaction already closed"
282
+ await prisma.$transaction(async (tx) => {
283
+ const user = await tx.user.findUniqueOrThrow({ where: { id } });
284
+ await sendWelcomeEmail(user.email); // external call
285
+ await tx.user.update({ where: { id }, data: { emailSent: true } });
286
+ });
287
+
288
+ // GOOD: external calls outside the transaction
289
+ const user = await prisma.user.findUniqueOrThrow({ where: { id } });
290
+ await sendWelcomeEmail(user.email);
291
+ await prisma.user.update({ where: { id }, data: { emailSent: true } });
292
+
293
+ // Only raise timeout when bulk processing genuinely needs it
294
+ await prisma.$transaction(async (tx) => { ... }, { timeout: 30_000 });
295
+ ```
296
+
297
+ ### `migrate dev` can reset the database
298
+
299
+ `migrate dev` detects schema drift and may prompt to reset the DB, dropping all data.
300
+
301
+ ```bash
302
+ # NEVER on shared dev, staging, or production
303
+ npx prisma migrate dev --name add_column
304
+
305
+ # Safe everywhere except local solo dev
306
+ npx prisma migrate deploy
307
+
308
+ # Check drift without applying
309
+ npx prisma migrate diff \
310
+ --from-migrations ./prisma/migrations \
311
+ --to-schema-datamodel ./prisma/schema.prisma \
312
+ --shadow-database-url "$SHADOW_DATABASE_URL"
313
+ ```
314
+
315
+ ### Manually editing a migration file breaks future deploys
316
+
317
+ Prisma checksums every migration file. Editing after apply causes `P3006 checksum mismatch` on every environment where the original already ran. Create a new migration instead.
318
+
319
+ ### Breaking schema changes require multi-step migration
320
+
321
+ Adding `NOT NULL` to an existing column or renaming a column in one migration will lock the table or drop data. Use expand-and-contract:
322
+
323
+ ```bash
324
+ # Step 1: create migration locally, then deploy
325
+ npx prisma migrate dev --name add_new_column # local only
326
+ npx prisma migrate deploy # staging / production
327
+ ```
328
+
329
+ ```ts
330
+ // Step 2: backfill data (run in a script or migration job, not in the shell)
331
+ await prisma.user.updateMany({ data: { newColumn: derivedValue } });
332
+ ```
333
+
334
+ ```bash
335
+ # Step 3: create the NOT NULL constraint migration locally, then deploy
336
+ npx prisma migrate dev --name make_new_column_required # local only
337
+ npx prisma migrate deploy # staging / production
338
+ ```
339
+
340
+ ### `@updatedAt` does not fire on `updateMany`
341
+
342
+ `@updatedAt` is set automatically only on `update` and `upsert`. Bulk writes leave it stale.
343
+
344
+ ```ts
345
+ // BAD: updatedAt stays at its old value
346
+ await prisma.post.updateMany({ where: { authorId }, data: { published: true } });
347
+
348
+ // GOOD
349
+ await prisma.post.updateMany({
350
+ where: { authorId },
351
+ data: { published: true, updatedAt: new Date() },
352
+ });
353
+ ```
354
+
355
+ ### Soft delete + `findUniqueOrThrow` leaks deleted records
356
+
357
+ `findUniqueOrThrow` throws `P2025` only when the row does not exist in the DB. Soft-deleted rows still exist and are returned without error.
358
+
359
+ `findUniqueOrThrow` requires a unique constraint field in `where` — adding `deletedAt: null` alongside `id` breaks the type because `{ id, deletedAt }` is not a compound unique constraint. Use `findFirstOrThrow` instead.
360
+
361
+ ```ts
362
+ // BAD: returns soft-deleted user
363
+ const user = await prisma.user.findUniqueOrThrow({ where: { id } });
364
+
365
+ // BAD: Prisma type error — { id, deletedAt } is not a unique constraint
366
+ const user = await prisma.user.findUniqueOrThrow({ where: { id, deletedAt: null } });
367
+
368
+ // GOOD: findFirstOrThrow supports arbitrary where conditions
369
+ const user = await prisma.user.findFirstOrThrow({ where: { id, deletedAt: null } });
370
+ ```
371
+
372
+ ### `deleteMany` without `where` deletes every row
373
+
374
+ ```ts
375
+ // BAD: silently wipes the table
376
+ await prisma.post.deleteMany();
377
+
378
+ // GOOD
379
+ await prisma.post.deleteMany({ where: { authorId: userId } });
380
+ ```
381
+
382
+ ## Best Practices
383
+
384
+ | Rule | Reason |
385
+ |---|---|
386
+ | `migrate deploy` in CI/CD, `migrate dev` only locally | `migrate dev` can reset the DB on drift |
387
+ | Map entities to response DTOs | Prevents leaking internal fields |
388
+ | Catch `PrismaClientKnownRequestError` at service boundary | Translate to domain errors |
389
+ | Prefer `*OrThrow` methods over manual null checks | Throws P2025 automatically; use `findFirstOrThrow` when filtering non-unique fields |
390
+ | `connection_limit=1` + external pooler in serverless | Prevents connection exhaustion |
391
+ | Always provide `where` on `deleteMany` | Prevents accidental table wipe |
392
+ | Set `updatedAt: new Date()` manually in `updateMany` | `@updatedAt` skips bulk writes |
393
+
394
+ ## Related Skills
395
+
396
+ - `nestjs-patterns` — NestJS service layer that integrates Prisma
397
+ - `postgres-patterns` — PostgreSQL-level indexing and connection tuning
398
+ - `database-migrations` — multi-step migration planning for production
399
+ - `backend-patterns` — general API and service layer design
@@ -0,0 +1,140 @@
1
+ ---
2
+ name: product-capability
3
+ description: Translate PRD intent, roadmap asks, or product discussions into an implementation-ready capability plan that exposes constraints, invariants, interfaces, and unresolved decisions before multi-service work starts. Use when the user needs an ECC-native PRD-to-SRS lane instead of vague planning prose.
4
+ ---
5
+
6
+ # Product Capability
7
+
8
+ This skill turns product intent into explicit engineering constraints.
9
+
10
+ Use it when the gap is not "what should we build?" but "what exactly must be true before implementation starts?"
11
+
12
+ ## When to Use
13
+
14
+ - A PRD, roadmap item, discussion, or founder note exists, but the implementation constraints are still implicit
15
+ - A feature crosses multiple services, repos, or teams and needs a capability contract before coding
16
+ - Product intent is clear, but architecture, data, lifecycle, or policy implications are still fuzzy
17
+ - Senior engineers keep restating the same hidden assumptions during review
18
+ - You need a reusable artifact that can survive across harnesses and sessions
19
+
20
+ ## Canonical Artifact
21
+
22
+ If the repo has a durable product-context file such as `PRODUCT.md`, `docs/product/`, or a program-spec directory, update it there.
23
+
24
+ If no capability manifest exists yet, create one using the template at:
25
+
26
+ - `docs/examples/product-capability-template.md`
27
+
28
+ The goal is not to create another planning stack. The goal is to make hidden capability constraints durable and reusable.
29
+
30
+ ## Non-Negotiable Rules
31
+
32
+ - Do not invent product truth. Mark unresolved questions explicitly.
33
+ - Separate user-visible promises from implementation details.
34
+ - Call out what is fixed policy, what is architecture preference, and what is still open.
35
+ - If the request conflicts with existing repo constraints, say so clearly instead of smoothing it over.
36
+ - Prefer one reusable capability artifact over scattered ad hoc notes.
37
+
38
+ ## Inputs
39
+
40
+ Read only what is needed:
41
+
42
+ 1. Product intent
43
+ - issue, discussion, PRD, roadmap note, founder message
44
+ 2. Current architecture
45
+ - relevant repo docs, contracts, schemas, routes, existing workflows
46
+ 3. Existing capability context
47
+ - `PRODUCT.md`, design docs, RFCs, migration notes, operating-model docs
48
+ 4. Delivery constraints
49
+ - auth, billing, compliance, rollout, backwards compatibility, performance, review policy
50
+
51
+ ## Core Workflow
52
+
53
+ ### 1. Restate the capability
54
+
55
+ Compress the ask into one precise statement:
56
+
57
+ - who the user or operator is
58
+ - what new capability exists after this ships
59
+ - what outcome changes because of it
60
+
61
+ If this statement is weak, the implementation will drift.
62
+
63
+ ### 2. Resolve capability constraints
64
+
65
+ Extract the constraints that must hold before implementation:
66
+
67
+ - business rules
68
+ - scope boundaries
69
+ - invariants
70
+ - trust boundaries
71
+ - data ownership
72
+ - lifecycle transitions
73
+ - rollout / migration requirements
74
+ - failure and recovery expectations
75
+
76
+ These are the things that often live only in senior-engineer memory.
77
+
78
+ ### 3. Define the implementation-facing contract
79
+
80
+ Produce an SRS-style capability plan with:
81
+
82
+ - capability summary
83
+ - explicit non-goals
84
+ - actors and surfaces
85
+ - required states and transitions
86
+ - interfaces / inputs / outputs
87
+ - data model implications
88
+ - security / billing / policy constraints
89
+ - observability and operator requirements
90
+ - open questions blocking implementation
91
+
92
+ ### 4. Translate into execution
93
+
94
+ End with the exact handoff:
95
+
96
+ - ready for direct implementation
97
+ - needs architecture review first
98
+ - needs product clarification first
99
+
100
+ If useful, point to the next ECC-native lane:
101
+
102
+ - `project-flow-ops`
103
+ - `workspace-surface-audit`
104
+ - `api-connector-builder`
105
+ - `dashboard-builder`
106
+ - `tdd-workflow`
107
+ - `verification-loop`
108
+
109
+ ## Output Format
110
+
111
+ Return the result in this order:
112
+
113
+ ```text
114
+ CAPABILITY
115
+ - one-paragraph restatement
116
+
117
+ CONSTRAINTS
118
+ - fixed rules, invariants, and boundaries
119
+
120
+ IMPLEMENTATION CONTRACT
121
+ - actors
122
+ - surfaces
123
+ - states and transitions
124
+ - interface/data implications
125
+
126
+ NON-GOALS
127
+ - what this lane explicitly does not own
128
+
129
+ OPEN QUESTIONS
130
+ - blockers or product decisions still required
131
+
132
+ HANDOFF
133
+ - what should happen next and which ECC lane should take it
134
+ ```
135
+
136
+ ## Good Outcomes
137
+
138
+ - Product intent is now concrete enough to implement without rediscovering hidden constraints mid-PR.
139
+ - Engineering review has a durable artifact instead of relying on memory or Slack context.
140
+ - The resulting plan is reusable across Claude Code, Codex, Cursor, OpenCode, and ECC 2.0 planning surfaces.