claudecode-omc 5.5.2 → 5.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (438) hide show
  1. package/.local/skills/de-ai-writing/SKILL.md +243 -0
  2. package/.local/skills/de-ai-writing/references/chinese-patterns.md +152 -0
  3. package/.local/skills/de-ai-writing/references/chinese-signals.md +121 -0
  4. package/.local/skills/de-ai-writing/references/domain-playbooks.md +120 -0
  5. package/.local/skills/de-ai-writing/references/wikipedia-signs.md +196 -0
  6. package/README.md +102 -10
  7. package/bundled/manifest.json +3 -2
  8. package/bundled/upstream/ecc/.omc-source/bundle.json +23 -0
  9. package/bundled/upstream/ecc/.omc-source/last-plan-apply.json +439 -0
  10. package/bundled/upstream/ecc/.omc-source/manifests/.claude-plugin/marketplace.json +47 -0
  11. package/bundled/upstream/ecc/agents/a11y-architect.md +141 -0
  12. package/bundled/upstream/ecc/agents/architect.md +211 -0
  13. package/bundled/upstream/ecc/agents/build-error-resolver.md +114 -0
  14. package/bundled/upstream/ecc/agents/chief-of-staff.md +151 -0
  15. package/bundled/upstream/ecc/agents/code-architect.md +71 -0
  16. package/bundled/upstream/ecc/agents/code-explorer.md +69 -0
  17. package/bundled/upstream/ecc/agents/code-reviewer.md +237 -0
  18. package/bundled/upstream/ecc/agents/code-simplifier.md +47 -0
  19. package/bundled/upstream/ecc/agents/comment-analyzer.md +45 -0
  20. package/bundled/upstream/ecc/agents/conversation-analyzer.md +52 -0
  21. package/bundled/upstream/ecc/agents/cpp-build-resolver.md +90 -0
  22. package/bundled/upstream/ecc/agents/cpp-reviewer.md +72 -0
  23. package/bundled/upstream/ecc/agents/csharp-reviewer.md +101 -0
  24. package/bundled/upstream/ecc/agents/dart-build-resolver.md +201 -0
  25. package/bundled/upstream/ecc/agents/database-reviewer.md +91 -0
  26. package/bundled/upstream/ecc/agents/doc-updater.md +107 -0
  27. package/bundled/upstream/ecc/agents/docs-lookup.md +68 -0
  28. package/bundled/upstream/ecc/agents/e2e-runner.md +107 -0
  29. package/bundled/upstream/ecc/agents/flutter-reviewer.md +243 -0
  30. package/bundled/upstream/ecc/agents/gan-evaluator.md +209 -0
  31. package/bundled/upstream/ecc/agents/gan-generator.md +131 -0
  32. package/bundled/upstream/ecc/agents/gan-planner.md +99 -0
  33. package/bundled/upstream/ecc/agents/go-build-resolver.md +94 -0
  34. package/bundled/upstream/ecc/agents/go-reviewer.md +76 -0
  35. package/bundled/upstream/ecc/agents/harness-optimizer.md +35 -0
  36. package/bundled/upstream/ecc/agents/healthcare-reviewer.md +83 -0
  37. package/bundled/upstream/ecc/agents/java-build-resolver.md +153 -0
  38. package/bundled/upstream/ecc/agents/java-reviewer.md +92 -0
  39. package/bundled/upstream/ecc/agents/kotlin-build-resolver.md +118 -0
  40. package/bundled/upstream/ecc/agents/kotlin-reviewer.md +159 -0
  41. package/bundled/upstream/ecc/agents/loop-operator.md +36 -0
  42. package/bundled/upstream/ecc/agents/opensource-forker.md +198 -0
  43. package/bundled/upstream/ecc/agents/opensource-packager.md +249 -0
  44. package/bundled/upstream/ecc/agents/opensource-sanitizer.md +188 -0
  45. package/bundled/upstream/ecc/agents/performance-optimizer.md +446 -0
  46. package/bundled/upstream/ecc/agents/planner.md +212 -0
  47. package/bundled/upstream/ecc/agents/pr-test-analyzer.md +45 -0
  48. package/bundled/upstream/ecc/agents/python-reviewer.md +98 -0
  49. package/bundled/upstream/ecc/agents/pytorch-build-resolver.md +120 -0
  50. package/bundled/upstream/ecc/agents/refactor-cleaner.md +85 -0
  51. package/bundled/upstream/ecc/agents/rust-build-resolver.md +148 -0
  52. package/bundled/upstream/ecc/agents/rust-reviewer.md +94 -0
  53. package/bundled/upstream/ecc/agents/security-reviewer.md +108 -0
  54. package/bundled/upstream/ecc/agents/seo-specialist.md +62 -0
  55. package/bundled/upstream/ecc/agents/silent-failure-hunter.md +50 -0
  56. package/bundled/upstream/ecc/agents/tdd-guide.md +91 -0
  57. package/bundled/upstream/ecc/agents/type-design-analyzer.md +41 -0
  58. package/bundled/upstream/ecc/agents/typescript-reviewer.md +112 -0
  59. package/bundled/upstream/ecc/commands/agent-sort.md +23 -0
  60. package/bundled/upstream/ecc/commands/aside.md +164 -0
  61. package/bundled/upstream/ecc/commands/build-fix.md +62 -0
  62. package/bundled/upstream/ecc/commands/checkpoint.md +74 -0
  63. package/bundled/upstream/ecc/commands/claw.md +23 -0
  64. package/bundled/upstream/ecc/commands/code-review.md +289 -0
  65. package/bundled/upstream/ecc/commands/context-budget.md +23 -0
  66. package/bundled/upstream/ecc/commands/cpp-build.md +173 -0
  67. package/bundled/upstream/ecc/commands/cpp-review.md +132 -0
  68. package/bundled/upstream/ecc/commands/cpp-test.md +251 -0
  69. package/bundled/upstream/ecc/commands/devfleet.md +23 -0
  70. package/bundled/upstream/ecc/commands/docs.md +23 -0
  71. package/bundled/upstream/ecc/commands/e2e.md +268 -0
  72. package/bundled/upstream/ecc/commands/eval.md +23 -0
  73. package/bundled/upstream/ecc/commands/evolve.md +178 -0
  74. package/bundled/upstream/ecc/commands/feature-dev.md +49 -0
  75. package/bundled/upstream/ecc/commands/flutter-build.md +164 -0
  76. package/bundled/upstream/ecc/commands/flutter-review.md +116 -0
  77. package/bundled/upstream/ecc/commands/flutter-test.md +144 -0
  78. package/bundled/upstream/ecc/commands/gan-build.md +99 -0
  79. package/bundled/upstream/ecc/commands/gan-design.md +35 -0
  80. package/bundled/upstream/ecc/commands/go-build.md +183 -0
  81. package/bundled/upstream/ecc/commands/go-review.md +148 -0
  82. package/bundled/upstream/ecc/commands/go-test.md +268 -0
  83. package/bundled/upstream/ecc/commands/gradle-build.md +70 -0
  84. package/bundled/upstream/ecc/commands/harness-audit.md +73 -0
  85. package/bundled/upstream/ecc/commands/hookify-configure.md +14 -0
  86. package/bundled/upstream/ecc/commands/hookify-help.md +46 -0
  87. package/bundled/upstream/ecc/commands/hookify-list.md +21 -0
  88. package/bundled/upstream/ecc/commands/hookify.md +50 -0
  89. package/bundled/upstream/ecc/commands/instinct-export.md +66 -0
  90. package/bundled/upstream/ecc/commands/instinct-import.md +114 -0
  91. package/bundled/upstream/ecc/commands/instinct-status.md +59 -0
  92. package/bundled/upstream/ecc/commands/jira.md +106 -0
  93. package/bundled/upstream/ecc/commands/kotlin-build.md +174 -0
  94. package/bundled/upstream/ecc/commands/kotlin-review.md +140 -0
  95. package/bundled/upstream/ecc/commands/kotlin-test.md +312 -0
  96. package/bundled/upstream/ecc/commands/learn-eval.md +116 -0
  97. package/bundled/upstream/ecc/commands/learn.md +70 -0
  98. package/bundled/upstream/ecc/commands/loop-start.md +32 -0
  99. package/bundled/upstream/ecc/commands/loop-status.md +24 -0
  100. package/bundled/upstream/ecc/commands/model-route.md +26 -0
  101. package/bundled/upstream/ecc/commands/multi-backend.md +158 -0
  102. package/bundled/upstream/ecc/commands/multi-execute.md +315 -0
  103. package/bundled/upstream/ecc/commands/multi-frontend.md +158 -0
  104. package/bundled/upstream/ecc/commands/multi-plan.md +268 -0
  105. package/bundled/upstream/ecc/commands/multi-workflow.md +191 -0
  106. package/bundled/upstream/ecc/commands/orchestrate.md +135 -0
  107. package/bundled/upstream/ecc/commands/plan.md +117 -0
  108. package/bundled/upstream/ecc/commands/pm2.md +272 -0
  109. package/bundled/upstream/ecc/commands/projects.md +39 -0
  110. package/bundled/upstream/ecc/commands/promote.md +41 -0
  111. package/bundled/upstream/ecc/commands/prompt-optimize.md +23 -0
  112. package/bundled/upstream/ecc/commands/prp-commit.md +112 -0
  113. package/bundled/upstream/ecc/commands/prp-implement.md +385 -0
  114. package/bundled/upstream/ecc/commands/prp-plan.md +502 -0
  115. package/bundled/upstream/ecc/commands/prp-pr.md +184 -0
  116. package/bundled/upstream/ecc/commands/prp-prd.md +447 -0
  117. package/bundled/upstream/ecc/commands/prune.md +31 -0
  118. package/bundled/upstream/ecc/commands/python-review.md +297 -0
  119. package/bundled/upstream/ecc/commands/quality-gate.md +29 -0
  120. package/bundled/upstream/ecc/commands/refactor-clean.md +80 -0
  121. package/bundled/upstream/ecc/commands/resume-session.md +156 -0
  122. package/bundled/upstream/ecc/commands/review-pr.md +37 -0
  123. package/bundled/upstream/ecc/commands/rules-distill.md +20 -0
  124. package/bundled/upstream/ecc/commands/rust-build.md +187 -0
  125. package/bundled/upstream/ecc/commands/rust-review.md +142 -0
  126. package/bundled/upstream/ecc/commands/rust-test.md +308 -0
  127. package/bundled/upstream/ecc/commands/santa-loop.md +175 -0
  128. package/bundled/upstream/ecc/commands/save-session.md +275 -0
  129. package/bundled/upstream/ecc/commands/sessions.md +339 -0
  130. package/bundled/upstream/ecc/commands/setup-pm.md +80 -0
  131. package/bundled/upstream/ecc/commands/skill-create.md +174 -0
  132. package/bundled/upstream/ecc/commands/skill-health.md +54 -0
  133. package/bundled/upstream/ecc/commands/tdd.md +231 -0
  134. package/bundled/upstream/ecc/commands/test-coverage.md +69 -0
  135. package/bundled/upstream/ecc/commands/update-codemaps.md +72 -0
  136. package/bundled/upstream/ecc/commands/update-docs.md +84 -0
  137. package/bundled/upstream/ecc/commands/verify.md +23 -0
  138. package/bundled/upstream/ecc/hooks/README.md +237 -0
  139. package/bundled/upstream/ecc/hooks/hooks.json +330 -0
  140. package/bundled/upstream/ecc/skills/accessibility/SKILL.md +146 -0
  141. package/bundled/upstream/ecc/skills/agent-eval/SKILL.md +145 -0
  142. package/bundled/upstream/ecc/skills/agent-harness-construction/SKILL.md +73 -0
  143. package/bundled/upstream/ecc/skills/agent-introspection-debugging/SKILL.md +153 -0
  144. package/bundled/upstream/ecc/skills/agent-payment-x402/SKILL.md +178 -0
  145. package/bundled/upstream/ecc/skills/agent-sort/SKILL.md +215 -0
  146. package/bundled/upstream/ecc/skills/agentic-engineering/SKILL.md +63 -0
  147. package/bundled/upstream/ecc/skills/ai-first-engineering/SKILL.md +51 -0
  148. package/bundled/upstream/ecc/skills/ai-regression-testing/SKILL.md +385 -0
  149. package/bundled/upstream/ecc/skills/android-clean-architecture/SKILL.md +339 -0
  150. package/bundled/upstream/ecc/skills/api-connector-builder/SKILL.md +120 -0
  151. package/bundled/upstream/ecc/skills/api-design/SKILL.md +523 -0
  152. package/bundled/upstream/ecc/skills/architecture-decision-records/SKILL.md +179 -0
  153. package/bundled/upstream/ecc/skills/article-writing/SKILL.md +79 -0
  154. package/bundled/upstream/ecc/skills/automation-audit-ops/SKILL.md +142 -0
  155. package/bundled/upstream/ecc/skills/autonomous-agent-harness/SKILL.md +267 -0
  156. package/bundled/upstream/ecc/skills/autonomous-loops/SKILL.md +610 -0
  157. package/bundled/upstream/ecc/skills/backend-patterns/SKILL.md +598 -0
  158. package/bundled/upstream/ecc/skills/benchmark/SKILL.md +93 -0
  159. package/bundled/upstream/ecc/skills/blueprint/SKILL.md +105 -0
  160. package/bundled/upstream/ecc/skills/brand-voice/SKILL.md +97 -0
  161. package/bundled/upstream/ecc/skills/brand-voice/references/voice-profile-schema.md +55 -0
  162. package/bundled/upstream/ecc/skills/browser-qa/SKILL.md +87 -0
  163. package/bundled/upstream/ecc/skills/bun-runtime/SKILL.md +84 -0
  164. package/bundled/upstream/ecc/skills/canary-watch/SKILL.md +99 -0
  165. package/bundled/upstream/ecc/skills/carrier-relationship-management/SKILL.md +212 -0
  166. package/bundled/upstream/ecc/skills/ck/SKILL.md +147 -0
  167. package/bundled/upstream/ecc/skills/ck/commands/forget.mjs +44 -0
  168. package/bundled/upstream/ecc/skills/ck/commands/info.mjs +24 -0
  169. package/bundled/upstream/ecc/skills/ck/commands/init.mjs +143 -0
  170. package/bundled/upstream/ecc/skills/ck/commands/list.mjs +40 -0
  171. package/bundled/upstream/ecc/skills/ck/commands/migrate.mjs +202 -0
  172. package/bundled/upstream/ecc/skills/ck/commands/resume.mjs +36 -0
  173. package/bundled/upstream/ecc/skills/ck/commands/save.mjs +210 -0
  174. package/bundled/upstream/ecc/skills/ck/commands/shared.mjs +387 -0
  175. package/bundled/upstream/ecc/skills/ck/hooks/session-start.mjs +224 -0
  176. package/bundled/upstream/ecc/skills/claude-api/SKILL.md +337 -0
  177. package/bundled/upstream/ecc/skills/claude-devfleet/SKILL.md +103 -0
  178. package/bundled/upstream/ecc/skills/click-path-audit/SKILL.md +244 -0
  179. package/bundled/upstream/ecc/skills/clickhouse-io/SKILL.md +439 -0
  180. package/bundled/upstream/ecc/skills/code-tour/SKILL.md +236 -0
  181. package/bundled/upstream/ecc/skills/codebase-onboarding/SKILL.md +233 -0
  182. package/bundled/upstream/ecc/skills/coding-standards/SKILL.md +549 -0
  183. package/bundled/upstream/ecc/skills/compose-multiplatform-patterns/SKILL.md +299 -0
  184. package/bundled/upstream/ecc/skills/configure-ecc/SKILL.md +367 -0
  185. package/bundled/upstream/ecc/skills/connections-optimizer/SKILL.md +189 -0
  186. package/bundled/upstream/ecc/skills/content-engine/SKILL.md +131 -0
  187. package/bundled/upstream/ecc/skills/content-hash-cache-pattern/SKILL.md +161 -0
  188. package/bundled/upstream/ecc/skills/context-budget/SKILL.md +135 -0
  189. package/bundled/upstream/ecc/skills/continuous-agent-loop/SKILL.md +45 -0
  190. package/bundled/upstream/ecc/skills/continuous-learning/SKILL.md +123 -0
  191. package/bundled/upstream/ecc/skills/continuous-learning/config.json +18 -0
  192. package/bundled/upstream/ecc/skills/continuous-learning/evaluate-session.sh +69 -0
  193. package/bundled/upstream/ecc/skills/continuous-learning-v2/SKILL.md +346 -0
  194. package/bundled/upstream/ecc/skills/continuous-learning-v2/agents/observer-loop.sh +282 -0
  195. package/bundled/upstream/ecc/skills/continuous-learning-v2/agents/observer.md +198 -0
  196. package/bundled/upstream/ecc/skills/continuous-learning-v2/agents/session-guardian.sh +150 -0
  197. package/bundled/upstream/ecc/skills/continuous-learning-v2/agents/start-observer.sh +244 -0
  198. package/bundled/upstream/ecc/skills/continuous-learning-v2/config.json +8 -0
  199. package/bundled/upstream/ecc/skills/continuous-learning-v2/hooks/observe.sh +460 -0
  200. package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/detect-project.sh +243 -0
  201. package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/instinct-cli.py +1426 -0
  202. package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/test_parse_instinct.py +984 -0
  203. package/bundled/upstream/ecc/skills/cost-aware-llm-pipeline/SKILL.md +183 -0
  204. package/bundled/upstream/ecc/skills/council/SKILL.md +203 -0
  205. package/bundled/upstream/ecc/skills/cpp-coding-standards/SKILL.md +723 -0
  206. package/bundled/upstream/ecc/skills/cpp-testing/SKILL.md +324 -0
  207. package/bundled/upstream/ecc/skills/crosspost/SKILL.md +111 -0
  208. package/bundled/upstream/ecc/skills/csharp-testing/SKILL.md +321 -0
  209. package/bundled/upstream/ecc/skills/customer-billing-ops/SKILL.md +140 -0
  210. package/bundled/upstream/ecc/skills/customs-trade-compliance/SKILL.md +263 -0
  211. package/bundled/upstream/ecc/skills/dart-flutter-patterns/SKILL.md +563 -0
  212. package/bundled/upstream/ecc/skills/dashboard-builder/SKILL.md +108 -0
  213. package/bundled/upstream/ecc/skills/data-scraper-agent/SKILL.md +764 -0
  214. package/bundled/upstream/ecc/skills/database-migrations/SKILL.md +429 -0
  215. package/bundled/upstream/ecc/skills/deep-research/SKILL.md +155 -0
  216. package/bundled/upstream/ecc/skills/defi-amm-security/SKILL.md +160 -0
  217. package/bundled/upstream/ecc/skills/deployment-patterns/SKILL.md +427 -0
  218. package/bundled/upstream/ecc/skills/design-system/SKILL.md +82 -0
  219. package/bundled/upstream/ecc/skills/django-patterns/SKILL.md +734 -0
  220. package/bundled/upstream/ecc/skills/django-security/SKILL.md +593 -0
  221. package/bundled/upstream/ecc/skills/django-tdd/SKILL.md +729 -0
  222. package/bundled/upstream/ecc/skills/django-verification/SKILL.md +469 -0
  223. package/bundled/upstream/ecc/skills/dmux-workflows/SKILL.md +191 -0
  224. package/bundled/upstream/ecc/skills/docker-patterns/SKILL.md +364 -0
  225. package/bundled/upstream/ecc/skills/documentation-lookup/SKILL.md +90 -0
  226. package/bundled/upstream/ecc/skills/dotnet-patterns/SKILL.md +321 -0
  227. package/bundled/upstream/ecc/skills/e2e-testing/SKILL.md +326 -0
  228. package/bundled/upstream/ecc/skills/ecc-tools-cost-audit/SKILL.md +160 -0
  229. package/bundled/upstream/ecc/skills/email-ops/SKILL.md +121 -0
  230. package/bundled/upstream/ecc/skills/energy-procurement/SKILL.md +228 -0
  231. package/bundled/upstream/ecc/skills/enterprise-agent-ops/SKILL.md +50 -0
  232. package/bundled/upstream/ecc/skills/eval-harness/SKILL.md +270 -0
  233. package/bundled/upstream/ecc/skills/evm-token-decimals/SKILL.md +130 -0
  234. package/bundled/upstream/ecc/skills/exa-search/SKILL.md +103 -0
  235. package/bundled/upstream/ecc/skills/fal-ai-media/SKILL.md +284 -0
  236. package/bundled/upstream/ecc/skills/finance-billing-ops/SKILL.md +127 -0
  237. package/bundled/upstream/ecc/skills/flutter-dart-code-review/SKILL.md +435 -0
  238. package/bundled/upstream/ecc/skills/foundation-models-on-device/SKILL.md +243 -0
  239. package/bundled/upstream/ecc/skills/frontend-design/SKILL.md +145 -0
  240. package/bundled/upstream/ecc/skills/frontend-patterns/SKILL.md +642 -0
  241. package/bundled/upstream/ecc/skills/frontend-slides/SKILL.md +184 -0
  242. package/bundled/upstream/ecc/skills/frontend-slides/STYLE_PRESETS.md +330 -0
  243. package/bundled/upstream/ecc/skills/gan-style-harness/SKILL.md +278 -0
  244. package/bundled/upstream/ecc/skills/gateguard/SKILL.md +121 -0
  245. package/bundled/upstream/ecc/skills/git-workflow/SKILL.md +715 -0
  246. package/bundled/upstream/ecc/skills/github-ops/SKILL.md +144 -0
  247. package/bundled/upstream/ecc/skills/golang-patterns/SKILL.md +674 -0
  248. package/bundled/upstream/ecc/skills/golang-testing/SKILL.md +720 -0
  249. package/bundled/upstream/ecc/skills/google-workspace-ops/SKILL.md +95 -0
  250. package/bundled/upstream/ecc/skills/healthcare-cdss-patterns/SKILL.md +245 -0
  251. package/bundled/upstream/ecc/skills/healthcare-emr-patterns/SKILL.md +159 -0
  252. package/bundled/upstream/ecc/skills/healthcare-eval-harness/SKILL.md +207 -0
  253. package/bundled/upstream/ecc/skills/healthcare-phi-compliance/SKILL.md +145 -0
  254. package/bundled/upstream/ecc/skills/hexagonal-architecture/SKILL.md +276 -0
  255. package/bundled/upstream/ecc/skills/hipaa-compliance/SKILL.md +78 -0
  256. package/bundled/upstream/ecc/skills/hookify-rules/SKILL.md +128 -0
  257. package/bundled/upstream/ecc/skills/inventory-demand-planning/SKILL.md +247 -0
  258. package/bundled/upstream/ecc/skills/investor-materials/SKILL.md +96 -0
  259. package/bundled/upstream/ecc/skills/investor-outreach/SKILL.md +91 -0
  260. package/bundled/upstream/ecc/skills/iterative-retrieval/SKILL.md +211 -0
  261. package/bundled/upstream/ecc/skills/java-coding-standards/SKILL.md +147 -0
  262. package/bundled/upstream/ecc/skills/jira-integration/SKILL.md +293 -0
  263. package/bundled/upstream/ecc/skills/jpa-patterns/SKILL.md +151 -0
  264. package/bundled/upstream/ecc/skills/knowledge-ops/SKILL.md +154 -0
  265. package/bundled/upstream/ecc/skills/kotlin-coroutines-flows/SKILL.md +284 -0
  266. package/bundled/upstream/ecc/skills/kotlin-exposed-patterns/SKILL.md +719 -0
  267. package/bundled/upstream/ecc/skills/kotlin-ktor-patterns/SKILL.md +689 -0
  268. package/bundled/upstream/ecc/skills/kotlin-patterns/SKILL.md +711 -0
  269. package/bundled/upstream/ecc/skills/kotlin-testing/SKILL.md +824 -0
  270. package/bundled/upstream/ecc/skills/laravel-patterns/SKILL.md +415 -0
  271. package/bundled/upstream/ecc/skills/laravel-plugin-discovery/SKILL.md +229 -0
  272. package/bundled/upstream/ecc/skills/laravel-security/SKILL.md +285 -0
  273. package/bundled/upstream/ecc/skills/laravel-tdd/SKILL.md +283 -0
  274. package/bundled/upstream/ecc/skills/laravel-verification/SKILL.md +179 -0
  275. package/bundled/upstream/ecc/skills/lead-intelligence/SKILL.md +321 -0
  276. package/bundled/upstream/ecc/skills/lead-intelligence/agents/enrichment-agent.md +85 -0
  277. package/bundled/upstream/ecc/skills/lead-intelligence/agents/mutual-mapper.md +75 -0
  278. package/bundled/upstream/ecc/skills/lead-intelligence/agents/outreach-drafter.md +98 -0
  279. package/bundled/upstream/ecc/skills/lead-intelligence/agents/signal-scorer.md +60 -0
  280. package/bundled/upstream/ecc/skills/liquid-glass-design/SKILL.md +279 -0
  281. package/bundled/upstream/ecc/skills/llm-trading-agent-security/SKILL.md +146 -0
  282. package/bundled/upstream/ecc/skills/logistics-exception-management/SKILL.md +222 -0
  283. package/bundled/upstream/ecc/skills/manim-video/SKILL.md +89 -0
  284. package/bundled/upstream/ecc/skills/manim-video/assets/network_graph_scene.py +52 -0
  285. package/bundled/upstream/ecc/skills/market-research/SKILL.md +75 -0
  286. package/bundled/upstream/ecc/skills/mcp-server-patterns/SKILL.md +69 -0
  287. package/bundled/upstream/ecc/skills/messages-ops/SKILL.md +104 -0
  288. package/bundled/upstream/ecc/skills/nanoclaw-repl/SKILL.md +33 -0
  289. package/bundled/upstream/ecc/skills/nestjs-patterns/SKILL.md +230 -0
  290. package/bundled/upstream/ecc/skills/nextjs-turbopack/SKILL.md +44 -0
  291. package/bundled/upstream/ecc/skills/nodejs-keccak256/SKILL.md +102 -0
  292. package/bundled/upstream/ecc/skills/nutrient-document-processing/SKILL.md +167 -0
  293. package/bundled/upstream/ecc/skills/nuxt4-patterns/SKILL.md +100 -0
  294. package/bundled/upstream/ecc/skills/openclaw-persona-forge/SKILL.md +296 -0
  295. package/bundled/upstream/ecc/skills/openclaw-persona-forge/gacha.py +224 -0
  296. package/bundled/upstream/ecc/skills/openclaw-persona-forge/gacha.sh +5 -0
  297. package/bundled/upstream/ecc/skills/openclaw-persona-forge/references/avatar-style.md +124 -0
  298. package/bundled/upstream/ecc/skills/openclaw-persona-forge/references/boundary-rules.md +53 -0
  299. package/bundled/upstream/ecc/skills/openclaw-persona-forge/references/error-handling.md +53 -0
  300. package/bundled/upstream/ecc/skills/openclaw-persona-forge/references/identity-tension.md +48 -0
  301. package/bundled/upstream/ecc/skills/openclaw-persona-forge/references/naming-system.md +39 -0
  302. package/bundled/upstream/ecc/skills/openclaw-persona-forge/references/output-template.md +166 -0
  303. package/bundled/upstream/ecc/skills/opensource-pipeline/SKILL.md +255 -0
  304. package/bundled/upstream/ecc/skills/perl-patterns/SKILL.md +504 -0
  305. package/bundled/upstream/ecc/skills/perl-security/SKILL.md +503 -0
  306. package/bundled/upstream/ecc/skills/perl-testing/SKILL.md +475 -0
  307. package/bundled/upstream/ecc/skills/plankton-code-quality/SKILL.md +236 -0
  308. package/bundled/upstream/ecc/skills/postgres-patterns/SKILL.md +147 -0
  309. package/bundled/upstream/ecc/skills/product-capability/SKILL.md +141 -0
  310. package/bundled/upstream/ecc/skills/product-lens/SKILL.md +92 -0
  311. package/bundled/upstream/ecc/skills/production-scheduling/SKILL.md +238 -0
  312. package/bundled/upstream/ecc/skills/project-flow-ops/SKILL.md +111 -0
  313. package/bundled/upstream/ecc/skills/prompt-optimizer/SKILL.md +397 -0
  314. package/bundled/upstream/ecc/skills/python-patterns/SKILL.md +750 -0
  315. package/bundled/upstream/ecc/skills/python-testing/SKILL.md +816 -0
  316. package/bundled/upstream/ecc/skills/pytorch-patterns/SKILL.md +396 -0
  317. package/bundled/upstream/ecc/skills/quality-nonconformance/SKILL.md +260 -0
  318. package/bundled/upstream/ecc/skills/ralphinho-rfc-pipeline/SKILL.md +67 -0
  319. package/bundled/upstream/ecc/skills/regex-vs-llm-structured-text/SKILL.md +220 -0
  320. package/bundled/upstream/ecc/skills/remotion-video-creation/SKILL.md +43 -0
  321. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/3d.md +86 -0
  322. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/animations.md +29 -0
  323. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/assets/charts-bar-chart.tsx +173 -0
  324. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/assets/text-animations-typewriter.tsx +100 -0
  325. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/assets/text-animations-word-highlight.tsx +108 -0
  326. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/assets.md +78 -0
  327. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/audio.md +172 -0
  328. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/calculate-metadata.md +104 -0
  329. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/can-decode.md +75 -0
  330. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/charts.md +58 -0
  331. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/compositions.md +146 -0
  332. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/display-captions.md +126 -0
  333. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/extract-frames.md +229 -0
  334. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/fonts.md +152 -0
  335. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/get-audio-duration.md +58 -0
  336. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/get-video-dimensions.md +68 -0
  337. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/get-video-duration.md +58 -0
  338. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/gifs.md +138 -0
  339. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/images.md +130 -0
  340. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/import-srt-captions.md +67 -0
  341. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/lottie.md +67 -0
  342. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/measuring-dom-nodes.md +34 -0
  343. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/measuring-text.md +143 -0
  344. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/sequencing.md +106 -0
  345. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/tailwind.md +11 -0
  346. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/text-animations.md +20 -0
  347. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/timing.md +179 -0
  348. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/transcribe-captions.md +19 -0
  349. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/transitions.md +122 -0
  350. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/trimming.md +52 -0
  351. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/videos.md +171 -0
  352. package/bundled/upstream/ecc/skills/repo-scan/SKILL.md +78 -0
  353. package/bundled/upstream/ecc/skills/research-ops/SKILL.md +112 -0
  354. package/bundled/upstream/ecc/skills/returns-reverse-logistics/SKILL.md +240 -0
  355. package/bundled/upstream/ecc/skills/rules-distill/SKILL.md +264 -0
  356. package/bundled/upstream/ecc/skills/rules-distill/scripts/scan-rules.sh +58 -0
  357. package/bundled/upstream/ecc/skills/rules-distill/scripts/scan-skills.sh +129 -0
  358. package/bundled/upstream/ecc/skills/rust-patterns/SKILL.md +499 -0
  359. package/bundled/upstream/ecc/skills/rust-testing/SKILL.md +500 -0
  360. package/bundled/upstream/ecc/skills/safety-guard/SKILL.md +75 -0
  361. package/bundled/upstream/ecc/skills/santa-method/SKILL.md +306 -0
  362. package/bundled/upstream/ecc/skills/search-first/SKILL.md +161 -0
  363. package/bundled/upstream/ecc/skills/security-bounty-hunter/SKILL.md +99 -0
  364. package/bundled/upstream/ecc/skills/security-review/SKILL.md +495 -0
  365. package/bundled/upstream/ecc/skills/security-review/cloud-infrastructure-security.md +361 -0
  366. package/bundled/upstream/ecc/skills/security-scan/SKILL.md +165 -0
  367. package/bundled/upstream/ecc/skills/seo/SKILL.md +154 -0
  368. package/bundled/upstream/ecc/skills/skill-comply/SKILL.md +58 -0
  369. package/bundled/upstream/ecc/skills/skill-comply/fixtures/compliant_trace.jsonl +5 -0
  370. package/bundled/upstream/ecc/skills/skill-comply/fixtures/noncompliant_trace.jsonl +3 -0
  371. package/bundled/upstream/ecc/skills/skill-comply/fixtures/tdd_spec.yaml +44 -0
  372. package/bundled/upstream/ecc/skills/skill-comply/prompts/classifier.md +24 -0
  373. package/bundled/upstream/ecc/skills/skill-comply/prompts/scenario_generator.md +62 -0
  374. package/bundled/upstream/ecc/skills/skill-comply/prompts/spec_generator.md +42 -0
  375. package/bundled/upstream/ecc/skills/skill-comply/pyproject.toml +15 -0
  376. package/bundled/upstream/ecc/skills/skill-comply/scripts/__init__.py +0 -0
  377. package/bundled/upstream/ecc/skills/skill-comply/scripts/classifier.py +85 -0
  378. package/bundled/upstream/ecc/skills/skill-comply/scripts/grader.py +124 -0
  379. package/bundled/upstream/ecc/skills/skill-comply/scripts/parser.py +107 -0
  380. package/bundled/upstream/ecc/skills/skill-comply/scripts/report.py +170 -0
  381. package/bundled/upstream/ecc/skills/skill-comply/scripts/run.py +127 -0
  382. package/bundled/upstream/ecc/skills/skill-comply/scripts/runner.py +161 -0
  383. package/bundled/upstream/ecc/skills/skill-comply/scripts/scenario_generator.py +70 -0
  384. package/bundled/upstream/ecc/skills/skill-comply/scripts/spec_generator.py +72 -0
  385. package/bundled/upstream/ecc/skills/skill-comply/scripts/utils.py +13 -0
  386. package/bundled/upstream/ecc/skills/skill-comply/tests/test_grader.py +197 -0
  387. package/bundled/upstream/ecc/skills/skill-comply/tests/test_parser.py +90 -0
  388. package/bundled/upstream/ecc/skills/skill-stocktake/SKILL.md +193 -0
  389. package/bundled/upstream/ecc/skills/skill-stocktake/scripts/quick-diff.sh +87 -0
  390. package/bundled/upstream/ecc/skills/skill-stocktake/scripts/save-results.sh +56 -0
  391. package/bundled/upstream/ecc/skills/skill-stocktake/scripts/scan.sh +170 -0
  392. package/bundled/upstream/ecc/skills/social-graph-ranker/SKILL.md +154 -0
  393. package/bundled/upstream/ecc/skills/springboot-patterns/SKILL.md +314 -0
  394. package/bundled/upstream/ecc/skills/springboot-security/SKILL.md +272 -0
  395. package/bundled/upstream/ecc/skills/springboot-tdd/SKILL.md +158 -0
  396. package/bundled/upstream/ecc/skills/springboot-verification/SKILL.md +231 -0
  397. package/bundled/upstream/ecc/skills/strategic-compact/SKILL.md +131 -0
  398. package/bundled/upstream/ecc/skills/strategic-compact/suggest-compact.sh +54 -0
  399. package/bundled/upstream/ecc/skills/swift-actor-persistence/SKILL.md +143 -0
  400. package/bundled/upstream/ecc/skills/swift-concurrency-6-2/SKILL.md +216 -0
  401. package/bundled/upstream/ecc/skills/swift-protocol-di-testing/SKILL.md +190 -0
  402. package/bundled/upstream/ecc/skills/swiftui-patterns/SKILL.md +259 -0
  403. package/bundled/upstream/ecc/skills/tdd-workflow/SKILL.md +463 -0
  404. package/bundled/upstream/ecc/skills/team-builder/SKILL.md +168 -0
  405. package/bundled/upstream/ecc/skills/terminal-ops/SKILL.md +109 -0
  406. package/bundled/upstream/ecc/skills/token-budget-advisor/SKILL.md +133 -0
  407. package/bundled/upstream/ecc/skills/ui-demo/SKILL.md +465 -0
  408. package/bundled/upstream/ecc/skills/unified-notifications-ops/SKILL.md +187 -0
  409. package/bundled/upstream/ecc/skills/verification-loop/SKILL.md +126 -0
  410. package/bundled/upstream/ecc/skills/video-editing/SKILL.md +310 -0
  411. package/bundled/upstream/ecc/skills/videodb/SKILL.md +374 -0
  412. package/bundled/upstream/ecc/skills/videodb/reference/api-reference.md +550 -0
  413. package/bundled/upstream/ecc/skills/videodb/reference/capture-reference.md +407 -0
  414. package/bundled/upstream/ecc/skills/videodb/reference/capture.md +101 -0
  415. package/bundled/upstream/ecc/skills/videodb/reference/editor.md +443 -0
  416. package/bundled/upstream/ecc/skills/videodb/reference/generative.md +331 -0
  417. package/bundled/upstream/ecc/skills/videodb/reference/rtstream-reference.md +564 -0
  418. package/bundled/upstream/ecc/skills/videodb/reference/rtstream.md +65 -0
  419. package/bundled/upstream/ecc/skills/videodb/reference/search.md +230 -0
  420. package/bundled/upstream/ecc/skills/videodb/reference/streaming.md +406 -0
  421. package/bundled/upstream/ecc/skills/videodb/reference/use-cases.md +118 -0
  422. package/bundled/upstream/ecc/skills/videodb/scripts/ws_listener.py +282 -0
  423. package/bundled/upstream/ecc/skills/visa-doc-translate/README.md +86 -0
  424. package/bundled/upstream/ecc/skills/visa-doc-translate/SKILL.md +117 -0
  425. package/bundled/upstream/ecc/skills/workspace-surface-audit/SKILL.md +125 -0
  426. package/bundled/upstream/ecc/skills/x-api/SKILL.md +230 -0
  427. package/bundled/upstream/superpowers/.omc-source/last-plan-apply.json +22 -0
  428. package/package.json +3 -1
  429. package/src/catalog/source-catalog.js +391 -0
  430. package/src/cli/artifact.js +3 -2
  431. package/src/cli/doctor.js +25 -4
  432. package/src/cli/index.js +19 -0
  433. package/src/cli/plan.js +220 -0
  434. package/src/cli/setup.js +209 -12
  435. package/src/cli/source.js +110 -3
  436. package/src/config/paths.js +31 -0
  437. package/src/config/sources.js +103 -10
  438. package/src/merge/hook-merger.js +1 -0
