claudecode-omc 5.6.4 → 5.6.6

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 (383) hide show
  1. package/.local/commands/code-review.md +416 -0
  2. package/.local/commands/pr.md +250 -0
  3. package/.local/commands/prp-pr.md +244 -0
  4. package/.local/guidelines/CLAUDE.md +47 -0
  5. package/.local/skills/prompt-optimizer/SKILL.md +23 -4
  6. package/bundled/manifest.json +4 -4
  7. package/bundled/upstream/anthropic-skills/skills/algorithmic-art/LICENSE.txt +1 -1
  8. package/bundled/upstream/anthropic-skills/skills/brand-guidelines/LICENSE.txt +1 -1
  9. package/bundled/upstream/anthropic-skills/skills/canvas-design/LICENSE.txt +1 -1
  10. package/bundled/upstream/anthropic-skills/skills/claude-api/LICENSE.txt +1 -1
  11. package/bundled/upstream/anthropic-skills/skills/claude-api/SKILL.md +120 -58
  12. package/bundled/upstream/anthropic-skills/skills/claude-api/curl/examples.md +9 -9
  13. package/bundled/upstream/anthropic-skills/skills/claude-api/curl/managed-agents.md +336 -0
  14. package/bundled/upstream/anthropic-skills/skills/claude-api/go/managed-agents/README.md +561 -0
  15. package/bundled/upstream/anthropic-skills/skills/claude-api/java/claude-api.md +2 -2
  16. package/bundled/upstream/anthropic-skills/skills/claude-api/java/managed-agents/README.md +442 -0
  17. package/bundled/upstream/anthropic-skills/skills/claude-api/php/claude-api.md +10 -10
  18. package/bundled/upstream/anthropic-skills/skills/claude-api/php/managed-agents/README.md +435 -0
  19. package/bundled/upstream/anthropic-skills/skills/claude-api/python/claude-api/README.md +16 -16
  20. package/bundled/upstream/anthropic-skills/skills/claude-api/python/claude-api/batches.md +3 -3
  21. package/bundled/upstream/anthropic-skills/skills/claude-api/python/claude-api/files-api.md +3 -3
  22. package/bundled/upstream/anthropic-skills/skills/claude-api/python/claude-api/streaming.md +7 -7
  23. package/bundled/upstream/anthropic-skills/skills/claude-api/python/claude-api/tool-use.md +19 -19
  24. package/bundled/upstream/anthropic-skills/skills/claude-api/python/managed-agents/README.md +332 -0
  25. package/bundled/upstream/anthropic-skills/skills/claude-api/ruby/claude-api.md +4 -4
  26. package/bundled/upstream/anthropic-skills/skills/claude-api/ruby/managed-agents/README.md +389 -0
  27. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/agent-design.md +101 -0
  28. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/error-codes.md +11 -4
  29. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/live-sources.md +60 -48
  30. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-api-reference.md +372 -0
  31. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-client-patterns.md +209 -0
  32. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-core.md +220 -0
  33. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-environments.md +211 -0
  34. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-events.md +195 -0
  35. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-memory.md +197 -0
  36. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-multiagent.md +99 -0
  37. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-onboarding.md +114 -0
  38. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-outcomes.md +106 -0
  39. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-overview.md +67 -0
  40. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-tools.md +315 -0
  41. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-webhooks.md +110 -0
  42. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/model-migration.md +779 -0
  43. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/models.md +16 -14
  44. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/prompt-caching.md +45 -2
  45. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/tool-use-concepts.md +28 -6
  46. package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/claude-api/README.md +15 -15
  47. package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/claude-api/batches.md +2 -2
  48. package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/claude-api/files-api.md +1 -1
  49. package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/claude-api/streaming.md +5 -5
  50. package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/claude-api/tool-use.md +15 -15
  51. package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/managed-agents/README.md +359 -0
  52. package/bundled/upstream/anthropic-skills/skills/internal-comms/LICENSE.txt +1 -1
  53. package/bundled/upstream/anthropic-skills/skills/mcp-builder/LICENSE.txt +1 -1
  54. package/bundled/upstream/anthropic-skills/skills/skill-creator/LICENSE.txt +1 -1
  55. package/bundled/upstream/anthropic-skills/skills/slack-gif-creator/LICENSE.txt +1 -1
  56. package/bundled/upstream/anthropic-skills/skills/theme-factory/LICENSE.txt +1 -1
  57. package/bundled/upstream/anthropic-skills/skills/web-artifacts-builder/LICENSE.txt +1 -1
  58. package/bundled/upstream/anthropic-skills/skills/webapp-testing/LICENSE.txt +1 -1
  59. package/bundled/upstream/ecc/.omc-source/bundle.json +2 -3
  60. package/bundled/upstream/ecc/.omc-source/manifests/.claude-plugin/marketplace.json +4 -4
  61. package/bundled/upstream/ecc/agents/a11y-architect.md +10 -2
  62. package/bundled/upstream/ecc/agents/architect.md +9 -0
  63. package/bundled/upstream/ecc/agents/build-error-resolver.md +9 -0
  64. package/bundled/upstream/ecc/agents/chief-of-staff.md +9 -0
  65. package/bundled/upstream/ecc/agents/code-architect.md +9 -0
  66. package/bundled/upstream/ecc/agents/code-explorer.md +10 -1
  67. package/bundled/upstream/ecc/agents/code-reviewer.md +87 -1
  68. package/bundled/upstream/ecc/agents/code-simplifier.md +9 -0
  69. package/bundled/upstream/ecc/agents/comment-analyzer.md +10 -1
  70. package/bundled/upstream/ecc/agents/conversation-analyzer.md +9 -0
  71. package/bundled/upstream/ecc/agents/cpp-build-resolver.md +9 -0
  72. package/bundled/upstream/ecc/agents/cpp-reviewer.md +9 -0
  73. package/bundled/upstream/ecc/agents/csharp-reviewer.md +9 -0
  74. package/bundled/upstream/ecc/agents/dart-build-resolver.md +9 -0
  75. package/bundled/upstream/ecc/agents/database-reviewer.md +9 -0
  76. package/bundled/upstream/ecc/agents/django-build-resolver.md +252 -0
  77. package/bundled/upstream/ecc/agents/django-reviewer.md +169 -0
  78. package/bundled/upstream/ecc/agents/doc-updater.md +9 -0
  79. package/bundled/upstream/ecc/agents/docs-lookup.md +9 -0
  80. package/bundled/upstream/ecc/agents/e2e-runner.md +9 -0
  81. package/bundled/upstream/ecc/agents/fastapi-reviewer.md +79 -0
  82. package/bundled/upstream/ecc/agents/flutter-reviewer.md +9 -0
  83. package/bundled/upstream/ecc/agents/fsharp-reviewer.md +109 -0
  84. package/bundled/upstream/ecc/agents/gan-evaluator.md +9 -0
  85. package/bundled/upstream/ecc/agents/gan-generator.md +9 -0
  86. package/bundled/upstream/ecc/agents/gan-planner.md +9 -0
  87. package/bundled/upstream/ecc/agents/go-build-resolver.md +9 -0
  88. package/bundled/upstream/ecc/agents/go-reviewer.md +9 -0
  89. package/bundled/upstream/ecc/agents/harmonyos-app-resolver.md +182 -0
  90. package/bundled/upstream/ecc/agents/harness-optimizer.md +9 -0
  91. package/bundled/upstream/ecc/agents/healthcare-reviewer.md +9 -0
  92. package/bundled/upstream/ecc/agents/homelab-architect.md +107 -0
  93. package/bundled/upstream/ecc/agents/java-build-resolver.md +133 -11
  94. package/bundled/upstream/ecc/agents/java-reviewer.md +130 -32
  95. package/bundled/upstream/ecc/agents/kotlin-build-resolver.md +9 -0
  96. package/bundled/upstream/ecc/agents/kotlin-reviewer.md +9 -0
  97. package/bundled/upstream/ecc/agents/loop-operator.md +9 -0
  98. package/bundled/upstream/ecc/agents/mle-reviewer.md +162 -0
  99. package/bundled/upstream/ecc/agents/network-architect.md +106 -0
  100. package/bundled/upstream/ecc/agents/network-config-reviewer.md +106 -0
  101. package/bundled/upstream/ecc/agents/network-troubleshooter.md +128 -0
  102. package/bundled/upstream/ecc/agents/opensource-forker.md +9 -0
  103. package/bundled/upstream/ecc/agents/opensource-packager.md +9 -0
  104. package/bundled/upstream/ecc/agents/opensource-sanitizer.md +9 -0
  105. package/bundled/upstream/ecc/agents/performance-optimizer.md +9 -0
  106. package/bundled/upstream/ecc/agents/planner.md +9 -0
  107. package/bundled/upstream/ecc/agents/pr-test-analyzer.md +9 -0
  108. package/bundled/upstream/ecc/agents/python-reviewer.md +9 -0
  109. package/bundled/upstream/ecc/agents/pytorch-build-resolver.md +12 -3
  110. package/bundled/upstream/ecc/agents/refactor-cleaner.md +9 -0
  111. package/bundled/upstream/ecc/agents/rust-build-resolver.md +9 -0
  112. package/bundled/upstream/ecc/agents/rust-reviewer.md +9 -0
  113. package/bundled/upstream/ecc/agents/security-reviewer.md +9 -0
  114. package/bundled/upstream/ecc/agents/seo-specialist.md +10 -1
  115. package/bundled/upstream/ecc/agents/silent-failure-hunter.md +9 -0
  116. package/bundled/upstream/ecc/agents/swift-build-resolver.md +170 -0
  117. package/bundled/upstream/ecc/agents/swift-reviewer.md +116 -0
  118. package/bundled/upstream/ecc/agents/tdd-guide.md +9 -0
  119. package/bundled/upstream/ecc/agents/type-design-analyzer.md +10 -1
  120. package/bundled/upstream/ecc/agents/typescript-reviewer.md +9 -0
  121. package/bundled/upstream/ecc/commands/auto-update.md +28 -0
  122. package/bundled/upstream/ecc/commands/build-fix.md +4 -0
  123. package/bundled/upstream/ecc/commands/checkpoint.md +4 -0
  124. package/bundled/upstream/ecc/commands/code-review.md +3 -3
  125. package/bundled/upstream/ecc/commands/cost-report.md +107 -0
  126. package/bundled/upstream/ecc/commands/cpp-build.md +1 -1
  127. package/bundled/upstream/ecc/commands/cpp-test.md +1 -1
  128. package/bundled/upstream/ecc/commands/ecc-guide.md +93 -0
  129. package/bundled/upstream/ecc/commands/fastapi-review.md +39 -0
  130. package/bundled/upstream/ecc/commands/flutter-build.md +1 -1
  131. package/bundled/upstream/ecc/commands/flutter-test.md +1 -1
  132. package/bundled/upstream/ecc/commands/gan-build.md +4 -0
  133. package/bundled/upstream/ecc/commands/gan-design.md +4 -0
  134. package/bundled/upstream/ecc/commands/go-build.md +1 -1
  135. package/bundled/upstream/ecc/commands/go-test.md +1 -1
  136. package/bundled/upstream/ecc/commands/harness-audit.md +4 -0
  137. package/bundled/upstream/ecc/commands/jira.md +2 -2
  138. package/bundled/upstream/ecc/commands/kotlin-build.md +1 -1
  139. package/bundled/upstream/ecc/commands/kotlin-test.md +1 -1
  140. package/bundled/upstream/ecc/commands/learn.md +4 -0
  141. package/bundled/upstream/ecc/commands/loop-start.md +4 -0
  142. package/bundled/upstream/ecc/commands/loop-status.md +54 -1
  143. package/bundled/upstream/ecc/commands/model-route.md +4 -0
  144. package/bundled/upstream/ecc/commands/multi-backend.md +4 -0
  145. package/bundled/upstream/ecc/commands/multi-execute.md +4 -0
  146. package/bundled/upstream/ecc/commands/multi-frontend.md +4 -0
  147. package/bundled/upstream/ecc/commands/multi-plan.md +4 -0
  148. package/bundled/upstream/ecc/commands/multi-workflow.md +4 -0
  149. package/bundled/upstream/ecc/commands/plan-prd.md +160 -0
  150. package/bundled/upstream/ecc/commands/plan.md +96 -13
  151. package/bundled/upstream/ecc/commands/pm2.md +4 -0
  152. package/bundled/upstream/ecc/commands/pr.md +184 -0
  153. package/bundled/upstream/ecc/commands/project-init.md +86 -0
  154. package/bundled/upstream/ecc/commands/python-review.md +1 -1
  155. package/bundled/upstream/ecc/commands/quality-gate.md +4 -0
  156. package/bundled/upstream/ecc/commands/refactor-clean.md +4 -0
  157. package/bundled/upstream/ecc/commands/rust-build.md +1 -1
  158. package/bundled/upstream/ecc/commands/rust-test.md +1 -1
  159. package/bundled/upstream/ecc/commands/security-scan.md +92 -0
  160. package/bundled/upstream/ecc/commands/sessions.md +6 -6
  161. package/bundled/upstream/ecc/commands/skill-health.md +3 -3
  162. package/bundled/upstream/ecc/commands/test-coverage.md +4 -0
  163. package/bundled/upstream/ecc/commands/update-codemaps.md +4 -0
  164. package/bundled/upstream/ecc/commands/update-docs.md +4 -0
  165. package/bundled/upstream/ecc/skills/accessibility/SKILL.md +1 -1
  166. package/bundled/upstream/ecc/skills/agent-architecture-audit/SKILL.md +256 -0
  167. package/bundled/upstream/ecc/skills/agent-payment-x402/SKILL.md +49 -3
  168. package/bundled/upstream/ecc/skills/agentic-os/SKILL.md +387 -0
  169. package/bundled/upstream/ecc/skills/angular-developer/SKILL.md +154 -0
  170. package/bundled/upstream/ecc/skills/angular-developer/references/angular-animations.md +160 -0
  171. package/bundled/upstream/ecc/skills/angular-developer/references/angular-aria.md +410 -0
  172. package/bundled/upstream/ecc/skills/angular-developer/references/cli.md +86 -0
  173. package/bundled/upstream/ecc/skills/angular-developer/references/component-harnesses.md +59 -0
  174. package/bundled/upstream/ecc/skills/angular-developer/references/component-styling.md +91 -0
  175. package/bundled/upstream/ecc/skills/angular-developer/references/components.md +117 -0
  176. package/bundled/upstream/ecc/skills/angular-developer/references/creating-services.md +97 -0
  177. package/bundled/upstream/ecc/skills/angular-developer/references/data-resolvers.md +69 -0
  178. package/bundled/upstream/ecc/skills/angular-developer/references/define-routes.md +67 -0
  179. package/bundled/upstream/ecc/skills/angular-developer/references/defining-providers.md +72 -0
  180. package/bundled/upstream/ecc/skills/angular-developer/references/di-fundamentals.md +120 -0
  181. package/bundled/upstream/ecc/skills/angular-developer/references/e2e-testing.md +56 -0
  182. package/bundled/upstream/ecc/skills/angular-developer/references/effects.md +83 -0
  183. package/bundled/upstream/ecc/skills/angular-developer/references/hierarchical-injectors.md +43 -0
  184. package/bundled/upstream/ecc/skills/angular-developer/references/host-elements.md +80 -0
  185. package/bundled/upstream/ecc/skills/angular-developer/references/injection-context.md +63 -0
  186. package/bundled/upstream/ecc/skills/angular-developer/references/inputs.md +101 -0
  187. package/bundled/upstream/ecc/skills/angular-developer/references/linked-signal.md +59 -0
  188. package/bundled/upstream/ecc/skills/angular-developer/references/loading-strategies.md +61 -0
  189. package/bundled/upstream/ecc/skills/angular-developer/references/mcp.md +108 -0
  190. package/bundled/upstream/ecc/skills/angular-developer/references/navigate-to-routes.md +69 -0
  191. package/bundled/upstream/ecc/skills/angular-developer/references/outputs.md +86 -0
  192. package/bundled/upstream/ecc/skills/angular-developer/references/reactive-forms.md +122 -0
  193. package/bundled/upstream/ecc/skills/angular-developer/references/rendering-strategies.md +44 -0
  194. package/bundled/upstream/ecc/skills/angular-developer/references/resource.md +77 -0
  195. package/bundled/upstream/ecc/skills/angular-developer/references/route-animations.md +56 -0
  196. package/bundled/upstream/ecc/skills/angular-developer/references/route-guards.md +52 -0
  197. package/bundled/upstream/ecc/skills/angular-developer/references/router-lifecycle.md +45 -0
  198. package/bundled/upstream/ecc/skills/angular-developer/references/router-testing.md +87 -0
  199. package/bundled/upstream/ecc/skills/angular-developer/references/show-routes-with-outlets.md +68 -0
  200. package/bundled/upstream/ecc/skills/angular-developer/references/signal-forms.md +795 -0
  201. package/bundled/upstream/ecc/skills/angular-developer/references/signals-overview.md +94 -0
  202. package/bundled/upstream/ecc/skills/angular-developer/references/tailwind-css.md +69 -0
  203. package/bundled/upstream/ecc/skills/angular-developer/references/template-driven-forms.md +114 -0
  204. package/bundled/upstream/ecc/skills/angular-developer/references/testing-fundamentals.md +65 -0
  205. package/bundled/upstream/ecc/skills/autonomous-agent-harness/SKILL.md +6 -0
  206. package/bundled/upstream/ecc/skills/backend-patterns/SKILL.md +8 -45
  207. package/bundled/upstream/ecc/skills/cisco-ios-patterns/SKILL.md +163 -0
  208. package/bundled/upstream/ecc/skills/configure-ecc/SKILL.md +31 -14
  209. package/bundled/upstream/ecc/skills/continuous-learning/SKILL.md +10 -2
  210. package/bundled/upstream/ecc/skills/continuous-learning-v2/SKILL.md +19 -5
  211. package/bundled/upstream/ecc/skills/continuous-learning-v2/agents/observer-loop.sh +44 -4
  212. package/bundled/upstream/ecc/skills/continuous-learning-v2/agents/observer.md +4 -4
  213. package/bundled/upstream/ecc/skills/continuous-learning-v2/agents/start-observer.sh +5 -1
  214. package/bundled/upstream/ecc/skills/continuous-learning-v2/hooks/observe.sh +21 -5
  215. package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/detect-project.sh +58 -13
  216. package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/instinct-cli.py +97 -4
  217. package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/lib/homunculus-dir.sh +31 -0
  218. package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/migrate-homunculus.sh +62 -0
  219. package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/test_parse_instinct.py +34 -0
  220. package/bundled/upstream/ecc/skills/cost-tracking/SKILL.md +147 -0
  221. package/bundled/upstream/ecc/skills/deep-research/SKILL.md +4 -0
  222. package/bundled/upstream/ecc/skills/defi-amm-security/SKILL.md +6 -0
  223. package/bundled/upstream/ecc/skills/django-celery/SKILL.md +457 -0
  224. package/bundled/upstream/ecc/skills/ecc-guide/SKILL.md +189 -0
  225. package/bundled/upstream/ecc/skills/error-handling/SKILL.md +376 -0
  226. package/bundled/upstream/ecc/skills/exa-search/SKILL.md +4 -0
  227. package/bundled/upstream/ecc/skills/fal-ai-media/SKILL.md +4 -0
  228. package/bundled/upstream/ecc/skills/fastapi-patterns/SKILL.md +327 -0
  229. package/bundled/upstream/ecc/skills/flox-environments/SKILL.md +496 -0
  230. package/bundled/upstream/ecc/skills/frontend-design-direction/SKILL.md +92 -0
  231. package/bundled/upstream/ecc/skills/frontend-slides/animation-patterns.md +122 -0
  232. package/bundled/upstream/ecc/skills/frontend-slides/html-template.md +419 -0
  233. package/bundled/upstream/ecc/skills/frontend-slides/scripts/export-pdf.sh +418 -0
  234. package/bundled/upstream/ecc/skills/frontend-slides/scripts/extract-pptx.py +96 -0
  235. package/bundled/upstream/ecc/skills/frontend-slides/viewport-base.css +153 -0
  236. package/bundled/upstream/ecc/skills/fsharp-testing/SKILL.md +280 -0
  237. package/bundled/upstream/ecc/skills/gateguard/SKILL.md +4 -0
  238. package/bundled/upstream/ecc/skills/hermes-imports/SKILL.md +88 -0
  239. package/bundled/upstream/ecc/skills/homelab-network-readiness/SKILL.md +169 -0
  240. package/bundled/upstream/ecc/skills/homelab-network-setup/SKILL.md +129 -0
  241. package/bundled/upstream/ecc/skills/homelab-pihole-dns/SKILL.md +274 -0
  242. package/bundled/upstream/ecc/skills/homelab-vlan-segmentation/SKILL.md +311 -0
  243. package/bundled/upstream/ecc/skills/homelab-wireguard-vpn/SKILL.md +305 -0
  244. package/bundled/upstream/ecc/skills/ios-icon-gen/SKILL.md +157 -0
  245. package/bundled/upstream/ecc/skills/ios-icon-gen/scripts/generate_icons.swift +258 -0
  246. package/bundled/upstream/ecc/skills/ios-icon-gen/scripts/iconify_gen.sh +235 -0
  247. package/bundled/upstream/ecc/skills/java-coding-standards/SKILL.md +241 -5
  248. package/bundled/upstream/ecc/skills/make-interfaces-feel-better/SKILL.md +151 -0
  249. package/bundled/upstream/ecc/skills/mle-workflow/SKILL.md +346 -0
  250. package/bundled/upstream/ecc/skills/motion-advanced/SKILL.md +596 -0
  251. package/bundled/upstream/ecc/skills/motion-foundations/SKILL.md +299 -0
  252. package/bundled/upstream/ecc/skills/motion-patterns/SKILL.md +435 -0
  253. package/bundled/upstream/ecc/skills/motion-ui/SKILL.md +575 -0
  254. package/bundled/upstream/ecc/skills/mysql-patterns/SKILL.md +412 -0
  255. package/bundled/upstream/ecc/skills/netmiko-ssh-automation/SKILL.md +173 -0
  256. package/bundled/upstream/ecc/skills/network-bgp-diagnostics/SKILL.md +167 -0
  257. package/bundled/upstream/ecc/skills/network-config-validation/SKILL.md +210 -0
  258. package/bundled/upstream/ecc/skills/network-interface-health/SKILL.md +152 -0
  259. package/bundled/upstream/ecc/skills/openclaw-persona-forge/SKILL.md +1 -9
  260. package/bundled/upstream/ecc/skills/plan-orchestrate/SKILL.md +262 -0
  261. package/bundled/upstream/ecc/skills/prisma-patterns/SKILL.md +371 -0
  262. package/bundled/upstream/ecc/skills/production-audit/SKILL.md +206 -0
  263. package/bundled/upstream/ecc/skills/prompt-optimizer/SKILL.md +24 -400
  264. package/bundled/upstream/ecc/skills/quarkus-patterns/SKILL.md +722 -0
  265. package/bundled/upstream/ecc/skills/quarkus-security/SKILL.md +467 -0
  266. package/bundled/upstream/ecc/skills/quarkus-tdd/SKILL.md +811 -0
  267. package/bundled/upstream/ecc/skills/quarkus-verification/SKILL.md +479 -0
  268. package/bundled/upstream/ecc/skills/redis-patterns/SKILL.md +403 -0
  269. package/bundled/upstream/ecc/skills/scientific-db-pubmed-database/SKILL.md +175 -0
  270. package/bundled/upstream/ecc/skills/scientific-db-uspto-database/SKILL.md +177 -0
  271. package/bundled/upstream/ecc/skills/scientific-pkg-gget/SKILL.md +166 -0
  272. package/bundled/upstream/ecc/skills/scientific-thinking-literature-review/SKILL.md +192 -0
  273. package/bundled/upstream/ecc/skills/scientific-thinking-scholar-evaluation/SKILL.md +160 -0
  274. package/bundled/upstream/ecc/skills/search-first/SKILL.md +23 -2
  275. package/bundled/upstream/ecc/skills/security-review/SKILL.md +10 -2
  276. package/bundled/upstream/ecc/skills/skill-comply/scripts/runner.py +28 -3
  277. package/bundled/upstream/ecc/skills/skill-comply/tests/test_runner.py +172 -0
  278. package/bundled/upstream/ecc/skills/skill-scout/SKILL.md +140 -0
  279. package/bundled/upstream/ecc/skills/skill-stocktake/SKILL.md +1 -0
  280. package/bundled/upstream/ecc/skills/strategic-compact/SKILL.md +2 -2
  281. package/bundled/upstream/ecc/skills/tinystruct-patterns/SKILL.md +203 -0
  282. package/bundled/upstream/ecc/skills/tinystruct-patterns/references/architecture.md +90 -0
  283. package/bundled/upstream/ecc/skills/tinystruct-patterns/references/data-handling.md +60 -0
  284. package/bundled/upstream/ecc/skills/tinystruct-patterns/references/database.md +99 -0
  285. package/bundled/upstream/ecc/skills/tinystruct-patterns/references/routing.md +64 -0
  286. package/bundled/upstream/ecc/skills/tinystruct-patterns/references/system-usage.md +97 -0
  287. package/bundled/upstream/ecc/skills/tinystruct-patterns/references/testing.md +72 -0
  288. package/bundled/upstream/ecc/skills/ui-to-vue/SKILL.md +134 -0
  289. package/bundled/upstream/ecc/skills/vite-patterns/SKILL.md +449 -0
  290. package/bundled/upstream/ecc/skills/windows-desktop-e2e/SKILL.md +788 -0
  291. package/bundled/upstream/ecc/skills/x-api/SKILL.md +4 -0
  292. package/bundled/upstream/oh-my-claudecode/.omc-source/bundle.json +20 -0
  293. package/bundled/upstream/oh-my-claudecode/agents/analyst.md +2 -1
  294. package/bundled/upstream/oh-my-claudecode/agents/architect.md +2 -1
  295. package/bundled/upstream/oh-my-claudecode/agents/code-reviewer.md +26 -7
  296. package/bundled/upstream/oh-my-claudecode/agents/critic.md +2 -1
  297. package/bundled/upstream/oh-my-claudecode/agents/debugger.md +2 -1
  298. package/bundled/upstream/oh-my-claudecode/agents/designer.md +14 -1
  299. package/bundled/upstream/oh-my-claudecode/agents/document-specialist.md +1 -1
  300. package/bundled/upstream/oh-my-claudecode/agents/executor.md +2 -1
  301. package/bundled/upstream/oh-my-claudecode/agents/explore.md +2 -1
  302. package/bundled/upstream/oh-my-claudecode/agents/git-master.md +2 -1
  303. package/bundled/upstream/oh-my-claudecode/agents/planner.md +2 -1
  304. package/bundled/upstream/oh-my-claudecode/agents/qa-tester.md +2 -1
  305. package/bundled/upstream/oh-my-claudecode/agents/scientist.md +2 -1
  306. package/bundled/upstream/oh-my-claudecode/agents/security-reviewer.md +2 -1
  307. package/bundled/upstream/oh-my-claudecode/agents/test-engineer.md +2 -1
  308. package/bundled/upstream/oh-my-claudecode/agents/tracer.md +2 -1
  309. package/bundled/upstream/oh-my-claudecode/agents/verifier.md +2 -1
  310. package/bundled/upstream/oh-my-claudecode/agents/writer.md +2 -1
  311. package/bundled/upstream/oh-my-claudecode/skills/AGENTS.md +4 -3
  312. package/bundled/upstream/oh-my-claudecode/skills/ai-slop-cleaner/SKILL.md +12 -0
  313. package/bundled/upstream/oh-my-claudecode/skills/deep-dive/SKILL.md +69 -13
  314. package/bundled/upstream/oh-my-claudecode/skills/deep-interview/SKILL.md +176 -63
  315. package/bundled/upstream/oh-my-claudecode/skills/learner/SKILL.md +3 -1
  316. package/bundled/upstream/oh-my-claudecode/skills/omc-doctor/SKILL.md +22 -3
  317. package/bundled/upstream/oh-my-claudecode/skills/omc-reference/SKILL.md +1 -1
  318. package/bundled/upstream/oh-my-claudecode/skills/omc-setup/phases/01-install-claude-md.md +2 -2
  319. package/bundled/upstream/oh-my-claudecode/skills/omc-setup/phases/02-configure.md +45 -2
  320. package/bundled/upstream/oh-my-claudecode/skills/omc-setup/phases/03-integrations.md +46 -5
  321. package/bundled/upstream/oh-my-claudecode/skills/plan/SKILL.md +19 -17
  322. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/config.sh +1 -1
  323. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/parse.sh +1 -1
  324. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/providers/azure-devops.sh +1 -1
  325. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/providers/bitbucket.sh +1 -1
  326. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/providers/gitea.sh +1 -1
  327. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/providers/github.sh +1 -1
  328. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/providers/gitlab.sh +1 -1
  329. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/providers/interface.sh +1 -1
  330. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/providers/jira.sh +1 -1
  331. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/session.sh +1 -1
  332. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/tmux.sh +1 -1
  333. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/worktree.sh +1 -1
  334. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/psm.sh +1 -1
  335. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/tests/test-psm-prompt-injection.sh +1 -1
  336. package/bundled/upstream/oh-my-claudecode/skills/ralph/SKILL.md +8 -8
  337. package/bundled/upstream/oh-my-claudecode/skills/ralplan/SKILL.md +9 -5
  338. package/bundled/upstream/oh-my-claudecode/skills/skill/SKILL.md +6 -6
  339. package/bundled/upstream/oh-my-claudecode/skills/skillify/SKILL.md +19 -3
  340. package/bundled/upstream/oh-my-claudecode/skills/trace/SKILL.md +3 -1
  341. package/bundled/upstream/oh-my-claudecode/skills/ultrawork/SKILL.md +20 -7
  342. package/bundled/upstream/superpowers/.omc-source/bundle.json +21 -0
  343. package/bundled/upstream/superpowers/hooks/hooks-cursor.json +1 -1
  344. package/bundled/upstream/superpowers/skills/executing-plans/SKILL.md +1 -1
  345. package/bundled/upstream/superpowers/skills/finishing-a-development-branch/SKILL.md +93 -42
  346. package/bundled/upstream/superpowers/skills/requesting-code-review/SKILL.md +7 -9
  347. package/bundled/upstream/superpowers/skills/requesting-code-review/code-reviewer.md +107 -85
  348. package/bundled/upstream/superpowers/skills/subagent-driven-development/SKILL.md +3 -1
  349. package/bundled/upstream/superpowers/skills/subagent-driven-development/code-quality-reviewer-prompt.md +2 -3
  350. package/bundled/upstream/superpowers/skills/systematic-debugging/CREATION-LOG.md +1 -1
  351. package/bundled/upstream/superpowers/skills/systematic-debugging/root-cause-tracing.md +1 -1
  352. package/bundled/upstream/superpowers/skills/using-git-worktrees/SKILL.md +95 -98
  353. package/bundled/upstream/superpowers/skills/using-superpowers/references/codex-tools.md +7 -48
  354. package/bundled/upstream/superpowers/skills/using-superpowers/references/copilot-tools.md +1 -11
  355. package/bundled/upstream/superpowers/skills/using-superpowers/references/gemini-tools.md +21 -3
  356. package/bundled/upstream/superpowers/skills/writing-plans/SKILL.md +1 -1
  357. package/package.json +1 -1
  358. package/src/cli/index.js +1 -0
  359. package/src/cli/setup.js +9 -0
  360. package/src/cli/skill-index.js +209 -0
  361. package/src/cli/skill.js +4 -0
  362. package/bundled/upstream/anthropic-skills/skills/claude-api/python/agent-sdk/README.md +0 -355
  363. package/bundled/upstream/anthropic-skills/skills/claude-api/python/agent-sdk/patterns.md +0 -359
  364. package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/agent-sdk/README.md +0 -297
  365. package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/agent-sdk/patterns.md +0 -209
  366. package/bundled/upstream/ecc/commands/agent-sort.md +0 -23
  367. package/bundled/upstream/ecc/commands/claw.md +0 -23
  368. package/bundled/upstream/ecc/commands/context-budget.md +0 -23
  369. package/bundled/upstream/ecc/commands/devfleet.md +0 -23
  370. package/bundled/upstream/ecc/commands/docs.md +0 -23
  371. package/bundled/upstream/ecc/commands/e2e.md +0 -268
  372. package/bundled/upstream/ecc/commands/eval.md +0 -23
  373. package/bundled/upstream/ecc/commands/orchestrate.md +0 -135
  374. package/bundled/upstream/ecc/commands/prompt-optimize.md +0 -23
  375. package/bundled/upstream/ecc/commands/rules-distill.md +0 -20
  376. package/bundled/upstream/ecc/commands/tdd.md +0 -231
  377. package/bundled/upstream/ecc/commands/verify.md +0 -23
  378. package/bundled/upstream/ecc/skills/claude-api/SKILL.md +0 -337
  379. package/bundled/upstream/ecc/skills/frontend-design/SKILL.md +0 -145
  380. package/bundled/upstream/superpowers/agents/code-reviewer.md +0 -48
  381. package/bundled/upstream/superpowers/commands/brainstorm.md +0 -5
  382. package/bundled/upstream/superpowers/commands/execute-plan.md +0 -5
  383. package/bundled/upstream/superpowers/commands/write-plan.md +0 -5
