codeply-cli 0.1.1 → 0.2.0

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 (350) hide show
  1. package/bin/codeply.js +125 -14
  2. package/lib/agent.mjs +152 -14
  3. package/lib/ai.js +217 -14
  4. package/lib/apply-limit.js +13 -3
  5. package/lib/config.js +53 -15
  6. package/lib/skills.js +358 -0
  7. package/lib/tools.mjs +63 -6
  8. package/lib/tui.mjs +95 -2
  9. package/package.json +3 -2
  10. package/skills/SOURCE.md +58 -0
  11. package/skills/accessibility/SKILL.md +147 -0
  12. package/skills/agent-architecture-audit/SKILL.md +257 -0
  13. package/skills/agent-eval/SKILL.md +147 -0
  14. package/skills/agent-harness-construction/SKILL.md +74 -0
  15. package/skills/agent-introspection-debugging/SKILL.md +154 -0
  16. package/skills/agent-payment-x402/SKILL.md +225 -0
  17. package/skills/agent-self-evaluation/SKILL.md +182 -0
  18. package/skills/agent-self-evaluation/references/evaluation-criteria.md +71 -0
  19. package/skills/agent-self-evaluation/references/hook-integration.md +64 -0
  20. package/skills/agent-sort/SKILL.md +216 -0
  21. package/skills/agentic-engineering/SKILL.md +64 -0
  22. package/skills/agentic-os/SKILL.md +388 -0
  23. package/skills/ai-first-engineering/SKILL.md +52 -0
  24. package/skills/ai-regression-testing/SKILL.md +386 -0
  25. package/skills/android-clean-architecture/SKILL.md +340 -0
  26. package/skills/angular-developer/SKILL.md +155 -0
  27. package/skills/angular-developer/references/angular-animations.md +160 -0
  28. package/skills/angular-developer/references/angular-aria.md +410 -0
  29. package/skills/angular-developer/references/cli.md +86 -0
  30. package/skills/angular-developer/references/component-harnesses.md +59 -0
  31. package/skills/angular-developer/references/component-styling.md +91 -0
  32. package/skills/angular-developer/references/components.md +117 -0
  33. package/skills/angular-developer/references/creating-services.md +97 -0
  34. package/skills/angular-developer/references/data-resolvers.md +69 -0
  35. package/skills/angular-developer/references/define-routes.md +67 -0
  36. package/skills/angular-developer/references/defining-providers.md +72 -0
  37. package/skills/angular-developer/references/di-fundamentals.md +120 -0
  38. package/skills/angular-developer/references/e2e-testing.md +56 -0
  39. package/skills/angular-developer/references/effects.md +83 -0
  40. package/skills/angular-developer/references/hierarchical-injectors.md +43 -0
  41. package/skills/angular-developer/references/host-elements.md +80 -0
  42. package/skills/angular-developer/references/injection-context.md +63 -0
  43. package/skills/angular-developer/references/inputs.md +101 -0
  44. package/skills/angular-developer/references/linked-signal.md +59 -0
  45. package/skills/angular-developer/references/loading-strategies.md +61 -0
  46. package/skills/angular-developer/references/mcp.md +108 -0
  47. package/skills/angular-developer/references/navigate-to-routes.md +69 -0
  48. package/skills/angular-developer/references/outputs.md +86 -0
  49. package/skills/angular-developer/references/reactive-forms.md +122 -0
  50. package/skills/angular-developer/references/rendering-strategies.md +44 -0
  51. package/skills/angular-developer/references/resource.md +77 -0
  52. package/skills/angular-developer/references/route-animations.md +56 -0
  53. package/skills/angular-developer/references/route-guards.md +52 -0
  54. package/skills/angular-developer/references/router-lifecycle.md +45 -0
  55. package/skills/angular-developer/references/router-testing.md +87 -0
  56. package/skills/angular-developer/references/show-routes-with-outlets.md +68 -0
  57. package/skills/angular-developer/references/signal-forms.md +795 -0
  58. package/skills/angular-developer/references/signals-overview.md +94 -0
  59. package/skills/angular-developer/references/tailwind-css.md +69 -0
  60. package/skills/angular-developer/references/template-driven-forms.md +114 -0
  61. package/skills/angular-developer/references/testing-fundamentals.md +65 -0
  62. package/skills/api-connector-builder/SKILL.md +121 -0
  63. package/skills/api-design/SKILL.md +524 -0
  64. package/skills/architecture-decision-records/SKILL.md +180 -0
  65. package/skills/article-writing/SKILL.md +80 -0
  66. package/skills/automation-audit-ops/SKILL.md +143 -0
  67. package/skills/autonomous-agent-harness/SKILL.md +274 -0
  68. package/skills/autonomous-loops/SKILL.md +611 -0
  69. package/skills/backend-patterns/SKILL.md +562 -0
  70. package/skills/benchmark/SKILL.md +95 -0
  71. package/skills/benchmark-methodology/SKILL.md +191 -0
  72. package/skills/benchmark-optimization-loop/SKILL.md +71 -0
  73. package/skills/blender-motion-state-inspection/SKILL.md +165 -0
  74. package/skills/blueprint/SKILL.md +106 -0
  75. package/skills/brand-discovery/SKILL.md +145 -0
  76. package/skills/brand-discovery/references/10_purpose-why.md +40 -0
  77. package/skills/brand-discovery/references/20_positioning.md +44 -0
  78. package/skills/brand-discovery/references/30_audience-niche.md +52 -0
  79. package/skills/brand-discovery/references/40_personality-archetype.md +57 -0
  80. package/skills/brand-discovery/references/50_voice-tone.md +59 -0
  81. package/skills/brand-discovery/references/60_narrative-story.md +50 -0
  82. package/skills/brand-discovery/references/70_founder-tension.md +49 -0
  83. package/skills/brand-discovery/references/90_SYNTHESIS.md +133 -0
  84. package/skills/brand-voice/SKILL.md +98 -0
  85. package/skills/brand-voice/references/voice-profile-schema.md +55 -0
  86. package/skills/browser-qa/SKILL.md +105 -0
  87. package/skills/bun-runtime/SKILL.md +85 -0
  88. package/skills/canary-watch/SKILL.md +108 -0
  89. package/skills/carrier-relationship-management/SKILL.md +212 -0
  90. package/skills/cisco-ios-patterns/SKILL.md +164 -0
  91. package/skills/ck/SKILL.md +148 -0
  92. package/skills/claude-devfleet/SKILL.md +112 -0
  93. package/skills/click-path-audit/SKILL.md +245 -0
  94. package/skills/clickhouse-io/SKILL.md +445 -0
  95. package/skills/code-tour/SKILL.md +254 -0
  96. package/skills/codebase-onboarding/SKILL.md +234 -0
  97. package/skills/codehealth-mcp/SKILL.md +167 -0
  98. package/skills/coding-standards/SKILL.md +551 -0
  99. package/skills/competitive-platform-analysis/SKILL.md +214 -0
  100. package/skills/competitive-report-structure/SKILL.md +162 -0
  101. package/skills/compose-multiplatform-patterns/SKILL.md +300 -0
  102. package/skills/config-gc/SKILL.md +120 -0
  103. package/skills/configure-ecc/SKILL.md +385 -0
  104. package/skills/connections-optimizer/SKILL.md +190 -0
  105. package/skills/content-engine/SKILL.md +132 -0
  106. package/skills/content-hash-cache-pattern/SKILL.md +162 -0
  107. package/skills/context-budget/SKILL.md +136 -0
  108. package/skills/continuous-agent-loop/SKILL.md +46 -0
  109. package/skills/continuous-learning/SKILL.md +132 -0
  110. package/skills/continuous-learning-v2/SKILL.md +361 -0
  111. package/skills/contract-first/SKILL.md +287 -0
  112. package/skills/cost-aware-llm-pipeline/SKILL.md +184 -0
  113. package/skills/cost-tracking/SKILL.md +97 -0
  114. package/skills/council/SKILL.md +204 -0
  115. package/skills/cpp-coding-standards/SKILL.md +724 -0
  116. package/skills/cpp-testing/SKILL.md +325 -0
  117. package/skills/crosspost/SKILL.md +112 -0
  118. package/skills/csharp-testing/SKILL.md +322 -0
  119. package/skills/customer-billing-ops/SKILL.md +141 -0
  120. package/skills/customs-trade-compliance/SKILL.md +263 -0
  121. package/skills/dart-flutter-patterns/SKILL.md +564 -0
  122. package/skills/dashboard-builder/SKILL.md +109 -0
  123. package/skills/data-scraper-agent/SKILL.md +765 -0
  124. package/skills/data-throughput-accelerator/SKILL.md +74 -0
  125. package/skills/database-migrations/SKILL.md +430 -0
  126. package/skills/deep-research/SKILL.md +160 -0
  127. package/skills/defi-amm-security/SKILL.md +167 -0
  128. package/skills/delivery-gate/SKILL.md +126 -0
  129. package/skills/deployment-patterns/SKILL.md +428 -0
  130. package/skills/design-system/SKILL.md +83 -0
  131. package/skills/django-celery/SKILL.md +458 -0
  132. package/skills/django-patterns/SKILL.md +735 -0
  133. package/skills/django-security/SKILL.md +644 -0
  134. package/skills/django-tdd/SKILL.md +730 -0
  135. package/skills/django-verification/SKILL.md +470 -0
  136. package/skills/dmux-workflows/SKILL.md +192 -0
  137. package/skills/docker-patterns/SKILL.md +365 -0
  138. package/skills/documentation-lookup/SKILL.md +91 -0
  139. package/skills/dotnet-patterns/SKILL.md +322 -0
  140. package/skills/dynamic-workflow-mode/SKILL.md +124 -0
  141. package/skills/e2e-testing/SKILL.md +327 -0
  142. package/skills/ecc-guide/SKILL.md +190 -0
  143. package/skills/ecc-recipes/SKILL.md +149 -0
  144. package/skills/ecc-tools-cost-audit/SKILL.md +161 -0
  145. package/skills/email-ops/SKILL.md +122 -0
  146. package/skills/energy-procurement/SKILL.md +228 -0
  147. package/skills/enterprise-agent-ops/SKILL.md +51 -0
  148. package/skills/error-handling/SKILL.md +377 -0
  149. package/skills/eval-harness/SKILL.md +271 -0
  150. package/skills/evm-token-decimals/SKILL.md +131 -0
  151. package/skills/exa-search/SKILL.md +108 -0
  152. package/skills/fal-ai-media/SKILL.md +289 -0
  153. package/skills/fastapi-patterns/SKILL.md +514 -0
  154. package/skills/finance-billing-ops/SKILL.md +128 -0
  155. package/skills/flox-environments/SKILL.md +497 -0
  156. package/skills/flutter-dart-code-review/SKILL.md +436 -0
  157. package/skills/foundation-models-on-device/SKILL.md +243 -0
  158. package/skills/frontend-a11y/SKILL.md +446 -0
  159. package/skills/frontend-design-direction/SKILL.md +93 -0
  160. package/skills/frontend-patterns/SKILL.md +657 -0
  161. package/skills/frontend-slides/SKILL.md +185 -0
  162. package/skills/fsharp-testing/SKILL.md +281 -0
  163. package/skills/gan-style-harness/SKILL.md +279 -0
  164. package/skills/gateguard/SKILL.md +133 -0
  165. package/skills/generating-python-installer/SKILL.md +820 -0
  166. package/skills/git-workflow/SKILL.md +716 -0
  167. package/skills/github-ops/SKILL.md +145 -0
  168. package/skills/golang-patterns/SKILL.md +676 -0
  169. package/skills/golang-testing/SKILL.md +721 -0
  170. package/skills/google-workspace-ops/SKILL.md +96 -0
  171. package/skills/growth-log/SKILL.md +128 -0
  172. package/skills/healthcare-cdss-patterns/SKILL.md +246 -0
  173. package/skills/healthcare-emr-patterns/SKILL.md +160 -0
  174. package/skills/healthcare-eval-harness/SKILL.md +208 -0
  175. package/skills/healthcare-phi-compliance/SKILL.md +146 -0
  176. package/skills/hermes-imports/SKILL.md +89 -0
  177. package/skills/hexagonal-architecture/SKILL.md +277 -0
  178. package/skills/hipaa-compliance/SKILL.md +79 -0
  179. package/skills/homelab-network-readiness/SKILL.md +170 -0
  180. package/skills/homelab-network-setup/SKILL.md +130 -0
  181. package/skills/homelab-pihole-dns/SKILL.md +275 -0
  182. package/skills/homelab-vlan-segmentation/SKILL.md +312 -0
  183. package/skills/homelab-wireguard-vpn/SKILL.md +306 -0
  184. package/skills/hookify-rules/SKILL.md +128 -0
  185. package/skills/inherit-legacy-style/SKILL.md +157 -0
  186. package/skills/intent-driven-development/SKILL.md +360 -0
  187. package/skills/inventory-demand-planning/SKILL.md +247 -0
  188. package/skills/investor-materials/SKILL.md +97 -0
  189. package/skills/investor-outreach/SKILL.md +92 -0
  190. package/skills/ios-icon-gen/SKILL.md +158 -0
  191. package/skills/iterative-retrieval/SKILL.md +212 -0
  192. package/skills/ito-basket-compare/SKILL.md +64 -0
  193. package/skills/ito-compute/SKILL.md +129 -0
  194. package/skills/ito-data-atlas-agent/SKILL.md +64 -0
  195. package/skills/ito-market-intelligence/SKILL.md +61 -0
  196. package/skills/ito-trade-planner/SKILL.md +68 -0
  197. package/skills/java-coding-standards/SKILL.md +384 -0
  198. package/skills/jira-integration/SKILL.md +303 -0
  199. package/skills/jpa-patterns/SKILL.md +152 -0
  200. package/skills/knowledge-ops/SKILL.md +155 -0
  201. package/skills/kotlin-coroutines-flows/SKILL.md +285 -0
  202. package/skills/kotlin-exposed-patterns/SKILL.md +720 -0
  203. package/skills/kotlin-ktor-patterns/SKILL.md +690 -0
  204. package/skills/kotlin-patterns/SKILL.md +712 -0
  205. package/skills/kotlin-testing/SKILL.md +825 -0
  206. package/skills/kubernetes-patterns/SKILL.md +756 -0
  207. package/skills/laravel-patterns/SKILL.md +416 -0
  208. package/skills/laravel-plugin-discovery/SKILL.md +230 -0
  209. package/skills/laravel-security/SKILL.md +948 -0
  210. package/skills/laravel-tdd/SKILL.md +675 -0
  211. package/skills/laravel-verification/SKILL.md +180 -0
  212. package/skills/latency-critical-systems/SKILL.md +75 -0
  213. package/skills/lead-intelligence/SKILL.md +322 -0
  214. package/skills/liquid-glass-design/SKILL.md +279 -0
  215. package/skills/llm-trading-agent-security/SKILL.md +147 -0
  216. package/skills/logistics-exception-management/SKILL.md +222 -0
  217. package/skills/loop-design-check/SKILL.md +143 -0
  218. package/skills/mailtrap-email-integration/SKILL.md +77 -0
  219. package/skills/make-interfaces-feel-better/SKILL.md +152 -0
  220. package/skills/manim-video/SKILL.md +90 -0
  221. package/skills/market-research/SKILL.md +76 -0
  222. package/skills/marketing-campaign/SKILL.md +114 -0
  223. package/skills/mcp-server-patterns/SKILL.md +70 -0
  224. package/skills/messages-ops/SKILL.md +105 -0
  225. package/skills/ml-adoption-playbook/SKILL.md +57 -0
  226. package/skills/mle-workflow/SKILL.md +348 -0
  227. package/skills/motion-advanced/SKILL.md +596 -0
  228. package/skills/motion-foundations/SKILL.md +299 -0
  229. package/skills/motion-patterns/SKILL.md +434 -0
  230. package/skills/motion-ui/SKILL.md +576 -0
  231. package/skills/mysql-patterns/SKILL.md +413 -0
  232. package/skills/nanoclaw-repl/SKILL.md +34 -0
  233. package/skills/nestjs-patterns/SKILL.md +231 -0
  234. package/skills/netmiko-ssh-automation/SKILL.md +174 -0
  235. package/skills/network-bgp-diagnostics/SKILL.md +168 -0
  236. package/skills/network-config-validation/SKILL.md +211 -0
  237. package/skills/network-interface-health/SKILL.md +153 -0
  238. package/skills/nextjs-turbopack/SKILL.md +58 -0
  239. package/skills/nodejs-keccak256/SKILL.md +103 -0
  240. package/skills/nutrient-document-processing/SKILL.md +168 -0
  241. package/skills/nuxt4-patterns/SKILL.md +101 -0
  242. package/skills/openclaw-persona-forge/SKILL.md +289 -0
  243. package/skills/openclaw-persona-forge/references/avatar-style.md +124 -0
  244. package/skills/openclaw-persona-forge/references/boundary-rules.md +53 -0
  245. package/skills/openclaw-persona-forge/references/error-handling.md +53 -0
  246. package/skills/openclaw-persona-forge/references/identity-tension.md +48 -0
  247. package/skills/openclaw-persona-forge/references/naming-system.md +39 -0
  248. package/skills/openclaw-persona-forge/references/output-template.md +166 -0
  249. package/skills/opensource-pipeline/SKILL.md +256 -0
  250. package/skills/orch-add-feature/SKILL.md +45 -0
  251. package/skills/orch-build-mvp/SKILL.md +49 -0
  252. package/skills/orch-change-feature/SKILL.md +43 -0
  253. package/skills/orch-fix-defect/SKILL.md +43 -0
  254. package/skills/orch-pipeline/SKILL.md +121 -0
  255. package/skills/orch-refine-code/SKILL.md +44 -0
  256. package/skills/parallel-execution-optimizer/SKILL.md +74 -0
  257. package/skills/perl-patterns/SKILL.md +505 -0
  258. package/skills/perl-security/SKILL.md +504 -0
  259. package/skills/perl-testing/SKILL.md +476 -0
  260. package/skills/plan-canvas/SKILL.md +153 -0
  261. package/skills/plan-orchestrate/SKILL.md +263 -0
  262. package/skills/plankton-code-quality/SKILL.md +237 -0
  263. package/skills/postgres-patterns/SKILL.md +148 -0
  264. package/skills/prediction-market-oracle-research/SKILL.md +64 -0
  265. package/skills/prediction-market-risk-review/SKILL.md +61 -0
  266. package/skills/prisma-patterns/SKILL.md +401 -0
  267. package/skills/product-capability/SKILL.md +142 -0
  268. package/skills/product-lens/SKILL.md +93 -0
  269. package/skills/production-audit/SKILL.md +207 -0
  270. package/skills/production-scheduling/SKILL.md +238 -0
  271. package/skills/project-flow-ops/SKILL.md +112 -0
  272. package/skills/prompt-optimizer/SKILL.md +398 -0
  273. package/skills/python-patterns/SKILL.md +751 -0
  274. package/skills/python-testing/SKILL.md +817 -0
  275. package/skills/pytorch-patterns/SKILL.md +397 -0
  276. package/skills/quality-nonconformance/SKILL.md +260 -0
  277. package/skills/quarkus-patterns/SKILL.md +723 -0
  278. package/skills/quarkus-security/SKILL.md +468 -0
  279. package/skills/quarkus-tdd/SKILL.md +812 -0
  280. package/skills/quarkus-verification/SKILL.md +480 -0
  281. package/skills/ralphinho-rfc-pipeline/SKILL.md +68 -0
  282. package/skills/react-native-patterns/SKILL.md +326 -0
  283. package/skills/react-patterns/SKILL.md +342 -0
  284. package/skills/react-performance/SKILL.md +575 -0
  285. package/skills/react-testing/SKILL.md +424 -0
  286. package/skills/recsys-pipeline-architect/SKILL.md +115 -0
  287. package/skills/recursive-decision-ledger/SKILL.md +81 -0
  288. package/skills/redis-patterns/SKILL.md +404 -0
  289. package/skills/regex-vs-llm-structured-text/SKILL.md +221 -0
  290. package/skills/remotion-video-creation/SKILL.md +43 -0
  291. package/skills/repo-scan/SKILL.md +79 -0
  292. package/skills/research-ops/SKILL.md +113 -0
  293. package/skills/returns-reverse-logistics/SKILL.md +240 -0
  294. package/skills/rules-distill/SKILL.md +265 -0
  295. package/skills/rust-patterns/SKILL.md +500 -0
  296. package/skills/rust-testing/SKILL.md +501 -0
  297. package/skills/safety-guard/SKILL.md +76 -0
  298. package/skills/santa-method/SKILL.md +307 -0
  299. package/skills/scientific-db-pubmed-database/SKILL.md +176 -0
  300. package/skills/scientific-db-uspto-database/SKILL.md +178 -0
  301. package/skills/scientific-pkg-gget/SKILL.md +167 -0
  302. package/skills/scientific-thinking-literature-review/SKILL.md +193 -0
  303. package/skills/scientific-thinking-scholar-evaluation/SKILL.md +161 -0
  304. package/skills/search-first/SKILL.md +183 -0
  305. package/skills/security-bounty-hunter/SKILL.md +100 -0
  306. package/skills/security-review/SKILL.md +504 -0
  307. package/skills/security-scan/SKILL.md +166 -0
  308. package/skills/seo/SKILL.md +155 -0
  309. package/skills/skill-comply/SKILL.md +59 -0
  310. package/skills/skill-scout/SKILL.md +141 -0
  311. package/skills/skill-stocktake/SKILL.md +195 -0
  312. package/skills/social-graph-ranker/SKILL.md +155 -0
  313. package/skills/social-publisher/SKILL.md +130 -0
  314. package/skills/springboot-patterns/SKILL.md +315 -0
  315. package/skills/springboot-security/SKILL.md +273 -0
  316. package/skills/springboot-tdd/SKILL.md +159 -0
  317. package/skills/springboot-verification/SKILL.md +232 -0
  318. package/skills/strategic-compact/SKILL.md +142 -0
  319. package/skills/swift-actor-persistence/SKILL.md +144 -0
  320. package/skills/swift-concurrency-6-2/SKILL.md +216 -0
  321. package/skills/swift-protocol-di-testing/SKILL.md +191 -0
  322. package/skills/swiftui-patterns/SKILL.md +259 -0
  323. package/skills/taste/SKILL.md +264 -0
  324. package/skills/taste/references/genre-taxonomy.md +87 -0
  325. package/skills/tdd-workflow/SKILL.md +583 -0
  326. package/skills/team-agent-orchestration/SKILL.md +111 -0
  327. package/skills/team-builder/SKILL.md +169 -0
  328. package/skills/terminal-ops/SKILL.md +110 -0
  329. package/skills/tinystruct-patterns/SKILL.md +279 -0
  330. package/skills/tinystruct-patterns/references/architecture.md +90 -0
  331. package/skills/tinystruct-patterns/references/data-handling.md +60 -0
  332. package/skills/tinystruct-patterns/references/database.md +99 -0
  333. package/skills/tinystruct-patterns/references/routing.md +64 -0
  334. package/skills/tinystruct-patterns/references/system-usage.md +97 -0
  335. package/skills/tinystruct-patterns/references/testing.md +72 -0
  336. package/skills/token-budget-advisor/SKILL.md +134 -0
  337. package/skills/ui-demo/SKILL.md +466 -0
  338. package/skills/ui-to-vue/SKILL.md +135 -0
  339. package/skills/uncloud/SKILL.md +344 -0
  340. package/skills/unified-memory/SKILL.md +170 -0
  341. package/skills/unified-notifications-ops/SKILL.md +188 -0
  342. package/skills/verification-loop/SKILL.md +129 -0
  343. package/skills/video-editing/SKILL.md +311 -0
  344. package/skills/videodb/SKILL.md +375 -0
  345. package/skills/visa-doc-translate/SKILL.md +117 -0
  346. package/skills/vite-patterns/SKILL.md +450 -0
  347. package/skills/vue-patterns/SKILL.md +471 -0
  348. package/skills/windows-desktop-e2e/SKILL.md +888 -0
  349. package/skills/workspace-surface-audit/SKILL.md +126 -0
  350. package/skills/x-api/SKILL.md +235 -0
