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
@@ -0,0 +1,94 @@
1
+ # Angular Signals Overview
2
+
3
+ Signals are the foundation of reactivity in modern Angular applications. A **signal** is a wrapper around a value that notifies interested consumers when that value changes.
4
+
5
+ ## Writable Signals (`signal`)
6
+
7
+ Use `signal()` to create state that can be directly updated.
8
+
9
+ ```ts
10
+ import {signal} from '@angular/core';
11
+
12
+ // Create a writable signal
13
+ const count = signal(0);
14
+
15
+ // Read the value (always requires calling the getter function)
16
+ console.log(count());
17
+
18
+ // Update the value directly
19
+ count.set(3);
20
+
21
+ // Update based on the previous value
22
+ count.update((value) => value + 1);
23
+ ```
24
+
25
+ ### Exposing as Readonly
26
+
27
+ When exposing state from a service, it is a best practice to expose a readonly version to prevent external mutation.
28
+
29
+ ```ts
30
+ private readonly _count = signal(0);
31
+ // Consumers can read this, but cannot call .set() or .update()
32
+ readonly count = this._count.asReadonly();
33
+ ```
34
+
35
+ ## Computed Signals (`computed`)
36
+
37
+ Use `computed()` to create read-only signals that derive their value from other signals.
38
+
39
+ - **Lazily Evaluated**: The derivation function doesn't run until the computed signal is read.
40
+ - **Memoized**: The result is cached. It only recalculates when one of the signals it depends on changes.
41
+ - **Dynamic Dependencies**: Only the signals _actually read_ during the derivation are tracked.
42
+
43
+ ```ts
44
+ import {signal, computed} from '@angular/core';
45
+
46
+ const count = signal(0);
47
+ const doubleCount = computed(() => count() * 2);
48
+
49
+ // doubleCount automatically updates when count changes.
50
+ ```
51
+
52
+ ## Reactive Contexts
53
+
54
+ A **reactive context** is a runtime state where Angular monitors signal reads to establish a dependency.
55
+
56
+ Angular automatically enters a reactive context when evaluating:
57
+
58
+ - `computed` signals
59
+ - `effect` callbacks
60
+ - `linkedSignal` computations
61
+ - Component templates
62
+
63
+ ### Untracked Reads (`untracked`)
64
+
65
+ If you need to read a signal inside a reactive context _without_ creating a dependency (so that the context doesn't re-run when the signal changes), use `untracked()`.
66
+
67
+ ```ts
68
+ import {effect, untracked} from '@angular/core';
69
+
70
+ effect(() => {
71
+ // This effect only runs when currentUser changes.
72
+ // It does NOT run when counter changes, even though counter is read here.
73
+ console.log(`User: ${currentUser()}, Count: ${untracked(counter)}`);
74
+ });
75
+ ```
76
+
77
+ ### Async Operations in Reactive Contexts
78
+
79
+ The reactive context is only active for **synchronous** code. Signal reads after an `await` will not be tracked. **Always read signals before asynchronous boundaries.**
80
+
81
+ ```ts
82
+ // Incorrect: theme() is not tracked because it is read after await
83
+ effect(async () => {
84
+ const data = await fetchUserData();
85
+ console.log(theme());
86
+ });
87
+
88
+ // Correct: Read the signal before the await
89
+ effect(async () => {
90
+ const currentTheme = theme();
91
+ const data = await fetchUserData();
92
+ console.log(currentTheme);
93
+ });
94
+ ```
@@ -0,0 +1,69 @@
1
+ # Using Tailwind CSS with Angular
2
+
3
+ Tailwind CSS is a utility-first CSS framework that integrates seamlessly with Angular.
4
+
5
+ **CRITICAL AGENT GUIDANCE: ALWAYS focus on Tailwind CSS v4 practices. DO NOT revert to old Tailwind v3 patterns (like creating `tailwind.config.js` with `@tailwind` directives) as this will break the application build. Modern Angular projects use Tailwind v4.**
6
+
7
+ ## Automated Setup (Recommended)
8
+
9
+ The easiest way to add Tailwind CSS to an Angular project is via the Angular CLI:
10
+
11
+ ```shell
12
+ ng add tailwindcss
13
+ ```
14
+
15
+ This will automatically:
16
+
17
+ 1. Install `tailwindcss` and peer dependencies.
18
+ 2. Configure the project to use Tailwind CSS.
19
+ 3. Add the proper import to your global styles.
20
+
21
+ ## Manual Setup (Tailwind v4)
22
+
23
+ If setting up manually, use the following Tailwind v4 pattern:
24
+
25
+ ### 1. Install Dependencies
26
+
27
+ Install Tailwind CSS and PostCSS:
28
+
29
+ ```shell
30
+ npm install tailwindcss @tailwindcss/postcss postcss
31
+ ```
32
+
33
+ ### 2. Configure PostCSS
34
+
35
+ Create a `.postcssrc.json` file in the project root:
36
+
37
+ ```json
38
+ {
39
+ "plugins": {
40
+ "@tailwindcss/postcss": {}
41
+ }
42
+ }
43
+ ```
44
+
45
+ _(Do NOT create a `tailwind.config.js` file! Configuration in v4 is handled through CSS variables)._
46
+
47
+ ### 3. Import Tailwind CSS
48
+
49
+ In your global styles file (e.g., `src/styles.css`), add the standard v4 import:
50
+
51
+ ```css
52
+ @import 'tailwindcss';
53
+ ```
54
+
55
+ _(If using SCSS, use `@use 'tailwindcss';` instead)._
56
+
57
+ ### 4. Use Utility Classes
58
+
59
+ You can now use Tailwind classes directly in your component templates:
60
+
61
+ ```html
62
+ <h1 class="text-3xl font-bold underline">Hello world!</h1>
63
+ ```
64
+
65
+ ## Summary for AI Agents
66
+
67
+ - **Do not use `@tailwind base; @tailwind components; @tailwind utilities;`**. Use `@import 'tailwindcss';`.
68
+ - **Do not create `tailwind.config.js`**. Configuration is managed directly in CSS via theme variables or using PostCSS configurations.
69
+ - Stick strictly to v4 syntax and workflows.
@@ -0,0 +1,114 @@
1
+ # Template-Driven Forms
2
+
3
+ Template-driven forms use two-way data binding (`[(ngModel)]`) to update the data model in the component as changes are made in the template and vice versa. They are ideal for simple forms and use directives in the HTML template to manage form state and validation.
4
+
5
+ ## Core Directives
6
+
7
+ Template-driven forms rely on the `FormsModule` which provides these key directives:
8
+
9
+ - `NgModel`: Reconciles value changes in the form element with the data model (`[(ngModel)]`).
10
+ - `NgForm`: Automatically creates a top-level `FormGroup` bound to the `<form>` tag.
11
+ - `NgModelGroup`: Creates a nested `FormGroup` bound to a DOM element.
12
+
13
+ ## Setup
14
+
15
+ First, import `FormsModule` into your component or module.
16
+
17
+ ```ts
18
+ import {Component} from '@angular/core';
19
+ import {FormsModule} from '@angular/forms';
20
+
21
+ @Component({
22
+ selector: 'app-user-form',
23
+ imports: [FormsModule],
24
+ templateUrl: './user-form.component.html',
25
+ })
26
+ export class UserForm {
27
+ user = {name: '', role: 'Guest'};
28
+
29
+ onSubmit() {
30
+ console.log('Form submitted!', this.user);
31
+ }
32
+ }
33
+ ```
34
+
35
+ ## Building the Form Template
36
+
37
+ ### Two-Way Binding with `[(ngModel)]`
38
+
39
+ Use `[(ngModel)]` on input elements. **Every element using `[(ngModel)]` MUST have a `name` attribute.** Angular uses the `name` attribute to register the control with the parent `NgForm`.
40
+
41
+ ```html
42
+ <form #userForm="ngForm" (ngSubmit)="onSubmit()">
43
+ <!-- Basic Input -->
44
+ <div>
45
+ <label for="name">Name:</label>
46
+ <input type="text" id="name" required [(ngModel)]="user.name" name="name" #nameCtrl="ngModel" />
47
+ </div>
48
+
49
+ <!-- Select Box -->
50
+ <div>
51
+ <label for="role">Role:</label>
52
+ <select id="role" [(ngModel)]="user.role" name="role">
53
+ <option value="Admin">Admin</option>
54
+ <option value="Guest">Guest</option>
55
+ </select>
56
+ </div>
57
+
58
+ <!-- Submit Button (disabled if form is invalid) -->
59
+ <button type="submit" [disabled]="!userForm.form.valid">Submit</button>
60
+ </form>
61
+ ```
62
+
63
+ ## Form and Control State
64
+
65
+ Angular automatically applies CSS classes to controls and forms based on their state:
66
+
67
+ | State | Class if True | Class if False |
68
+ | :------------- | :-------------------------------- | :------------- |
69
+ | Visited | `ng-touched` | `ng-untouched` |
70
+ | Value Changed | `ng-dirty` | `ng-pristine` |
71
+ | Value is Valid | `ng-valid` | `ng-invalid` |
72
+ | Form Submitted | `ng-submitted` (on `<form>` only) | - |
73
+
74
+ You can use these classes to provide visual feedback in your CSS:
75
+
76
+ ```css
77
+ .ng-valid[required],
78
+ .ng-valid.required {
79
+ border-left: 5px solid #42a948; /* green */
80
+ }
81
+ .ng-invalid:not(form) {
82
+ border-left: 5px solid #a94442; /* red */
83
+ }
84
+ ```
85
+
86
+ ## Validation and Error Messages
87
+
88
+ To display error messages conditionally, export the `ngModel` directive to a template reference variable (e.g., `#nameCtrl="ngModel"`).
89
+
90
+ ```html
91
+ <input type="text" id="name" required [(ngModel)]="user.name" name="name" #nameCtrl="ngModel" />
92
+
93
+ <!-- Show error only if the control is invalid AND (touched OR dirty) -->
94
+ @if (nameCtrl.invalid && (nameCtrl.dirty || nameCtrl.touched)) {
95
+ <div class="alert alert-danger">
96
+ @if (nameCtrl.errors?.['required']) {
97
+ <div>Name is required.</div>
98
+ }
99
+ </div>
100
+ }
101
+ ```
102
+
103
+ ## Submitting the Form
104
+
105
+ 1. Use the `(ngSubmit)` event on the `<form>` element.
106
+ 2. Bind the submit button's disabled state to the overall form validity using the `NgForm` template reference variable (e.g., `[disabled]="!userForm.form.valid"`).
107
+
108
+ ## Resetting the Form
109
+
110
+ To programmatically reset the form to its pristine state (clearing values and validation flags), use the `reset()` method on the `NgForm` instance.
111
+
112
+ ```html
113
+ <button type="button" (click)="userForm.reset()">Reset</button>
114
+ ```
@@ -0,0 +1,65 @@
1
+ # Testing Fundamentals
2
+
3
+ This guide covers the fundamental principles and practices for writing Angular unit and component tests. Use the runner already configured in the project.
4
+
5
+ ## Core Philosophy: Async-First
6
+
7
+ Modern Angular applications often schedule state changes asynchronously, especially when using signals or zoneless change detection. Tests should account for this.
8
+
9
+ Prefer the "Act, Wait, Assert" pattern:
10
+
11
+ 1. **Act:** Update state or perform an action (e.g., set a component input, click a button).
12
+ 2. **Wait:** Use `await fixture.whenStable()` to allow the framework to process the scheduled update and render the changes.
13
+ 3. **Assert:** Verify the outcome.
14
+
15
+ ### Basic Test Structure Example
16
+
17
+ ```ts
18
+ import {ComponentFixture, TestBed} from '@angular/core/testing';
19
+ import {MyComponent} from './my.component';
20
+
21
+ describe('MyComponent', () => {
22
+ let component: MyComponent;
23
+ let fixture: ComponentFixture<MyComponent>;
24
+ let h1: HTMLElement;
25
+
26
+ beforeEach(async () => {
27
+ // 1. Configure the test module
28
+ await TestBed.configureTestingModule({
29
+ imports: [MyComponent],
30
+ }).compileComponents();
31
+
32
+ // 2. Create the component fixture
33
+ fixture = TestBed.createComponent(MyComponent);
34
+ component = fixture.componentInstance;
35
+ h1 = fixture.nativeElement.querySelector('h1');
36
+ });
37
+
38
+ it('should display the default title', async () => {
39
+ // ACT: (Implicit) Component is created with default state.
40
+ // WAIT for initial data binding.
41
+ await fixture.whenStable();
42
+ // ASSERT the initial state.
43
+ expect(h1.textContent).toContain('Default Title');
44
+ });
45
+
46
+ it('should display a different title after a change', async () => {
47
+ // ACT: Change the component's title property.
48
+ component.title.set('New Test Title');
49
+
50
+ // WAIT for the asynchronous update to complete.
51
+ await fixture.whenStable();
52
+
53
+ // ASSERT the DOM has been updated.
54
+ expect(h1.textContent).toContain('New Test Title');
55
+ });
56
+ });
57
+ ```
58
+
59
+ ## TestBed and ComponentFixture
60
+
61
+ - **`TestBed`**: The primary utility for creating a test-specific Angular module. Use `TestBed.configureTestingModule({...})` in your `beforeEach` to declare components, provide services, and set up imports needed for your test.
62
+ - **`ComponentFixture`**: A handle on the created component instance and its environment.
63
+ - `fixture.componentInstance`: Access the component's class instance.
64
+ - `fixture.nativeElement`: Access the component's root DOM element.
65
+ - `fixture.debugElement`: An Angular-specific wrapper around the `nativeElement` that provides safer, platform-agnostic ways to query the DOM (e.g., `debugElement.query(By.css('p'))`).
@@ -8,6 +8,12 @@ origin: ECC
8
8
 
9
9
  Turn Claude Code into a persistent, self-directing agent system using only native features and MCP servers.
10
10
 
11
+ ## Consent and Safety Boundaries
12
+
13
+ Autonomous operation must be explicitly requested and scoped by the user. Do not create schedules, dispatch remote agents, write persistent memory, use computer control, post externally, modify third-party resources, or act on private communications unless the user has approved that capability and the target workspace for the current setup.
14
+
15
+ Prefer dry-run plans and local queue files before enabling recurring or event-driven actions. Keep credentials, private workspace exports, personal datasets, and account-specific automations out of reusable ECC artifacts.
16
+
11
17
  ## When to Activate
12
18
 
13
19
  - User wants an agent that runs continuously or on a schedule
@@ -430,51 +430,14 @@ export const DELETE = requirePermission('delete')(
430
430
 
431
431
  ## Rate Limiting
432
432
 
433
- ### Simple In-Memory Rate Limiter
434
-
435
- ```typescript
436
- class RateLimiter {
437
- private requests = new Map<string, number[]>()
438
-
439
- async checkLimit(
440
- identifier: string,
441
- maxRequests: number,
442
- windowMs: number
443
- ): Promise<boolean> {
444
- const now = Date.now()
445
- const requests = this.requests.get(identifier) || []
446
-
447
- // Remove old requests outside window
448
- const recentRequests = requests.filter(time => now - time < windowMs)
449
-
450
- if (recentRequests.length >= maxRequests) {
451
- return false // Rate limit exceeded
452
- }
453
-
454
- // Add current request
455
- recentRequests.push(now)
456
- this.requests.set(identifier, recentRequests)
457
-
458
- return true
459
- }
460
- }
461
-
462
- const limiter = new RateLimiter()
463
-
464
- export async function GET(request: Request) {
465
- const ip = request.headers.get('x-forwarded-for') || 'unknown'
466
-
467
- const allowed = await limiter.checkLimit(ip, 100, 60000) // 100 req/min
468
-
469
- if (!allowed) {
470
- return NextResponse.json({
471
- error: 'Rate limit exceeded'
472
- }, { status: 429 })
473
- }
474
-
475
- // Continue with request
476
- }
477
- ```
433
+ Rate limiting must use a shared store such as Redis, a gateway, or the
434
+ platform's native limiter. Do not use per-process in-memory counters for
435
+ production APIs: they reset on deploy, split across replicas, and fail open in
436
+ serverless or multi-instance environments.
437
+
438
+ Keep the backend layer responsible for choosing the integration point and error
439
+ shape; use `api-design` for the HTTP contract and `security-review` for abuse
440
+ case review.
478
441
 
479
442
  ## Background Jobs & Queues
480
443
 
@@ -0,0 +1,163 @@
1
+ ---
2
+ name: cisco-ios-patterns
3
+ description: Cisco IOS and IOS-XE review patterns for show commands, config hierarchy, wildcard masks, ACL placement, interface hygiene, and safe change-window verification.
4
+ origin: community
5
+ ---
6
+
7
+ # Cisco IOS Patterns
8
+
9
+ Use this skill when reviewing Cisco IOS or IOS-XE snippets, building a
10
+ change-window checklist, or explaining how to collect evidence from a router or
11
+ switch without making the incident worse.
12
+
13
+ ## When to Use
14
+
15
+ - Reviewing IOS or IOS-XE configuration before a planned change.
16
+ - Choosing read-only `show` commands for troubleshooting.
17
+ - Checking ACL wildcard masks and interface direction.
18
+ - Explaining global, interface, routing process, and line configuration modes.
19
+ - Verifying that a change landed in running config and was saved intentionally.
20
+
21
+ ## Operating Rules
22
+
23
+ Treat IOS examples as patterns, not paste-ready production changes. Confirm the
24
+ platform, interface names, current config, rollback path, and out-of-band access
25
+ before making changes on a real device.
26
+
27
+ Prefer this workflow:
28
+
29
+ 1. Capture current state with read-only commands.
30
+ 2. Review the exact candidate config.
31
+ 3. Confirm management access cannot be locked out.
32
+ 4. Apply the smallest change in a maintenance window.
33
+ 5. Re-read state, compare to the baseline, then save only after validation.
34
+
35
+ ## Mode Reference
36
+
37
+ ```text
38
+ Router> enable
39
+ Router# show running-config
40
+ Router# configure terminal
41
+ Router(config)# interface GigabitEthernet0/1
42
+ Router(config-if)# description UPLINK-TO-CORE
43
+ Router(config-if)# no shutdown
44
+ Router(config-if)# exit
45
+ Router(config)# end
46
+ Router# show running-config interface GigabitEthernet0/1
47
+ ```
48
+
49
+ `running-config` is active memory. `startup-config` is what survives reload.
50
+ Do not save a change just because a command was accepted; validate behavior
51
+ first, then use `copy running-config startup-config` if the change is approved.
52
+
53
+ ## Read-Only Collection
54
+
55
+ ```text
56
+ show version
57
+ show inventory
58
+ show processes cpu sorted
59
+ show memory statistics
60
+ show logging
61
+ show running-config | section line vty
62
+ show running-config | section interface
63
+ show running-config | section router bgp
64
+ show ip interface brief
65
+ show interfaces
66
+ show interfaces status
67
+ show vlan brief
68
+ show mac address-table
69
+ show spanning-tree
70
+ show ip route
71
+ show ip protocols
72
+ show ip access-lists
73
+ show route-map
74
+ show ip prefix-list
75
+ ```
76
+
77
+ Collect the specific section you need instead of dumping full config into a
78
+ ticket when the config may contain secrets, customer names, or private topology.
79
+
80
+ ## Wildcard Masks
81
+
82
+ IOS ACL and many routing statements use wildcard masks, not subnet masks.
83
+
84
+ ```text
85
+ Subnet mask Wildcard mask
86
+ 255.255.255.255 0.0.0.0
87
+ 255.255.255.252 0.0.0.3
88
+ 255.255.255.0 0.0.0.255
89
+ 255.255.0.0 0.0.255.255
90
+ ```
91
+
92
+ Review wildcard masks before deployment. A subnet mask accidentally used as a
93
+ wildcard can match far more traffic than intended.
94
+
95
+ ```text
96
+ ip access-list extended WEB-IN
97
+ 10 permit tcp 192.0.2.0 0.0.0.255 any eq 443
98
+ 999 deny ip any any log
99
+ ```
100
+
101
+ Every ACL has an implicit deny at the end. Add an explicit logged deny when the
102
+ operational goal includes observing misses, and confirm logging volume is safe.
103
+
104
+ ## ACL Placement Review
105
+
106
+ Before applying an ACL to an interface, answer these questions:
107
+
108
+ - Which traffic direction is being filtered, `in` or `out`?
109
+ - Is management traffic sourced from a known jump host or management subnet?
110
+ - Is there an explicit permit for required routing, DNS, NTP, monitoring, or
111
+ application traffic?
112
+ - Are hit counters available from a safe test source?
113
+ - Is there a rollback command and an active console or out-of-band path?
114
+
115
+ Do not test reachability by removing firewall or ACL protections. Read counters,
116
+ logs, and route state first.
117
+
118
+ ## Interface Hygiene
119
+
120
+ ```text
121
+ interface GigabitEthernet0/1
122
+ description UPLINK-TO-CORE
123
+ switchport mode trunk
124
+ switchport trunk allowed vlan 10,20,30
125
+ switchport trunk native vlan 999
126
+ no shutdown
127
+ ```
128
+
129
+ Use clear descriptions, explicit switchport mode, and documented native VLANs.
130
+ On routed interfaces, confirm the mask, peer addressing, and routing process
131
+ before assuming link state means forwarding is correct.
132
+
133
+ ## Change-Window Verification
134
+
135
+ Use before/after checks that match the actual change.
136
+
137
+ ```text
138
+ show running-config | section interface GigabitEthernet0/1
139
+ show interfaces GigabitEthernet0/1
140
+ show logging | include GigabitEthernet0/1|changed state|line protocol
141
+ show ip route <prefix>
142
+ show ip access-lists <name>
143
+ ```
144
+
145
+ For routing changes, also capture neighbor state and route tables before and
146
+ after the change. For ACL changes, compare hit counters from a planned test
147
+ source rather than relying on a generic ping.
148
+
149
+ ## Anti-Patterns
150
+
151
+ - Applying a generated config without a device-specific diff.
152
+ - Saving configuration before post-change checks pass.
153
+ - Using a subnet mask where IOS expects a wildcard mask.
154
+ - Applying an ACL to the wrong interface direction.
155
+ - Troubleshooting by disabling ACLs, route policies, or authentication.
156
+ - Pasting full configs into public tools without sanitizing secrets and topology.
157
+
158
+ ## See Also
159
+
160
+ - Agent: `network-config-reviewer`
161
+ - Agent: `network-troubleshooter`
162
+ - Skill: `network-config-validation`
163
+ - Skill: `network-interface-health`
@@ -18,7 +18,7 @@ An interactive, step-by-step installation wizard for the Everything Claude Code
18
18
  ## Prerequisites
19
19
 
20
20
  This skill must be accessible to Claude Code before activation. Two ways to bootstrap:
21
- 1. **Via Plugin**: `/plugin install everything-claude-code` — the plugin loads this skill automatically
21
+ 1. **Via Plugin**: `/plugin install ecc@ecc` — the plugin loads this skill automatically
22
22
  2. **Manual**: Copy only this skill to `~/.claude/skills/configure-ecc/SKILL.md`, then activate by saying "configure ecc"
23
23
 
24
24
  ---
@@ -87,7 +87,7 @@ There are 7 selectable category groups below. The detailed confirmation lists th
87
87
  ```
88
88
  Question: "Which skill categories do you want to install?"
89
89
  Options:
90
- - "Framework & Language" — "Django, Laravel, Spring Boot, Go, Python, Java, Frontend, Backend patterns"
90
+ - "Framework & Language" — "Django, Laravel, Spring Boot, Quarkus, Go, Python, Java, Frontend, Backend patterns"
91
91
  - "Database" — "PostgreSQL, ClickHouse, JPA/Hibernate patterns"
92
92
  - "Workflow & Quality" — "TDD, verification, learning, security review, compaction"
93
93
  - "Research & APIs" — "Deep research, Exa search, Claude API patterns"
@@ -101,7 +101,7 @@ Options:
101
101
 
102
102
  For each selected category, print the full list of skills below and ask the user to confirm or deselect specific ones. If the list exceeds 4 items, print the list as text and use `AskUserQuestion` with an "Install all listed" option plus "Other" for the user to paste specific names.
103
103
 
104
- **Category: Framework & Language (21 skills)**
104
+ **Category: Framework & Language (25 skills)**
105
105
 
106
106
  | Skill | Description |
107
107
  |-------|-------------|
@@ -119,9 +119,13 @@ For each selected category, print the full list of skills below and ask the user
119
119
  | `frontend-slides` | Zero-dependency HTML presentations, style previews, and PPTX-to-web conversion |
120
120
  | `golang-patterns` | Idiomatic Go patterns, conventions for robust Go applications |
121
121
  | `golang-testing` | Go testing: table-driven tests, subtests, benchmarks, fuzzing |
122
- | `java-coding-standards` | Java coding standards for Spring Boot: naming, immutability, Optional, streams |
122
+ | `java-coding-standards` | Java coding standards for Spring Boot and Quarkus: naming, immutability, Optional, streams, CDI |
123
123
  | `python-patterns` | Pythonic idioms, PEP 8, type hints, best practices |
124
124
  | `python-testing` | Python testing with pytest, TDD, fixtures, mocking, parametrization |
125
+ | `quarkus-patterns` | Quarkus architecture, Camel messaging, CDI services, Panache data access |
126
+ | `quarkus-security` | Quarkus security: JWT/OIDC, RBAC, input validation, secrets management |
127
+ | `quarkus-tdd` | Quarkus TDD with JUnit 5, Mockito, REST Assured, Camel testing |
128
+ | `quarkus-verification` | Quarkus verification: build, static analysis, tests, native compilation |
125
129
  | `springboot-patterns` | Spring Boot architecture, REST API, layered services, caching, async |
126
130
  | `springboot-security` | Spring Security: authn/authz, validation, CSRF, secrets, rate limiting |
127
131
  | `springboot-tdd` | Spring Boot TDD with JUnit 5, Mockito, MockMvc, Testcontainers |
@@ -158,13 +162,14 @@ For each selected category, print the full list of skills below and ask the user
158
162
  | `investor-materials` | Pitch decks, one-pagers, investor memos, and financial models |
159
163
  | `investor-outreach` | Personalized investor cold emails, warm intros, and follow-ups |
160
164
 
161
- **Category: Research & APIs (3 skills)**
165
+ **Category: Research & APIs (2 skills)**
162
166
 
163
167
  | Skill | Description |
164
168
  |-------|-------------|
165
169
  | `deep-research` | Multi-source deep research using firecrawl and exa MCPs with cited reports |
166
170
  | `exa-search` | Neural search via Exa MCP for web, code, company, and people research |
167
- | `claude-api` | Anthropic Claude API patterns: Messages, streaming, tool use, vision, batches, Agent SDK |
171
+
172
+ `claude-api` is an Anthropic canonical skill. Install it from [`anthropics/skills`](https://github.com/anthropics/skills) when you want the official Claude API workflow instead of an ECC-bundled copy.
168
173
 
169
174
  **Category: Social & Content Distribution (2 skills)**
170
175
 
@@ -194,9 +199,20 @@ For each selected category, print the full list of skills below and ask the user
194
199
 
195
200
  ### 2d: Execute Installation
196
201
 
197
- For each selected skill, copy the entire skill directory:
202
+ For each selected skill, copy the entire skill directory from the correct source root:
203
+
204
+ ```bash
205
+ # Core skills live under .agents/skills/
206
+ cp -R "$ECC_ROOT/.agents/skills/<skill-name>" "$TARGET/skills/"
207
+
208
+ # Niche skills live under skills/
209
+ cp -R "$ECC_ROOT/skills/<skill-name>" "$TARGET/skills/"
210
+ ```
211
+
212
+ When iterating over globbed source directories, never pass a trailing-slash source directly to `cp`. Use the directory path as the destination name explicitly:
213
+
198
214
  ```bash
199
- cp -r $ECC_ROOT/skills/<skill-name> $TARGET/skills/
215
+ cp -R "${src%/}" "$TARGET/skills/$(basename "${src%/}")"
200
216
  ```
201
217
 
202
218
  Note: `continuous-learning` and `continuous-learning-v2` have extra files (config.json, hooks, scripts) — ensure the entire directory is copied, not just SKILL.md.
@@ -218,13 +234,13 @@ Options:
218
234
 
219
235
  Execute installation:
220
236
  ```bash
221
- # Common rules (flat copy into rules/)
222
- cp -r $ECC_ROOT/rules/common/* $TARGET/rules/
237
+ # Common rules
238
+ cp -r $ECC_ROOT/rules/common $TARGET/rules/common
223
239
 
224
- # Language-specific rules (flat copy into rules/)
225
- cp -r $ECC_ROOT/rules/typescript/* $TARGET/rules/ # if selected
226
- cp -r $ECC_ROOT/rules/python/* $TARGET/rules/ # if selected
227
- cp -r $ECC_ROOT/rules/golang/* $TARGET/rules/ # if selected
240
+ # Language-specific rules (preserve per-language directories)
241
+ cp -r $ECC_ROOT/rules/typescript $TARGET/rules/typescript # if selected
242
+ cp -r $ECC_ROOT/rules/python $TARGET/rules/python # if selected
243
+ cp -r $ECC_ROOT/rules/golang $TARGET/rules/golang # if selected
228
244
  ```
229
245
 
230
246
  **Important**: If the user selects any language-specific rules but NOT common rules, warn them:
@@ -263,6 +279,7 @@ grep -rn "skills/" $TARGET/skills/
263
279
  Some skills reference others. Verify these dependencies:
264
280
  - `django-tdd` may reference `django-patterns`
265
281
  - `laravel-tdd` may reference `laravel-patterns`
282
+ - `quarkus-tdd` may reference `quarkus-patterns`
266
283
  - `springboot-tdd` may reference `springboot-patterns`
267
284
  - `continuous-learning-v2` references `~/.claude/homunculus/` directory
268
285
  - `python-testing` may reference `python-patterns`