@@ -1,20 +1,31 @@
1
1
  ---
2
2
  name: java-coding-standards
3
- description: "Java coding standards for Spring Boot services: naming, immutability, Optional usage, streams, exceptions, generics, and project layout."
3
+ description: "Java coding standards for Spring Boot and Quarkus services: naming, immutability, Optional usage, streams, exceptions, generics, CDI, reactive patterns, and project layout. Automatically applies framework-specific conventions."
4
4
  origin: ECC
5
5
  ---
6
6
 
7
7
  # Java Coding Standards
8
8
 
9
- Standards for readable, maintainable Java (17+) code in Spring Boot services.
9
+ Standards for readable, maintainable Java (17+) code in Spring Boot and Quarkus services.
10
10
 
11
- ## When to Activate
11
+ ## When to Use
12
12
 
13
- - Writing or reviewing Java code in Spring Boot projects
13
+ - Writing or reviewing Java code in Spring Boot or Quarkus projects
14
14
  - Enforcing naming, immutability, or exception handling conventions
15
15
  - Working with records, sealed classes, or pattern matching (Java 17+)
16
16
  - Reviewing use of Optional, streams, or generics
17
17
  - Structuring packages and project layout
18
+ - **[QUARKUS]**: Working with CDI scopes, Panache entities, or reactive pipelines
19
+
20
+ ## How It Works
21
+
22
+ ### Framework Detection
23
+
24
+ Before applying standards, determine the framework from the build file:
25
+
26
+ - Build file contains `quarkus` → apply **[QUARKUS]** conventions
27
+ - Build file contains `spring-boot` → apply **[SPRING]** conventions
28
+ - Neither detected → apply shared conventions only
18
29
 
