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,280 @@
1
+ ---
2
+ name: fsharp-testing
3
+ description: F# testing patterns with xUnit, FsUnit, Unquote, FsCheck property-based testing, integration tests, and test organization best practices.
4
+ origin: ECC
5
+ ---
6
+
7
+ # F# Testing Patterns
8
+
9
+ Comprehensive testing patterns for F# applications using xUnit, FsUnit, Unquote, FsCheck, and modern .NET testing practices.
10
+
11
+ ## When to Activate
12
+
13
+ - Writing new tests for F# code
14
+ - Reviewing test quality and coverage
15
+ - Setting up test infrastructure for F# projects
16
+ - Debugging flaky or slow tests
17
+
18
+ ## Test Framework Stack
19
+
20
+ | Tool | Purpose |
21
+ |---|---|
22
+ | **xUnit** | Test framework (standard .NET ecosystem choice) |
23
+ | **FsUnit.xUnit** | F#-friendly assertion syntax for xUnit |
24
+ | **Unquote** | Assertion library using F# quotations for clear failure messages |
25
+ | **FsCheck.xUnit** | Property-based testing integrated with xUnit |
26
+ | **NSubstitute** | Mocking .NET dependencies |
27
+ | **Testcontainers** | Real infrastructure in integration tests |
28
+ | **WebApplicationFactory** | ASP.NET Core integration tests |
29
+
30
+ ## Unit Tests with xUnit + FsUnit
31
+
32
+ ### Basic Test Structure
33
+
34
+ ```fsharp
35
+ module OrderServiceTests
36
+
37
+ open Xunit
38
+ open FsUnit.Xunit
39
+
40
+ [<Fact>]
41
+ let ``create sets status to Pending`` () =
42
+ let order = Order.create "cust-1" [ validItem ]
43
+ order.Status |> should equal Pending
44
+
45
+ [<Fact>]
46
+ let ``confirm changes status to Confirmed`` () =
47
+ let order = Order.create "cust-1" [ validItem ]
48
+ let confirmed = Order.confirm order
49
+ confirmed.Status |> should be (ofCase <@ Confirmed @>)
50
+ ```
51
+
52
+ ### Assertions with Unquote
53
+
54
+ Unquote uses F# quotations so failure messages show the full expression that failed, not just "expected X got Y".
55
+
56
+ ```fsharp
57
+ module OrderValidationTests
58
+
59
+ open Xunit
60
+ open Swensen.Unquote
61
+
62
+ [<Fact>]
63
+ let ``PlaceOrder returns success when request is valid`` () =
64
+ let request = { CustomerId = "cust-123"; Items = [ validItem ] }
65
+ let result = OrderService.placeOrder request
66
+ test <@ Result.isOk result @>
67
+
68
+ [<Fact>]
69
+ let ``order total sums item prices`` () =
70
+ let items = [ { Sku = "A"; Quantity = 2; Price = 10m }
71
+ { Sku = "B"; Quantity = 1; Price = 5m } ]
72
+ let total = Order.calculateTotal items
73
+ test <@ total = 25m @>
74
+
75
+ [<Fact>]
76
+ let ``validated email rejects empty input`` () =
77
+ let result = ValidatedEmail.create ""
78
+ test <@ Result.isError result @>
79
+ ```
80
+
81
+ ### Async Tests
82
+
83
+ ```fsharp
84
+ [<Fact>]
85
+ let ``PlaceOrder returns success when request is valid`` () = task {
86
+ let deps = createTestDeps ()
87
+ let request = { CustomerId = "cust-123"; Items = [ validItem ] }
88
+
89
+ let! result = OrderService.placeOrder deps request
90
+
91
+ test <@ Result.isOk result @>
92
+ }
93
+
94
+ [<Fact>]
95
+ let ``PlaceOrder returns error when items are empty`` () = task {
96
+ let deps = createTestDeps ()
97
+ let request = { CustomerId = "cust-123"; Items = [] }
98
+
99
+ let! result = OrderService.placeOrder deps request
100
+
101
+ test <@ Result.isError result @>
102
+ }
103
+ ```
104
+
105
+ ### Parameterized Tests with Theory
106
+
107
+ ```fsharp
108
+ [<Theory>]
109
+ [<InlineData("")>]
110
+ [<InlineData(" ")>]
111
+ let ``PlaceOrder rejects empty customer ID`` (customerId: string) =
112
+ let request = { CustomerId = customerId; Items = [ validItem ] }
113
+ let result = OrderService.placeOrder request
114
+ result |> should be (ofCase <@ Error @>)
115
+
116
+ [<Theory>]
117
+ [<InlineData("", false)>]
118
+ [<InlineData("a", false)>]
119
+ [<InlineData("user@example.com", true)>]
120
+ [<InlineData("user+tag@example.co.uk", true)>]
121
+ let ``IsValidEmail returns expected result`` (email: string, expected: bool) =
122
+ test <@ EmailValidator.isValid email = expected @>
123
+ ```
124
+
125
+ ## Property-Based Testing with FsCheck
126
+
127
+ ### Using FsCheck.xUnit
128
+
129
+ ```fsharp
130
+ open FsCheck
131
+ open FsCheck.Xunit
132
+
133
+ [<Property>]
134
+ let ``order total is always non-negative`` (items: NonEmptyList<PositiveInt * decimal>) =
135
+ let orderItems =
136
+ items.Get
137
+ |> List.map (fun (qty, price) ->
138
+ { Sku = "SKU"; Quantity = qty.Get; Price = abs price })
139
+ let total = Order.calculateTotal orderItems
140
+ total >= 0m
141
+
142
+ [<Property>]
143
+ let ``serialization roundtrips`` (order: Order) =
144
+ let json = JsonSerializer.Serialize order
145
+ let deserialized = JsonSerializer.Deserialize<Order> json
146
+ deserialized = order
147
+ ```
148
+
149
+ ### Custom Generators
150
+
151
+ ```fsharp
152
+ type OrderGenerators =
153
+ static member ValidEmail () =
154
+ gen {
155
+ let! user = Gen.elements [ "alice"; "bob"; "carol" ]
156
+ let! domain = Gen.elements [ "example.com"; "test.org" ]
157
+ return $"{user}@{domain}"
158
+ }
159
+ |> Arb.fromGen
160
+
161
+ [<Property(Arbitrary = [| typeof<OrderGenerators> |])>]
162
+ let ``valid emails pass validation`` (email: string) =
163
+ EmailValidator.isValid email
164
+ ```
165
+
166
+ ## Mocking Dependencies
167
+
168
+ ### Function Stubs (Preferred)
169
+
170
+ ```fsharp
171
+ let createTestDeps () =
172
+ let mutable savedOrders = []
173
+ { FindOrder = fun id -> task { return Map.tryFind id testData }
174
+ SaveOrder = fun order -> task { savedOrders <- order :: savedOrders }
175
+ SendNotification = fun _ -> Task.CompletedTask }
176
+
177
+ [<Fact>]
178
+ let ``PlaceOrder saves the confirmed order`` () = task {
179
+ let mutable saved = []
180
+ let deps =
181
+ { createTestDeps () with
182
+ SaveOrder = fun order -> task { saved <- order :: saved } }
183
+
184
+ let! _ = OrderService.placeOrder deps validRequest
185
+
186
+ test <@ saved.Length = 1 @>
187
+ }
188
+ ```
189
+
190
+ ### NSubstitute for .NET Interfaces
191
+
192
+ ```fsharp
193
+ open NSubstitute
194
+
195
+ [<Fact>]
196
+ let ``calls repository with correct ID`` () = task {
197
+ let repo = Substitute.For<IOrderRepository>()
198
+ repo.FindByIdAsync(Arg.Any<Guid>(), Arg.Any<CancellationToken>())
199
+ .Returns(Task.FromResult(Some testOrder))
200
+
201
+ let service = OrderService(repo)
202
+ let! _ = service.GetOrder(testOrder.Id, CancellationToken.None)
203
+
204
+ do! repo.Received(1).FindByIdAsync(testOrder.Id, Arg.Any<CancellationToken>())
205
+ }
206
+ ```
207
+
208
+ ## ASP.NET Core Integration Tests
209
+
210
+ ```fsharp
211
+ type OrderApiTests (factory: WebApplicationFactory<Program>) =
212
+ interface IClassFixture<WebApplicationFactory<Program>>
213
+
214
+ let client =
215
+ factory.WithWebHostBuilder(fun builder ->
216
+ builder.ConfigureServices(fun services ->
217
+ services.RemoveAll<DbContextOptions<AppDbContext>>() |> ignore
218
+ services.AddDbContext<AppDbContext>(fun options ->
219
+ options.UseInMemoryDatabase("TestDb") |> ignore) |> ignore))
220
+ .CreateClient()
221
+
222
+ [<Fact>]
223
+ member _.``GET order returns 404 when not found`` () = task {
224
+ let! response = client.GetAsync($"/api/orders/{Guid.NewGuid()}")
225
+ test <@ response.StatusCode = HttpStatusCode.NotFound @>
226
+ }
227
+ ```
228
+
229
+ ## Test Organization
230
+
231
+ ```
232
+ tests/
233
+ MyApp.Tests/
234
+ Unit/
235
+ OrderServiceTests.fs
236
+ PaymentServiceTests.fs
237
+ Integration/
238
+ OrderApiTests.fs
239
+ OrderRepositoryTests.fs
240
+ Properties/
241
+ OrderPropertyTests.fs
242
+ Helpers/
243
+ TestData.fs
244
+ TestDeps.fs
245
+ ```
246
+
247
+ ## Common Anti-Patterns
248
+
249
+ | Anti-Pattern | Fix |
250
+ |---|---|
251
+ | Testing implementation details | Test behavior and outcomes |
252
+ | Mutable shared test state | Fresh state per test |
253
+ | `Thread.Sleep` in async tests | Use `Task.Delay` with timeout, or polling helpers |
254
+ | Asserting on `sprintf` output | Assert on typed values and pattern matches |
255
+ | Ignoring `CancellationToken` | Always pass and verify cancellation |
256
+ | Skipping property-based tests | Use FsCheck for any function with clear invariants |
257
+
258
+ ## Related Skills
259
+
260
+ - `dotnet-patterns` - Idiomatic .NET patterns, dependency injection, and architecture
261
+ - `csharp-testing` - C# testing patterns (shared infrastructure like WebApplicationFactory and Testcontainers applies to F# too)
262
+
263
+ ## Running Tests
264
+
265
+ ```bash
266
+ # Run all tests
267
+ dotnet test
268
+
269
+ # Run with coverage
270
+ dotnet test --collect:"XPlat Code Coverage"
271
+
272
+ # Run specific project
273
+ dotnet test tests/MyApp.Tests/
274
+
275
+ # Filter by test name
276
+ dotnet test --filter "FullyQualifiedName~OrderService"
277
+
278
+ # Watch mode during development
279
+ dotnet watch test --project tests/MyApp.Tests/
280
+ ```
@@ -94,6 +94,10 @@ Triggers on: `rm -rf`, `git reset --hard`, `git push --force`, `drop table`, etc
94
94
 