@@ -0,0 +1,215 @@
1
+ ---
2
+ name: agent-sort
3
+ description: Build an evidence-backed ECC install plan for a specific repo by sorting skills, commands, rules, hooks, and extras into DAILY vs LIBRARY buckets using parallel repo-aware review passes. Use when ECC should be trimmed to what a project actually needs instead of loading the full bundle.
4
+ origin: ECC
5
+ ---
6
+
7
+ # Agent Sort
8
+
9
+ Use this skill when a repo needs a project-specific ECC surface instead of the default full install.
10
+
11
+ The goal is not to guess what "feels useful." The goal is to classify ECC components with evidence from the actual codebase.
12
+
13
+ ## When to Use
14
+
15
+ - A project only needs a subset of ECC and full installs are too noisy
16
+ - The repo stack is clear, but nobody wants to hand-curate skills one by one
17
+ - A team wants a repeatable install decision backed by grep evidence instead of opinion
18
+ - You need to separate always-loaded daily workflow surfaces from searchable library/reference surfaces
19
+ - A repo has drifted into the wrong language, rule, or hook set and needs cleanup
20
+
21
+ ## Non-Negotiable Rules
22
+
23
+ - Use the current repository as the source of truth, not generic preferences
24
+ - Every DAILY decision must cite concrete repo evidence
25
+ - LIBRARY does not mean "delete"; it means "keep accessible without loading by default"
26
+ - Do not install hooks, rules, or scripts that the current repo cannot use
27
+ - Prefer ECC-native surfaces; do not introduce a second install system
28
+
29
+ ## Outputs
30
+
31
+ Produce these artifacts in order:
32
+
33
+ 1. DAILY inventory
34
+ 2. LIBRARY inventory
35
+ 3. install plan
36
+ 4. verification report
37
+ 5. optional `skill-library` router if the project wants one
38
+
39
+ ## Classification Model
40
+
41
+ Use two buckets only:
42
+
43
+ - `DAILY`
44
+ - should load every session for this repo
45
+ - strongly matched to the repo's language, framework, workflow, or operator surface
46
+ - `LIBRARY`
47
+ - useful to retain, but not worth loading by default
48
+ - should remain reachable through search, router skill, or selective manual use
49
+
50
+ ## Evidence Sources
51
+
52
+ Use repo-local evidence before making any classification:
53
+
54
+ - file extensions
55
+ - package managers and lockfiles
56
+ - framework configs
57
+ - CI and hook configs
58
+ - build/test scripts
59
+ - imports and dependency manifests
60
+ - repo docs that explicitly describe the stack
61
+
62
+ Useful commands include:
63
+
64
+ ```bash
65
+ rg --files
66
+ rg -n "typescript|react|next|supabase|django|spring|flutter|swift"
67
+ cat package.json
68
+ cat pyproject.toml
69
+ cat Cargo.toml
70
+ cat pubspec.yaml
71
+ cat go.mod
72
+ ```
73
+
74
+ ## Parallel Review Passes
75
+
76
+ If parallel subagents are available, split the review into these passes:
77
+
78
+ 1. Agents
79
+ - classify `agents/*`
80
+ 2. Skills
81
+ - classify `skills/*`
82
+ 3. Commands
83
+ - classify `commands/*`
84
+ 4. Rules
85
+ - classify `rules/*`
86
+ 5. Hooks and scripts
87
+ - classify hook surfaces, MCP health checks, helper scripts, and OS compatibility
88
+ 6. Extras
89
+ - classify contexts, examples, MCP configs, templates, and guidance docs
90
+
91
+ If subagents are not available, run the same passes sequentially.
92
+
93
+ ## Core Workflow
94
+
95
+ ### 1. Read the repo
96
+
97
+ Establish the real stack before classifying anything:
98
+
99
+ - languages in use
100
+ - frameworks in use
101
+ - primary package manager
102
+ - test stack
103
+ - lint/format stack
104
+ - deployment/runtime surface
105
+ - operator integrations already present
106
+
107
+ ### 2. Build the evidence table
108
+
109
+ For every candidate surface, record:
110
+
111
+ - component path
112
+ - component type
113
+ - proposed bucket
114
+ - repo evidence
115
+ - short justification
116
+
117
+ Use this format:
118
+
119
+ ```text
120
+ skills/frontend-patterns | skill | DAILY | 84 .tsx files, next.config.ts present | core frontend stack
121
+ skills/django-patterns | skill | LIBRARY | no .py files, no pyproject.toml | not active in this repo
122
+ rules/typescript/* | rules | DAILY | package.json + tsconfig.json | active TS repo
123
+ rules/python/* | rules | LIBRARY | zero Python source files | keep accessible only
124
+ ```
125
+
126
+ ### 3. Decide DAILY vs LIBRARY
127
+
128
+ Promote to `DAILY` when:
129
+
130
+ - the repo clearly uses the matching stack
131
+ - the component is general enough to help every session
132
+ - the repo already depends on the corresponding runtime or workflow
133
+
134
+ Demote to `LIBRARY` when:
135
+
136
+ - the component is off-stack
137
+ - the repo might need it later, but not every day
138
+ - it adds context overhead without immediate relevance
139
+
140
+ ### 4. Build the install plan
141
+
142
+ Translate the classification into action:
143
+
144
+ - DAILY skills -> install or keep in `.claude/skills/`
145
+ - DAILY commands -> keep as explicit shims only if still useful
146
+ - DAILY rules -> install only matching language sets
147
+ - DAILY hooks/scripts -> keep only compatible ones
148
+ - LIBRARY surfaces -> keep accessible through search or `skill-library`
149
+
150
+ If the repo already uses selective installs, update that plan instead of creating another system.
151
+
152
+ ### 5. Create the optional library router
153
+
154
+ If the project wants a searchable library surface, create:
155
+
156
+ - `.claude/skills/skill-library/SKILL.md`
157
+
158
+ That router should contain:
159
+
160
+ - a short explanation of DAILY vs LIBRARY
161
+ - grouped trigger keywords
162
+ - where the library references live
163
+
164
+ Do not duplicate every skill body inside the router.
165
+
166
+ ### 6. Verify the result
167
+
168
+ After the plan is applied, verify:
169
+
170
+ - every DAILY file exists where expected
171
+ - stale language rules were not left active
172
+ - incompatible hooks were not installed
173
+ - the resulting install actually matches the repo stack
174
+
175
+ Return a compact report with:
176
+
177
+ - DAILY count
178
+ - LIBRARY count
179
+ - removed stale surfaces
180
+ - open questions
181
+
182
+ ## Handoffs
183
+
184
+ If the next step is interactive installation or repair, hand off to:
185
+
186
+ - `configure-ecc`
187
+
188
+ If the next step is overlap cleanup or catalog review, hand off to:
189
+
190
+ - `skill-stocktake`
191
+
192
+ If the next step is broader context trimming, hand off to:
193
+
194
+ - `strategic-compact`
195
+
196
+ ## Output Format
197
+
198
+ Return the result in this order:
199
+
200
+ ```text
201
+ STACK
202
+ - language/framework/runtime summary
203
+
204
+ DAILY
205
+ - always-loaded items with evidence
206
+
207
+ LIBRARY
208
+ - searchable/reference items with evidence
209
+
210
+ INSTALL PLAN
211
+ - what should be installed, removed, or routed
212
+
213
+ VERIFICATION
214
+ - checks run and remaining gaps
215
+ ```
@@ -0,0 +1,63 @@
1
+ ---
2
+ name: agentic-engineering
3
+ description: Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing.
4
+ origin: ECC
5
+ ---
6
+
7
+ # Agentic Engineering
8
+
9
+ Use this skill for engineering workflows where AI agents perform most implementation work and humans enforce quality and risk controls.
10
+
11
+ ## Operating Principles
12
+
13
+ 1. Define completion criteria before execution.
14
+ 2. Decompose work into agent-sized units.
15
+ 3. Route model tiers by task complexity.
16
+ 4. Measure with evals and regression checks.
17
+
18
+ ## Eval-First Loop
19
+
20
+ 1. Define capability eval and regression eval.
21
+ 2. Run baseline and capture failure signatures.
22
+ 3. Execute implementation.
23
+ 4. Re-run evals and compare deltas.
24
+
25
+ ## Task Decomposition
26
+
27
+ Apply the 15-minute unit rule:
28
+ - each unit should be independently verifiable
29
+ - each unit should have a single dominant risk
30
+ - each unit should expose a clear done condition
31
+
32
+ ## Model Routing
33
+
34
+ - Haiku: classification, boilerplate transforms, narrow edits
35
+ - Sonnet: implementation and refactors
36
+ - Opus: architecture, root-cause analysis, multi-file invariants
37
+
38
+ ## Session Strategy
39
+
40
+ - Continue session for closely-coupled units.
41
+ - Start fresh session after major phase transitions.
42
+ - Compact after milestone completion, not during active debugging.
43
+
44
+ ## Review Focus for AI-Generated Code
45
+
46
+ Prioritize:
47
+ - invariants and edge cases
48
+ - error boundaries
49
+ - security and auth assumptions
50
+ - hidden coupling and rollout risk
51
+
52
+ Do not waste review cycles on style-only disagreements when automated format/lint already enforce style.
53
+
54
+ ## Cost Discipline
55
+
56
+ Track per task:
57
+ - model
58
+ - token estimate
59
+ - retries
60
+ - wall-clock time
61
+ - success/failure
62
+
63
+ Escalate model tier only when lower tier fails with a clear reasoning gap.
@@ -0,0 +1,51 @@
1
+ ---
2
+ name: ai-first-engineering
3
+ description: Engineering operating model for teams where AI agents generate a large share of implementation output.
4
+ origin: ECC
5
+ ---
6
+
7
+ # AI-First Engineering
8
+
9
+ Use this skill when designing process, reviews, and architecture for teams shipping with AI-assisted code generation.
10
+
11
+ ## Process Shifts
12
+
13
+ 1. Planning quality matters more than typing speed.
14
+ 2. Eval coverage matters more than anecdotal confidence.
15
+ 3. Review focus shifts from syntax to system behavior.
16
+
17
+ ## Architecture Requirements
18
+
19
+ Prefer architectures that are agent-friendly:
20
+ - explicit boundaries
21
+ - stable contracts
22
+ - typed interfaces
23
+ - deterministic tests
24
+
25
+ Avoid implicit behavior spread across hidden conventions.
26
+
27
+ ## Code Review in AI-First Teams
28
+
29
+ Review for:
30
+ - behavior regressions
31
+ - security assumptions
32
+ - data integrity
33
+ - failure handling
34
+ - rollout safety
35
+
36
+ Minimize time spent on style issues already covered by automation.
37
+
38
+ ## Hiring and Evaluation Signals
39
+
40
+ Strong AI-first engineers:
41
+ - decompose ambiguous work cleanly
42
+ - define measurable acceptance criteria
43
+ - produce high-signal prompts and evals
44
+ - enforce risk controls under delivery pressure
45
+
46
+ ## Testing Standard
47
+
48
+ Raise testing bar for generated code:
49
+ - required regression coverage for touched domains
50
+ - explicit edge-case assertions
51
+ - integration checks for interface boundaries
@@ -0,0 +1,385 @@
1
+ ---
2
+ name: ai-regression-testing
3
+ description: Regression testing strategies for AI-assisted development. Sandbox-mode API testing without database dependencies, automated bug-check workflows, and patterns to catch AI blind spots where the same model writes and reviews code.
4
+ origin: ECC
5
+ ---
6
+
7
+ # AI Regression Testing
8
+
9
+ Testing patterns specifically designed for AI-assisted development, where the same model writes code and reviews it — creating systematic blind spots that only automated tests can catch.
10
+
11
+ ## When to Activate
12
+
13
+ - AI agent (Claude Code, Cursor, Codex) has modified API routes or backend logic
14
+ - A bug was found and fixed — need to prevent re-introduction
15
+ - Project has a sandbox/mock mode that can be leveraged for DB-free testing
16
+ - Running `/bug-check` or similar review commands after code changes
17
+ - Multiple code paths exist (sandbox vs production, feature flags, etc.)
18
+
19
+ ## The Core Problem
20
+
21
+ When an AI writes code and then reviews its own work, it carries the same assumptions into both steps. This creates a predictable failure pattern:
22
+
23
+ ```
24
+ AI writes fix → AI reviews fix → AI says "looks correct" → Bug still exists
25
+ ```
26
+
27
+ **Real-world example** (observed in production):
28
+
29
+ ```
30
+ Fix 1: Added notification_settings to API response
31
+ → Forgot to add it to the SELECT query
32
+ → AI reviewed and missed it (same blind spot)
33
+
34
+ Fix 2: Added it to SELECT query
35
+ → TypeScript build error (column not in generated types)
36
+ → AI reviewed Fix 1 but didn't catch the SELECT issue
37
+
38
+ Fix 3: Changed to SELECT *
39
+ → Fixed production path, forgot sandbox path
40
+ → AI reviewed and missed it AGAIN (4th occurrence)
41
+
42
+ Fix 4: Test caught it instantly on first run PASS:
43
+ ```
44
+
45
+ The pattern: **sandbox/production path inconsistency** is the #1 AI-introduced regression.
46
+
47
+ ## Sandbox-Mode API Testing
48
+
49
+ Most projects with AI-friendly architecture have a sandbox/mock mode. This is the key to fast, DB-free API testing.
50
+
51
+ ### Setup (Vitest + Next.js App Router)
52
+
53
+ ```typescript
54
+ // vitest.config.ts
55
+ import { defineConfig } from "vitest/config";
56
+ import path from "path";
57
+
58
+ export default defineConfig({
59
+ test: {
60
+ environment: "node",
61
+ globals: true,
62
+ include: ["__tests__/**/*.test.ts"],
63
+ setupFiles: ["__tests__/setup.ts"],
64
+ },
65
+ resolve: {
66
+ alias: {
67
+ "@": path.resolve(__dirname, "."),
68
+ },
69
+ },
70
+ });
71
+ ```
72
+
73
+ ```typescript
74
+ // __tests__/setup.ts
75
+ // Force sandbox mode — no database needed
76
+ process.env.SANDBOX_MODE = "true";
77
+ process.env.NEXT_PUBLIC_SUPABASE_URL = "";
78
+ process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY = "";
79
+ ```
80
+
81
+ ### Test Helper for Next.js API Routes
82
+
83
+ ```typescript
84
+ // __tests__/helpers.ts
85
+ import { NextRequest } from "next/server";
86
+
87
+ export function createTestRequest(
88
+ url: string,
89
+ options?: {
90
+ method?: string;
91
+ body?: Record<string, unknown>;
92
+ headers?: Record<string, string>;
93
+ sandboxUserId?: string;
94
+ },
95
+ ): NextRequest {
96
+ const { method = "GET", body, headers = {}, sandboxUserId } = options || {};
97
+ const fullUrl = url.startsWith("http") ? url : `http://localhost:3000${url}`;
98
+ const reqHeaders: Record<string, string> = { ...headers };
99
+
100
+ if (sandboxUserId) {
101
+ reqHeaders["x-sandbox-user-id"] = sandboxUserId;
102
+ }
103
+
104
+ const init: { method: string; headers: Record<string, string>; body?: string } = {
105
+ method,
106
+ headers: reqHeaders,
107
+ };
108
+
109
+ if (body) {
110
+ init.body = JSON.stringify(body);
111
+ reqHeaders["content-type"] = "application/json";
112
+ }
113
+
114
+ return new NextRequest(fullUrl, init);
115
+ }
116
+
117
+ export async function parseResponse(response: Response) {
118
+ const json = await response.json();
119
+ return { status: response.status, json };
120
+ }
121
+ ```
122
+
123
+ ### Writing Regression Tests
124
+
125
+ The key principle: **write tests for bugs that were found, not for code that works**.
126
+
127
+ ```typescript
128
+ // __tests__/api/user/profile.test.ts
129
+ import { describe, it, expect } from "vitest";
130
+ import { createTestRequest, parseResponse } from "../../helpers";
131
+ import { GET, PATCH } from "@/app/api/user/profile/route";
132
+
133
+ // Define the contract — what fields MUST be in the response
134
+ const REQUIRED_FIELDS = [
135
+ "id",
136
+ "email",
137
+ "full_name",
138
+ "phone",
139
+ "role",
140
+ "created_at",
141
+ "avatar_url",
142
+ "notification_settings", // ← Added after bug found it missing
143
+ ];
144
+
145
+ describe("GET /api/user/profile", () => {
146
+ it("returns all required fields", async () => {
147
+ const req = createTestRequest("/api/user/profile");
148
+ const res = await GET(req);
149
+ const { status, json } = await parseResponse(res);
150
+
151
+ expect(status).toBe(200);
152
+ for (const field of REQUIRED_FIELDS) {
153
+ expect(json.data).toHaveProperty(field);
154
+ }
155
+ });
156
+
157
+ // Regression test — this exact bug was introduced by AI 4 times
158
+ it("notification_settings is not undefined (BUG-R1 regression)", async () => {
159
+ const req = createTestRequest("/api/user/profile");
160
+ const res = await GET(req);
161
+ const { json } = await parseResponse(res);
162
+
163
+ expect("notification_settings" in json.data).toBe(true);
164
+ const ns = json.data.notification_settings;
165
+ expect(ns === null || typeof ns === "object").toBe(true);
166
+ });
167
+ });
168
+ ```
169
+
170
+ ### Testing Sandbox/Production Parity
171
+
172
+ The most common AI regression: fixing production path but forgetting sandbox path (or vice versa).
173
+
174
+ ```typescript
175
+ // Test that sandbox responses match the expected contract
176
+ describe("GET /api/user/messages (conversation list)", () => {
177
+ it("includes partner_name in sandbox mode", async () => {
178
+ const req = createTestRequest("/api/user/messages", {
179
+ sandboxUserId: "user-001",
180
+ });
181
+ const res = await GET(req);
182
+ const { json } = await parseResponse(res);
183
+
184
+ // This caught a bug where partner_name was added
185
+ // to production path but not sandbox path
186
+ if (json.data.length > 0) {
187
+ for (const conv of json.data) {
188
+ expect("partner_name" in conv).toBe(true);
189
+ }
190
+ }
191
+ });
192
+ });
193
+ ```
194
+
195
+ ## Integrating Tests into Bug-Check Workflow
196
+
197
+ ### Custom Command Definition
198
+
199
+ ```markdown
200
+ <!-- .claude/commands/bug-check.md -->
201
+ # Bug Check
202
+
203
+ ## Step 1: Automated Tests (mandatory, cannot skip)
204
+
205
+ Run these commands FIRST before any code review:
206
+
207
+ npm run test # Vitest test suite
208
+ npm run build # TypeScript type check + build
209
+
210
+ - If tests fail → report as highest priority bug
211
+ - If build fails → report type errors as highest priority
212
+ - Only proceed to Step 2 if both pass
213
+
214
+ ## Step 2: Code Review (AI review)
215
+
216
+ 1. Sandbox / production path consistency
217
+ 2. API response shape matches frontend expectations
218
+ 3. SELECT clause completeness
219
+ 4. Error handling with rollback
220
+ 5. Optimistic update race conditions
221
+
222
+ ## Step 3: For each bug fixed, propose a regression test
223
+ ```
224
+
225
+ ### The Workflow
226
+
227
+ ```
228
+ User: "バグチェックして" (or "/bug-check")
229
+
230
+ ├─ Step 1: npm run test
231
+ │ ├─ FAIL → Bug found mechanically (no AI judgment needed)
232
+ │ └─ PASS → Continue
233
+
234
+ ├─ Step 2: npm run build
235
+ │ ├─ FAIL → Type error found mechanically
236
+ │ └─ PASS → Continue
237
+
238
+ ├─ Step 3: AI code review (with known blind spots in mind)
239
+ │ └─ Findings reported
240
+
241
+ └─ Step 4: For each fix, write a regression test
242
+ └─ Next bug-check catches if fix breaks
243
+ ```
244
+
245
+ ## Common AI Regression Patterns
246
+
247
+ ### Pattern 1: Sandbox/Production Path Mismatch
248
+
249
+ **Frequency**: Most common (observed in 3 out of 4 regressions)
250
+
251
+ ```typescript
252
+ // FAIL: AI adds field to production path only
253
+ if (isSandboxMode()) {
254
+ return { data: { id, email, name } }; // Missing new field
255
+ }
256
+ // Production path
257
+ return { data: { id, email, name, notification_settings } };
258
+
259
+ // PASS: Both paths must return the same shape
260
+ if (isSandboxMode()) {
261
+ return { data: { id, email, name, notification_settings: null } };
262
+ }
263
+ return { data: { id, email, name, notification_settings } };
264
+ ```
265
+
266
+ **Test to catch it**:
267
+
268
+ ```typescript
269
+ it("sandbox and production return same fields", async () => {
270
+ // In test env, sandbox mode is forced ON
271
+ const res = await GET(createTestRequest("/api/user/profile"));
272
+ const { json } = await parseResponse(res);
273
+
274
+ for (const field of REQUIRED_FIELDS) {
275
+ expect(json.data).toHaveProperty(field);
276
+ }
277
+ });
278
+ ```
279
+
280
+ ### Pattern 2: SELECT Clause Omission
281
+
282
+ **Frequency**: Common with Supabase/Prisma when adding new columns
283
+
284
+ ```typescript
285
+ // FAIL: New column added to response but not to SELECT
286
+ const { data } = await supabase
287
+ .from("users")
288
+ .select("id, email, name") // notification_settings not here
289
+ .single();
290
+
291
+ return { data: { ...data, notification_settings: data.notification_settings } };
292
+ // → notification_settings is always undefined
293
+
294
+ // PASS: Use SELECT * or explicitly include new columns
295
+ const { data } = await supabase
296
+ .from("users")
297
+ .select("*")
298
+ .single();
299
+ ```
300
+
301
+ ### Pattern 3: Error State Leakage
302
+
303
+ **Frequency**: Moderate — when adding error handling to existing components
304
+
305
+ ```typescript
306
+ // FAIL: Error state set but old data not cleared
307
+ catch (err) {
308
+ setError("Failed to load");
309
+ // reservations still shows data from previous tab!
310
+ }
311
+
312
+ // PASS: Clear related state on error
313
+ catch (err) {
314
+ setReservations([]); // Clear stale data
315
+ setError("Failed to load");
316
+ }
317
+ ```
318
+
319
+ ### Pattern 4: Optimistic Update Without Proper Rollback
320
+
321
+ ```typescript
322
+ // FAIL: No rollback on failure
323
+ const handleRemove = async (id: string) => {
324
+ setItems(prev => prev.filter(i => i.id !== id));
325
+ await fetch(`/api/items/${id}`, { method: "DELETE" });
326
+ // If API fails, item is gone from UI but still in DB
327
+ };
328
+
329
+ // PASS: Capture previous state and rollback on failure
330
+ const handleRemove = async (id: string) => {
331
+ const prevItems = [...items];
332
+ setItems(prev => prev.filter(i => i.id !== id));
333
+ try {
334
+ const res = await fetch(`/api/items/${id}`, { method: "DELETE" });
335
+ if (!res.ok) throw new Error("API error");
336
+ } catch {
337
+ setItems(prevItems); // Rollback
338
+ alert("削除に失敗しました");
339
+ }
340
+ };
341
+ ```
342
+
343
+ ## Strategy: Test Where Bugs Were Found
344
+
345
+ Don't aim for 100% coverage. Instead:
346
+
347
+ ```
348
+ Bug found in /api/user/profile → Write test for profile API
349
+ Bug found in /api/user/messages → Write test for messages API
350
+ Bug found in /api/user/favorites → Write test for favorites API
351
+ No bug in /api/user/notifications → Don't write test (yet)
352
+ ```
353
+
354
+ **Why this works with AI development:**
355
+
356
+ 1. AI tends to make the **same category of mistake** repeatedly
357
+ 2. Bugs cluster in complex areas (auth, multi-path logic, state management)
358
+ 3. Once tested, that exact regression **cannot happen again**
359
+ 4. Test count grows organically with bug fixes — no wasted effort
360
+
361
+ ## Quick Reference
362
+
363
+ | AI Regression Pattern | Test Strategy | Priority |
364
+ |---|---|---|
365
+ | Sandbox/production mismatch | Assert same response shape in sandbox mode | High |
366
+ | SELECT clause omission | Assert all required fields in response | High |
367
+ | Error state leakage | Assert state cleanup on error | Medium |
368
+ | Missing rollback | Assert state restored on API failure | Medium |
369
+ | Type cast masking null | Assert field is not undefined | Medium |
370
+
371
+ ## DO / DON'T
372
+
373
+ **DO:**
374
+ - Write tests immediately after finding a bug (before fixing it if possible)
375
+ - Test the API response shape, not the implementation
376
+ - Run tests as the first step of every bug-check
377
+ - Keep tests fast (< 1 second total with sandbox mode)
378
+ - Name tests after the bug they prevent (e.g., "BUG-R1 regression")
379
+
380
+ **DON'T:**
381
+ - Write tests for code that has never had a bug
382
+ - Trust AI self-review as a substitute for automated tests
383
+ - Skip sandbox path testing because "it's just mock data"
384
+ - Write integration tests when unit tests suffice
385
+ - Aim for coverage percentage — aim for regression prevention