19
30
  ## Core Principles
20
31
 
@@ -22,6 +33,13 @@ Standards for readable, maintainable Java (17+) code in Spring Boot services.
22
33
  - Immutable by default; minimize shared mutable state
23
34
  - Fail fast with meaningful exceptions
24
35
  - Consistent naming and package structure
36
+ - **[QUARKUS]**: Favor build-time over runtime processing; avoid runtime reflection where possible
37
+
38
+ ## Examples
39
+
40
+ The sections below show concrete Spring Boot, Quarkus, and shared Java examples
41
+ for naming, immutability, dependency injection, reactive code, exceptions,
42
+ project layout, logging, configuration, and tests.
25
43
 
26
44
  ## Naming
27
45
 
@@ -36,6 +54,12 @@ public Market findBySlug(String slug) {}
36
54
 
37
55
  // PASS: Constants: UPPER_SNAKE_CASE
38
56
  private static final int MAX_PAGE_SIZE = 100;
57
+
58
+ // PASS: [QUARKUS] JAX-RS resources named as *Resource, not *Controller
59
+ public class MarketResource {}
60
+
61
+ // PASS: [SPRING] REST controllers named as *Controller
62
+ public class MarketController {}
39
63
  ```
40
64
 
41
65
  ## Immutability
@@ -49,14 +73,33 @@ public class Market {
49
73
  private final String name;
50
74
  // getters only, no setters
51
75
  }
76
+
77
+ // PASS: [QUARKUS] Panache active-record entities use public fields (Quarkus convention)
78
+ @Entity
79
+ public class Market extends PanacheEntity {
80
+ public String name;
81
+ public MarketStatus status;
82
+ // Panache generates accessors at build time; public fields are idiomatic here
83
+ }
84
+
85
+ // PASS: [QUARKUS] Panache MongoDB entities
86
+ @MongoEntity(collection = "markets")
87
+ public class Market extends PanacheMongoEntity {
88
+ public String name;
89
+ public MarketStatus status;
90
+ }
52
91
  ```
