claudecode-omc 5.5.2 → 5.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (438) hide show
  1. package/.local/skills/de-ai-writing/SKILL.md +243 -0
  2. package/.local/skills/de-ai-writing/references/chinese-patterns.md +152 -0
  3. package/.local/skills/de-ai-writing/references/chinese-signals.md +121 -0
  4. package/.local/skills/de-ai-writing/references/domain-playbooks.md +120 -0
  5. package/.local/skills/de-ai-writing/references/wikipedia-signs.md +196 -0
  6. package/README.md +102 -10
  7. package/bundled/manifest.json +3 -2
  8. package/bundled/upstream/ecc/.omc-source/bundle.json +23 -0
  9. package/bundled/upstream/ecc/.omc-source/last-plan-apply.json +439 -0
  10. package/bundled/upstream/ecc/.omc-source/manifests/.claude-plugin/marketplace.json +47 -0
  11. package/bundled/upstream/ecc/agents/a11y-architect.md +141 -0
  12. package/bundled/upstream/ecc/agents/architect.md +211 -0
  13. package/bundled/upstream/ecc/agents/build-error-resolver.md +114 -0
  14. package/bundled/upstream/ecc/agents/chief-of-staff.md +151 -0
  15. package/bundled/upstream/ecc/agents/code-architect.md +71 -0
  16. package/bundled/upstream/ecc/agents/code-explorer.md +69 -0
  17. package/bundled/upstream/ecc/agents/code-reviewer.md +237 -0
  18. package/bundled/upstream/ecc/agents/code-simplifier.md +47 -0
  19. package/bundled/upstream/ecc/agents/comment-analyzer.md +45 -0
  20. package/bundled/upstream/ecc/agents/conversation-analyzer.md +52 -0
  21. package/bundled/upstream/ecc/agents/cpp-build-resolver.md +90 -0
  22. package/bundled/upstream/ecc/agents/cpp-reviewer.md +72 -0
  23. package/bundled/upstream/ecc/agents/csharp-reviewer.md +101 -0
  24. package/bundled/upstream/ecc/agents/dart-build-resolver.md +201 -0
  25. package/bundled/upstream/ecc/agents/database-reviewer.md +91 -0
  26. package/bundled/upstream/ecc/agents/doc-updater.md +107 -0
  27. package/bundled/upstream/ecc/agents/docs-lookup.md +68 -0
  28. package/bundled/upstream/ecc/agents/e2e-runner.md +107 -0
  29. package/bundled/upstream/ecc/agents/flutter-reviewer.md +243 -0
  30. package/bundled/upstream/ecc/agents/gan-evaluator.md +209 -0
  31. package/bundled/upstream/ecc/agents/gan-generator.md +131 -0
  32. package/bundled/upstream/ecc/agents/gan-planner.md +99 -0
  33. package/bundled/upstream/ecc/agents/go-build-resolver.md +94 -0
  34. package/bundled/upstream/ecc/agents/go-reviewer.md +76 -0
  35. package/bundled/upstream/ecc/agents/harness-optimizer.md +35 -0
  36. package/bundled/upstream/ecc/agents/healthcare-reviewer.md +83 -0
  37. package/bundled/upstream/ecc/agents/java-build-resolver.md +153 -0
  38. package/bundled/upstream/ecc/agents/java-reviewer.md +92 -0
  39. package/bundled/upstream/ecc/agents/kotlin-build-resolver.md +118 -0
  40. package/bundled/upstream/ecc/agents/kotlin-reviewer.md +159 -0
  41. package/bundled/upstream/ecc/agents/loop-operator.md +36 -0
  42. package/bundled/upstream/ecc/agents/opensource-forker.md +198 -0
  43. package/bundled/upstream/ecc/agents/opensource-packager.md +249 -0
  44. package/bundled/upstream/ecc/agents/opensource-sanitizer.md +188 -0
  45. package/bundled/upstream/ecc/agents/performance-optimizer.md +446 -0
  46. package/bundled/upstream/ecc/agents/planner.md +212 -0
  47. package/bundled/upstream/ecc/agents/pr-test-analyzer.md +45 -0
  48. package/bundled/upstream/ecc/agents/python-reviewer.md +98 -0
  49. package/bundled/upstream/ecc/agents/pytorch-build-resolver.md +120 -0
  50. package/bundled/upstream/ecc/agents/refactor-cleaner.md +85 -0
  51. package/bundled/upstream/ecc/agents/rust-build-resolver.md +148 -0
  52. package/bundled/upstream/ecc/agents/rust-reviewer.md +94 -0
  53. package/bundled/upstream/ecc/agents/security-reviewer.md +108 -0
  54. package/bundled/upstream/ecc/agents/seo-specialist.md +62 -0
  55. package/bundled/upstream/ecc/agents/silent-failure-hunter.md +50 -0
  56. package/bundled/upstream/ecc/agents/tdd-guide.md +91 -0
  57. package/bundled/upstream/ecc/agents/type-design-analyzer.md +41 -0
  58. package/bundled/upstream/ecc/agents/typescript-reviewer.md +112 -0
  59. package/bundled/upstream/ecc/commands/agent-sort.md +23 -0
  60. package/bundled/upstream/ecc/commands/aside.md +164 -0
  61. package/bundled/upstream/ecc/commands/build-fix.md +62 -0
  62. package/bundled/upstream/ecc/commands/checkpoint.md +74 -0
  63. package/bundled/upstream/ecc/commands/claw.md +23 -0
  64. package/bundled/upstream/ecc/commands/code-review.md +289 -0
  65. package/bundled/upstream/ecc/commands/context-budget.md +23 -0
  66. package/bundled/upstream/ecc/commands/cpp-build.md +173 -0
  67. package/bundled/upstream/ecc/commands/cpp-review.md +132 -0
  68. package/bundled/upstream/ecc/commands/cpp-test.md +251 -0
  69. package/bundled/upstream/ecc/commands/devfleet.md +23 -0
  70. package/bundled/upstream/ecc/commands/docs.md +23 -0
  71. package/bundled/upstream/ecc/commands/e2e.md +268 -0
  72. package/bundled/upstream/ecc/commands/eval.md +23 -0
  73. package/bundled/upstream/ecc/commands/evolve.md +178 -0
  74. package/bundled/upstream/ecc/commands/feature-dev.md +49 -0
  75. package/bundled/upstream/ecc/commands/flutter-build.md +164 -0
  76. package/bundled/upstream/ecc/commands/flutter-review.md +116 -0
  77. package/bundled/upstream/ecc/commands/flutter-test.md +144 -0
  78. package/bundled/upstream/ecc/commands/gan-build.md +99 -0
  79. package/bundled/upstream/ecc/commands/gan-design.md +35 -0
  80. package/bundled/upstream/ecc/commands/go-build.md +183 -0
  81. package/bundled/upstream/ecc/commands/go-review.md +148 -0
  82. package/bundled/upstream/ecc/commands/go-test.md +268 -0
  83. package/bundled/upstream/ecc/commands/gradle-build.md +70 -0
  84. package/bundled/upstream/ecc/commands/harness-audit.md +73 -0
  85. package/bundled/upstream/ecc/commands/hookify-configure.md +14 -0
  86. package/bundled/upstream/ecc/commands/hookify-help.md +46 -0
  87. package/bundled/upstream/ecc/commands/hookify-list.md +21 -0
  88. package/bundled/upstream/ecc/commands/hookify.md +50 -0
  89. package/bundled/upstream/ecc/commands/instinct-export.md +66 -0
  90. package/bundled/upstream/ecc/commands/instinct-import.md +114 -0
  91. package/bundled/upstream/ecc/commands/instinct-status.md +59 -0
  92. package/bundled/upstream/ecc/commands/jira.md +106 -0
  93. package/bundled/upstream/ecc/commands/kotlin-build.md +174 -0
  94. package/bundled/upstream/ecc/commands/kotlin-review.md +140 -0
  95. package/bundled/upstream/ecc/commands/kotlin-test.md +312 -0
  96. package/bundled/upstream/ecc/commands/learn-eval.md +116 -0
  97. package/bundled/upstream/ecc/commands/learn.md +70 -0
  98. package/bundled/upstream/ecc/commands/loop-start.md +32 -0
  99. package/bundled/upstream/ecc/commands/loop-status.md +24 -0
  100. package/bundled/upstream/ecc/commands/model-route.md +26 -0
  101. package/bundled/upstream/ecc/commands/multi-backend.md +158 -0
  102. package/bundled/upstream/ecc/commands/multi-execute.md +315 -0
  103. package/bundled/upstream/ecc/commands/multi-frontend.md +158 -0
  104. package/bundled/upstream/ecc/commands/multi-plan.md +268 -0
  105. package/bundled/upstream/ecc/commands/multi-workflow.md +191 -0
  106. package/bundled/upstream/ecc/commands/orchestrate.md +135 -0
  107. package/bundled/upstream/ecc/commands/plan.md +117 -0
  108. package/bundled/upstream/ecc/commands/pm2.md +272 -0
  109. package/bundled/upstream/ecc/commands/projects.md +39 -0
  110. package/bundled/upstream/ecc/commands/promote.md +41 -0
  111. package/bundled/upstream/ecc/commands/prompt-optimize.md +23 -0
  112. package/bundled/upstream/ecc/commands/prp-commit.md +112 -0
  113. package/bundled/upstream/ecc/commands/prp-implement.md +385 -0
  114. package/bundled/upstream/ecc/commands/prp-plan.md +502 -0
  115. package/bundled/upstream/ecc/commands/prp-pr.md +184 -0
  116. package/bundled/upstream/ecc/commands/prp-prd.md +447 -0
  117. package/bundled/upstream/ecc/commands/prune.md +31 -0
  118. package/bundled/upstream/ecc/commands/python-review.md +297 -0
  119. package/bundled/upstream/ecc/commands/quality-gate.md +29 -0
  120. package/bundled/upstream/ecc/commands/refactor-clean.md +80 -0
  121. package/bundled/upstream/ecc/commands/resume-session.md +156 -0
  122. package/bundled/upstream/ecc/commands/review-pr.md +37 -0
  123. package/bundled/upstream/ecc/commands/rules-distill.md +20 -0
  124. package/bundled/upstream/ecc/commands/rust-build.md +187 -0
  125. package/bundled/upstream/ecc/commands/rust-review.md +142 -0
  126. package/bundled/upstream/ecc/commands/rust-test.md +308 -0
  127. package/bundled/upstream/ecc/commands/santa-loop.md +175 -0
  128. package/bundled/upstream/ecc/commands/save-session.md +275 -0
  129. package/bundled/upstream/ecc/commands/sessions.md +339 -0
  130. package/bundled/upstream/ecc/commands/setup-pm.md +80 -0
  131. package/bundled/upstream/ecc/commands/skill-create.md +174 -0
  132. package/bundled/upstream/ecc/commands/skill-health.md +54 -0
  133. package/bundled/upstream/ecc/commands/tdd.md +231 -0
  134. package/bundled/upstream/ecc/commands/test-coverage.md +69 -0
  135. package/bundled/upstream/ecc/commands/update-codemaps.md +72 -0
  136. package/bundled/upstream/ecc/commands/update-docs.md +84 -0
  137. package/bundled/upstream/ecc/commands/verify.md +23 -0
  138. package/bundled/upstream/ecc/hooks/README.md +237 -0
  139. package/bundled/upstream/ecc/hooks/hooks.json +330 -0
  140. package/bundled/upstream/ecc/skills/accessibility/SKILL.md +146 -0
  141. package/bundled/upstream/ecc/skills/agent-eval/SKILL.md +145 -0
  142. package/bundled/upstream/ecc/skills/agent-harness-construction/SKILL.md +73 -0
  143. package/bundled/upstream/ecc/skills/agent-introspection-debugging/SKILL.md +153 -0
  144. package/bundled/upstream/ecc/skills/agent-payment-x402/SKILL.md +178 -0
  145. package/bundled/upstream/ecc/skills/agent-sort/SKILL.md +215 -0
  146. package/bundled/upstream/ecc/skills/agentic-engineering/SKILL.md +63 -0
  147. package/bundled/upstream/ecc/skills/ai-first-engineering/SKILL.md +51 -0
  148. package/bundled/upstream/ecc/skills/ai-regression-testing/SKILL.md +385 -0
  149. package/bundled/upstream/ecc/skills/android-clean-architecture/SKILL.md +339 -0
  150. package/bundled/upstream/ecc/skills/api-connector-builder/SKILL.md +120 -0
  151. package/bundled/upstream/ecc/skills/api-design/SKILL.md +523 -0
  152. package/bundled/upstream/ecc/skills/architecture-decision-records/SKILL.md +179 -0
  153. package/bundled/upstream/ecc/skills/article-writing/SKILL.md +79 -0
  154. package/bundled/upstream/ecc/skills/automation-audit-ops/SKILL.md +142 -0
  155. package/bundled/upstream/ecc/skills/autonomous-agent-harness/SKILL.md +267 -0
  156. package/bundled/upstream/ecc/skills/autonomous-loops/SKILL.md +610 -0
  157. package/bundled/upstream/ecc/skills/backend-patterns/SKILL.md +598 -0
  158. package/bundled/upstream/ecc/skills/benchmark/SKILL.md +93 -0
  159. package/bundled/upstream/ecc/skills/blueprint/SKILL.md +105 -0
  160. package/bundled/upstream/ecc/skills/brand-voice/SKILL.md +97 -0
  161. package/bundled/upstream/ecc/skills/brand-voice/references/voice-profile-schema.md +55 -0
  162. package/bundled/upstream/ecc/skills/browser-qa/SKILL.md +87 -0
  163. package/bundled/upstream/ecc/skills/bun-runtime/SKILL.md +84 -0
  164. package/bundled/upstream/ecc/skills/canary-watch/SKILL.md +99 -0
  165. package/bundled/upstream/ecc/skills/carrier-relationship-management/SKILL.md +212 -0
  166. package/bundled/upstream/ecc/skills/ck/SKILL.md +147 -0
  167. package/bundled/upstream/ecc/skills/ck/commands/forget.mjs +44 -0
  168. package/bundled/upstream/ecc/skills/ck/commands/info.mjs +24 -0
  169. package/bundled/upstream/ecc/skills/ck/commands/init.mjs +143 -0
  170. package/bundled/upstream/ecc/skills/ck/commands/list.mjs +40 -0
  171. package/bundled/upstream/ecc/skills/ck/commands/migrate.mjs +202 -0
  172. package/bundled/upstream/ecc/skills/ck/commands/resume.mjs +36 -0
  173. package/bundled/upstream/ecc/skills/ck/commands/save.mjs +210 -0
  174. package/bundled/upstream/ecc/skills/ck/commands/shared.mjs +387 -0
  175. package/bundled/upstream/ecc/skills/ck/hooks/session-start.mjs +224 -0
  176. package/bundled/upstream/ecc/skills/claude-api/SKILL.md +337 -0
  177. package/bundled/upstream/ecc/skills/claude-devfleet/SKILL.md +103 -0
  178. package/bundled/upstream/ecc/skills/click-path-audit/SKILL.md +244 -0
  179. package/bundled/upstream/ecc/skills/clickhouse-io/SKILL.md +439 -0
  180. package/bundled/upstream/ecc/skills/code-tour/SKILL.md +236 -0
  181. package/bundled/upstream/ecc/skills/codebase-onboarding/SKILL.md +233 -0
  182. package/bundled/upstream/ecc/skills/coding-standards/SKILL.md +549 -0
  183. package/bundled/upstream/ecc/skills/compose-multiplatform-patterns/SKILL.md +299 -0
  184. package/bundled/upstream/ecc/skills/configure-ecc/SKILL.md +367 -0
  185. package/bundled/upstream/ecc/skills/connections-optimizer/SKILL.md +189 -0
  186. package/bundled/upstream/ecc/skills/content-engine/SKILL.md +131 -0
  187. package/bundled/upstream/ecc/skills/content-hash-cache-pattern/SKILL.md +161 -0
  188. package/bundled/upstream/ecc/skills/context-budget/SKILL.md +135 -0
  189. package/bundled/upstream/ecc/skills/continuous-agent-loop/SKILL.md +45 -0
  190. package/bundled/upstream/ecc/skills/continuous-learning/SKILL.md +123 -0
  191. package/bundled/upstream/ecc/skills/continuous-learning/config.json +18 -0
  192. package/bundled/upstream/ecc/skills/continuous-learning/evaluate-session.sh +69 -0
  193. package/bundled/upstream/ecc/skills/continuous-learning-v2/SKILL.md +346 -0
  194. package/bundled/upstream/ecc/skills/continuous-learning-v2/agents/observer-loop.sh +282 -0
  195. package/bundled/upstream/ecc/skills/continuous-learning-v2/agents/observer.md +198 -0
  196. package/bundled/upstream/ecc/skills/continuous-learning-v2/agents/session-guardian.sh +150 -0
  197. package/bundled/upstream/ecc/skills/continuous-learning-v2/agents/start-observer.sh +244 -0
  198. package/bundled/upstream/ecc/skills/continuous-learning-v2/config.json +8 -0
  199. package/bundled/upstream/ecc/skills/continuous-learning-v2/hooks/observe.sh +460 -0
  200. package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/detect-project.sh +243 -0
  201. package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/instinct-cli.py +1426 -0
  202. package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/test_parse_instinct.py +984 -0
  203. package/bundled/upstream/ecc/skills/cost-aware-llm-pipeline/SKILL.md +183 -0
  204. package/bundled/upstream/ecc/skills/council/SKILL.md +203 -0
  205. package/bundled/upstream/ecc/skills/cpp-coding-standards/SKILL.md +723 -0
  206. package/bundled/upstream/ecc/skills/cpp-testing/SKILL.md +324 -0
  207. package/bundled/upstream/ecc/skills/crosspost/SKILL.md +111 -0
  208. package/bundled/upstream/ecc/skills/csharp-testing/SKILL.md +321 -0
  209. package/bundled/upstream/ecc/skills/customer-billing-ops/SKILL.md +140 -0
  210. package/bundled/upstream/ecc/skills/customs-trade-compliance/SKILL.md +263 -0
  211. package/bundled/upstream/ecc/skills/dart-flutter-patterns/SKILL.md +563 -0
  212. package/bundled/upstream/ecc/skills/dashboard-builder/SKILL.md +108 -0
  213. package/bundled/upstream/ecc/skills/data-scraper-agent/SKILL.md +764 -0
  214. package/bundled/upstream/ecc/skills/database-migrations/SKILL.md +429 -0
  215. package/bundled/upstream/ecc/skills/deep-research/SKILL.md +155 -0
  216. package/bundled/upstream/ecc/skills/defi-amm-security/SKILL.md +160 -0
  217. package/bundled/upstream/ecc/skills/deployment-patterns/SKILL.md +427 -0
  218. package/bundled/upstream/ecc/skills/design-system/SKILL.md +82 -0
  219. package/bundled/upstream/ecc/skills/django-patterns/SKILL.md +734 -0
  220. package/bundled/upstream/ecc/skills/django-security/SKILL.md +593 -0
  221. package/bundled/upstream/ecc/skills/django-tdd/SKILL.md +729 -0
  222. package/bundled/upstream/ecc/skills/django-verification/SKILL.md +469 -0
  223. package/bundled/upstream/ecc/skills/dmux-workflows/SKILL.md +191 -0
  224. package/bundled/upstream/ecc/skills/docker-patterns/SKILL.md +364 -0
  225. package/bundled/upstream/ecc/skills/documentation-lookup/SKILL.md +90 -0
  226. package/bundled/upstream/ecc/skills/dotnet-patterns/SKILL.md +321 -0
  227. package/bundled/upstream/ecc/skills/e2e-testing/SKILL.md +326 -0
  228. package/bundled/upstream/ecc/skills/ecc-tools-cost-audit/SKILL.md +160 -0
  229. package/bundled/upstream/ecc/skills/email-ops/SKILL.md +121 -0
  230. package/bundled/upstream/ecc/skills/energy-procurement/SKILL.md +228 -0
  231. package/bundled/upstream/ecc/skills/enterprise-agent-ops/SKILL.md +50 -0
  232. package/bundled/upstream/ecc/skills/eval-harness/SKILL.md +270 -0
  233. package/bundled/upstream/ecc/skills/evm-token-decimals/SKILL.md +130 -0
  234. package/bundled/upstream/ecc/skills/exa-search/SKILL.md +103 -0
  235. package/bundled/upstream/ecc/skills/fal-ai-media/SKILL.md +284 -0
  236. package/bundled/upstream/ecc/skills/finance-billing-ops/SKILL.md +127 -0
  237. package/bundled/upstream/ecc/skills/flutter-dart-code-review/SKILL.md +435 -0
  238. package/bundled/upstream/ecc/skills/foundation-models-on-device/SKILL.md +243 -0
  239. package/bundled/upstream/ecc/skills/frontend-design/SKILL.md +145 -0
  240. package/bundled/upstream/ecc/skills/frontend-patterns/SKILL.md +642 -0
  241. package/bundled/upstream/ecc/skills/frontend-slides/SKILL.md +184 -0
  242. package/bundled/upstream/ecc/skills/frontend-slides/STYLE_PRESETS.md +330 -0
  243. package/bundled/upstream/ecc/skills/gan-style-harness/SKILL.md +278 -0
  244. package/bundled/upstream/ecc/skills/gateguard/SKILL.md +121 -0
  245. package/bundled/upstream/ecc/skills/git-workflow/SKILL.md +715 -0
  246. package/bundled/upstream/ecc/skills/github-ops/SKILL.md +144 -0
  247. package/bundled/upstream/ecc/skills/golang-patterns/SKILL.md +674 -0
  248. package/bundled/upstream/ecc/skills/golang-testing/SKILL.md +720 -0
  249. package/bundled/upstream/ecc/skills/google-workspace-ops/SKILL.md +95 -0
  250. package/bundled/upstream/ecc/skills/healthcare-cdss-patterns/SKILL.md +245 -0
  251. package/bundled/upstream/ecc/skills/healthcare-emr-patterns/SKILL.md +159 -0
  252. package/bundled/upstream/ecc/skills/healthcare-eval-harness/SKILL.md +207 -0
  253. package/bundled/upstream/ecc/skills/healthcare-phi-compliance/SKILL.md +145 -0
  254. package/bundled/upstream/ecc/skills/hexagonal-architecture/SKILL.md +276 -0
  255. package/bundled/upstream/ecc/skills/hipaa-compliance/SKILL.md +78 -0
  256. package/bundled/upstream/ecc/skills/hookify-rules/SKILL.md +128 -0
  257. package/bundled/upstream/ecc/skills/inventory-demand-planning/SKILL.md +247 -0
  258. package/bundled/upstream/ecc/skills/investor-materials/SKILL.md +96 -0
  259. package/bundled/upstream/ecc/skills/investor-outreach/SKILL.md +91 -0
  260. package/bundled/upstream/ecc/skills/iterative-retrieval/SKILL.md +211 -0
  261. package/bundled/upstream/ecc/skills/java-coding-standards/SKILL.md +147 -0
  262. package/bundled/upstream/ecc/skills/jira-integration/SKILL.md +293 -0
  263. package/bundled/upstream/ecc/skills/jpa-patterns/SKILL.md +151 -0
  264. package/bundled/upstream/ecc/skills/knowledge-ops/SKILL.md +154 -0
  265. package/bundled/upstream/ecc/skills/kotlin-coroutines-flows/SKILL.md +284 -0
  266. package/bundled/upstream/ecc/skills/kotlin-exposed-patterns/SKILL.md +719 -0
  267. package/bundled/upstream/ecc/skills/kotlin-ktor-patterns/SKILL.md +689 -0
  268. package/bundled/upstream/ecc/skills/kotlin-patterns/SKILL.md +711 -0
  269. package/bundled/upstream/ecc/skills/kotlin-testing/SKILL.md +824 -0
  270. package/bundled/upstream/ecc/skills/laravel-patterns/SKILL.md +415 -0
  271. package/bundled/upstream/ecc/skills/laravel-plugin-discovery/SKILL.md +229 -0
  272. package/bundled/upstream/ecc/skills/laravel-security/SKILL.md +285 -0
  273. package/bundled/upstream/ecc/skills/laravel-tdd/SKILL.md +283 -0
  274. package/bundled/upstream/ecc/skills/laravel-verification/SKILL.md +179 -0
  275. package/bundled/upstream/ecc/skills/lead-intelligence/SKILL.md +321 -0
  276. package/bundled/upstream/ecc/skills/lead-intelligence/agents/enrichment-agent.md +85 -0
  277. package/bundled/upstream/ecc/skills/lead-intelligence/agents/mutual-mapper.md +75 -0
  278. package/bundled/upstream/ecc/skills/lead-intelligence/agents/outreach-drafter.md +98 -0
  279. package/bundled/upstream/ecc/skills/lead-intelligence/agents/signal-scorer.md +60 -0
  280. package/bundled/upstream/ecc/skills/liquid-glass-design/SKILL.md +279 -0
  281. package/bundled/upstream/ecc/skills/llm-trading-agent-security/SKILL.md +146 -0
  282. package/bundled/upstream/ecc/skills/logistics-exception-management/SKILL.md +222 -0
  283. package/bundled/upstream/ecc/skills/manim-video/SKILL.md +89 -0
  284. package/bundled/upstream/ecc/skills/manim-video/assets/network_graph_scene.py +52 -0
  285. package/bundled/upstream/ecc/skills/market-research/SKILL.md +75 -0
  286. package/bundled/upstream/ecc/skills/mcp-server-patterns/SKILL.md +69 -0
  287. package/bundled/upstream/ecc/skills/messages-ops/SKILL.md +104 -0
  288. package/bundled/upstream/ecc/skills/nanoclaw-repl/SKILL.md +33 -0
  289. package/bundled/upstream/ecc/skills/nestjs-patterns/SKILL.md +230 -0
  290. package/bundled/upstream/ecc/skills/nextjs-turbopack/SKILL.md +44 -0
  291. package/bundled/upstream/ecc/skills/nodejs-keccak256/SKILL.md +102 -0
  292. package/bundled/upstream/ecc/skills/nutrient-document-processing/SKILL.md +167 -0
  293. package/bundled/upstream/ecc/skills/nuxt4-patterns/SKILL.md +100 -0
  294. package/bundled/upstream/ecc/skills/openclaw-persona-forge/SKILL.md +296 -0
  295. package/bundled/upstream/ecc/skills/openclaw-persona-forge/gacha.py +224 -0
  296. package/bundled/upstream/ecc/skills/openclaw-persona-forge/gacha.sh +5 -0
  297. package/bundled/upstream/ecc/skills/openclaw-persona-forge/references/avatar-style.md +124 -0
  298. package/bundled/upstream/ecc/skills/openclaw-persona-forge/references/boundary-rules.md +53 -0
  299. package/bundled/upstream/ecc/skills/openclaw-persona-forge/references/error-handling.md +53 -0
  300. package/bundled/upstream/ecc/skills/openclaw-persona-forge/references/identity-tension.md +48 -0
  301. package/bundled/upstream/ecc/skills/openclaw-persona-forge/references/naming-system.md +39 -0
  302. package/bundled/upstream/ecc/skills/openclaw-persona-forge/references/output-template.md +166 -0
  303. package/bundled/upstream/ecc/skills/opensource-pipeline/SKILL.md +255 -0
  304. package/bundled/upstream/ecc/skills/perl-patterns/SKILL.md +504 -0
  305. package/bundled/upstream/ecc/skills/perl-security/SKILL.md +503 -0
  306. package/bundled/upstream/ecc/skills/perl-testing/SKILL.md +475 -0
  307. package/bundled/upstream/ecc/skills/plankton-code-quality/SKILL.md +236 -0
  308. package/bundled/upstream/ecc/skills/postgres-patterns/SKILL.md +147 -0
  309. package/bundled/upstream/ecc/skills/product-capability/SKILL.md +141 -0
  310. package/bundled/upstream/ecc/skills/product-lens/SKILL.md +92 -0
  311. package/bundled/upstream/ecc/skills/production-scheduling/SKILL.md +238 -0
  312. package/bundled/upstream/ecc/skills/project-flow-ops/SKILL.md +111 -0
  313. package/bundled/upstream/ecc/skills/prompt-optimizer/SKILL.md +397 -0
  314. package/bundled/upstream/ecc/skills/python-patterns/SKILL.md +750 -0
  315. package/bundled/upstream/ecc/skills/python-testing/SKILL.md +816 -0
  316. package/bundled/upstream/ecc/skills/pytorch-patterns/SKILL.md +396 -0
  317. package/bundled/upstream/ecc/skills/quality-nonconformance/SKILL.md +260 -0
  318. package/bundled/upstream/ecc/skills/ralphinho-rfc-pipeline/SKILL.md +67 -0
  319. package/bundled/upstream/ecc/skills/regex-vs-llm-structured-text/SKILL.md +220 -0
  320. package/bundled/upstream/ecc/skills/remotion-video-creation/SKILL.md +43 -0
  321. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/3d.md +86 -0
  322. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/animations.md +29 -0
  323. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/assets/charts-bar-chart.tsx +173 -0
  324. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/assets/text-animations-typewriter.tsx +100 -0
  325. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/assets/text-animations-word-highlight.tsx +108 -0
  326. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/assets.md +78 -0
  327. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/audio.md +172 -0
  328. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/calculate-metadata.md +104 -0
  329. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/can-decode.md +75 -0
  330. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/charts.md +58 -0
  331. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/compositions.md +146 -0
  332. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/display-captions.md +126 -0
  333. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/extract-frames.md +229 -0
  334. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/fonts.md +152 -0
  335. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/get-audio-duration.md +58 -0
  336. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/get-video-dimensions.md +68 -0
  337. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/get-video-duration.md +58 -0
  338. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/gifs.md +138 -0
  339. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/images.md +130 -0
  340. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/import-srt-captions.md +67 -0
  341. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/lottie.md +67 -0
  342. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/measuring-dom-nodes.md +34 -0
  343. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/measuring-text.md +143 -0
  344. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/sequencing.md +106 -0
  345. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/tailwind.md +11 -0
  346. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/text-animations.md +20 -0
  347. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/timing.md +179 -0
  348. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/transcribe-captions.md +19 -0
  349. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/transitions.md +122 -0
  350. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/trimming.md +52 -0
  351. package/bundled/upstream/ecc/skills/remotion-video-creation/rules/videos.md +171 -0
  352. package/bundled/upstream/ecc/skills/repo-scan/SKILL.md +78 -0
  353. package/bundled/upstream/ecc/skills/research-ops/SKILL.md +112 -0
  354. package/bundled/upstream/ecc/skills/returns-reverse-logistics/SKILL.md +240 -0
  355. package/bundled/upstream/ecc/skills/rules-distill/SKILL.md +264 -0
  356. package/bundled/upstream/ecc/skills/rules-distill/scripts/scan-rules.sh +58 -0
  357. package/bundled/upstream/ecc/skills/rules-distill/scripts/scan-skills.sh +129 -0
  358. package/bundled/upstream/ecc/skills/rust-patterns/SKILL.md +499 -0
  359. package/bundled/upstream/ecc/skills/rust-testing/SKILL.md +500 -0
  360. package/bundled/upstream/ecc/skills/safety-guard/SKILL.md +75 -0
  361. package/bundled/upstream/ecc/skills/santa-method/SKILL.md +306 -0
  362. package/bundled/upstream/ecc/skills/search-first/SKILL.md +161 -0
  363. package/bundled/upstream/ecc/skills/security-bounty-hunter/SKILL.md +99 -0
  364. package/bundled/upstream/ecc/skills/security-review/SKILL.md +495 -0
  365. package/bundled/upstream/ecc/skills/security-review/cloud-infrastructure-security.md +361 -0
  366. package/bundled/upstream/ecc/skills/security-scan/SKILL.md +165 -0
  367. package/bundled/upstream/ecc/skills/seo/SKILL.md +154 -0
  368. package/bundled/upstream/ecc/skills/skill-comply/SKILL.md +58 -0
  369. package/bundled/upstream/ecc/skills/skill-comply/fixtures/compliant_trace.jsonl +5 -0
  370. package/bundled/upstream/ecc/skills/skill-comply/fixtures/noncompliant_trace.jsonl +3 -0
  371. package/bundled/upstream/ecc/skills/skill-comply/fixtures/tdd_spec.yaml +44 -0
  372. package/bundled/upstream/ecc/skills/skill-comply/prompts/classifier.md +24 -0
  373. package/bundled/upstream/ecc/skills/skill-comply/prompts/scenario_generator.md +62 -0
  374. package/bundled/upstream/ecc/skills/skill-comply/prompts/spec_generator.md +42 -0
  375. package/bundled/upstream/ecc/skills/skill-comply/pyproject.toml +15 -0
  376. package/bundled/upstream/ecc/skills/skill-comply/scripts/__init__.py +0 -0
  377. package/bundled/upstream/ecc/skills/skill-comply/scripts/classifier.py +85 -0
  378. package/bundled/upstream/ecc/skills/skill-comply/scripts/grader.py +124 -0
  379. package/bundled/upstream/ecc/skills/skill-comply/scripts/parser.py +107 -0
  380. package/bundled/upstream/ecc/skills/skill-comply/scripts/report.py +170 -0
  381. package/bundled/upstream/ecc/skills/skill-comply/scripts/run.py +127 -0
  382. package/bundled/upstream/ecc/skills/skill-comply/scripts/runner.py +161 -0
  383. package/bundled/upstream/ecc/skills/skill-comply/scripts/scenario_generator.py +70 -0
  384. package/bundled/upstream/ecc/skills/skill-comply/scripts/spec_generator.py +72 -0
  385. package/bundled/upstream/ecc/skills/skill-comply/scripts/utils.py +13 -0
  386. package/bundled/upstream/ecc/skills/skill-comply/tests/test_grader.py +197 -0
  387. package/bundled/upstream/ecc/skills/skill-comply/tests/test_parser.py +90 -0
  388. package/bundled/upstream/ecc/skills/skill-stocktake/SKILL.md +193 -0
  389. package/bundled/upstream/ecc/skills/skill-stocktake/scripts/quick-diff.sh +87 -0
  390. package/bundled/upstream/ecc/skills/skill-stocktake/scripts/save-results.sh +56 -0
  391. package/bundled/upstream/ecc/skills/skill-stocktake/scripts/scan.sh +170 -0
  392. package/bundled/upstream/ecc/skills/social-graph-ranker/SKILL.md +154 -0
  393. package/bundled/upstream/ecc/skills/springboot-patterns/SKILL.md +314 -0
  394. package/bundled/upstream/ecc/skills/springboot-security/SKILL.md +272 -0
  395. package/bundled/upstream/ecc/skills/springboot-tdd/SKILL.md +158 -0
  396. package/bundled/upstream/ecc/skills/springboot-verification/SKILL.md +231 -0
  397. package/bundled/upstream/ecc/skills/strategic-compact/SKILL.md +131 -0
  398. package/bundled/upstream/ecc/skills/strategic-compact/suggest-compact.sh +54 -0
  399. package/bundled/upstream/ecc/skills/swift-actor-persistence/SKILL.md +143 -0
  400. package/bundled/upstream/ecc/skills/swift-concurrency-6-2/SKILL.md +216 -0
  401. package/bundled/upstream/ecc/skills/swift-protocol-di-testing/SKILL.md +190 -0
  402. package/bundled/upstream/ecc/skills/swiftui-patterns/SKILL.md +259 -0
  403. package/bundled/upstream/ecc/skills/tdd-workflow/SKILL.md +463 -0
  404. package/bundled/upstream/ecc/skills/team-builder/SKILL.md +168 -0
  405. package/bundled/upstream/ecc/skills/terminal-ops/SKILL.md +109 -0
  406. package/bundled/upstream/ecc/skills/token-budget-advisor/SKILL.md +133 -0
  407. package/bundled/upstream/ecc/skills/ui-demo/SKILL.md +465 -0
  408. package/bundled/upstream/ecc/skills/unified-notifications-ops/SKILL.md +187 -0
  409. package/bundled/upstream/ecc/skills/verification-loop/SKILL.md +126 -0
  410. package/bundled/upstream/ecc/skills/video-editing/SKILL.md +310 -0
  411. package/bundled/upstream/ecc/skills/videodb/SKILL.md +374 -0
  412. package/bundled/upstream/ecc/skills/videodb/reference/api-reference.md +550 -0
  413. package/bundled/upstream/ecc/skills/videodb/reference/capture-reference.md +407 -0
  414. package/bundled/upstream/ecc/skills/videodb/reference/capture.md +101 -0
  415. package/bundled/upstream/ecc/skills/videodb/reference/editor.md +443 -0
  416. package/bundled/upstream/ecc/skills/videodb/reference/generative.md +331 -0
  417. package/bundled/upstream/ecc/skills/videodb/reference/rtstream-reference.md +564 -0
  418. package/bundled/upstream/ecc/skills/videodb/reference/rtstream.md +65 -0
  419. package/bundled/upstream/ecc/skills/videodb/reference/search.md +230 -0
  420. package/bundled/upstream/ecc/skills/videodb/reference/streaming.md +406 -0
  421. package/bundled/upstream/ecc/skills/videodb/reference/use-cases.md +118 -0
  422. package/bundled/upstream/ecc/skills/videodb/scripts/ws_listener.py +282 -0
  423. package/bundled/upstream/ecc/skills/visa-doc-translate/README.md +86 -0
  424. package/bundled/upstream/ecc/skills/visa-doc-translate/SKILL.md +117 -0
  425. package/bundled/upstream/ecc/skills/workspace-surface-audit/SKILL.md +125 -0
  426. package/bundled/upstream/ecc/skills/x-api/SKILL.md +230 -0
  427. package/bundled/upstream/superpowers/.omc-source/last-plan-apply.json +22 -0
  428. package/package.json +3 -1
  429. package/src/catalog/source-catalog.js +391 -0
  430. package/src/cli/artifact.js +3 -2
  431. package/src/cli/doctor.js +25 -4
  432. package/src/cli/index.js +19 -0
  433. package/src/cli/plan.js +220 -0
  434. package/src/cli/setup.js +209 -12
  435. package/src/cli/source.js +110 -3
  436. package/src/config/paths.js +31 -0
  437. package/src/config/sources.js +103 -10
  438. package/src/merge/hook-merger.js +1 -0