95
95
  The hook at `scripts/hooks/gateguard-fact-force.js` is included in this plugin. Enable it via hooks.json.
96
96
 
97
+ If GateGuard blocks setup or repair work, start the session with
98
+ `ECC_GATEGUARD=off`. For hook-level control, keep using
99
+ `ECC_DISABLED_HOOKS` with the GateGuard hook ID.
100
+
97
101
  ### Option B: Full package with config
98
102
 
99
103
  ```bash
@@ -0,0 +1,88 @@
1
+ ---
2
+ name: hermes-imports
3
+ description: Convert local Hermes operator workflows into sanitized ECC skills and release-pack artifacts. Use when preparing a Hermes workflow for public ECC reuse without leaking private workspace state, credentials, or local-only paths.
4
+ origin: ECC
5
+ ---
6
+
7
+ # Hermes Imports
8
+
9
+ Use this skill when turning a repeated Hermes workflow into something safe to ship in ECC.
10
+
11
+ Hermes is the operator shell. ECC is the reusable workflow layer. Imports should move stable patterns from Hermes into ECC without moving private state.
12
+
13
+ ## When To Use
14
+
15
+ - A Hermes workflow has repeated enough times to become reusable.
16
+ - A local operator prompt should become a public ECC skill.
17
+ - A launch, content, research, or engineering workflow needs sanitized handoff docs.
18
+ - A workflow mentions local paths, credentials, personal datasets, or private account names that must be removed before publication.
19
+
20
+ ## Import Rules
21
+
22
+ - Convert local paths to repo-relative paths or placeholders.
23
+ - Replace live account names with role labels such as `operator`, `default profile`, or `workspace owner`.
24
+ - Describe credential requirements by provider name only.
25
+ - Keep examples narrow and operational.
26
+ - Do not ship raw workspace exports, tokens, OAuth files, health data, CRM data, or finance data.
27
+ - If the workflow requires private state to make sense, keep it local.
28
+
29
+ ## Sanitization Checklist
30
+
31
+ Before committing an imported workflow, scan for:
32
+
33
+ - absolute paths such as `/Users/...`
34
+ - `~/.hermes` paths unless the doc is explicitly explaining local setup
35
+ - API keys, tokens, cookies, OAuth files, or bearer strings
36
+ - phone numbers, private email addresses, and personal contact graphs
37
+ - client names, family names, or account names that are not already public
38
+ - revenue, health, or CRM details
39
+ - raw logs that include tool output from private systems
40
+
41
+ ## Conversion Pattern
42
+
43
+ 1. Identify the repeatable operator loop.
44
+ 2. Strip private inputs and outputs.
45
+ 3. Rewrite local paths as repo-relative examples.
46
+ 4. Turn one-off instructions into a `When To Use` section and a short process.
47
+ 5. Add concrete output requirements.
48
+ 6. Run a secret and local-path scan before opening a PR.
49
+
50
+ ## Example: Launch Handoff
51
+
52
+ Local Hermes prompt:
53
+
54
+ ```text
55
+ Read my local workspace files and finalize launch copy.
56
+ ```
57
+
58
+ ECC-safe version:
59
+
60
+ ```text
61
+ Use the public release pack under docs/releases/<version>/.
62
+ Return one X thread, one LinkedIn post, one recording checklist, and the missing assets list.
63
+ ```
64
+
65
+ ## Example: Quiet-Hours Operator Job
66
+
67
+ Local Hermes job:
68
+
69
+ ```text
70
+ Run my private inbox, finance, and content checks overnight.
71
+ ```
72
+
73
+ ECC-safe version:
74
+
75
+ ```text
76
+ Describe the scheduler policy, the quiet-hours window, the escalation rules, and the categories of checks. Do not include private data sources or credentials.
77
+ ```
78
+
79
+ ## Output Contract
80
+
81
+ Return:
82
+
83
+ - candidate ECC skill name
84
+ - sanitized workflow summary
85
+ - required public inputs
86
+ - private inputs removed
87
+ - remaining risks
88
+ - files that should be created or updated
@@ -0,0 +1,169 @@
1
+ ---
2
+ name: homelab-network-readiness
3
+ description: Readiness checklist for homelab VLAN segmentation, local DNS filtering, and WireGuard-style remote access before changing router, firewall, DHCP, or VPN configuration.
4
+ origin: community
5
+ ---
6
+
7
+ # Homelab Network Readiness
8
+
9
+ Use this skill before changing a home or small-lab network that mixes VLANs,
10
+ Pi-hole or another local DNS resolver, firewall rules, and remote VPN access.
11
+
12
+ This is a planning and review skill. Do not turn it into copy-paste router,
13
+ firewall, or VPN configuration unless the target platform, current topology,
14
+ rollback path, console access, and maintenance window are all known.
15
+
16
+ ## When to Use
17
+
18
+ - Preparing to split a flat network into trusted, IoT, guest, server, or
19
+ management VLANs.
20
+ - Moving DHCP clients to Pi-hole, AdGuard Home, Unbound, or another local DNS
21
+ resolver.
22
+ - Adding WireGuard, Tailscale, ZeroTier, OpenVPN, or router-native VPN access.
23
+ - Reviewing whether a homelab change can lock the operator out of the gateway,
24
+ switch, access point, DNS server, or VPN server.
25
+ - Turning an informal home-network idea into a staged migration plan with
26
+ validation evidence.
27
+
28
+ ## Safety Rules
29
+
30
+ - Keep the first answer read-only: inventory, risks, staged plan, validation,
31
+ and rollback.
32
+ - Do not expose gateway admin panels, DNS resolvers, SSH, NAS consoles, or VPN
33
+ management UIs directly to the public internet.
34
+ - Do not provide firewall, NAT, VLAN, DHCP, or VPN commands without a confirmed
35
+ platform and a rollback procedure.
36
+ - Require out-of-band or same-room console access before changing management
37
+ VLANs, trunk ports, firewall default policies, or DHCP/DNS settings.
38
+ - Keep a working path back to the internet before pointing the whole network at
39
+ a new DNS resolver or VPN route.
40
+ - Treat IoT, guest, camera, and lab-server networks as different trust zones
41
+ until the operator explicitly chooses otherwise.
42
+
43
+ ## Required Inventory
44
+
45
+ Collect this before giving implementation steps:
46
+
47
+ | Area | Questions |
48
+ | --- | --- |
49
+ | Internet edge | What is the modem or ONT? Is the ISP router bridged or still routing? |
50
+ | Gateway | What routes, firewalls, handles DHCP, and terminates VPNs? |
51
+ | Switching | Which switch ports are uplinks, access ports, trunks, or unmanaged? |
52
+ | Wi-Fi | Which SSIDs map to which networks, and are APs wired or mesh? |
53
+ | Addressing | What subnets exist today, and which ranges conflict with VPN sites? |
54
+ | DNS/DHCP | Which service currently hands out leases and resolver addresses? |
55
+ | Management | How will the operator reach the gateway, switch, and AP after changes? |
56
+ | Recovery | What can be reverted locally if DNS, DHCP, VLANs, or VPN routes break? |
57
+
58
+ ## VLAN And Trust-Zone Plan
59
+
60
+ Start with intent rather than vendor syntax.
61
+
62
+ | Zone | Typical contents | Default policy |
63
+ | --- | --- | --- |
64
+ | Trusted | Laptops, phones, admin workstations | Can reach shared services and management only when needed |
65
+ | Servers | NAS, Home Assistant, lab hosts, DNS resolver | Accepts narrow inbound flows from trusted clients |
66
+ | IoT | TVs, smart plugs, cameras, speakers | Internet access plus explicit exceptions only |
67
+ | Guest | Visitor devices | Internet-only, no LAN reachability |
68
+ | Management | Gateway, switches, APs, controllers | Reachable only from trusted admin devices |
69
+ | VPN | Remote clients | Same or narrower access than trusted clients |
70
+
71
+ Before recommending VLAN IDs or subnets, confirm:
72
+
73
+ 1. The gateway supports inter-VLAN routing and firewall rules.
74
+ 2. The switch supports the required tagged and untagged port behavior.
75
+ 3. The APs can map SSIDs to VLANs.
76
+ 4. The operator knows which port they are connected through during the change.
77
+ 5. The management network remains reachable after trunk and SSID changes.
78
+
79
+ ## DNS Filtering Readiness
80
+
81
+ Pi-hole or another local resolver should be introduced as a dependency, not as a
82
+ single point of failure.
83
+
84
+ 1. Give the resolver a reserved address before using it in DHCP options.
85
+ 2. Confirm it can resolve public DNS and local `home.arpa` names.
86
+ 3. Keep the gateway or a second resolver available as a temporary fallback.
87
+ 4. Test one client or one VLAN before changing every DHCP scope.
88
+ 5. Document which networks may bypass filtering and why.
89
+ 6. Check that blocking rules do not break captive portals, work VPNs, firmware
90
+ updates, or medical/security devices.
91
+
92
+ Useful validation evidence:
93
+
94
+ ```text
95
+ Client gets expected DHCP lease
96
+ Client receives expected DNS resolver
97
+ Public DNS lookup succeeds
98
+ Local home.arpa lookup succeeds
99
+ Blocked test domain is blocked only where intended
100
+ Gateway and DNS admin interfaces are not reachable from guest or IoT networks
101
+ ```
102
+
103
+ ## Remote Access Readiness
104
+
105
+ For WireGuard-style access, decide what the VPN is allowed to reach before
106
+ generating keys or opening ports.
107
+
108
+ | Mode | Use when | Risk notes |
109
+ | --- | --- | --- |
110
+ | Split tunnel to one subnet | Remote admin for NAS or lab hosts | Keep route list narrow |
111
+ | Split tunnel to trusted services | Access selected apps by IP or DNS | Requires precise firewall rules |
112
+ | Full tunnel | Untrusted networks or travel | More bandwidth and DNS responsibility |
113
+ | Overlay VPN | Simpler remote access with identity controls | Still needs ACL review |
114
+
115
+ Do not recommend port forwarding until the operator confirms:
116
+
117
+ - The VPN endpoint is patched and actively maintained.
118
+ - The forwarded port goes only to the VPN service, not an admin UI.
119
+ - Dynamic DNS, public IP behavior, and ISP CGNAT status are understood.
120
+ - Peer keys can be revoked without rebuilding the whole network.
121
+ - Logs or connection status can verify who connected and when.
122
+
123
+ ## Change Sequence
124
+
125
+ Prefer small, reversible changes:
126
+
127
+ 1. Snapshot the current topology, IP plan, DHCP settings, DNS settings, and
128
+ firewall rules.
129
+ 2. Reserve infrastructure addresses for gateway, DNS, controller, APs, NAS, and
130
+ VPN endpoint.
131
+ 3. Create the new zone or VLAN without moving critical devices.
132
+ 4. Move one test client and validate DHCP, DNS, routing, internet, and block
133
+ behavior.
134
+ 5. Add narrow firewall exceptions for required flows.
135
+ 6. Move one low-risk device group.
136
+ 7. Add VPN access with the narrowest route and firewall policy that satisfies
137
+ the use case.
138
+ 8. Document final state, known exceptions, and rollback commands or UI steps.
139
+
140
+ ## Review Checklist
141
+
142
+ - Each network has a reason to exist and a clear trust boundary.
143
+ - No management interface is reachable from guest, IoT, or the public internet.
144
+ - DNS failure does not take down the operator's ability to recover locally.
145
+ - DHCP scope changes were tested on one client before broad rollout.
146
+ - VPN clients receive only the routes and DNS settings they need.
147
+ - Firewall rules are default-deny between zones, with named exceptions.
148
+ - The operator can still reach gateway, switch, AP, DNS, and VPN admin surfaces.
149
+ - Rollback is documented in the same vocabulary as the chosen platform UI or
150
+ CLI.
151
+
152
+ ## Anti-Patterns
153
+
154
+ - Segmenting networks before knowing which switch ports and SSIDs carry which
155
+ VLANs.
156
+ - Moving the admin workstation off the only reachable management network.
157
+ - Pointing all DHCP scopes at a Pi-hole before testing fallback DNS.
158
+ - Publishing NAS, DNS, router, or hypervisor management directly to the
159
+ internet.
160
+ - Treating VPN access as equivalent to full trusted-LAN access.
161
+ - Adding allow-all firewall rules temporarily and forgetting to remove them.
162
+ - Copying commands from another vendor or firmware version without checking the
163
+ exact platform syntax.
164
+
165
+ ## See Also
166
+
167
+ - Skill: `homelab-network-setup`
168
+ - Skill: `network-config-validation`
169
+ - Skill: `network-interface-health`
@@ -0,0 +1,129 @@
1
+ ---
2
+ name: homelab-network-setup
3
+ description: Practical home and homelab network planning for gateways, switches, access points, IP ranges, DHCP reservations, DNS, cabling, and common beginner mistakes.
4
+ origin: community
5
+ ---
6
+
7
+ # Homelab Network Setup
8
+
9
+ Use this skill to design a home or small-lab network that can grow without
10
+ needing a full rebuild.
11
+
12
+ ## When to Use
13
+
14
+ - Planning a new home network or redesigning an ISP-router-only setup.
15
+ - Choosing gateway, switch, and access point roles.
16
+ - Designing IP ranges, DHCP scopes, static reservations, and DNS.
17
+ - Preparing for future VLANs, Pi-hole, NAS, lab servers, or VPN access.
18
+ - Troubleshooting a new network that has double NAT, unstable Wi-Fi, or changing
19
+ server addresses.
20
+
21
+ ## How It Works
22
+
23
+ Start by separating device roles:
24
+
25
+ ```text
26
+ Internet
27
+ |
28
+ Modem or ONT
29
+ |
30
+ Gateway or router NAT, firewall, DHCP, DNS, inter-VLAN routing
31
+ |
32
+ Managed switch wired clients, AP uplinks, optional VLAN trunks
33
+ |
34
+ Access points Wi-Fi only; ideally wired backhaul
35
+ Servers and NAS stable addresses, DNS names, monitoring
36
+ Clients and IoT DHCP pools, isolated later if VLANs are available
37
+ ```
38
+
39
+ Pick a gateway that matches the operator, not just the feature checklist:
40
+
41
+ | Option | Best fit | Notes |
42
+ | --- | --- | --- |
43
+ | ISP router | Basic internet only | Limited control and often poor VLAN support |
44
+ | UniFi gateway | Managed home network | Good UI, ecosystem lock-in |
45
+ | OPNsense or pfSense | Flexible homelab | Strong VLAN, firewall, VPN, and DNS control |
46
+ | MikroTik | Advanced network users | Powerful, but easy to misconfigure |
47
+ | Linux router | Tinkerers | Document rollback before using as primary gateway |
48
+
49
+ ## IP Plan
50
+
51
+ Avoid the most common default, `192.168.1.0/24`, when you expect to use VPNs.
52
+ It often conflicts with hotels, offices, and ISP routers.
53
+
54
+ ```text
55
+ Example small homelab plan:
56
+
57
+ 192.168.10.0/24 trusted clients
58
+ 192.168.20.0/24 IoT and media devices
59
+ 192.168.30.0/24 servers and NAS
60
+ 192.168.40.0/24 guest Wi-Fi
61
+ 192.168.99.0/24 network management
62
+
63
+ Gateway convention: .1
64
+ Infrastructure reservations: .2 through .49
65
+ Dynamic DHCP pool: .50 through .240
66
+ Spare room: .241 through .254
67
+ ```
68
+
69
+ Use `home.arpa` for local names. It is reserved for home networks and avoids the
70
+ leakage/conflict problems of ad hoc names like `home.lan`.
71
+
72
+ ```text
73
+ nas.home.arpa
74
+ pihole.home.arpa
75
+ gateway.home.arpa
76
+ switch-01.home.arpa
77
+ ```
78
+
79
+ ## DHCP And DNS
80
+
81
+ - Use DHCP reservations for anything you SSH into, bookmark, monitor, or expose
82
+ as a service.
83
+ - Hand out the gateway as DNS until a local resolver is intentionally deployed.
84
+ - If using Pi-hole or another DNS filter, give it a reservation first, then point
85
+ DHCP DNS options at that address.
86
+ - Keep a small static/reserved range per subnet so replacements do not collide
87
+ with dynamic leases.
88
+
89
+ ## Cabling And Wi-Fi
90
+
91
+ - Prefer wired AP backhaul over mesh when you can run Ethernet.
92
+ - Use a PoE switch for APs and cameras if the budget allows it.
93
+ - Label both ends of each cable and keep a simple port map.
94
+ - Put the gateway, switch, DNS server, and NAS on UPS power if outages are common.
95
+
96
+ ## Examples
97
+
98
+ ### Beginner Upgrade
99
+
100
+ Goal: Keep the ISP router but stabilize a small lab.
101
+
102
+ 1. Set DHCP reservations for NAS, Pi, and any SSH hosts.
103
+ 2. Move local names to `home.arpa`.
104
+ 3. Disable duplicate DHCP servers on secondary routers or APs.
105
+ 4. Wire the main AP instead of relying on wireless backhaul.
106
+
107
+ ### VLAN-Ready Plan
108
+
109
+ Goal: Prepare for future segmentation without enabling it immediately.
110
+
111
+ 1. Choose non-overlapping /24 ranges for trusted, IoT, servers, guest, and
112
+ management.
113
+ 2. Reserve .1 for the gateway and .2-.49 for infrastructure on every subnet.
114
+ 3. Buy a gateway and switch that support VLANs and inter-VLAN firewall rules.
115
+ 4. Document which SSIDs and switch ports will eventually map to each network.
116
+
117
+ ## Anti-Patterns
118
+
119
+ - Double NAT without a reason or documentation.
120
+ - Using `192.168.1.0/24` when VPN access is planned.
121
+ - Dynamic addresses for NAS, Pi-hole, Home Assistant, or other service hosts.
122
+ - Consumer routers repurposed as APs while their DHCP servers are still enabled.
123
+ - Flat networks with cameras, smart plugs, laptops, and servers all sharing the
124
+ same trust boundary.
125
+
126
+ ## See Also
127
+
128
+ - Skill: `network-interface-health`
129
+ - Skill: `network-config-validation`