53
92
 
54
93
  ## Optional Usage
55
94
 
56
95
  ```java
57
96
  // PASS: Return Optional from find* methods
97
+ // [SPRING]
58
98
  Optional<Market> market = marketRepository.findBySlug(slug);
59
99
 
100
+ // [QUARKUS] Panache
101
+ Optional<Market> market = Market.find("slug", slug).firstResultOptional();
102
+
60
103
  // PASS: Map/flatMap instead of get()
61
104
  return market
62
105
  .map(MarketResponse::from)
@@ -75,6 +118,77 @@ List<String> names = markets.stream()
75
118
  // FAIL: Avoid complex nested streams; prefer loops for clarity
76
119
  ```
77
120
 
121
+ ## Dependency Injection
122
+
123
+ ```java
124
+ // PASS: [SPRING] Constructor injection (preferred over @Autowired on fields)
125
+ @Service
126
+ public class MarketService {
127
+ private final MarketRepository marketRepository;
128
+
129
+ public MarketService(MarketRepository marketRepository) {
130
+ this.marketRepository = marketRepository;
131
+ }
132
+ }
133
+
134
+ // PASS: [QUARKUS] Constructor injection
135
+ @ApplicationScoped
136
+ public class MarketService {
137
+ private final MarketRepository marketRepository;
138
+
139
+ @Inject
140
+ public MarketService(MarketRepository marketRepository) {
141
+ this.marketRepository = marketRepository;
142
+ }
143
+ }
144
+
145
+ // PASS: [QUARKUS] Package-private field injection (acceptable in Quarkus — avoids proxy issues)
146
+ @ApplicationScoped
147
+ public class MarketService {
148
+ @Inject
149
+ MarketRepository marketRepository;
150
+ }
151
+
152
+ // FAIL: [SPRING] Field injection with @Autowired
153
+ @Autowired
154
+ private MarketRepository marketRepository; // use constructor injection
155
+
156
+ // FAIL: [QUARKUS] @Singleton when interception or lazy init is needed
157
+ @Singleton // non-proxyable — use @ApplicationScoped instead
158
+ public class MarketService {}
159
+ ```
160
+
161
+ ## Reactive Patterns [QUARKUS]
162
+
163
+ ```java
164
+ // PASS: Return Uni/Multi from reactive endpoints
165
+ @GET
166
+ @Path("/{slug}")
167
+ public Uni<Market> findBySlug(@PathParam("slug") String slug) {
168
+ return Market.find("slug", slug)
169
+ .<Market>firstResult()
170
+ .onItem().ifNull().failWith(() -> new MarketNotFoundException(slug));
171
+ }
172
+
173
+ // PASS: Non-blocking pipeline composition
174
+ public Uni<OrderConfirmation> placeOrder(OrderRequest req) {
175
+ return validateOrder(req)
176
+ .chain(valid -> persistOrder(valid))
177
+ .chain(order -> notifyFulfillment(order));
178
+ }
179
+
180
+ // FAIL: Blocking call inside a Uni/Multi pipeline
181
+ public Uni<Market> find(String slug) {
182
+ Market m = Market.find("slug", slug).firstResult(); // BLOCKING — breaks event loop
183
+ return Uni.createFrom().item(m);
184
+ }
185
+
186
+ // FAIL: Subscribing more than once to a shared Uni
187
+ Uni<Market> shared = fetchMarket(slug);
188
+ shared.subscribe().with(m -> log(m));
189
+ shared.subscribe().with(m -> cache(m)); // double subscribe — use Uni.memoize()
190
+ ```
191
+
78
192
  ## Exceptions