@@ -0,0 +1,98 @@
1
+ ---
2
+ name: outreach-drafter
3
+ description: Generates personalized outreach messages for qualified leads. Creates warm intro requests, cold emails, X DMs, and follow-up sequences using enriched profile data.
4
+ tools:
5
+ - Read
6
+ - Grep
7
+ model: sonnet
8
+ ---
9
+
10
+ # Outreach Drafter Agent
11
+
12
+ You generate personalized outreach messages using enriched lead data.
13
+
14
+ ## Task
15
+
16
+ Given enriched prospect profiles and warm path data, draft outreach messages that are short, specific, and actionable.
17
+
18
+ ## Message Types
19
+
20
+ ### 1. Warm Intro Request (to mutual)
21
+
22
+ Template structure:
23
+ - Greeting (first name, casual)
24
+ - The ask (1 sentence — can you intro me to [target])
25
+ - Why it's relevant (1 sentence — what you're building and why target cares)
26
+ - Offer to send forwardable blurb
27
+ - Sign off
28
+
29
+ Max length: 60 words.
30
+
31
+ ### 2. Cold Email (to target directly)
32
+
33
+ Template structure:
34
+ - Subject: specific, under 8 words
35
+ - Opener: reference something specific about them (recent post, announcement, thesis)
36
+ - Pitch: what you do and why they specifically should care (2 sentences max)
37
+ - Ask: one concrete low-friction next step
38
+ - Sign off with one credibility anchor
39
+
40
+ Max length: 80 words.
41
+
42
+ ### 3. X DM (to target)
43
+
44
+ Even shorter than email. 2-3 sentences max.
45
+ - Reference a specific post or take of theirs
46
+ - One line on why you're reaching out
47
+ - Clear ask
48
+
49
+ Max length: 40 words.
50
+
51
+ ### 4. Follow-Up Sequence
52
+
53
+ - Day 4-5: short follow-up with one new data point
54
+ - Day 10-12: final follow-up with a clean close
55
+ - No more than 3 total touches unless user specifies otherwise
56
+
57
+ ## Writing Rules
58
+
59
+ 1. **Personalize or don't send.** Every message must reference something specific to the recipient.
60
+ 2. **Short sentences.** No compound sentences with multiple clauses.
61
+ 3. **Lowercase casual.** Match modern professional communication style.
62
+ 4. **No AI slop.** Never use: "game-changer", "deep dive", "the key insight", "leverage", "synergy", "at the forefront of".
63
+ 5. **Data over adjectives.** Use specific numbers, names, and facts instead of generic praise.
64
+ 6. **One ask per message.** Never combine multiple requests.
65
+ 7. **No fake familiarity.** Don't say "loved your talk" unless you can cite which talk.
66
+
67
+ ## Personalization Sources (from enrichment data)
68
+
69
+ Use these hooks in order of preference:
70
+ 1. Their recent post or take you genuinely agree with
71
+ 2. A mutual connection who can vouch
72
+ 3. Their company's recent milestone (funding, launch, hire)
73
+ 4. A specific piece of their thesis or writing
74
+ 5. Shared event attendance or community membership
75
+
76
+ ## Output Format
77
+
78
+ ```
79
+ TO: [name] ([email or @handle])
80
+ VIA: [direct / warm intro through @mutual]
81
+ TYPE: [cold email / DM / intro request]
82
+
83
+ Subject: [if email]
84
+
85
+ [message body]
86
+
87
+ ---
88
+ Personalization notes:
89
+ - Referenced: [what specific thing was used]
90
+ - Warm path: [how connected]
91
+ - Confidence: [high/medium/low]
92
+ ```
93
+
94
+ ## Constraints
95
+
96
+ - Never generate messages that could be mistaken for spam.
97
+ - Never include false claims about the user's product or traction.
98
+ - If enrichment data is thin, flag the message as "needs manual personalization" rather than faking specifics.
@@ -0,0 +1,60 @@
1
+ ---
2
+ name: signal-scorer
3
+ description: Searches and ranks prospects by relevance signals across X, Exa, and LinkedIn. Assigns weighted scores based on role, industry, activity, influence, and location.
4
+ tools:
5
+ - Bash
6
+ - Read
7
+ - Grep
8
+ - Glob
9
+ - WebSearch
10
+ - WebFetch
11
+ model: sonnet
12
+ ---
13
+
14
+ # Signal Scorer Agent
15
+
16
+ You are a lead intelligence agent that finds and scores high-value prospects.
17
+
18
+ ## Task
19
+
20
+ Given target verticals, roles, and locations from the user, search for the highest-signal people using available tools.
21
+
22
+ ## Scoring Rubric
23
+
24
+ | Signal | Weight | How to Assess |
25
+ |--------|--------|---------------|
26
+ | Role/title alignment | 30% | Is this person a decision maker in the target space? |
27
+ | Industry match | 25% | Does their company/work directly relate to target vertical? |
28
+ | Recent activity | 20% | Have they posted, published, or spoken about the topic recently? |
29
+ | Influence | 10% | Follower count, publication reach, speaking engagements |
30
+ | Location proximity | 10% | Same city/timezone as the user? |
31
+ | Engagement overlap | 5% | Have they interacted with the user's content or network? |
32
+
33
+ ## Search Strategy
34
+
35
+ 1. Use Exa web search with category filters for company and person discovery
36
+ 2. Use X API search for active voices in the target verticals
37
+ 3. Cross-reference to deduplicate and merge profiles
38
+ 4. Score each prospect on the 0-100 scale using the rubric above
39
+ 5. Return the top N prospects sorted by score
40
+
41
+ ## Output Format
42
+
43
+ Return a structured list:
44
+
45
+ ```
46
+ PROSPECT #1 (Score: 94)
47
+ Name: [full name]
48
+ Handle: @[x_handle]
49
+ Role: [current title] @ [company]
50
+ Location: [city]
51
+ Industry: [vertical match]
52
+ Recent Signal: [what they posted/did recently that's relevant]
53
+ Score Breakdown: role=28/30, industry=24/25, activity=20/20, influence=8/10, location=10/10, engagement=4/5
54
+ ```
55
+
56
+ ## Constraints
57
+
58
+ - Do not fabricate profile data. Only report what you can verify from search results.
59
+ - If a person appears in multiple sources, merge into one entry.
60
+ - Flag low-confidence scores where data is sparse.
@@ -0,0 +1,279 @@
1
+ ---
2
+ name: liquid-glass-design
3
+ description: iOS 26 Liquid Glass design system — dynamic glass material with blur, reflection, and interactive morphing for SwiftUI, UIKit, and WidgetKit.
4
+ ---
5
+
6
+ # Liquid Glass Design System (iOS 26)
7
+
8
+ Patterns for implementing Apple's Liquid Glass — a dynamic material that blurs content behind it, reflects color and light from surrounding content, and reacts to touch and pointer interactions. Covers SwiftUI, UIKit, and WidgetKit integration.
9
+
10
+ ## When to Activate
11
+
12
+ - Building or updating apps for iOS 26+ with the new design language
13
+ - Implementing glass-style buttons, cards, toolbars, or containers
14
+ - Creating morphing transitions between glass elements
15
+ - Applying Liquid Glass effects to widgets
16
+ - Migrating existing blur/material effects to the new Liquid Glass API
17
+
18
+ ## Core Pattern — SwiftUI
19
+
20
+ ### Basic Glass Effect
21
+
22
+ The simplest way to add Liquid Glass to any view:
23
+
24
+ ```swift
25
+ Text("Hello, World!")
26
+ .font(.title)
27
+ .padding()
28
+ .glassEffect() // Default: regular variant, capsule shape
29
+ ```
30
+
31
+ ### Customizing Shape and Tint
32
+
33
+ ```swift
34
+ Text("Hello, World!")
35
+ .font(.title)
36
+ .padding()
37
+ .glassEffect(.regular.tint(.orange).interactive(), in: .rect(cornerRadius: 16.0))
38
+ ```
39
+
40
+ Key customization options:
41
+ - `.regular` — standard glass effect
42
+ - `.tint(Color)` — add color tint for prominence
43
+ - `.interactive()` — react to touch and pointer interactions
44
+ - Shape: `.capsule` (default), `.rect(cornerRadius:)`, `.circle`
45
+
46
+ ### Glass Button Styles
47
+
48
+ ```swift
49
+ Button("Click Me") { /* action */ }
50
+ .buttonStyle(.glass)
51
+
52
+ Button("Important") { /* action */ }
53
+ .buttonStyle(.glassProminent)
54
+ ```
55
+
56
+ ### GlassEffectContainer for Multiple Elements
57
+
58
+ Always wrap multiple glass views in a container for performance and morphing:
59
+
60
+ ```swift
61
+ GlassEffectContainer(spacing: 40.0) {
62
+ HStack(spacing: 40.0) {
63
+ Image(systemName: "scribble.variable")
64
+ .frame(width: 80.0, height: 80.0)
65
+ .font(.system(size: 36))
66
+ .glassEffect()
67
+
68
+ Image(systemName: "eraser.fill")
69
+ .frame(width: 80.0, height: 80.0)
70
+ .font(.system(size: 36))
71
+ .glassEffect()
72
+ }
73
+ }
74
+ ```
75
+
76
+ The `spacing` parameter controls merge distance — closer elements blend their glass shapes together.
77
+
78
+ ### Uniting Glass Effects
79
+
80
+ Combine multiple views into a single glass shape with `glassEffectUnion`:
81
+
82
+ ```swift
83
+ @Namespace private var namespace
84
+
85
+ GlassEffectContainer(spacing: 20.0) {
86
+ HStack(spacing: 20.0) {
87
+ ForEach(symbolSet.indices, id: \.self) { item in
88
+ Image(systemName: symbolSet[item])
89
+ .frame(width: 80.0, height: 80.0)
90
+ .glassEffect()
91
+ .glassEffectUnion(id: item < 2 ? "group1" : "group2", namespace: namespace)
92
+ }
93
+ }
94
+ }
95
+ ```
96
+
97
+ ### Morphing Transitions
98
+
99
+ Create smooth morphing when glass elements appear/disappear:
100
+
101
+ ```swift
102
+ @State private var isExpanded = false
103
+ @Namespace private var namespace
104
+
105
+ GlassEffectContainer(spacing: 40.0) {
106
+ HStack(spacing: 40.0) {
107
+ Image(systemName: "scribble.variable")
108
+ .frame(width: 80.0, height: 80.0)
109
+ .glassEffect()
110
+ .glassEffectID("pencil", in: namespace)
111
+
112
+ if isExpanded {
113
+ Image(systemName: "eraser.fill")
114
+ .frame(width: 80.0, height: 80.0)
115
+ .glassEffect()
116
+ .glassEffectID("eraser", in: namespace)
117
+ }
118
+ }
119
+ }
120
+
121
+ Button("Toggle") {
122
+ withAnimation { isExpanded.toggle() }
123
+ }
124
+ .buttonStyle(.glass)
125
+ ```
126
+
127
+ ### Extending Horizontal Scrolling Under Sidebar
128
+
129
+ To allow horizontal scroll content to extend under a sidebar or inspector, ensure the `ScrollView` content reaches the leading/trailing edges of the container. The system automatically handles the under-sidebar scrolling behavior when the layout extends to the edges — no additional modifier is needed.
130
+
131
+ ## Core Pattern — UIKit
132
+
133
+ ### Basic UIGlassEffect
134
+
135
+ ```swift
136
+ let glassEffect = UIGlassEffect()
137
+ glassEffect.tintColor = UIColor.systemBlue.withAlphaComponent(0.3)
138
+ glassEffect.isInteractive = true
139
+
140
+ let visualEffectView = UIVisualEffectView(effect: glassEffect)
141
+ visualEffectView.translatesAutoresizingMaskIntoConstraints = false
142
+ visualEffectView.layer.cornerRadius = 20
143
+ visualEffectView.clipsToBounds = true
144
+
145
+ view.addSubview(visualEffectView)
146
+ NSLayoutConstraint.activate([
147
+ visualEffectView.centerXAnchor.constraint(equalTo: view.centerXAnchor),
148
+ visualEffectView.centerYAnchor.constraint(equalTo: view.centerYAnchor),
149
+ visualEffectView.widthAnchor.constraint(equalToConstant: 200),
150
+ visualEffectView.heightAnchor.constraint(equalToConstant: 120)
151
+ ])
152
+
153
+ // Add content to contentView
154
+ let label = UILabel()
155
+ label.text = "Liquid Glass"
156
+ label.translatesAutoresizingMaskIntoConstraints = false
157
+ visualEffectView.contentView.addSubview(label)
158
+ NSLayoutConstraint.activate([
159
+ label.centerXAnchor.constraint(equalTo: visualEffectView.contentView.centerXAnchor),
160
+ label.centerYAnchor.constraint(equalTo: visualEffectView.contentView.centerYAnchor)
161
+ ])
162
+ ```
163
+
164
+ ### UIGlassContainerEffect for Multiple Elements
165
+
166
+ ```swift
167
+ let containerEffect = UIGlassContainerEffect()
168
+ containerEffect.spacing = 40.0
169
+
170
+ let containerView = UIVisualEffectView(effect: containerEffect)
171
+
172
+ let firstGlass = UIVisualEffectView(effect: UIGlassEffect())
173
+ let secondGlass = UIVisualEffectView(effect: UIGlassEffect())
174
+
175
+ containerView.contentView.addSubview(firstGlass)
176
+ containerView.contentView.addSubview(secondGlass)
177
+ ```
178
+
179
+ ### Scroll Edge Effects
180
+
181
+ ```swift
182
+ scrollView.topEdgeEffect.style = .automatic
183
+ scrollView.bottomEdgeEffect.style = .hard
184
+ scrollView.leftEdgeEffect.isHidden = true
185
+ ```
186
+
187
+ ### Toolbar Glass Integration
188
+
189
+ ```swift
190
+ let favoriteButton = UIBarButtonItem(image: UIImage(systemName: "heart"), style: .plain, target: self, action: #selector(favoriteAction))
191
+ favoriteButton.hidesSharedBackground = true // Opt out of shared glass background
192
+ ```
193
+
194
+ ## Core Pattern — WidgetKit
195
+
196
+ ### Rendering Mode Detection
197
+
198
+ ```swift
199
+ struct MyWidgetView: View {
200
+ @Environment(\.widgetRenderingMode) var renderingMode
201
+
202
+ var body: some View {
203
+ if renderingMode == .accented {
204
+ // Tinted mode: white-tinted, themed glass background
205
+ } else {
206
+ // Full color mode: standard appearance
207
+ }
208
+ }
209
+ }
210
+ ```
211
+
212
+ ### Accent Groups for Visual Hierarchy
213
+
214
+ ```swift
215
+ HStack {
216
+ VStack(alignment: .leading) {
217
+ Text("Title")
218
+ .widgetAccentable() // Accent group
219
+ Text("Subtitle")
220
+ // Primary group (default)
221
+ }
222
+ Image(systemName: "star.fill")
223
+ .widgetAccentable() // Accent group
224
+ }
225
+ ```
226
+
227
+ ### Image Rendering in Accented Mode
228
+
229
+ ```swift
230
+ Image("myImage")
231
+ .widgetAccentedRenderingMode(.monochrome)
232
+ ```
233
+
234
+ ### Container Background
235
+
236
+ ```swift
237
+ VStack { /* content */ }
238
+ .containerBackground(for: .widget) {
239
+ Color.blue.opacity(0.2)
240
+ }
241
+ ```
242
+
243
+ ## Key Design Decisions
244
+
245
+ | Decision | Rationale |
246
+ |----------|-----------|
247
+ | GlassEffectContainer wrapping | Performance optimization, enables morphing between glass elements |
248
+ | `spacing` parameter | Controls merge distance — fine-tune how close elements must be to blend |
249
+ | `@Namespace` + `glassEffectID` | Enables smooth morphing transitions on view hierarchy changes |
250
+ | `interactive()` modifier | Explicit opt-in for touch/pointer reactions — not all glass should respond |
251
+ | UIGlassContainerEffect in UIKit | Same container pattern as SwiftUI for consistency |
252
+ | Accented rendering mode in widgets | System applies tinted glass when user selects tinted Home Screen |
253
+
254
+ ## Best Practices
255
+
256
+ - **Always use GlassEffectContainer** when applying glass to multiple sibling views — it enables morphing and improves rendering performance
257
+ - **Apply `.glassEffect()` after** other appearance modifiers (frame, font, padding)
258
+ - **Use `.interactive()`** only on elements that respond to user interaction (buttons, toggleable items)
259
+ - **Choose spacing carefully** in containers to control when glass effects merge
260
+ - **Use `withAnimation`** when changing view hierarchies to enable smooth morphing transitions
261
+ - **Test across appearances** — light mode, dark mode, and accented/tinted modes
262
+ - **Ensure accessibility contrast** — text on glass must remain readable
263
+
264
+ ## Anti-Patterns to Avoid
265
+
266
+ - Using multiple standalone `.glassEffect()` views without a GlassEffectContainer
267
+ - Nesting too many glass effects — degrades performance and visual clarity
268
+ - Applying glass to every view — reserve for interactive elements, toolbars, and cards
269
+ - Forgetting `clipsToBounds = true` in UIKit when using corner radii
270
+ - Ignoring accented rendering mode in widgets — breaks tinted Home Screen appearance
271
+ - Using opaque backgrounds behind glass — defeats the translucency effect
272
+
273
+ ## When to Use
274
+
275
+ - Navigation bars, toolbars, and tab bars with the new iOS 26 design
276
+ - Floating action buttons and card-style containers
277
+ - Interactive controls that need visual depth and touch feedback
278
+ - Widgets that should integrate with the system's Liquid Glass appearance
279
+ - Morphing transitions between related UI states
@@ -0,0 +1,146 @@
1
+ ---
2
+ name: llm-trading-agent-security
3
+ description: Security patterns for autonomous trading agents with wallet or transaction authority. Covers prompt injection, spend limits, pre-send simulation, circuit breakers, MEV protection, and key handling.
4
+ origin: ECC direct-port adaptation
5
+ version: "1.0.0"
6
+ ---
7
+
8
+ # LLM Trading Agent Security
9
+
10
+ Autonomous trading agents have a harsher threat model than normal LLM apps: an injection or bad tool path can turn directly into asset loss.
11
+
12
+ ## When to Use
13
+
14
+ - Building an AI agent that signs and sends transactions
15
+ - Auditing a trading bot or on-chain execution assistant
16
+ - Designing wallet key management for an agent
17
+ - Giving an LLM access to order placement, swaps, or treasury operations
18
+
19
+ ## How It Works
20
+
21
+ Layer the defenses. No single check is enough. Treat prompt hygiene, spend policy, simulation, execution limits, and wallet isolation as independent controls.
22
+
23
+ ## Examples
24
+
25
+ ### Treat prompt injection as a financial attack
26
+
27
+ ```python
28
+ import re
29
+
30
+ INJECTION_PATTERNS = [
31
+ r'ignore (previous|all) instructions',
32
+ r'new (task|directive|instruction)',
33
+ r'system prompt',
34
+ r'send .{0,50} to 0x[0-9a-fA-F]{40}',
35
+ r'transfer .{0,50} to',
36
+ r'approve .{0,50} for',
37
+ ]
38
+
39
+ def sanitize_onchain_data(text: str) -> str:
40
+ for pattern in INJECTION_PATTERNS:
41
+ if re.search(pattern, text, re.IGNORECASE):
42
+ raise ValueError(f"Potential prompt injection: {text[:100]}")
43
+ return text
44
+ ```
45
+
46
+ Do not blindly inject token names, pair labels, webhooks, or social feeds into an execution-capable prompt.
47
+
48
+ ### Hard spend limits
49
+
50
+ ```python
51
+ from decimal import Decimal
52
+
53
+ MAX_SINGLE_TX_USD = Decimal("500")
54
+ MAX_DAILY_SPEND_USD = Decimal("2000")
55
+
56
+ class SpendLimitError(Exception):
57
+ pass
58
+
59
+ class SpendLimitGuard:
60
+ def check_and_record(self, usd_amount: Decimal) -> None:
61
+ if usd_amount > MAX_SINGLE_TX_USD:
62
+ raise SpendLimitError(f"Single tx ${usd_amount} exceeds max ${MAX_SINGLE_TX_USD}")
63
+
64
+ daily = self._get_24h_spend()
65
+ if daily + usd_amount > MAX_DAILY_SPEND_USD:
66
+ raise SpendLimitError(f"Daily limit: ${daily} + ${usd_amount} > ${MAX_DAILY_SPEND_USD}")
67
+
68
+ self._record_spend(usd_amount)
69
+ ```
70
+
71
+ ### Simulate before sending
72
+
73
+ ```python
74
+ class SlippageError(Exception):
75
+ pass
76
+
77
+ async def safe_execute(self, tx: dict, expected_min_out: int | None = None) -> str:
78
+ sim_result = await self.w3.eth.call(tx)
79
+
80
+ if expected_min_out is None:
81
+ raise ValueError("min_amount_out is required before send")
82
+
83
+ actual_out = decode_uint256(sim_result)
84
+ if actual_out < expected_min_out:
85
+ raise SlippageError(f"Simulation: {actual_out} < {expected_min_out}")
86
+
87
+ signed = self.account.sign_transaction(tx)
88
+ return await self.w3.eth.send_raw_transaction(signed.raw_transaction)
89
+ ```
90
+
91
+ ### Circuit breaker
92
+
93
+ ```python
94
+ class TradingCircuitBreaker:
95
+ MAX_CONSECUTIVE_LOSSES = 3
96
+ MAX_HOURLY_LOSS_PCT = 0.05
97
+
98
+ def check(self, portfolio_value: float) -> None:
99
+ if self.consecutive_losses >= self.MAX_CONSECUTIVE_LOSSES:
100
+ self.halt("Too many consecutive losses")
101
+
102
+ if self.hour_start_value <= 0:
103
+ self.halt("Invalid hour_start_value")
104
+ return
105
+
106
+ hourly_pnl = (portfolio_value - self.hour_start_value) / self.hour_start_value
107
+ if hourly_pnl < -self.MAX_HOURLY_LOSS_PCT:
108
+ self.halt(f"Hourly PnL {hourly_pnl:.1%} below threshold")
109
+ ```
110
+
111
+ ### Wallet isolation
112
+
113
+ ```python
114
+ import os
115
+ from eth_account import Account
116
+
117
+ private_key = os.environ.get("TRADING_WALLET_PRIVATE_KEY")
118
+ if not private_key:
119
+ raise EnvironmentError("TRADING_WALLET_PRIVATE_KEY not set")
120
+
121
+ account = Account.from_key(private_key)
122
+ ```
123
+
124
+ Use a dedicated hot wallet with only the required session funds. Never point the agent at a primary treasury wallet.
125
+
126
+ ### MEV and deadline protection
127
+
128
+ ```python
129
+ import time
130
+
131
+ PRIVATE_RPC = "https://rpc.flashbots.net"
132
+ MAX_SLIPPAGE_BPS = {"stable": 10, "volatile": 50}
133
+ deadline = int(time.time()) + 60
134
+ ```
135
+
136
+ ## Pre-Deploy Checklist
137
+
138
+ - External data is sanitized before entering the LLM context
139
+ - Spend limits are enforced independently from model output
140
+ - Transactions are simulated before send
141
+ - `min_amount_out` is mandatory
142
+ - Circuit breakers halt on drawdown or invalid state
143
+ - Keys come from env or a secret manager, never code or logs
144
+ - Private mempool or protected routing is used when appropriate
145
+ - Slippage and deadlines are set per strategy
146
+ - All agent decisions are audit-logged, not just successful sends