@@ -0,0 +1,143 @@
1
+ ---
2
+ name: loop-design-check
3
+ description: "Design a goal-oriented agent loop, and review it for the ways loops go wrong — spinning and burning tokens, Goodhart-gaming the verifier, or running a wrong answer to completion. Two actions: (1) WRITE a loop — gate whether to build it, define a machine-decidable goal, pick the loop type, pick a skeleton; (2) REVIEW a loop — run it past five failure modes plus decidability, boundaries, fallback, judge independence, and keep-judgment-with-the-human red lines. Use when designing an autonomous agent loop, or when you already have one and worry it will spin, cheat, or run a wrong answer to the end. Complements the mechanism-layer loop skills (autonomous-loops, continuous-agent-loop) by covering the judgment layer they don't. 中文触发:写 loop、设计 loop、做一个 loop、检查 loop 对不对、loop 体检、loop 会不会跑飞、可判定目标、五个崩法、plan build judge。English triggers: design an agent loop, write a loop, check a loop, loop review, prevent a runaway loop, goal-oriented loop, decidable goal, plan/build/judge."
4
+ metadata:
5
+ origin: ECC
6
+ ---
7
+
8
+ # Loop Design + Review
9
+
10
+ > **Premise.** An LLM is a feed-forward system: prompt in → tokens out, with no built-in "steer toward the goal" across turns. To make it *behave* like a goal-oriented system, you wrap a feedback loop around it. This skill helps you **write** that loop correctly and **review** it so it won't run away.
11
+
12
+ ## When to use / not
13
+
14
+ **Use it when:**
15
+ - You want to hand a repeating task to an agent that runs over and over (write→test, test→fix, fix→verify…).
16
+ - You already have a loop and worry it spins, cheats, or runs a wrong answer to completion.
17
+
18
+ **Don't use it for:**
19
+ - A one-off task → just do it; don't wrap a loop around it.
20
+ - A plain timer / poll → use `/loop`; no design needed.
21
+ - *How to wire the loop architecture* (pipelines → DAGs, long-run recovery) → that's the mechanism layer; see `autonomous-loops` / `continuous-agent-loop`. **This skill only covers "is the goal right, and will it run away" — it does not re-explain mechanism.**
22
+
23
+ ## Red-line premise: two levels of feedback
24
+
25
+ | Level | Who owns it | What it does |
26
+ |---|---|---|
27
+ | **Execution** (low) | machine / agent | Measures "how far from the literal goal" and grinds it to zero. The machine is strong here. |
28
+ | **Judgment** (high) | **human** | Decides "is this goal itself right, should it change, should it stop." The machine can't step outside its own loop to question the goal. |
29
+
30
+ > A thermostat can feed back "how far from 26°C," but when you have a fever and want 28°C it can't judge whether 26 is the *right* target — it just grinds toward 26. **"What to set today" is always the human's call.**
31
+ > Handing judgment / sign-off / the last switch to the machine = removing the high-level feedback = it sprints, fast and hard, toward a goal no one questioned → wrong output.
32
+
33
+ ---
34
+
35
+ ## Action 1 — Write a loop (5 steps)
36
+
37
+ ### Step 0 · Subtract first: should you even build it? (4-condition gate, any miss = veto)
38
+
39
+ ① the task repeats weekly or more ② verification can be automated ③ the token budget can take it ④ the agent has tools that actually *run and see the result*
40
+
41
+ Miss any one → **don't build a loop**; do it by hand or another way.
42
+ > What stops most people isn't "can I write a loop," it's "does my repo deserve one." A repo that deserves a loop has a reconciliation baseline (golden sample / upstream total) + tests + a lint guard. **A repo that doesn't deserve a loop will only have its errors amplified by one.**
43
+
44
+ ### Step 1 · Define a *machine-decidable* goal (the hard part — the loop lives or dies here)
45
+
46
+ The whole loop rides on the comparator's "is it done yet?" **The comparator can only work if your exit condition can be judged yes/no by a machine.**
47
+
48
+ - Bad: Vague ("make it good," "write it sharper") → the comparator can't judge → either it never passes (stuck retrying) or it guesses (passes/blocks at random).
49
+ - Good: Decidable ("all 96 unit tests green AND a change-list is produced," "module-02 fields filled, pytest passes, business logic untouched") → one check settles it; the loop converges cleanly.
50
+
51
+ **Five-point goal framework:**
52
+ 1. **Done-criterion is machine-verifiable.**
53
+ 2. **Boundary conditions defined alongside the done-criterion** ("what it must NOT do") — anti-Goodhart; missing boundaries = a license to cheat.
54
+ 3. **Has a failure fallback** — retry cap N + escalate to a human when exceeded.
55
+ 4. **Goal is layered.**
56
+ 5. **Prefer reconciliation over assertion for the done-criterion** — anchor to external fact (golden sample / upstream total / financial tie-out / platform back-office numbers) before your own assertions. "All tests pass" can be gamed (loosen asserts, fake mocks, swallow exceptions); "diff vs the reference < 0.01" can't.
57
+
58
+ > **Self-check:** read the goal to someone who doesn't know the domain — can they run one command and tell whether it's done? If not, it isn't decidable enough. Go back.
59
+
60
+ ### Step 2 · Pick the loop type
61
+
62
+ | Your task | Loop type (cybernetic) | How it stops |
63
+ |---|---|---|
64
+ | Has a clear "done" test (write to done / a batch of images processed) | **servo** (`/goal`-style closed-loop) | stops on reaching the goal |
65
+ | No endpoint, must keep maintaining a state (inventory alert / scheduled health check) | **regulator** (`/loop`-style thermostat) | never stops; acts only on change (dead-band suppresses noise) |
66
+ | Periodic sampling, stop on a condition (watch a PR until CI is green) | **regulator with an exit** | stops when the exit condition holds |
67
+ | Must "ensure something happens on time" | wrap the above in `/schedule` | cron fires it |
68
+
69
+ > Rule of thumb: clear "done" test → servo; must keep maintaining, no endpoint → regulator; must "happen on time" → wrap a regulator in schedule.
70
+
71
+ ### Step 3 · Pick a skeleton
72
+
73
+ **Maintenance type (tend something that exists) → document-driven dispatch.**
74
+ The loop isn't "run a fixed check on a timer," it's **"read a doc on a timer, and dispatch only when the doc changed."** The doc is the task queue + state machine + human interface.
75
+ Three disciplines: ① the problem column is human-write-only, the result column is loop-write-only, **state advances one-way and never rolls back**; ② **the exit code is final** (if the script says exit 1, the script wins); ③ state advances only as far as "awaiting verification" — **the "done" cell is flipped by a human only.** The loop is the worker, not the acceptance officer.
76
+
77
+ **Greenfield type (build from scratch) → plan / build / judge, three roles.**
78
+
79
+ | Role | Does | Key |
80
+ |---|---|---|
81
+ | **Plan** | break the goal into a spec + **decidable acceptance conditions** | acceptance must be script-judgeable |
82
+ | **Build** | write to the spec | **must not change the acceptance conditions** |
83
+ | **Judge** | run acceptance **independently**; pass → stop, fail → return with the failure reason to Build | **independent + deterministic** |
84
+
85
+ Three iron rules (all bet on the judge): ① **the judge must be independent** — not the same agent as Build (grading your own homework always inflates); ② **deterministic rules** — pytest / reconciliation diff / type check / diff, never "looks right"; ③ **Build may not edit the acceptance conditions to pass**. Three failed retries → escalate to a human.
86
+
87
+ ### Step 4 · Add damping (against oscillation / runaway)
88
+
89
+ Retry cap, hard stop, human flips the last switch = damping. **Negative feedback with no damping oscillates** (the Ralph-Wiggum loop: spinning in place, burning tokens).
90
+
91
+ ### Step 5 · Land in three stages (don't go fully automatic on day one)
92
+
93
+ ① **Run it once by hand** (forces you to state exactly "how the judge decides") → ② harden into a skill / Claude Code sub-agents (a main Claude loops, dispatching plan/build/judge) → ③ hang it on cron for full automation.
94
+
95
+ ---
96
+
97
+ ## Action 2 — Review a loop (checklist = five failure modes)
98
+
99
+ > Run the loop past each row. **Hitting any one = this loop will misfire; send it back.** These five are negative experience (gotchas) — worth more than positive rules.
100
+
101
+ | # | Failure mode (how it breaks) | Review question (a hit = red) | Antibody |
102
+ |---|---|---|---|
103
+ | 1 | Goal is a correct platitude → **spins, burns money** | Can the exit condition be machine-judged yes/no? Or is it "manage it well / make it good"? | Replace with a decidable result condition (Action 1·Step 1) |
104
+ | 2 | "Verification" written as "check if it looks ok" → **agent confidently says fine and stops** | Is the judge the defendant itself? Does verification rest on "looks right" or deterministic rules? | Reconcile + exit code rules + independent judge |
105
+ | 3 | (worst) Only gates on "all tests pass" → **agent deletes the tests** | Is there a boundary ("what it must NOT do")? Or only a done-criterion? | Done-criterion **+ boundary** together (the Goodhart antibody) |
106
+ | 4 | Counts on the agent asking mid-run → **it won't; it runs the wrong answer to the end** | Is there any "clarify only at runtime" point? | **Front-load every clarification**; settle it once before launch |
107
+ | 5 | Bloated CLAUDE.md + stale memory → **the faster it loops, the more it errs** | Are the docs/memory it depends on fresh? Who maintains them? | Layered memory + periodic lint |
108
+
109
+ **Plus three red lines (violate any = not allowed to go automatic):**
110
+ - **Keep judgment with the human.** Acceptance / the "done" cell is flipped by a human; the loop is not the acceptance officer.
111
+ - **Responsibility doesn't transfer.** Anything whose failure you can't afford (merge the wrong PR / publish the wrong thing / misallocate money) → **don't hand over the authority automatically.**
112
+ - **Counter-intuitive warning.** The more "self-improving / rewrites-its-own-rules" a loop is, the **stricter the human review it needs** (to see what it rewrote the rules into) — not looser. The machine is too fast to intercept after the fact, so the human's judgment must sit **before the action** (a hard gate), not as a post-hoc patch.
113
+
114
+ ---
115
+
116
+ ## Worked example — reviewing a "nightly green-keeper" loop
117
+
118
+ You want a loop that runs every night and fixes whatever tests are failing.
119
+
120
+ - **Naive goal:** "make all tests pass." → Step-1 self-check fails: this is the bait for failure mode #3.
121
+ - **Decidable goal (fixed):** "all tests green **AND** no test file deleted or weakened **AND** coverage not lowered **AND** a change-list produced." Boundary now defined alongside the done-criterion.
122
+ - **Type:** servo with a retry cap of 3 (Step 2 + Step 4).
123
+ - **Skeleton:** plan/build/judge — the **judge is CI run independently**, never the fixing agent (Step 3).
124
+
125
+ Now run the **review checklist**, and it catches what the naive version would have missed:
126
+ - **#3 hit** → the naive "all tests pass" lets the agent delete a failing test to "win." Fixed by the boundary "no test file deleted/weakened."
127
+ - **#2 hit** → if the fixing agent also judged its own fix, it would pass itself. Fixed by "judge = independent CI, deterministic."
128
+ - **#4 hit** → if a fix is ambiguous, the agent won't stop to ask at 2 a.m.; it'll commit a guess. Fixed by front-loading: ambiguous fixes are left for the human, not guessed.
129
+ - **Red line** → the loop opens a PR but **does not auto-merge**; the human flips the last switch (responsibility doesn't transfer).
130
+
131
+ The naive loop and the reviewed loop differ by four lines of constraint — and that's the difference between "wakes you to a deleted test suite" and "wakes you to a clean PR."
132
+
133
+ ---
134
+
135
+ ## One-line close
136
+
137
+ > The hard part of writing a loop isn't "can I write a loop," it's **defining a goal a machine can reconcile** — decidable, bounded, reconciliation-based. The controller must be deterministic and external; keep judgment and the standard with the human; the system tends toward entropy, so maintain it.
138
+ > **A loop only rewards someone who has already thought it through. Count on it to think for you, and it will happily think wrong, with you, at scale.**
139
+
140
+ ---
141
+
142
+ > Lineage: Wiener's two-level feedback (*The Human Use of Human Beings*, 1950) for the judgment/execution split and red lines; the plan/build/judge pattern from Anatoli's *Loops explained* and Addy's *Loop Engineering*.
143
+ > Mechanism layer (how to wire the loop architecture): see `autonomous-loops` / `continuous-agent-loop`. This skill does not re-implement mechanism; it covers goal definition and runaway prevention only.
@@ -0,0 +1,77 @@
1
+ ---
2
+ name: mailtrap-email-integration
3
+ description: Guides agents through integrating transactional email sending via Mailtrap's Email API, including sandbox testing, domain verification, and API authentication. Use when implementing email-sending features, debugging delivery issues, or setting up safe dev/staging email testing.
4
+ origin: ECC
5
+ ---
6
+
7
+ # Mailtrap Email Integration
8
+
9
+ Patterns for adding transactional email sending to an application using Mailtrap's Email API and Sandbox, covering authentication, environment separation, and common delivery pitfalls.
10
+
11
+ ## When to Activate
12
+
13
+ - Implementing a "send email" feature (signup confirmation, password reset, notifications, receipts)
14
+ - Debugging why emails aren't arriving in dev/staging
15
+ - Setting up a project's first email-sending integration
16
+ - Reviewing code that calls an email API directly without sandbox separation
17
+
18
+ ## Core Concepts
19
+
20
+ **Sandbox vs. Production separation.** Mailtrap provides a Sandbox API that captures emails without delivering them, used for dev/staging so test emails never reach real inboxes. Production sending uses a separate, verified-domain endpoint. Never point a dev environment at the production sending endpoint.
21
+
22
+ **Authentication.** Requests use a Bearer token in the `Authorization` header. Tokens are scoped per project; sandbox and production typically use different tokens.
23
+
24
+ **Domain verification.** Production sending requires verifying a sending domain via DNS records (SPF, DKIM, DMARC) before Mailtrap will deliver to real recipients. Skipping this causes silent delivery failures or spam-folder placement.
25
+
26
+ ## Code Examples
27
+
28
+ ```typescript
29
+ // Sending via Mailtrap's Email API (production)
30
+ async function sendEmail(to: string, subject: string, html: string) {
31
+ const response = await fetch("https://send.api.mailtrap.io/api/send", {
32
+ method: "POST",
33
+ headers: {
34
+ "Authorization": `Bearer ${process.env.MAILTRAP_API_TOKEN}`,
35
+ "Content-Type": "application/json",
36
+ },
37
+ body: JSON.stringify({
38
+ from: { email: "no-reply@yourverifieddomain.com", name: "Your App" },
39
+ to: [{ email: to }],
40
+ subject,
41
+ html,
42
+ }),
43
+ });
44
+
45
+ if (!response.ok) {
46
+ throw new Error(`Email send failed: ${response.status}`);
47
+ }
48
+ return response.json();
49
+ }
50
+ ```
51
+
52
+ ```typescript
53
+ // Same call, routed to Sandbox in non-production environments
54
+ const MAILTRAP_ENDPOINT = process.env.NODE_ENV === "production"
55
+ ? "https://send.api.mailtrap.io/api/send"
56
+ : `https://sandbox.api.mailtrap.io/api/send/${process.env.MAILTRAP_INBOX_ID}`;
57
+ ```
58
+
59
+ ## Anti-Patterns
60
+
61
+ | Anti-Pattern | Why It's a Problem | Instead |
62
+ | --- | --- | --- |
63
+ | Using the production sending endpoint in dev/test | Real test emails reach real inboxes, risking spam complaints and leaked test data | Route non-production environments to the Sandbox endpoint |
64
+ | Hardcoding API tokens in source | Credential leak risk if committed to version control | Load tokens from environment variables / secrets manager |
65
+ | Sending before domain verification completes | Emails silently fail or land in spam | Verify SPF/DKIM/DMARC records before enabling production sending |
66
+ | No retry/error handling on send failures | Silent notification failures (e.g., user never gets password reset email) | Check response status, log failures, surface actionable errors |
67
+
68
+ ## Best Practices
69
+
70
+ - Keep sandbox and production tokens in separate environment variables, never share one token across environments
71
+ - Verify sending domain DNS records before any production launch involving email
72
+ - Log delivery failures with enough context to debug (recipient, template, timestamp, response code)
73
+ - Treat email sending as a fallible network call: wrap in try/catch, never assume success
74
+
75
+ ## Related Skills
76
+
77
+ `api-and-interface-design`, `security-and-hardening`, `ci-cd-and-automation`
@@ -0,0 +1,152 @@
1
+ ---
2
+ name: make-interfaces-feel-better
3
+ description: Apply concrete design-engineering details that make interfaces feel polished. Use when reviewing or improving UI spacing, typography, borders, shadows, motion, hit areas, icons, text wrapping, and interaction states.
4
+ metadata:
5
+ origin: community
6
+ ---
7
+
8
+ # Make Interfaces Feel Better
9
+
10
+ Use this skill for the small design-engineering details that compound into a
11
+ more polished interface.
12
+
13
+ Source: salvaged from stale community PR #1659 by `linus707`.
14
+
15
+ ## When to Use
16
+
17
+ - The user says the UI feels off, flat, generic, cramped, jumpy, or unfinished.
18
+ - You are building controls, cards, lists, dashboards, navigation, forms, or
19
+ toolbars.
20
+ - A component needs hover, active, focus, enter, exit, loading, or empty states.
21
+ - A frontend review needs specific before/after recommendations.
22
+
23
+ ## Core Principles
24
+
25
+ ### Concentric Radius
26
+
27
+ For nearby nested rounded surfaces:
28
+
29
+ ```text
30
+ outer radius = inner radius + padding
31
+ ```
32
+
33
+ If padding is large, treat layers as separate surfaces instead of forcing the
34
+ math. The point is optical coherence, not formula worship.
35
+
36
+ ### Optical Alignment
37
+
38
+ Geometric centering is not always visual centering. Icon buttons, play
39
+ triangles, arrows, stars, and asymmetric icons often need a small offset. Fix the
40
+ SVG when possible; otherwise adjust with a pixel-level margin or padding change.
41
+
42
+ ### Shadows And Borders
43
+
44
+ Use borders for separation and focus rings. Use layered shadows when a card,
45
+ button, dropdown, or popover needs depth. Shadows should be transparent and
46
+ subtle enough to work across backgrounds.
47
+
48
+ ### Text Wrapping
49
+
50
+ - Use `text-wrap: balance` on headings and short titles.
51
+ - Use `text-wrap: pretty` on short-to-medium body text, captions, descriptions,
52
+ and list items.
53
+ - Avoid both on long prose, code, and preformatted content.
54
+ - Use `font-variant-numeric: tabular-nums` for counters, timers, prices, tables,
55
+ and other updating numbers.
56
+
57
+ ### Font Smoothing
58
+
59
+ On macOS, apply antialiased font smoothing at the root layout when the project
60
+ does not already do so:
61
+
62
+ ```css
63
+ html {
64
+ -webkit-font-smoothing: antialiased;
65
+ -moz-osx-font-smoothing: grayscale;
66
+ }
67
+ ```
68
+
69
+ ### Image Outlines
70
+
71
+ Images often need a subtle inset outline so their edges do not blur into the
72
+ surface.
73
+
74
+ ```css
75
+ img {
76
+ outline: 1px solid rgba(0, 0, 0, 0.1);
77
+ outline-offset: -1px;
78
+ }
79
+
80
+ @media (prefers-color-scheme: dark) {
81
+ img {
82
+ outline-color: rgba(255, 255, 255, 0.1);
83
+ }
84
+ }
85
+ ```
86
+
87
+ Use neutral black or white alpha outlines. Do not tint image outlines with the
88
+ brand palette.
89
+
90
+ ### Motion
91
+
92
+ Use CSS transitions for interactive state changes because they can retarget
93
+ when the user changes intent mid-motion. Reserve keyframes for staged
94
+ one-shot entrances or loading sequences.
95
+
96
+ Good motion defaults:
97
+
98
+ - Enter: combine opacity, small `translateY`, and optionally blur.
99
+ - Exit: shorter and quieter than enter, usually 150ms.
100
+ - Press: `scale(0.96)` for tactile buttons, with a way to disable it when the
101
+ movement distracts.
102
+ - Icon swaps: cross-fade with opacity, scale, and blur instead of instant
103
+ visibility toggles.
104
+
105
+ ### Transition Scope
106
+
107
+ Never use `transition: all`. Specify the changed properties:
108
+
109
+ ```css
110
+ .button {
111
+ transition-property: transform, background-color, box-shadow;
112
+ transition-duration: 150ms;
113
+ transition-timing-function: ease-out;
114
+ }
115
+ ```
116
+
117
+ Use `will-change` only for first-frame stutter on compositor-friendly
118
+ properties such as `transform`, `opacity`, and `filter`. Never use
119
+ `will-change: all`.
120
+
121
+ ### Hit Areas
122
+
123
+ Interactive controls should have at least a 40x40px hit area, ideally 44x44px
124
+ where the layout allows it. Expand with a pseudo-element when the visible icon
125
+ is smaller, but do not let expanded hit areas overlap.
126
+
127
+ ## Review Output
128
+
129
+ When reviewing a UI polish pass, report concrete changes in before/after rows:
130
+
131
+ | Principle | Before | After |
132
+ | --- | --- | --- |
133
+ | Concentric radius | Same radius on parent and child | Parent radius accounts for padding |
134
+ | Tabular numbers | Counter shifts as digits change | Counter uses `tabular-nums` |
135
+ | Transition scope | `transition: all` | Explicit transition properties |
136
+
137
+ Include file paths and properties when they are not obvious from the snippets.
138
+ Omit principles that you checked but did not change.
139
+
140
+ ## Checklist
141
+
142
+ - Nested rounded elements are optically coherent.
143
+ - Icons are visually centered.
144
+ - Buttons, cards, and popovers use borders or shadows for the right reason.
145
+ - Headings and short text avoid awkward wrapping.
146
+ - Dynamic numbers use tabular numerals.
147
+ - Images have neutral outlines where needed.
148
+ - Enter and exit animations are split, subtle, and interruptible where
149
+ appropriate.
150
+ - Buttons have tactile active states without exaggerated motion.
151
+ - `transition: all` and `will-change: all` are absent.
152
+ - Small controls still have usable hit areas.
@@ -0,0 +1,90 @@
1
+ ---
2
+ name: manim-video
3
+ description: Build reusable Manim explainers for technical concepts, graphs, system diagrams, and product walkthroughs, then hand off to the wider ECC video stack if needed. Use when the user wants a clean animated explainer rather than a generic talking-head script.
4
+ metadata:
5
+ origin: ECC
6
+ ---
7
+
8
+ # Manim Video
9
+
10
+ Use Manim for technical explainers where motion, structure, and clarity matter more than photorealism.
11
+
12
+ ## When to Activate
13
+
14
+ - the user wants a technical explainer animation
15
+ - the concept is a graph, workflow, architecture, metric progression, or system diagram
16
+ - the user wants a short product or launch explainer for X or a landing page
17
+ - the visual should feel precise instead of generically cinematic
18
+
19
+ ## Tool Requirements
20
+
21
+ - `manim` CLI for scene rendering
22
+ - `ffmpeg` for post-processing if needed
23
+ - `video-editing` for final assembly or polish
24
+ - `remotion-video-creation` when the final package needs composited UI, captions, or additional motion layers
25
+
26
+ ## Default Output
27
+
28
+ - short 16:9 MP4
29
+ - one thumbnail or poster frame
30
+ - storyboard plus scene plan
31
+
32
+ ## Workflow
33
+
34
+ 1. Define the core visual thesis in one sentence.
35
+ 2. Break the concept into 3 to 6 scenes.
36
+ 3. Decide what each scene proves.
37
+ 4. Write the scene outline before writing Manim code.
38
+ 5. Render the smallest working version first.
39
+ 6. Tighten typography, spacing, color, and pacing after the render works.
40
+ 7. Hand off to the wider video stack only if it adds value.
41
+
42
+ ## Scene Planning Rules
43
+
44
+ - each scene should prove one thing
45
+ - avoid overstuffed diagrams
46
+ - prefer progressive reveal over full-screen clutter
47
+ - use motion to explain state change, not just to keep the screen busy
48
+ - title cards should be short and loaded with meaning
49
+
50
+ ## Network Graph Default
51
+
52
+ For social-graph and network-optimization explainers:
53
+
54
+ - show the current graph before showing the optimized graph
55
+ - distinguish low-signal follow clutter from high-signal bridges
56
+ - highlight warm-path nodes and target clusters
57
+ - if useful, add a final scene showing the self-improvement lineage that informed the skill
58
+
59
+ ## Render Conventions
60
+
61
+ - default to 16:9 landscape unless the user asks for vertical
62
+ - start with a low-quality smoke test render
63
+ - only push to higher quality after composition and timing are stable
64
+ - export one clean thumbnail frame that reads at social size
65
+
66
+ ## Reusable Starter
67
+
68
+ Use [assets/network_graph_scene.py](assets/network_graph_scene.py) as a starting point for network-graph explainers.
69
+
70
+ Example smoke test:
71
+
72
+ ```bash
73
+ manim -ql assets/network_graph_scene.py NetworkGraphExplainer
74
+ ```
75
+
76
+ ## Output Format
77
+
78
+ Return:
79
+
80
+ - core visual thesis
81
+ - storyboard
82
+ - scene outline
83
+ - render plan
84
+ - any follow-on polish recommendations
85
+
86
+ ## Related Skills
87
+
88
+ - `video-editing` for final polish
89
+ - `remotion-video-creation` for motion-heavy post-processing or compositing
90
+ - `content-engine` when the animation is part of a broader launch
@@ -0,0 +1,76 @@
1
+ ---
2
+ name: market-research
3
+ description: Conduct market research, competitive analysis, investor due diligence, and industry intelligence with source attribution and decision-oriented summaries. Use when the user wants market sizing, competitor comparisons, fund research, technology scans, or research that informs business decisions.
4
+ metadata:
5
+ origin: ECC
6
+ ---
7
+
8
+ # Market Research
9
+
10
+ Produce research that supports decisions, not research theater.
11
+
12
+ ## When to Activate
13
+
14
+ - researching a market, category, company, investor, or technology trend
15
+ - building TAM/SAM/SOM estimates
16
+ - comparing competitors or adjacent products
17
+ - preparing investor dossiers before outreach
18
+ - pressure-testing a thesis before building, funding, or entering a market
19
+
20
+ ## Research Standards
21
+
22
+ 1. Every important claim needs a source.
23
+ 2. Prefer recent data and call out stale data.
24
+ 3. Include contrarian evidence and downside cases.
25
+ 4. Translate findings into a decision, not just a summary.
26
+ 5. Separate fact, inference, and recommendation clearly.
27
+
28
+ ## Common Research Modes
29
+
30
+ ### Investor / Fund Diligence
31
+ Collect:
32
+ - fund size, stage, and typical check size
33
+ - relevant portfolio companies
34
+ - public thesis and recent activity
35
+ - reasons the fund is or is not a fit
36
+ - any obvious red flags or mismatches
37
+
38
+ ### Competitive Analysis
39
+ Collect:
40
+ - product reality, not marketing copy
41
+ - funding and investor history if public
42
+ - traction metrics if public
43
+ - distribution and pricing clues
44
+ - strengths, weaknesses, and positioning gaps
45
+
46
+ ### Market Sizing
47
+ Use:
48
+ - top-down estimates from reports or public datasets
49
+ - bottom-up sanity checks from realistic customer acquisition assumptions
50
+ - explicit assumptions for every leap in logic
51
+
52
+ ### Technology / Vendor Research
53
+ Collect:
54
+ - how it works
55
+ - trade-offs and adoption signals
56
+ - integration complexity
57
+ - lock-in, security, compliance, and operational risk
58
+
59
+ ## Output Format
60
+
61
+ Default structure:
62
+ 1. executive summary
63
+ 2. key findings
64
+ 3. implications
65
+ 4. risks and caveats
66
+ 5. recommendation
67
+ 6. sources
68
+
69
+ ## Quality Gate
70
+
71
+ Before delivering:
72
+ - all numbers are sourced or labeled as estimates
73
+ - old data is flagged
74
+ - the recommendation follows from the evidence
75
+ - risks and counterarguments are included
76
+ - the output makes a decision easier
@@ -0,0 +1,114 @@
1
+ ---
2
+ name: marketing-campaign
3
+ description: End-to-end marketing campaign planning and execution. Covers audience research, positioning, campaign angle definition, landing page copy, email sequences, social posts, ad copy, short-form video scripts, and content calendars. Use as the orchestration layer for multi-channel product launches.
4
+ metadata:
5
+ origin: ECC
6
+ ---
7
+
8
+ # Marketing Campaign
9
+
10
+ Plan and execute launch campaigns that convert — not just campaigns that ship.
11
+
12
+ ## When to Activate
13
+
14
+ - planning a product or feature launch
15
+ - building a full content suite from a single product brief
16
+ - defining positioning and campaign angle before writing any copy
17
+ - orchestrating multiple content types across channels
18
+ - reviewing copy for conversion quality and brand consistency
19
+
20
+ ## Non-Negotiables
21
+
22
+ 1. Define positioning before writing any copy. All copy flows from the angle.
23
+ 2. Research the audience before assuming you know their language or fears.
24
+ 3. Each deliverable must serve one clear purpose in the campaign arc.
25
+ 4. Specificity beats adjectives in every format and on every channel.
26
+ 5. The same voice must run across every channel and every piece.
27
+ 6. No copy ships without passing the quality gate.
28
+
29
+ ## Campaign Workflow
30
+
31
+ ### Phase 1: Research
32
+
33
+ Use `market-research` to:
34
+ - profile the target audience (jobs-to-be-done, fears, language, alternatives they use)
35
+ - map 3+ direct or adjacent competitors (positioning, gaps, messaging weaknesses)
36
+ - identify 1–3 audience insights the campaign angle will exploit
37
+
38
+ Deliverable: a short research brief (audience profile + competitive summary + key insights).
39
+
40
+ ### Phase 2: Positioning
41
+
42
+ Produce:
43
+ - core benefit statement (one sentence, no feature list, no jargon)
44
+ - positioning formula: "[Product] helps [audience] [achieve outcome] by [mechanism]"
45
+ - campaign angle: the specific tension, insight, or moment the whole campaign lives in
46
+ - tone profile: lock before writing (delegate to `brand-voice` for durable, session-reusable voice capture)
47
+
48
+ Do not write any copy until positioning and angle are approved.
49
+
50
+ ### Phase 3: Content Production
51
+
52
+ Produce in this order — each layer informs the next:
53
+
54
+ 1. **Landing page copy** (all sections: hero, problem, solution, features, how it works, proof, CTA)
55
+ 2. **Email sequence** (each email has one purpose; follow the arc: problem → education → agitation → solution → proof → urgency → final CTA)
56
+ 3. **Social posts** (platform-native via `content-engine`; LinkedIn and X are different formats, not the same copy resized)
57
+ 4. **Short-form video scripts** (timestamp-blocked; written for screen and ear, not the page)
58
+ 5. **Ad copy variants** (3–4 variants testing different angles or audience segments)
59
+ 6. **Content calendar** (day-by-day schedule with channel, type, timing, and dependencies)
60
+
61
+ ### Phase 4: Review
62
+
63
+ Gate every deliverable:
64
+ - 5-second test on all hero / above-fold copy (clear who it's for, what it does, why act now)
65
+ - CTA audit (one per piece, specific, earned — not demanded)
66
+ - Tone consistency check across all channels
67
+ - Claim audit (every claim is specific and supportable)
68
+ - Cross-channel consistency (ad claims match landing page; email body matches subject)
69
+
70
+ ## Output Contract
71
+
72
+ A full campaign delivers:
73
+
74
+ 1. **Positioning brief** — angle, core benefit statement, tone profile
75
+ 2. **Landing page copy** — hero, problem, solution, features, how it works, proof, CTA
76
+ 3. **Email sequence** — subject + preview + body + CTA for each email, labelled by day and purpose
77
+ 4. **LinkedIn posts** — 3+ platform-native posts with distinct angles
78
+ 5. **X posts** — 5+ standalone posts + 1 thread
79
+ 6. **Short-form video scripts** — 2+ timestamp-blocked scripts with visual direction notes
80
+ 7. **Ad copy variants** — short headline / long headline / body per variant
81
+ 8. **Content calendar** — day-by-day schedule with channel, content type, timing, and dependencies
82
+ 9. **Copy review summary** — flagged issues and open questions before anything goes live
83
+
84
+ ## Quality Gate
85
+
86
+ Before delivering any piece:
87
+
88
+ - every deliverable sounds like the same author
89
+ - no hollow superlatives or filler adjectives remain
90
+ - every CTA is specific and earned (never "learn more" or "click here")
91
+ - no copy is duplicated verbatim across platforms
92
+ - hero copy passes the 5-second test
93
+ - email subjects match email body (no bait-and-switch)
94
+ - ad claims match landing page claims exactly
95
+ - no copy would work unchanged for any other product in the category
96
+
97
+ ## Hard Bans
98
+
99
+ Delete and rewrite any:
100
+
101
+ - "game-changing", "revolutionary", "world-class", "cutting-edge"
102
+ - "In today's competitive landscape"
103
+ - fake urgency not backed by a real deadline
104
+ - hollow social proof without specifics ("thousands trust us")
105
+ - generic CTAs ("learn more", "find out more", "click here")
106
+ - copy that could be unplugged and dropped into a competitor's campaign unchanged
107
+
108
+ ## Related Skills
109
+
110
+ - `brand-voice` — source-derived voice capture (run before content production)
111
+ - `content-engine` — platform-native content production
112
+ - `crosspost` — multi-platform distribution
113
+ - `market-research` — audience and competitive intelligence
114
+ - `seo` — on-page optimisation for landing page copy