79
193
 
80
194
  - Use unchecked exceptions for domain errors; wrap technical exceptions with context
@@ -85,6 +199,34 @@ List<String> names = markets.stream()
85
199
  throw new MarketNotFoundException(slug);
86
200
  ```
87
201
 
202
+ ### Centralised Exception Handling
203
+
204
+ ```java
205
+ // [SPRING]
206
+ @RestControllerAdvice
207
+ public class GlobalExceptionHandler {
208
+ @ExceptionHandler(MarketNotFoundException.class)
209
+ public ResponseEntity<ErrorResponse> handle(MarketNotFoundException ex) {
210
+ return ResponseEntity.status(404).body(ErrorResponse.from(ex));
211
+ }
212
+ }
213
+
214
+ // [QUARKUS] Option A: ExceptionMapper
215
+ @Provider
216
+ public class MarketNotFoundMapper implements ExceptionMapper<MarketNotFoundException> {
217
+ @Override
218
+ public Response toResponse(MarketNotFoundException ex) {
219
+ return Response.status(404).entity(ErrorResponse.from(ex)).build();
220
+ }
221
+ }
222
+
223
+ // [QUARKUS] Option B: @ServerExceptionMapper (RESTEasy Reactive)
224
+ @ServerExceptionMapper
225
+ public RestResponse<ErrorResponse> handle(MarketNotFoundException ex) {
226
+ return RestResponse.status(Status.NOT_FOUND, ErrorResponse.from(ex));
227
+ }
228
+ ```
229
+
88
230
  ## Generics and Type Safety
89
231
 
90
232
  - Avoid raw types; declare generic parameters
@@ -94,7 +236,9 @@ throw new MarketNotFoundException(slug);
94
236
  public <T extends Identifiable> Map<Long, T> indexById(Collection<T> items) { ... }
95
237
  ```
96
238
 
97
- ## Project Structure (Maven/Gradle)
239
+ ## Project Structure
240
+
241
+ ### [SPRING] Maven/Gradle
98
242
 
99
243
  ```
100
244
  src/main/java/com/example/app/
@@ -110,6 +254,24 @@ src/main/resources/
110
254
  src/test/java/... (mirrors main)
111
255
  ```
112
256
 
257
+ ### [QUARKUS] Maven/Gradle
258
+
259
+ ```
260
+ src/main/java/com/example/app/
261
+ config/ # @ConfigMapping, @ConfigProperty beans, Producers
262
+ resource/ # JAX-RS resources (not "controller")
263
+ service/
264
+ repository/ # PanacheRepository implementations (if not using active record)
265
+ domain/ # JPA/Panache entities, MongoDB entities
266
+ dto/
267
+ util/
268
+ mapper/ # MapStruct mappers (if used)
269
+ src/main/resources/
270
+ application.properties # Quarkus convention (YAML supported with quarkus-config-yaml)
271
+ import.sql # Hibernate auto-import for dev/test
272
+ src/test/java/... (mirrors main)
273
+ ```
274
+
113
275
  ## Formatting and Style
114
276
 
115
277
  - Use 2 or 4 spaces consistently (project standard)
@@ -124,24 +286,98 @@ src/test/java/... (mirrors main)
124
286
  - Magic numbers → named constants
125
287
  - Static mutable state → prefer dependency injection
126
288
  - Silent catch blocks → log and act or rethrow
289
+ - **[QUARKUS]**: `@Singleton` where `@ApplicationScoped` is intended — breaks proxying and interception
290
+ - **[QUARKUS]**: Mixing `quarkus-resteasy-reactive` and `quarkus-resteasy` (classic) — pick one stack
291
+ - **[QUARKUS]**: Panache active-record + repository pattern in the same bounded context — pick one
127
292
 
128
293
  ## Logging
129
294
 
130
295
  ```java
296
+ // [SPRING] SLF4J
131
297
  private static final Logger log = LoggerFactory.getLogger(MarketService.class);
132
298
  log.info("fetch_market slug={}", slug);
133
299
  log.error("failed_fetch_market slug={}", slug, ex);
300
+
301
+ // [QUARKUS] JBoss Logging (default, zero-cost at build time)
302
+ private static final Logger log = Logger.getLogger(MarketService.class);
303
+ log.infof("fetch_market slug=%s", slug);
304
+ log.errorf(ex, "failed_fetch_market slug=%s", slug);
305
+
306
+ // [QUARKUS] Alternative: simplified logging with @Inject
307
+ @Inject
308
+ Logger log; // CDI-injected, scoped to declaring class
134
309
  ```
135
310
 
136
311
  ## Null Handling
137
312
 
138
313
  - Accept `@Nullable` only when unavoidable; otherwise use `@NonNull`
139
314
  - Use Bean Validation (`@NotNull`, `@NotBlank`) on inputs
315
+ - **[QUARKUS]**: Apply `@Valid` on `@BeanParam`, `@RestForm`, and request body parameters
316
+
317
+ ## Configuration
318
+
319
+ ```java
320
+ // [SPRING] @ConfigurationProperties
321
+ @ConfigurationProperties(prefix = "market")
322
+ public record MarketProperties(int maxPageSize, Duration cacheTtl) {}
323
+
324
+ // [QUARKUS] @ConfigMapping (type-safe, build-time validated)
325
+ @ConfigMapping(prefix = "market")
326
+ public interface MarketConfig {
327
+ int maxPageSize();
328
+ Duration cacheTtl();
329
+ }
330
+
331
+ // [QUARKUS] Simple values with @ConfigProperty
332
+ @ConfigProperty(name = "market.max-page-size", defaultValue = "100")
333
+ int maxPageSize;
334
+ ```
140
335
 
141
336
  ## Testing Expectations
142
337
 
338
+ ### Shared
143
339
  - JUnit 5 + AssertJ for fluent assertions
144
340
  - Mockito for mocking; avoid partial mocks where possible
145
341
  - Favor deterministic tests; no hidden sleeps
146
342
 
343
+ ### [SPRING]
344
+ - `@WebMvcTest` for controller slices, `@DataJpaTest` for repository slices
345
+ - `@SpringBootTest` reserved for full integration tests
346
+ - `@MockBean` for replacing beans in Spring context
347
+
348
+ ### [QUARKUS]
349
+ - Plain JUnit 5 + Mockito for unit tests (no `@QuarkusTest`)
350
+ - `@QuarkusTest` reserved for CDI integration tests
351
+ - `@InjectMock` for replacing CDI beans in integration tests
352
+ - Dev Services for database/Kafka/Redis — avoid manual Testcontainers setup when Dev Services suffice
353
+ - `@QuarkusTestResource` for custom external service lifecycle
354
+
355
+ ```java
356
+ // [SPRING] Controller test
357
+ @WebMvcTest(MarketController.class)
358
+ class MarketControllerTest {
359
+ @Autowired MockMvc mockMvc;
360
+ @MockBean MarketService marketService;
361
+ }
362
+
363
+ // [QUARKUS] Integration test
364
+ @QuarkusTest
365
+ class MarketResourceTest {
366
+ @InjectMock
367
+ MarketService marketService;
368
+
369
+ @Test
370
+ void should_return_404_when_market_not_found() {
371
+ given().when().get("/markets/unknown").then().statusCode(404);
372
+ }
373
+ }
374
+
375
+ // [QUARKUS] Unit test (no CDI, no @QuarkusTest)
376
+ @ExtendWith(MockitoExtension.class)
377
+ class MarketServiceTest {
378
+ @Mock MarketRepository marketRepository;
379
+ @InjectMocks MarketService marketService;
380
+ }
381
+ ```
382
+
147
383
  **Remember**: Keep code intentional, typed, and observable. Optimize for maintainability over micro-optimizations unless proven necessary.
@@ -0,0 +1,151 @@
1
+ ---
2
+ name: make-interfaces-feel-better
3
+ description: Apply concrete design-engineering details that make interfaces feel polished. Use when reviewing or improving UI spacing, typography, borders, shadows, motion, hit areas, icons, text wrapping, and interaction states.
4
+ origin: community
5
+ ---
6
+
7
+ # Make Interfaces Feel Better
8
+
9
+ Use this skill for the small design-engineering details that compound into a
10
+ more polished interface.
11
+
12
+ Source: salvaged from stale community PR #1659 by `linus707`.
13
+
14
+ ## When to Use
15
+
16
+ - The user says the UI feels off, flat, generic, cramped, jumpy, or unfinished.
17
+ - You are building controls, cards, lists, dashboards, navigation, forms, or
18
+ toolbars.
19
+ - A component needs hover, active, focus, enter, exit, loading, or empty states.
20
+ - A frontend review needs specific before/after recommendations.
21
+
22
+ ## Core Principles
23
+
24
+ ### Concentric Radius
25
+
26
+ For nearby nested rounded surfaces:
27
+
28
+ ```text
29
+ outer radius = inner radius + padding
30
+ ```
31
+
32
+ If padding is large, treat layers as separate surfaces instead of forcing the
33
+ math. The point is optical coherence, not formula worship.
34
+
35
+ ### Optical Alignment
36
+
37
+ Geometric centering is not always visual centering. Icon buttons, play
38
+ triangles, arrows, stars, and asymmetric icons often need a small offset. Fix the
39
+ SVG when possible; otherwise adjust with a pixel-level margin or padding change.
40
+
41
+ ### Shadows And Borders
42
+
43
+ Use borders for separation and focus rings. Use layered shadows when a card,
44
+ button, dropdown, or popover needs depth. Shadows should be transparent and
45
+ subtle enough to work across backgrounds.
46
+
47
+ ### Text Wrapping
48
+
49
+ - Use `text-wrap: balance` on headings and short titles.
50
+ - Use `text-wrap: pretty` on short-to-medium body text, captions, descriptions,
51
+ and list items.
52
+ - Avoid both on long prose, code, and preformatted content.
53
+ - Use `font-variant-numeric: tabular-nums` for counters, timers, prices, tables,
54
+ and other updating numbers.
55
+
56
+ ### Font Smoothing
57
+
58
+ On macOS, apply antialiased font smoothing at the root layout when the project
59
+ does not already do so:
60
+
61
+ ```css
62
+ html {
63
+ -webkit-font-smoothing: antialiased;
64
+ -moz-osx-font-smoothing: grayscale;
65
+ }
66
+ ```
67
+
68
+ ### Image Outlines
69
+
70
+ Images often need a subtle inset outline so their edges do not blur into the
71
+ surface.
72
+
73
+ ```css
74
+ img {
75
+ outline: 1px solid rgba(0, 0, 0, 0.1);
76
+ outline-offset: -1px;
77
+ }
78
+
79
+ @media (prefers-color-scheme: dark) {
80
+ img {
81
+ outline-color: rgba(255, 255, 255, 0.1);
82
+ }
83
+ }
84
+ ```
85
+
86
+ Use neutral black or white alpha outlines. Do not tint image outlines with the
87
+ brand palette.
88
+
89
+ ### Motion
90
+
91
+ Use CSS transitions for interactive state changes because they can retarget
92
+ when the user changes intent mid-motion. Reserve keyframes for staged
93
+ one-shot entrances or loading sequences.
94
+
95
+ Good motion defaults:
96
+
97
+ - Enter: combine opacity, small `translateY`, and optionally blur.
98
+ - Exit: shorter and quieter than enter, usually 150ms.
99
+ - Press: `scale(0.96)` for tactile buttons, with a way to disable it when the
100
+ movement distracts.
101
+ - Icon swaps: cross-fade with opacity, scale, and blur instead of instant
102
+ visibility toggles.
103
+
104
+ ### Transition Scope
105
+
106
+ Never use `transition: all`. Specify the changed properties:
107
+
108
+ ```css
109
+ .button {
110
+ transition-property: transform, background-color, box-shadow;
111
+ transition-duration: 150ms;
112
+ transition-timing-function: ease-out;
113
+ }
114
+ ```
115
+
116
+ Use `will-change` only for first-frame stutter on compositor-friendly
117
+ properties such as `transform`, `opacity`, and `filter`. Never use
118
+ `will-change: all`.
119
+
120
+ ### Hit Areas
121
+
122
+ Interactive controls should have at least a 40x40px hit area, ideally 44x44px
123
+ where the layout allows it. Expand with a pseudo-element when the visible icon
124
+ is smaller, but do not let expanded hit areas overlap.
125
+
126
+ ## Review Output
127
+
128
+ When reviewing a UI polish pass, report concrete changes in before/after rows:
129
+
130
+ | Principle | Before | After |
131
+ | --- | --- | --- |
132
+ | Concentric radius | Same radius on parent and child | Parent radius accounts for padding |
133
+ | Tabular numbers | Counter shifts as digits change | Counter uses `tabular-nums` |
134
+ | Transition scope | `transition: all` | Explicit transition properties |
135
+
136
+ Include file paths and properties when they are not obvious from the snippets.
137
+ Omit principles that you checked but did not change.
138
+
139
+ ## Checklist
140
+
141
+ - Nested rounded elements are optically coherent.
142
+ - Icons are visually centered.
143
+ - Buttons, cards, and popovers use borders or shadows for the right reason.
144
+ - Headings and short text avoid awkward wrapping.
145
+ - Dynamic numbers use tabular numerals.
146
+ - Images have neutral outlines where needed.
147
+ - Enter and exit animations are split, subtle, and interruptible where
148
+ appropriate.
149
+ - Buttons have tactile active states without exaggerated motion.
150
+ - `transition: all` and `will-change: all` are absent.
151
+ - Small controls still have usable hit areas.