@caoscompanybr/merlin 3.5.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 (762) hide show
  1. package/.claude/CLAUDE.md +216 -0
  2. package/.claude/hooks/README-license-gate.md +45 -0
  3. package/.claude/hooks/auto-summarize.js +47 -0
  4. package/.claude/hooks/context-monitor.js +60 -0
  5. package/.claude/hooks/doc-sync.js +111 -0
  6. package/.claude/hooks/license-gate.cjs +59 -0
  7. package/.claude/hooks/session-reset.js +27 -0
  8. package/.claude/hooks/thoughts-indexer.js +80 -0
  9. package/.claude/rules/merlin-constitution.md +27 -0
  10. package/.merlin-core/commands/README.md +19 -0
  11. package/.merlin-core/commands/founder-mode.md +51 -0
  12. package/.merlin-core/commands/git/commit.md +35 -0
  13. package/.merlin-core/commands/git/describe-pr.md +43 -0
  14. package/.merlin-core/commands/git/safe-commit.md +182 -0
  15. package/.merlin-core/commands/implementation/implement-plan.md +129 -0
  16. package/.merlin-core/commands/implementation/oneshot.md +63 -0
  17. package/.merlin-core/commands/implementation/tdd.md +152 -0
  18. package/.merlin-core/commands/planning/create-plan.md +184 -0
  19. package/.merlin-core/commands/planning/iterate-plan.md +45 -0
  20. package/.merlin-core/commands/planning/validate-plan.md +48 -0
  21. package/.merlin-core/commands/research/analyze-issue.md +155 -0
  22. package/.merlin-core/commands/research/research-codebase.md +157 -0
  23. package/.merlin-core/commands/review/adversarial-review.md +112 -0
  24. package/.merlin-core/commands/review/check.md +91 -0
  25. package/.merlin-core/commands/review/debug.md +135 -0
  26. package/.merlin-core/commands/review/doubts.md +178 -0
  27. package/.merlin-core/commands/review/engineering-audit.md +87 -0
  28. package/.merlin-core/commands/review/local-review.md +48 -0
  29. package/.merlin-core/commands/review/verify-goals.md +83 -0
  30. package/.merlin-core/commands/session/capture-feedback.md +74 -0
  31. package/.merlin-core/commands/session/capture-learning.md +155 -0
  32. package/.merlin-core/commands/session/check-objectives.md +85 -0
  33. package/.merlin-core/commands/session/conclude.md +125 -0
  34. package/.merlin-core/commands/session/create-handoff.md +88 -0
  35. package/.merlin-core/commands/session/create-objective.md +111 -0
  36. package/.merlin-core/commands/session/create-process.md +105 -0
  37. package/.merlin-core/commands/session/create-reminder.md +86 -0
  38. package/.merlin-core/commands/session/fast-start.md +261 -0
  39. package/.merlin-core/commands/session/recall-learnings.md +79 -0
  40. package/.merlin-core/commands/session/recall-processes.md +74 -0
  41. package/.merlin-core/commands/session/resume-handoff.md +51 -0
  42. package/.merlin-core/commands/session/run-process.md +53 -0
  43. package/.merlin-core/commands/special/beauty.md +89 -0
  44. package/.merlin-core/commands/special/common-ground.md +114 -0
  45. package/.merlin-core/commands/special/elicit.md +98 -0
  46. package/.merlin-core/commands/special/party.md +66 -0
  47. package/.merlin-core/commands/special/scrape.md +78 -0
  48. package/.merlin-core/commands/special/skill-audit.md +128 -0
  49. package/.merlin-core/commands/special/start-here.md +132 -0
  50. package/.merlin-core/constitution.md +442 -0
  51. package/.merlin-core/core/README.md +19 -0
  52. package/.merlin-core/core/alkimia/README.md +20 -0
  53. package/.merlin-core/core/alkimia/context/context-tracker.js +209 -0
  54. package/.merlin-core/core/alkimia/domain/domain-loader.js +215 -0
  55. package/.merlin-core/core/alkimia/engine.js +284 -0
  56. package/.merlin-core/core/alkimia/layers/l0-constitution.js +47 -0
  57. package/.merlin-core/core/alkimia/layers/l1-global.js +58 -0
  58. package/.merlin-core/core/alkimia/layers/l2-agent.js +58 -0
  59. package/.merlin-core/core/alkimia/layers/l3-workflow.js +54 -0
  60. package/.merlin-core/core/alkimia/layers/l4-task.js +45 -0
  61. package/.merlin-core/core/alkimia/layers/l5-squad.js +161 -0
  62. package/.merlin-core/core/alkimia/layers/l6-skill.js +520 -0
  63. package/.merlin-core/core/alkimia/layers/l7-star-command.js +87 -0
  64. package/.merlin-core/core/alkimia/layers/layer-processor.js +78 -0
  65. package/.merlin-core/core/alkimia/mandate.js +46 -0
  66. package/.merlin-core/core/alkimia/memory/doc-sync.js +201 -0
  67. package/.merlin-core/core/alkimia/memory/document-sharder.js +272 -0
  68. package/.merlin-core/core/alkimia/memory/git-history-retriever.js +225 -0
  69. package/.merlin-core/core/alkimia/memory/memory-bridge.js +97 -0
  70. package/.merlin-core/core/alkimia/memory/session-analyzer.js +400 -0
  71. package/.merlin-core/core/alkimia/memory/thoughts-indexer.js +477 -0
  72. package/.merlin-core/core/alkimia/memory/thoughts-provider.js +603 -0
  73. package/.merlin-core/core/alkimia/output/formatter.js +464 -0
  74. package/.merlin-core/core/alkimia/security/content-sanitizer.js +140 -0
  75. package/.merlin-core/core/alkimia/skill-importer.js +440 -0
  76. package/.merlin-core/core/alkimia/squads/default/.synapse/manifest +17 -0
  77. package/.merlin-core/core/alkimia/utils/frontmatter.js +321 -0
  78. package/.merlin-core/core/alkimia/utils/tokens.js +24 -0
  79. package/.merlin-core/core/approval/README.md +16 -0
  80. package/.merlin-core/core/approval/approval-engine.js +380 -0
  81. package/.merlin-core/core/approval/channels/cli-channel.js +50 -0
  82. package/.merlin-core/core/config/README.md +17 -0
  83. package/.merlin-core/core/config/config-cache.js +182 -0
  84. package/.merlin-core/core/config/config-loader.js +279 -0
  85. package/.merlin-core/core/config/config-resolver.js +411 -0
  86. package/.merlin-core/core/config/env-interpolator.js +123 -0
  87. package/.merlin-core/core/config/merge-utils.js +102 -0
  88. package/.merlin-core/core/config/schemas/core-config.schema.json +41 -0
  89. package/.merlin-core/core/config/schemas/framework-config.schema.json +24 -0
  90. package/.merlin-core/core/config/schemas/local-config.schema.json +23 -0
  91. package/.merlin-core/core/config/schemas/project-config.schema.json +189 -0
  92. package/.merlin-core/core/docs-consistency.js +140 -0
  93. package/.merlin-core/core/events/event-bus.js +344 -0
  94. package/.merlin-core/core/events/hook-handler.js +419 -0
  95. package/.merlin-core/core/execution/README.md +17 -0
  96. package/.merlin-core/core/execution/attempt-journal.js +380 -0
  97. package/.merlin-core/core/execution/autonomous-build-loop.js +637 -0
  98. package/.merlin-core/core/execution/build-orchestrator.js +296 -0
  99. package/.merlin-core/core/execution/build-state-manager.js +196 -0
  100. package/.merlin-core/core/execution/context-injector.js +204 -0
  101. package/.merlin-core/core/execution/cron-engine.js +247 -0
  102. package/.merlin-core/core/execution/cron-expression.js +148 -0
  103. package/.merlin-core/core/execution/env-preflight.js +423 -0
  104. package/.merlin-core/core/execution/guardrail-engine.js +745 -0
  105. package/.merlin-core/core/execution/heartbeat-engine.js +198 -0
  106. package/.merlin-core/core/execution/model-router.js +282 -0
  107. package/.merlin-core/core/execution/parallel-executor.js +378 -0
  108. package/.merlin-core/core/execution/parallel-monitor.js +201 -0
  109. package/.merlin-core/core/execution/party-session.js +311 -0
  110. package/.merlin-core/core/execution/rate-limit-manager.js +152 -0
  111. package/.merlin-core/core/execution/result-aggregator.js +215 -0
  112. package/.merlin-core/core/execution/semantic-merge-engine.js +320 -0
  113. package/.merlin-core/core/execution/subagent-dispatcher.js +721 -0
  114. package/.merlin-core/core/execution/success-verifier.js +227 -0
  115. package/.merlin-core/core/execution/task-metadata.js +105 -0
  116. package/.merlin-core/core/execution/team-executor.js +195 -0
  117. package/.merlin-core/core/execution/two-tier-editor.js +290 -0
  118. package/.merlin-core/core/execution/version-snapshot.js +294 -0
  119. package/.merlin-core/core/execution/wave-executor.js +224 -0
  120. package/.merlin-core/core/health-check/health-engine.js +415 -0
  121. package/.merlin-core/core/licensing/activation.js +281 -0
  122. package/.merlin-core/core/licensing/crc.js +103 -0
  123. package/.merlin-core/core/licensing/entitlement.js +99 -0
  124. package/.merlin-core/core/licensing/fingerprint.js +104 -0
  125. package/.merlin-core/core/licensing/gate.js +133 -0
  126. package/.merlin-core/core/licensing/hmac.js +42 -0
  127. package/.merlin-core/core/licensing/key.js +144 -0
  128. package/.merlin-core/core/licensing/license.js +212 -0
  129. package/.merlin-core/core/mcp/README.md +16 -0
  130. package/.merlin-core/core/mcp/browser-capability.js +191 -0
  131. package/.merlin-core/core/mcp/capability-mapper.js +92 -0
  132. package/.merlin-core/core/mcp/mcp-connector.js +278 -0
  133. package/.merlin-core/core/mcp/mcp-registry.js +101 -0
  134. package/.merlin-core/core/orchestration/README.md +17 -0
  135. package/.merlin-core/core/orchestration/agent-invoker.js +456 -0
  136. package/.merlin-core/core/orchestration/condition-evaluator.js +250 -0
  137. package/.merlin-core/core/orchestration/decision-tree.js +192 -0
  138. package/.merlin-core/core/orchestration/executor-assignment.js +372 -0
  139. package/.merlin-core/core/orchestration/gate-evaluator.js +653 -0
  140. package/.merlin-core/core/orchestration/intent-classifier.js +579 -0
  141. package/.merlin-core/core/orchestration/lock-manager.js +308 -0
  142. package/.merlin-core/core/orchestration/master-orchestrator.js +363 -0
  143. package/.merlin-core/core/orchestration/phase-tool-masks.js +194 -0
  144. package/.merlin-core/core/orchestration/recovery-handler.js +402 -0
  145. package/.merlin-core/core/orchestration/reflect-checkpoint.js +431 -0
  146. package/.merlin-core/core/orchestration/session-state.js +430 -0
  147. package/.merlin-core/core/orchestration/skill-dispatcher.js +255 -0
  148. package/.merlin-core/core/orchestration/step-loader.js +226 -0
  149. package/.merlin-core/core/orchestration/workflow-executor.js +864 -0
  150. package/.merlin-core/core/process/executor.js +231 -0
  151. package/.merlin-core/core/process/process-file.js +50 -0
  152. package/.merlin-core/core/process/secret-scan.js +86 -0
  153. package/.merlin-core/core/process/signature.js +77 -0
  154. package/.merlin-core/core/quality-gates/README.md +17 -0
  155. package/.merlin-core/core/quality-gates/layer1-precommit.js +110 -0
  156. package/.merlin-core/core/quality-gates/layer2-pr-automation.js +116 -0
  157. package/.merlin-core/core/quality-gates/layer3-human-review.js +133 -0
  158. package/.merlin-core/core/registry/service-registry.js +140 -0
  159. package/.merlin-core/core-config.yaml +159 -0
  160. package/.merlin-core/development/README.md +17 -0
  161. package/.merlin-core/development/agents/README.md +16 -0
  162. package/.merlin-core/development/agents/analyst.md +214 -0
  163. package/.merlin-core/development/agents/architect.md +166 -0
  164. package/.merlin-core/development/agents/data-engineer.md +154 -0
  165. package/.merlin-core/development/agents/dev.md +203 -0
  166. package/.merlin-core/development/agents/devops.md +236 -0
  167. package/.merlin-core/development/agents/grimorio.md +125 -0
  168. package/.merlin-core/development/agents/merlin-master.md +173 -0
  169. package/.merlin-core/development/agents/meta.md +190 -0
  170. package/.merlin-core/development/agents/pm.md +145 -0
  171. package/.merlin-core/development/agents/po.md +172 -0
  172. package/.merlin-core/development/agents/qa.md +275 -0
  173. package/.merlin-core/development/agents/researcher.md +218 -0
  174. package/.merlin-core/development/agents/scout.md +179 -0
  175. package/.merlin-core/development/agents/sm.md +148 -0
  176. package/.merlin-core/development/agents/ux.md +169 -0
  177. package/.merlin-core/development/agents/web-researcher.md +203 -0
  178. package/.merlin-core/development/checklists/adversarial-review-checklist.md +70 -0
  179. package/.merlin-core/development/checklists/operations-ci-checklist.md +40 -0
  180. package/.merlin-core/development/checklists/operations-deploy-checklist.md +54 -0
  181. package/.merlin-core/development/checklists/operations-publish-checklist.md +47 -0
  182. package/.merlin-core/development/checklists/source-verification-checklist.md +38 -0
  183. package/.merlin-core/development/templates/HEARTBEAT-template.md +46 -0
  184. package/.merlin-core/development/templates/ears-requirements-template.md +93 -0
  185. package/.merlin-core/development/templates/handoff-template.md +50 -0
  186. package/.merlin-core/development/templates/prd-template.md +62 -0
  187. package/.merlin-core/development/templates/research-template.md +53 -0
  188. package/.merlin-core/development/templates/spec-template.md +84 -0
  189. package/.merlin-core/development/workflows/brownfield-discovery.yaml +166 -0
  190. package/.merlin-core/development/workflows/brownfield-service.yaml +52 -0
  191. package/.merlin-core/development/workflows/development-cycle.yaml +57 -0
  192. package/.merlin-core/development/workflows/epic-orchestration.yaml +47 -0
  193. package/.merlin-core/development/workflows/folloni-funnel.yaml +177 -0
  194. package/.merlin-core/development/workflows/greenfield-fullstack.yaml +167 -0
  195. package/.merlin-core/development/workflows/greenfield-service.yaml +56 -0
  196. package/.merlin-core/development/workflows/qa-loop.yaml +115 -0
  197. package/.merlin-core/development/workflows/spec-pipeline.yaml +185 -0
  198. package/.merlin-core/development/workflows/steps/folloni-01-research.yaml +35 -0
  199. package/.merlin-core/development/workflows/steps/folloni-02-architecture.yaml +41 -0
  200. package/.merlin-core/development/workflows/steps/folloni-03-implementation.yaml +52 -0
  201. package/.merlin-core/development/workflows/story-development-cycle.yaml +67 -0
  202. package/.merlin-core/docs/GUIDE.md +413 -0
  203. package/.merlin-core/docs/merlin-commands-guide-pt.md +183 -0
  204. package/.merlin-core/framework-config.yaml +148 -0
  205. package/.merlin-core/hooks/README.md +16 -0
  206. package/.merlin-core/hooks/precompact-memory-flush.js +69 -0
  207. package/.merlin-core/hooks/pretooluse-remote-approve.js +113 -0
  208. package/.merlin-core/hooks/spikes/spike-b-hook.js +70 -0
  209. package/.merlin-core/hooks/spikes/spike-b-stub.js +70 -0
  210. package/.merlin-core/index.js +91 -0
  211. package/.merlin-core/local-config.yaml.template +31 -0
  212. package/.merlin-core/mcp-servers/lsp-bridge/index.js +397 -0
  213. package/.merlin-core/modules/scraping/module.json +23 -0
  214. package/.merlin-core/project-config.yaml +89 -0
  215. package/.merlin-core/schemas/README.md +18 -0
  216. package/.merlin-core/schemas/agent-hook-schema.json +152 -0
  217. package/.merlin-core/schemas/agent-schema.json +31 -0
  218. package/.merlin-core/schemas/command-schema.json +18 -0
  219. package/.merlin-core/schemas/feedback-schema.json +36 -0
  220. package/.merlin-core/schemas/handoff-schema.json +19 -0
  221. package/.merlin-core/schemas/learning-schema.json +51 -0
  222. package/.merlin-core/schemas/module.schema.json +124 -0
  223. package/.merlin-core/schemas/must-haves-schema.json +95 -0
  224. package/.merlin-core/schemas/objective-schema.json +23 -0
  225. package/.merlin-core/schemas/plan-schema.json +20 -0
  226. package/.merlin-core/schemas/process-schema.json +82 -0
  227. package/.merlin-core/schemas/reminder-schema.json +20 -0
  228. package/.merlin-core/schemas/skill-eval-schema.json +92 -0
  229. package/.merlin-core/schemas/skill-schema.json +77 -0
  230. package/.merlin-core/schemas/workflow-schema.json +38 -0
  231. package/.merlin-core/skills/README.md +16 -0
  232. package/.merlin-core/skills/domain/azure-cloud/SKILL.md +211 -0
  233. package/.merlin-core/skills/domain/azure-cloud/references/appinsights-instrumentation.md +63 -0
  234. package/.merlin-core/skills/domain/azure-cloud/references/azure-compliance.md +99 -0
  235. package/.merlin-core/skills/domain/azure-cloud/references/azure-cost-optimization.md +419 -0
  236. package/.merlin-core/skills/domain/azure-cloud/references/azure-deploy.md +82 -0
  237. package/.merlin-core/skills/domain/azure-cloud/references/azure-diagnostics.md +130 -0
  238. package/.merlin-core/skills/domain/azure-cloud/references/azure-prepare.md +134 -0
  239. package/.merlin-core/skills/domain/azure-cloud/references/azure-quotas.md +290 -0
  240. package/.merlin-core/skills/domain/azure-cloud/references/azure-rbac.md +11 -0
  241. package/.merlin-core/skills/domain/azure-cloud/references/azure-resource-lookup.md +97 -0
  242. package/.merlin-core/skills/domain/azure-cloud/references/azure-resource-visualizer.md +178 -0
  243. package/.merlin-core/skills/domain/azure-cloud/references/azure-storage.md +91 -0
  244. package/.merlin-core/skills/domain/azure-cloud/references/azure-validate.md +58 -0
  245. package/.merlin-core/skills/domain/azure-cloud/references/entra-app-registration.md +192 -0
  246. package/.merlin-core/skills/domain/browser-automation/SKILL.md +311 -0
  247. package/.merlin-core/skills/domain/browser-automation/references/agent-browser-skill.md +632 -0
  248. package/.merlin-core/skills/domain/browser-automation/references/authentication.md +308 -0
  249. package/.merlin-core/skills/domain/browser-automation/references/commands.md +266 -0
  250. package/.merlin-core/skills/domain/browser-automation/references/profiling.md +120 -0
  251. package/.merlin-core/skills/domain/browser-automation/references/proxy-support.md +194 -0
  252. package/.merlin-core/skills/domain/browser-automation/references/session-management.md +194 -0
  253. package/.merlin-core/skills/domain/browser-automation/references/snapshot-refs.md +196 -0
  254. package/.merlin-core/skills/domain/browser-automation/references/video-recording.md +173 -0
  255. package/.merlin-core/skills/domain/browser-automation/templates/authenticated-session.sh +105 -0
  256. package/.merlin-core/skills/domain/browser-automation/templates/capture-workflow.sh +69 -0
  257. package/.merlin-core/skills/domain/browser-automation/templates/form-automation.sh +62 -0
  258. package/.merlin-core/skills/domain/digital-marketing/SKILL.md +292 -0
  259. package/.merlin-core/skills/domain/digital-marketing/references/content-strategy.md +320 -0
  260. package/.merlin-core/skills/domain/digital-marketing/references/copy-formats.md +298 -0
  261. package/.merlin-core/skills/domain/digital-marketing/references/copy-methodology.md +180 -0
  262. package/.merlin-core/skills/domain/digital-marketing/references/email-sequences.md +135 -0
  263. package/.merlin-core/skills/domain/digital-marketing/references/launch-strategy.md +213 -0
  264. package/.merlin-core/skills/domain/digital-marketing/references/pricing-strategy.md +160 -0
  265. package/.merlin-core/skills/domain/digital-marketing/references/programmatic-seo.md +237 -0
  266. package/.merlin-core/skills/domain/digital-marketing/references/revops-lifecycle.md +170 -0
  267. package/.merlin-core/skills/domain/digital-marketing/references/revops-operations.md +167 -0
  268. package/.merlin-core/skills/domain/digital-marketing/references/schema-markup.md +190 -0
  269. package/.merlin-core/skills/domain/digital-marketing/references/strategy-frameworks.md +324 -0
  270. package/.merlin-core/skills/domain/digital-marketing/references/traffic-management.md +350 -0
  271. package/.merlin-core/skills/domain/expo-native-ui/SKILL.md +348 -0
  272. package/.merlin-core/skills/domain/expo-native-ui/references/animations.md +220 -0
  273. package/.merlin-core/skills/domain/expo-native-ui/references/api-routes.md +361 -0
  274. package/.merlin-core/skills/domain/expo-native-ui/references/cicd-workflows.md +84 -0
  275. package/.merlin-core/skills/domain/expo-native-ui/references/controls.md +266 -0
  276. package/.merlin-core/skills/domain/expo-native-ui/references/data-fetching.md +553 -0
  277. package/.merlin-core/skills/domain/expo-native-ui/references/deployment-stores.md +1353 -0
  278. package/.merlin-core/skills/domain/expo-native-ui/references/deployment.md +183 -0
  279. package/.merlin-core/skills/domain/expo-native-ui/references/dev-client.md +166 -0
  280. package/.merlin-core/skills/domain/expo-native-ui/references/dom-components.md +410 -0
  281. package/.merlin-core/skills/domain/expo-native-ui/references/form-sheet.md +253 -0
  282. package/.merlin-core/skills/domain/expo-native-ui/references/gradients.md +117 -0
  283. package/.merlin-core/skills/domain/expo-native-ui/references/icons.md +218 -0
  284. package/.merlin-core/skills/domain/expo-native-ui/references/media.md +245 -0
  285. package/.merlin-core/skills/domain/expo-native-ui/references/platform-native.md +75 -0
  286. package/.merlin-core/skills/domain/expo-native-ui/references/route-structure.md +229 -0
  287. package/.merlin-core/skills/domain/expo-native-ui/references/search.md +249 -0
  288. package/.merlin-core/skills/domain/expo-native-ui/references/storage.md +121 -0
  289. package/.merlin-core/skills/domain/expo-native-ui/references/tabs.md +433 -0
  290. package/.merlin-core/skills/domain/expo-native-ui/references/tailwind-native.md +473 -0
  291. package/.merlin-core/skills/domain/expo-native-ui/references/toolbar-and-headers.md +284 -0
  292. package/.merlin-core/skills/domain/expo-native-ui/references/upgrading-guides.md +674 -0
  293. package/.merlin-core/skills/domain/expo-native-ui/references/upgrading.md +127 -0
  294. package/.merlin-core/skills/domain/expo-native-ui/references/visual-effects.md +199 -0
  295. package/.merlin-core/skills/domain/expo-native-ui/references/webgpu-three.md +605 -0
  296. package/.merlin-core/skills/domain/expo-native-ui/references/zoom-transitions.md +161 -0
  297. package/.merlin-core/skills/domain/marketing-ops/SKILL.md +117 -0
  298. package/.merlin-core/skills/domain/marketing-ops/references/_index.md +78 -0
  299. package/.merlin-core/skills/domain/marketing-ops/references/acquire/ad-creative/references/generative-tools.md +19 -0
  300. package/.merlin-core/skills/domain/marketing-ops/references/acquire/ad-creative/references/platform-specs.md +19 -0
  301. package/.merlin-core/skills/domain/marketing-ops/references/acquire/ad-creative.md +251 -0
  302. package/.merlin-core/skills/domain/marketing-ops/references/acquire/ads/references/ad-copy-templates.md +19 -0
  303. package/.merlin-core/skills/domain/marketing-ops/references/acquire/ads/references/audience-targeting.md +19 -0
  304. package/.merlin-core/skills/domain/marketing-ops/references/acquire/ads/references/conversion-tracking.md +19 -0
  305. package/.merlin-core/skills/domain/marketing-ops/references/acquire/ads/references/platform-setup-checklists.md +19 -0
  306. package/.merlin-core/skills/domain/marketing-ops/references/acquire/ads.md +322 -0
  307. package/.merlin-core/skills/domain/marketing-ops/references/acquire/ai-seo/references/content-patterns.md +19 -0
  308. package/.merlin-core/skills/domain/marketing-ops/references/acquire/ai-seo/references/content-types.md +19 -0
  309. package/.merlin-core/skills/domain/marketing-ops/references/acquire/ai-seo/references/platform-ranking-factors.md +19 -0
  310. package/.merlin-core/skills/domain/marketing-ops/references/acquire/ai-seo.md +388 -0
  311. package/.merlin-core/skills/domain/marketing-ops/references/acquire/aso/references/apple-specs.md +19 -0
  312. package/.merlin-core/skills/domain/marketing-ops/references/acquire/aso/references/benchmarks.md +19 -0
  313. package/.merlin-core/skills/domain/marketing-ops/references/acquire/aso/references/google-play-specs.md +19 -0
  314. package/.merlin-core/skills/domain/marketing-ops/references/acquire/aso/references/report-template.md +19 -0
  315. package/.merlin-core/skills/domain/marketing-ops/references/acquire/aso/references/scoring-criteria.md +19 -0
  316. package/.merlin-core/skills/domain/marketing-ops/references/acquire/aso.md +316 -0
  317. package/.merlin-core/skills/domain/marketing-ops/references/acquire/co-marketing.md +305 -0
  318. package/.merlin-core/skills/domain/marketing-ops/references/acquire/community-marketing.md +169 -0
  319. package/.merlin-core/skills/domain/marketing-ops/references/acquire/competitor-profiling/references/templates.md +19 -0
  320. package/.merlin-core/skills/domain/marketing-ops/references/acquire/competitor-profiling/references/tool-reference.md +19 -0
  321. package/.merlin-core/skills/domain/marketing-ops/references/acquire/competitor-profiling.md +442 -0
  322. package/.merlin-core/skills/domain/marketing-ops/references/acquire/competitors/references/content-architecture.md +19 -0
  323. package/.merlin-core/skills/domain/marketing-ops/references/acquire/competitors/references/templates.md +19 -0
  324. package/.merlin-core/skills/domain/marketing-ops/references/acquire/competitors.md +281 -0
  325. package/.merlin-core/skills/domain/marketing-ops/references/acquire/content-strategy.md +16 -0
  326. package/.merlin-core/skills/domain/marketing-ops/references/acquire/directory-submissions/references/directory-list.md +19 -0
  327. package/.merlin-core/skills/domain/marketing-ops/references/acquire/directory-submissions/references/positioning-variations.md +19 -0
  328. package/.merlin-core/skills/domain/marketing-ops/references/acquire/directory-submissions/references/submission-tracker-template.md +19 -0
  329. package/.merlin-core/skills/domain/marketing-ops/references/acquire/directory-submissions.md +396 -0
  330. package/.merlin-core/skills/domain/marketing-ops/references/acquire/free-tools/references/tool-types.md +19 -0
  331. package/.merlin-core/skills/domain/marketing-ops/references/acquire/free-tools.md +196 -0
  332. package/.merlin-core/skills/domain/marketing-ops/references/acquire/image/references/ai-image-prompting.md +19 -0
  333. package/.merlin-core/skills/domain/marketing-ops/references/acquire/image.md +352 -0
  334. package/.merlin-core/skills/domain/marketing-ops/references/acquire/launch.md +18 -0
  335. package/.merlin-core/skills/domain/marketing-ops/references/acquire/lead-magnets/references/benchmarks.md +19 -0
  336. package/.merlin-core/skills/domain/marketing-ops/references/acquire/lead-magnets/references/format-guide.md +19 -0
  337. package/.merlin-core/skills/domain/marketing-ops/references/acquire/lead-magnets.md +333 -0
  338. package/.merlin-core/skills/domain/marketing-ops/references/acquire/programmatic-seo.md +16 -0
  339. package/.merlin-core/skills/domain/marketing-ops/references/acquire/schema.md +16 -0
  340. package/.merlin-core/skills/domain/marketing-ops/references/acquire/seo-audit/references/ai-writing-detection.md +19 -0
  341. package/.merlin-core/skills/domain/marketing-ops/references/acquire/seo-audit/references/international-seo.md +19 -0
  342. package/.merlin-core/skills/domain/marketing-ops/references/acquire/seo-audit.md +546 -0
  343. package/.merlin-core/skills/domain/marketing-ops/references/acquire/site-architecture/references/mermaid-templates.md +19 -0
  344. package/.merlin-core/skills/domain/marketing-ops/references/acquire/site-architecture/references/navigation-patterns.md +19 -0
  345. package/.merlin-core/skills/domain/marketing-ops/references/acquire/site-architecture/references/site-type-templates.md +19 -0
  346. package/.merlin-core/skills/domain/marketing-ops/references/acquire/site-architecture.md +371 -0
  347. package/.merlin-core/skills/domain/marketing-ops/references/acquire/social/references/platform-limits.md +19 -0
  348. package/.merlin-core/skills/domain/marketing-ops/references/acquire/social/references/platforms.md +19 -0
  349. package/.merlin-core/skills/domain/marketing-ops/references/acquire/social/references/post-templates.md +19 -0
  350. package/.merlin-core/skills/domain/marketing-ops/references/acquire/social/references/reverse-engineering.md +19 -0
  351. package/.merlin-core/skills/domain/marketing-ops/references/acquire/social/references/short-form-video.md +19 -0
  352. package/.merlin-core/skills/domain/marketing-ops/references/acquire/social.md +431 -0
  353. package/.merlin-core/skills/domain/marketing-ops/references/acquire/video/references/ai-video-prompting.md +19 -0
  354. package/.merlin-core/skills/domain/marketing-ops/references/acquire/video.md +353 -0
  355. package/.merlin-core/skills/domain/marketing-ops/references/activate/ab-testing/references/sample-size-guide.md +19 -0
  356. package/.merlin-core/skills/domain/marketing-ops/references/activate/ab-testing/references/test-templates.md +19 -0
  357. package/.merlin-core/skills/domain/marketing-ops/references/activate/ab-testing.md +379 -0
  358. package/.merlin-core/skills/domain/marketing-ops/references/activate/analytics/references/event-library.md +19 -0
  359. package/.merlin-core/skills/domain/marketing-ops/references/activate/analytics/references/ga4-implementation.md +19 -0
  360. package/.merlin-core/skills/domain/marketing-ops/references/activate/analytics/references/gtm-implementation.md +19 -0
  361. package/.merlin-core/skills/domain/marketing-ops/references/activate/analytics.md +323 -0
  362. package/.merlin-core/skills/domain/marketing-ops/references/activate/copy-editing.md +18 -0
  363. package/.merlin-core/skills/domain/marketing-ops/references/activate/copywriting.md +18 -0
  364. package/.merlin-core/skills/domain/marketing-ops/references/activate/cro/references/experiments.md +19 -0
  365. package/.merlin-core/skills/domain/marketing-ops/references/activate/cro/references/form.md +19 -0
  366. package/.merlin-core/skills/domain/marketing-ops/references/activate/cro.md +211 -0
  367. package/.merlin-core/skills/domain/marketing-ops/references/activate/emails.md +18 -0
  368. package/.merlin-core/skills/domain/marketing-ops/references/activate/paywalls/references/experiments.md +19 -0
  369. package/.merlin-core/skills/domain/marketing-ops/references/activate/paywalls.md +255 -0
  370. package/.merlin-core/skills/domain/marketing-ops/references/activate/popups.md +518 -0
  371. package/.merlin-core/skills/domain/marketing-ops/references/activate/pricing.md +18 -0
  372. package/.merlin-core/skills/domain/marketing-ops/references/activate/sales-enablement/references/deck-frameworks.md +19 -0
  373. package/.merlin-core/skills/domain/marketing-ops/references/activate/sales-enablement/references/demo-scripts.md +19 -0
  374. package/.merlin-core/skills/domain/marketing-ops/references/activate/sales-enablement/references/objection-library.md +19 -0
  375. package/.merlin-core/skills/domain/marketing-ops/references/activate/sales-enablement/references/one-pager-templates.md +19 -0
  376. package/.merlin-core/skills/domain/marketing-ops/references/activate/sales-enablement.md +371 -0
  377. package/.merlin-core/skills/domain/marketing-ops/references/activate/signup.md +406 -0
  378. package/.merlin-core/skills/domain/marketing-ops/references/expand/co-marketing.md +18 -0
  379. package/.merlin-core/skills/domain/marketing-ops/references/expand/community-marketing.md +18 -0
  380. package/.merlin-core/skills/domain/marketing-ops/references/expand/referrals/references/affiliate-programs.md +19 -0
  381. package/.merlin-core/skills/domain/marketing-ops/references/expand/referrals/references/program-examples.md +19 -0
  382. package/.merlin-core/skills/domain/marketing-ops/references/expand/referrals.md +278 -0
  383. package/.merlin-core/skills/domain/marketing-ops/references/foundation/customer-research/references/source-guides.md +425 -0
  384. package/.merlin-core/skills/domain/marketing-ops/references/foundation/customer-research.md +284 -0
  385. package/.merlin-core/skills/domain/marketing-ops/references/foundation/marketing-ideas/references/ideas-by-category.md +216 -0
  386. package/.merlin-core/skills/domain/marketing-ops/references/foundation/marketing-ideas.md +188 -0
  387. package/.merlin-core/skills/domain/marketing-ops/references/foundation/marketing-psychology.md +532 -0
  388. package/.merlin-core/skills/domain/marketing-ops/references/foundation/product-marketing.md +276 -0
  389. package/.merlin-core/skills/domain/marketing-ops/references/retain/churn-prevention/references/cancel-flow-patterns.md +19 -0
  390. package/.merlin-core/skills/domain/marketing-ops/references/retain/churn-prevention/references/dunning-playbook.md +19 -0
  391. package/.merlin-core/skills/domain/marketing-ops/references/retain/churn-prevention.md +442 -0
  392. package/.merlin-core/skills/domain/marketing-ops/references/retain/onboarding/references/experiments.md +19 -0
  393. package/.merlin-core/skills/domain/marketing-ops/references/retain/onboarding.md +243 -0
  394. package/.merlin-core/skills/domain/marketing-ops/references/retain/revops-lifecycle.md +18 -0
  395. package/.merlin-core/skills/domain/marketing-ops/references/retain/revops-operations.md +18 -0
  396. package/.merlin-core/skills/domain/n8n-automation/SKILL.md +149 -0
  397. package/.merlin-core/skills/domain/n8n-automation/references/code-javascript.md +3744 -0
  398. package/.merlin-core/skills/domain/n8n-automation/references/code-python.md +3293 -0
  399. package/.merlin-core/skills/domain/n8n-automation/references/expression-syntax.md +1662 -0
  400. package/.merlin-core/skills/domain/n8n-automation/references/mcp-tools-expert.md +2111 -0
  401. package/.merlin-core/skills/domain/n8n-automation/references/node-configuration.md +2523 -0
  402. package/.merlin-core/skills/domain/n8n-automation/references/validation-expert.md +2491 -0
  403. package/.merlin-core/skills/domain/n8n-automation/references/workflow-patterns.md +4624 -0
  404. package/.merlin-core/skills/domain/ops-manual/SKILL.md +225 -0
  405. package/.merlin-core/skills/domain/ops-manual/references/elicitation-questions.md +141 -0
  406. package/.merlin-core/skills/domain/ops-manual/references/external-skills-registry.md +63 -0
  407. package/.merlin-core/skills/domain/ops-manual/references/operations-template.yaml +132 -0
  408. package/.merlin-core/skills/domain/remotion-best-practices/SKILL.md +99 -0
  409. package/.merlin-core/skills/domain/remotion-best-practices/rules/3d.md +86 -0
  410. package/.merlin-core/skills/domain/remotion-best-practices/rules/animations.md +27 -0
  411. package/.merlin-core/skills/domain/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
  412. package/.merlin-core/skills/domain/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
  413. package/.merlin-core/skills/domain/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +108 -0
  414. package/.merlin-core/skills/domain/remotion-best-practices/rules/assets.md +78 -0
  415. package/.merlin-core/skills/domain/remotion-best-practices/rules/audio.md +172 -0
  416. package/.merlin-core/skills/domain/remotion-best-practices/rules/calculate-metadata.md +131 -0
  417. package/.merlin-core/skills/domain/remotion-best-practices/rules/can-decode.md +75 -0
  418. package/.merlin-core/skills/domain/remotion-best-practices/rules/charts.md +68 -0
  419. package/.merlin-core/skills/domain/remotion-best-practices/rules/compositions.md +154 -0
  420. package/.merlin-core/skills/domain/remotion-best-practices/rules/display-captions.md +126 -0
  421. package/.merlin-core/skills/domain/remotion-best-practices/rules/extract-frames.md +229 -0
  422. package/.merlin-core/skills/domain/remotion-best-practices/rules/fonts.md +152 -0
  423. package/.merlin-core/skills/domain/remotion-best-practices/rules/get-audio-duration.md +58 -0
  424. package/.merlin-core/skills/domain/remotion-best-practices/rules/get-video-dimensions.md +68 -0
  425. package/.merlin-core/skills/domain/remotion-best-practices/rules/get-video-duration.md +58 -0
  426. package/.merlin-core/skills/domain/remotion-best-practices/rules/gifs.md +144 -0
  427. package/.merlin-core/skills/domain/remotion-best-practices/rules/images.md +134 -0
  428. package/.merlin-core/skills/domain/remotion-best-practices/rules/import-srt-captions.md +67 -0
  429. package/.merlin-core/skills/domain/remotion-best-practices/rules/lottie.md +70 -0
  430. package/.merlin-core/skills/domain/remotion-best-practices/rules/maps.md +414 -0
  431. package/.merlin-core/skills/domain/remotion-best-practices/rules/measuring-dom-nodes.md +34 -0
  432. package/.merlin-core/skills/domain/remotion-best-practices/rules/measuring-text.md +143 -0
  433. package/.merlin-core/skills/domain/remotion-best-practices/rules/parameters.md +109 -0
  434. package/.merlin-core/skills/domain/remotion-best-practices/rules/sequencing.md +118 -0
  435. package/.merlin-core/skills/domain/remotion-best-practices/rules/tailwind.md +11 -0
  436. package/.merlin-core/skills/domain/remotion-best-practices/rules/text-animations.md +20 -0
  437. package/.merlin-core/skills/domain/remotion-best-practices/rules/timing.md +179 -0
  438. package/.merlin-core/skills/domain/remotion-best-practices/rules/transcribe-captions.md +19 -0
  439. package/.merlin-core/skills/domain/remotion-best-practices/rules/transitions.md +137 -0
  440. package/.merlin-core/skills/domain/remotion-best-practices/rules/transparent-videos.md +106 -0
  441. package/.merlin-core/skills/domain/remotion-best-practices/rules/trimming.md +51 -0
  442. package/.merlin-core/skills/domain/remotion-best-practices/rules/videos.md +171 -0
  443. package/.merlin-core/skills/domain/resend-email/SKILL.md +377 -0
  444. package/.merlin-core/skills/general/adversarial-review/SKILL.md +144 -0
  445. package/.merlin-core/skills/general/api-design/SKILL.md +513 -0
  446. package/.merlin-core/skills/general/apify-scrape/SKILL.md +137 -0
  447. package/.merlin-core/skills/general/apify-scrape/scripts/apify-scrape.sh +68 -0
  448. package/.merlin-core/skills/general/backup/SKILL.md +87 -0
  449. package/.merlin-core/skills/general/blkskrn/SKILL.md +392 -0
  450. package/.merlin-core/skills/general/blkskrn/references/animation-patterns.md +521 -0
  451. package/.merlin-core/skills/general/blkskrn/references/design-system.md +637 -0
  452. package/.merlin-core/skills/general/blkskrn/references/html-templates.md +440 -0
  453. package/.merlin-core/skills/general/blkskrn/references/presenter-template.md +45 -0
  454. package/.merlin-core/skills/general/blkskrn/references/slide-types.md +424 -0
  455. package/.merlin-core/skills/general/blkskrn/scripts/canvas-manager.js +502 -0
  456. package/.merlin-core/skills/general/blkskrn/scripts/presenter.js +90 -0
  457. package/.merlin-core/skills/general/blkskrn/templates/presenter.html +273 -0
  458. package/.merlin-core/skills/general/blkskrn/templates/slide-base.html +277 -0
  459. package/.merlin-core/skills/general/blkskrn/templates/viewer.html +165 -0
  460. package/.merlin-core/skills/general/browser-takeover/SKILL.md +53 -0
  461. package/.merlin-core/skills/general/claude-api/SKILL.md +90 -0
  462. package/.merlin-core/skills/general/code-javascript/SKILL.md +268 -0
  463. package/.merlin-core/skills/general/code-python/SKILL.md +424 -0
  464. package/.merlin-core/skills/general/code-style/SKILL.md +97 -0
  465. package/.merlin-core/skills/general/code-typescript/SKILL.md +361 -0
  466. package/.merlin-core/skills/general/cold-email/SKILL.md +164 -0
  467. package/.merlin-core/skills/general/cold-email/references/benchmarks.md +18 -0
  468. package/.merlin-core/skills/general/cold-email/references/follow-up-sequences.md +18 -0
  469. package/.merlin-core/skills/general/cold-email/references/frameworks.md +18 -0
  470. package/.merlin-core/skills/general/cold-email/references/personalization.md +18 -0
  471. package/.merlin-core/skills/general/cold-email/references/subject-lines.md +18 -0
  472. package/.merlin-core/skills/general/container-security/SKILL.md +462 -0
  473. package/.merlin-core/skills/general/context-management/SKILL.md +79 -0
  474. package/.merlin-core/skills/general/copy-editing/SKILL.md +501 -0
  475. package/.merlin-core/skills/general/copy-editing/references/checklist.md +18 -0
  476. package/.merlin-core/skills/general/copy-editing/references/content-refresh.md +18 -0
  477. package/.merlin-core/skills/general/copy-editing/references/plain-english-alternatives.md +18 -0
  478. package/.merlin-core/skills/general/copywriting/SKILL.md +294 -0
  479. package/.merlin-core/skills/general/copywriting/references/copy-frameworks.md +392 -0
  480. package/.merlin-core/skills/general/copywriting/references/natural-transitions.md +276 -0
  481. package/.merlin-core/skills/general/database/SKILL.md +561 -0
  482. package/.merlin-core/skills/general/database/references/postgres-concurrency.md +182 -0
  483. package/.merlin-core/skills/general/database/references/postgres-connections.md +97 -0
  484. package/.merlin-core/skills/general/database/references/postgres-data-patterns.md +159 -0
  485. package/.merlin-core/skills/general/database/references/postgres-monitoring.md +136 -0
  486. package/.merlin-core/skills/general/database/references/postgres-rls.md +140 -0
  487. package/.merlin-core/skills/general/database-provision/SKILL.md +56 -0
  488. package/.merlin-core/skills/general/deploy/SKILL.md +65 -0
  489. package/.merlin-core/skills/general/design-inspiration/SKILL.md +146 -0
  490. package/.merlin-core/skills/general/design-palette/SKILL.md +99 -0
  491. package/.merlin-core/skills/general/design-palette/references/full-palettes.md +144 -0
  492. package/.merlin-core/skills/general/design-system/SKILL.md +94 -0
  493. package/.merlin-core/skills/general/design-typography/SKILL.md +115 -0
  494. package/.merlin-core/skills/general/design-typography/references/full-pairings.md +144 -0
  495. package/.merlin-core/skills/general/design-ux-patterns/SKILL.md +155 -0
  496. package/.merlin-core/skills/general/design-ux-patterns/references/charts-data-guidelines.md +197 -0
  497. package/.merlin-core/skills/general/design-ux-patterns/references/landing-patterns.md +199 -0
  498. package/.merlin-core/skills/general/design-ux-patterns/references/professional-ui-checklist.md +56 -0
  499. package/.merlin-core/skills/general/design-ux-patterns/references/style-catalog.md +89 -0
  500. package/.merlin-core/skills/general/design-ux-patterns/references/ux-guidelines.md +837 -0
  501. package/.merlin-core/skills/general/discover-cloud/SKILL.md +108 -0
  502. package/.merlin-core/skills/general/doc-sync/SKILL.md +52 -0
  503. package/.merlin-core/skills/general/document-sharding/SKILL.md +53 -0
  504. package/.merlin-core/skills/general/docx/SKILL.md +418 -0
  505. package/.merlin-core/skills/general/docx/references/windows-setup.md +27 -0
  506. package/.merlin-core/skills/general/docx/scripts/__init__.py +1 -0
  507. package/.merlin-core/skills/general/docx/scripts/accept_changes.py +135 -0
  508. package/.merlin-core/skills/general/docx/scripts/comment.py +318 -0
  509. package/.merlin-core/skills/general/docx/scripts/office/__init__.py +0 -0
  510. package/.merlin-core/skills/general/docx/scripts/office/helpers/__init__.py +0 -0
  511. package/.merlin-core/skills/general/docx/scripts/office/helpers/merge_runs.py +199 -0
  512. package/.merlin-core/skills/general/docx/scripts/office/helpers/simplify_redlines.py +197 -0
  513. package/.merlin-core/skills/general/docx/scripts/office/pack.py +159 -0
  514. package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  515. package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  516. package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  517. package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  518. package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  519. package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  520. package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  521. package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  522. package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  523. package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  524. package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  525. package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  526. package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  527. package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  528. package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  529. package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  530. package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  531. package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  532. package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  533. package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  534. package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  535. package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  536. package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  537. package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  538. package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  539. package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  540. package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  541. package/.merlin-core/skills/general/docx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  542. package/.merlin-core/skills/general/docx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  543. package/.merlin-core/skills/general/docx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  544. package/.merlin-core/skills/general/docx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  545. package/.merlin-core/skills/general/docx/scripts/office/schemas/mce/mc.xsd +75 -0
  546. package/.merlin-core/skills/general/docx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  547. package/.merlin-core/skills/general/docx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  548. package/.merlin-core/skills/general/docx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  549. package/.merlin-core/skills/general/docx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  550. package/.merlin-core/skills/general/docx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  551. package/.merlin-core/skills/general/docx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  552. package/.merlin-core/skills/general/docx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  553. package/.merlin-core/skills/general/docx/scripts/office/soffice.py +183 -0
  554. package/.merlin-core/skills/general/docx/scripts/office/unpack.py +132 -0
  555. package/.merlin-core/skills/general/docx/scripts/office/validate.py +111 -0
  556. package/.merlin-core/skills/general/docx/scripts/office/validators/__init__.py +15 -0
  557. package/.merlin-core/skills/general/docx/scripts/office/validators/base.py +847 -0
  558. package/.merlin-core/skills/general/docx/scripts/office/validators/docx.py +446 -0
  559. package/.merlin-core/skills/general/docx/scripts/office/validators/pptx.py +275 -0
  560. package/.merlin-core/skills/general/docx/scripts/office/validators/redlining.py +247 -0
  561. package/.merlin-core/skills/general/docx/scripts/templates/comments.xml +3 -0
  562. package/.merlin-core/skills/general/docx/scripts/templates/commentsExtended.xml +3 -0
  563. package/.merlin-core/skills/general/docx/scripts/templates/commentsExtensible.xml +3 -0
  564. package/.merlin-core/skills/general/docx/scripts/templates/commentsIds.xml +3 -0
  565. package/.merlin-core/skills/general/docx/scripts/templates/people.xml +3 -0
  566. package/.merlin-core/skills/general/elicitation/SKILL.md +188 -0
  567. package/.merlin-core/skills/general/engineering-audit/SKILL.md +122 -0
  568. package/.merlin-core/skills/general/find-and-edit/SKILL.md +102 -0
  569. package/.merlin-core/skills/general/first-party-docs/SKILL.md +51 -0
  570. package/.merlin-core/skills/general/frontend-design/SKILL.md +204 -0
  571. package/.merlin-core/skills/general/guardrails/SKILL.md +144 -0
  572. package/.merlin-core/skills/general/image-gen/SKILL.md +49 -0
  573. package/.merlin-core/skills/general/learning-capture/SKILL.md +192 -0
  574. package/.merlin-core/skills/general/lgpd-compliance-audit/SKILL.md +448 -0
  575. package/.merlin-core/skills/general/load-testing/SKILL.md +114 -0
  576. package/.merlin-core/skills/general/load-testing/docker/Dockerfile.dashboard +21 -0
  577. package/.merlin-core/skills/general/load-testing/docker/docker-compose.locust.yml +39 -0
  578. package/.merlin-core/skills/general/load-testing/requirements.txt +1 -0
  579. package/.merlin-core/skills/general/load-testing/scripts/compare_baseline.py +172 -0
  580. package/.merlin-core/skills/general/load-testing/scripts/run_local.py +245 -0
  581. package/.merlin-core/skills/general/load-testing/templates/load_shape_stepped.py +35 -0
  582. package/.merlin-core/skills/general/load-testing/templates/locustfile_dashboard.py +47 -0
  583. package/.merlin-core/skills/general/load-testing/templates/threshold_hook.py +36 -0
  584. package/.merlin-core/skills/general/mage-beauty/SKILL.md +89 -0
  585. package/.merlin-core/skills/general/mage-beauty/references/anti-patterns.md +148 -0
  586. package/.merlin-core/skills/general/mage-beauty/references/color-and-contrast.md +87 -0
  587. package/.merlin-core/skills/general/mage-beauty/references/interaction-design.md +99 -0
  588. package/.merlin-core/skills/general/mage-beauty/references/motion-design.md +90 -0
  589. package/.merlin-core/skills/general/mage-beauty/references/remotion-bridge.md +187 -0
  590. package/.merlin-core/skills/general/mage-beauty/references/responsive-and-multi-format.md +98 -0
  591. package/.merlin-core/skills/general/mage-beauty/references/spatial-design.md +88 -0
  592. package/.merlin-core/skills/general/mage-beauty/references/typography.md +60 -0
  593. package/.merlin-core/skills/general/mage-beauty/references/verb-adapt.md +102 -0
  594. package/.merlin-core/skills/general/mage-beauty/references/verb-animate.md +97 -0
  595. package/.merlin-core/skills/general/mage-beauty/references/verb-audit.md +99 -0
  596. package/.merlin-core/skills/general/mage-beauty/references/verb-bolder.md +94 -0
  597. package/.merlin-core/skills/general/mage-beauty/references/verb-cinematic.md +128 -0
  598. package/.merlin-core/skills/general/mage-beauty/references/verb-clarify.md +107 -0
  599. package/.merlin-core/skills/general/mage-beauty/references/verb-colorize.md +106 -0
  600. package/.merlin-core/skills/general/mage-beauty/references/verb-critique.md +88 -0
  601. package/.merlin-core/skills/general/mage-beauty/references/verb-delight.md +98 -0
  602. package/.merlin-core/skills/general/mage-beauty/references/verb-distill.md +97 -0
  603. package/.merlin-core/skills/general/mage-beauty/references/verb-harden.md +79 -0
  604. package/.merlin-core/skills/general/mage-beauty/references/verb-layout.md +104 -0
  605. package/.merlin-core/skills/general/mage-beauty/references/verb-onboard.md +98 -0
  606. package/.merlin-core/skills/general/mage-beauty/references/verb-optimize.md +124 -0
  607. package/.merlin-core/skills/general/mage-beauty/references/verb-overdrive.md +105 -0
  608. package/.merlin-core/skills/general/mage-beauty/references/verb-polish.md +91 -0
  609. package/.merlin-core/skills/general/mage-beauty/references/verb-quieter.md +95 -0
  610. package/.merlin-core/skills/general/mage-beauty/references/verb-rebrand.md +127 -0
  611. package/.merlin-core/skills/general/mage-beauty/references/verb-shape.md +160 -0
  612. package/.merlin-core/skills/general/mage-beauty/references/verb-typeset.md +109 -0
  613. package/.merlin-core/skills/general/mage-beauty/references/voice-and-microcopy.md +137 -0
  614. package/.merlin-core/skills/general/mcp-builder/SKILL.md +92 -0
  615. package/.merlin-core/skills/general/network-debug/SKILL.md +51 -0
  616. package/.merlin-core/skills/general/next-best-practices/SKILL.md +177 -0
  617. package/.merlin-core/skills/general/next-best-practices/references/async-patterns.md +87 -0
  618. package/.merlin-core/skills/general/next-best-practices/references/bundling.md +182 -0
  619. package/.merlin-core/skills/general/next-best-practices/references/data-patterns.md +306 -0
  620. package/.merlin-core/skills/general/next-best-practices/references/debug-tricks.md +125 -0
  621. package/.merlin-core/skills/general/next-best-practices/references/directives.md +74 -0
  622. package/.merlin-core/skills/general/next-best-practices/references/error-handling.md +232 -0
  623. package/.merlin-core/skills/general/next-best-practices/references/file-conventions.md +141 -0
  624. package/.merlin-core/skills/general/next-best-practices/references/font.md +257 -0
  625. package/.merlin-core/skills/general/next-best-practices/references/functions.md +108 -0
  626. package/.merlin-core/skills/general/next-best-practices/references/hydration-error.md +88 -0
  627. package/.merlin-core/skills/general/next-best-practices/references/image.md +179 -0
  628. package/.merlin-core/skills/general/next-best-practices/references/metadata.md +296 -0
  629. package/.merlin-core/skills/general/next-best-practices/references/parallel-routes.md +298 -0
  630. package/.merlin-core/skills/general/next-best-practices/references/route-handlers.md +146 -0
  631. package/.merlin-core/skills/general/next-best-practices/references/rsc-boundaries.md +164 -0
  632. package/.merlin-core/skills/general/next-best-practices/references/runtime-selection.md +40 -0
  633. package/.merlin-core/skills/general/next-best-practices/references/scripts.md +141 -0
  634. package/.merlin-core/skills/general/next-best-practices/references/self-hosting.md +384 -0
  635. package/.merlin-core/skills/general/next-best-practices/references/suspense-boundaries.md +67 -0
  636. package/.merlin-core/skills/general/next-steps/SKILL.md +43 -0
  637. package/.merlin-core/skills/general/party-mode/SKILL.md +57 -0
  638. package/.merlin-core/skills/general/pdf/SKILL.md +298 -0
  639. package/.merlin-core/skills/general/pdf/references/forms.md +312 -0
  640. package/.merlin-core/skills/general/pdf/references/reference.md +640 -0
  641. package/.merlin-core/skills/general/pdf/references/windows-setup.md +40 -0
  642. package/.merlin-core/skills/general/pdf/scripts/check_bounding_boxes.py +65 -0
  643. package/.merlin-core/skills/general/pdf/scripts/check_fillable_fields.py +11 -0
  644. package/.merlin-core/skills/general/pdf/scripts/convert_pdf_to_images.py +33 -0
  645. package/.merlin-core/skills/general/pdf/scripts/create_validation_image.py +37 -0
  646. package/.merlin-core/skills/general/pdf/scripts/extract_form_field_info.py +122 -0
  647. package/.merlin-core/skills/general/pdf/scripts/extract_form_structure.py +115 -0
  648. package/.merlin-core/skills/general/pdf/scripts/fill_fillable_fields.py +98 -0
  649. package/.merlin-core/skills/general/pdf/scripts/fill_pdf_form_with_annotations.py +107 -0
  650. package/.merlin-core/skills/general/pptx/SKILL.md +133 -0
  651. package/.merlin-core/skills/general/pptx/references/editing.md +213 -0
  652. package/.merlin-core/skills/general/pptx/references/pptxgenjs.md +581 -0
  653. package/.merlin-core/skills/general/pptx/references/windows-setup.md +27 -0
  654. package/.merlin-core/skills/general/pptx/scripts/__init__.py +0 -0
  655. package/.merlin-core/skills/general/pptx/scripts/add_slide.py +195 -0
  656. package/.merlin-core/skills/general/pptx/scripts/clean.py +286 -0
  657. package/.merlin-core/skills/general/pptx/scripts/thumbnail.py +289 -0
  658. package/.merlin-core/skills/general/property-testing/SKILL.md +214 -0
  659. package/.merlin-core/skills/general/purge-leaked-secret/SKILL.md +383 -0
  660. package/.merlin-core/skills/general/reflection/SKILL.md +100 -0
  661. package/.merlin-core/skills/general/secret-safe-commit/SKILL.md +246 -0
  662. package/.merlin-core/skills/general/secret-safe-commit/templates/.gitleaks.toml +91 -0
  663. package/.merlin-core/skills/general/secret-safe-commit/templates/.pre-commit-config.yaml +57 -0
  664. package/.merlin-core/skills/general/secret-safe-commit/templates/secret-scan.yml +48 -0
  665. package/.merlin-core/skills/general/semantic-search/SKILL.md +79 -0
  666. package/.merlin-core/skills/general/skill-creator/SKILL.md +342 -0
  667. package/.merlin-core/skills/general/skill-creator/agents/analyzer.md +283 -0
  668. package/.merlin-core/skills/general/skill-creator/agents/comparator.md +211 -0
  669. package/.merlin-core/skills/general/skill-creator/agents/grader.md +227 -0
  670. package/.merlin-core/skills/general/skill-creator/assets/eval_review.html +146 -0
  671. package/.merlin-core/skills/general/skill-creator/eval-viewer/generate_review.py +471 -0
  672. package/.merlin-core/skills/general/skill-creator/eval-viewer/viewer.html +1325 -0
  673. package/.merlin-core/skills/general/skill-creator/references/schemas.md +439 -0
  674. package/.merlin-core/skills/general/skill-creator/scripts/__init__.py +0 -0
  675. package/.merlin-core/skills/general/skill-creator/scripts/aggregate_benchmark.py +401 -0
  676. package/.merlin-core/skills/general/skill-creator/scripts/generate_report.py +326 -0
  677. package/.merlin-core/skills/general/skill-creator/scripts/improve_description.py +247 -0
  678. package/.merlin-core/skills/general/skill-creator/scripts/package_skill.py +136 -0
  679. package/.merlin-core/skills/general/skill-creator/scripts/quick_validate.py +103 -0
  680. package/.merlin-core/skills/general/skill-creator/scripts/run_eval.py +310 -0
  681. package/.merlin-core/skills/general/skill-creator/scripts/run_loop.py +328 -0
  682. package/.merlin-core/skills/general/skill-creator/scripts/utils.py +47 -0
  683. package/.merlin-core/skills/general/start-here/SKILL.md +63 -0
  684. package/.merlin-core/skills/general/start-here/recipes.json +758 -0
  685. package/.merlin-core/skills/general/start-here/recipes.schema.json +57 -0
  686. package/.merlin-core/skills/general/static-analysis/SKILL.md +151 -0
  687. package/.merlin-core/skills/general/tailwind-design-system/SKILL.md +201 -0
  688. package/.merlin-core/skills/general/tailwind-design-system/references/advanced-v4.md +152 -0
  689. package/.merlin-core/skills/general/tailwind-design-system/references/component-patterns.md +353 -0
  690. package/.merlin-core/skills/general/teach-method/SKILL.md +86 -0
  691. package/.merlin-core/skills/general/team-execution/SKILL.md +67 -0
  692. package/.merlin-core/skills/general/testing/SKILL.md +412 -0
  693. package/.merlin-core/skills/general/token-economy/SKILL.md +55 -0
  694. package/.merlin-core/skills/general/vps-security-hardening/SKILL.md +406 -0
  695. package/.merlin-core/skills/general/web-quality/SKILL.md +180 -0
  696. package/.merlin-core/skills/general/webapp-testing/SKILL.md +153 -0
  697. package/.merlin-core/skills/general/webapp-testing/scripts/screenshot_compare.py +72 -0
  698. package/.merlin-core/skills/general/webapp-testing/scripts/with_server.py +103 -0
  699. package/.merlin-core/skills/general/xlsx/SKILL.md +167 -0
  700. package/.merlin-core/skills/general/xlsx/references/nodejs-sheetjs-styled-reports.md +141 -0
  701. package/.merlin-core/skills/general/xlsx/references/windows-setup.md +17 -0
  702. package/.merlin-core/skills/general/xlsx/scripts/recalc.py +184 -0
  703. package/.merlin-core/skills/general/xlsx/scripts/styled-report.js +130 -0
  704. package/.merlin-core/skills/general/yolo-mode/SKILL.md +60 -0
  705. package/.merlin-core/skills/general/youtube-transcript/SKILL.md +177 -0
  706. package/.merlin-core/skills/general/youtube-transcript/scripts/fetch_transcript.py +188 -0
  707. package/.merlin-core/skills/general/youtube-transcript/scripts/gladia_transcribe.mjs +230 -0
  708. package/.merlin-core/tools/commands/activate.js +72 -0
  709. package/.merlin-core/tools/commands/archive-thoughts.js +181 -0
  710. package/.merlin-core/tools/commands/backup.js +156 -0
  711. package/.merlin-core/tools/commands/certify-process.js +196 -0
  712. package/.merlin-core/tools/commands/convert.js +87 -0
  713. package/.merlin-core/tools/commands/cron.js +147 -0
  714. package/.merlin-core/tools/commands/disable.js +73 -0
  715. package/.merlin-core/tools/commands/doc-sync.js +127 -0
  716. package/.merlin-core/tools/commands/eval-skill.js +193 -0
  717. package/.merlin-core/tools/commands/frontmatter.js +49 -0
  718. package/.merlin-core/tools/commands/heartbeat.js +43 -0
  719. package/.merlin-core/tools/commands/index-thoughts.js +35 -0
  720. package/.merlin-core/tools/commands/install-remote-approve.js +184 -0
  721. package/.merlin-core/tools/commands/install.js +81 -0
  722. package/.merlin-core/tools/commands/lib/__verify__/diff-reports.js +170 -0
  723. package/.merlin-core/tools/commands/lib/fs-safe.js +186 -0
  724. package/.merlin-core/tools/commands/lib/preflight.js +607 -0
  725. package/.merlin-core/tools/commands/lib/preserve.js +232 -0
  726. package/.merlin-core/tools/commands/lib/project-config.template.yaml +69 -0
  727. package/.merlin-core/tools/commands/lib/report.js +231 -0
  728. package/.merlin-core/tools/commands/lib/settings-merge.js +134 -0
  729. package/.merlin-core/tools/commands/license.js +52 -0
  730. package/.merlin-core/tools/commands/list.js +125 -0
  731. package/.merlin-core/tools/commands/migrate-alkimia.js +271 -0
  732. package/.merlin-core/tools/commands/modules.js +68 -0
  733. package/.merlin-core/tools/commands/provision.js +83 -0
  734. package/.merlin-core/tools/commands/prune-feedback.js +114 -0
  735. package/.merlin-core/tools/commands/run-process.js +28 -0
  736. package/.merlin-core/tools/commands/state.js +79 -0
  737. package/.merlin-core/tools/commands/sync-bridges.js +197 -0
  738. package/.merlin-core/tools/commands/upgrade.js +1135 -0
  739. package/.merlin-core/tools/commands/validate-recipes.js +218 -0
  740. package/.merlin-core/tools/commands/validate.js +159 -0
  741. package/.merlin-core/tools/commands/yolo.js +82 -0
  742. package/.merlin-core/tools/compose-rules.mjs +179 -0
  743. package/.merlin-core/tools/disable-module.mjs +150 -0
  744. package/.merlin-core/tools/lib/deployer.mjs +131 -0
  745. package/.merlin-core/tools/lib/modules-activation.mjs +225 -0
  746. package/.merlin-core/tools/merlin-tools.js +153 -0
  747. package/.merlin-core/tools/migrate-frontmatter-v3.js +192 -0
  748. package/.merlin-core/tools/modules-catalog.mjs +174 -0
  749. package/.merlin-core/tools/provision-module.mjs +191 -0
  750. package/.merlin-core/tools/verify-module.mjs +99 -0
  751. package/.merlin-core/tools/vps-security-audit.sh +234 -0
  752. package/INSTALL.md +312 -0
  753. package/LICENSE +118 -0
  754. package/PRIVACY-LICENSING.md +65 -0
  755. package/README.md +391 -0
  756. package/bin/README.md +15 -0
  757. package/bin/convert-to-merlin.sh +109 -0
  758. package/bin/fleet-patch-hooks.sh +144 -0
  759. package/bin/fleet-patch-v3-fixes.sh +127 -0
  760. package/bin/merlin-init.js +232 -0
  761. package/bin/merlin.js +321 -0
  762. package/package.json +127 -0
@@ -0,0 +1,161 @@
1
+ # Apple Zoom Transitions
2
+
3
+ Fluid zoom transitions for navigating between screens. iOS 18+, Expo SDK 55+, Stack navigator only.
4
+
5
+ ```tsx
6
+ import { Link } from "expo-router";
7
+ ```
8
+
9
+ ## Basic Zoom
10
+
11
+ Use `withAppleZoom` on `Link.Trigger` to zoom the entire trigger element into the destination screen:
12
+
13
+ ```tsx
14
+ <Link href="/photo" asChild>
15
+ <Link.Trigger withAppleZoom>
16
+ <Pressable>
17
+ <Image
18
+ source={{ uri: "https://example.com/thumb.jpg" }}
19
+ style={{ width: 120, height: 120, borderRadius: 12 }}
20
+ />
21
+ </Pressable>
22
+ </Link.Trigger>
23
+ </Link>
24
+ ```
25
+
26
+ ## Targeted Zoom with `Link.AppleZoom`
27
+
28
+ Wrap only the element that should animate. Siblings outside `Link.AppleZoom` are not part of the transition:
29
+
30
+ ```tsx
31
+ <Link href="/photo" asChild>
32
+ <Link.Trigger>
33
+ <Pressable style={{ alignItems: "center" }}>
34
+ <Link.AppleZoom>
35
+ <Image
36
+ source={{ uri: "https://example.com/thumb.jpg" }}
37
+ style={{ width: 200, aspectRatio: 4 / 3 }}
38
+ />
39
+ </Link.AppleZoom>
40
+ <Text>Caption text (not zoomed)</Text>
41
+ </Pressable>
42
+ </Link.Trigger>
43
+ </Link>
44
+ ```
45
+
46
+ `Link.AppleZoom` accepts only a single child element.
47
+
48
+ ## Destination Target
49
+
50
+ Use `Link.AppleZoomTarget` on the destination screen to align the zoom animation to a specific element:
51
+
52
+ ```tsx
53
+ // Destination screen (e.g., app/photo.tsx)
54
+ import { Link } from "expo-router";
55
+
56
+ export default function PhotoScreen() {
57
+ return (
58
+ <View style={{ flex: 1 }}>
59
+ <Link.AppleZoomTarget>
60
+ <Image
61
+ source={{ uri: "https://example.com/full.jpg" }}
62
+ style={{ width: "100%", aspectRatio: 4 / 3 }}
63
+ />
64
+ </Link.AppleZoomTarget>
65
+ <Text>Photo details below</Text>
66
+ </View>
67
+ );
68
+ }
69
+ ```
70
+
71
+ Without a target, the zoom animates to fill the entire destination screen.
72
+
73
+ ## Custom Alignment Rectangle
74
+
75
+ For manual control over where the zoom lands on the destination, use `alignmentRect` instead of `Link.AppleZoomTarget`:
76
+
77
+ ```tsx
78
+ <Link.AppleZoom alignmentRect={{ x: 0, y: 0, width: 200, height: 300 }}>
79
+ <Image source={{ uri: "https://example.com/thumb.jpg" }} />
80
+ </Link.AppleZoom>
81
+ ```
82
+
83
+ Coordinates are in the destination screen's coordinate space. Prefer `Link.AppleZoomTarget` when possible — use `alignmentRect` only when the target element isn't available as a React component.
84
+
85
+ ## Controlling Dismissal
86
+
87
+ Zoom screens support interactive dismissal gestures by default (pinch, swipe down when scrolled to top, swipe from leading edge). Use `usePreventZoomTransitionDismissal` on the destination screen to control this.
88
+
89
+ ### Disable all dismissal gestures
90
+
91
+ ```tsx
92
+ import { usePreventZoomTransitionDismissal } from "expo-router";
93
+
94
+ export default function PhotoScreen() {
95
+ usePreventZoomTransitionDismissal();
96
+ return <Image source={{ uri: "https://example.com/full.jpg" }} />;
97
+ }
98
+ ```
99
+
100
+ ### Restrict dismissal to a specific area
101
+
102
+ Use `unstable_dismissalBoundsRect` to prevent conflicts with scrollable content:
103
+
104
+ ```tsx
105
+ usePreventZoomTransitionDismissal({
106
+ unstable_dismissalBoundsRect: {
107
+ minX: 0,
108
+ minY: 0,
109
+ maxX: 300,
110
+ maxY: 300,
111
+ },
112
+ });
113
+ ```
114
+
115
+ This is useful when the destination contains a zoomable scroll view — the system gives that scroll view precedence over the dismiss gesture.
116
+
117
+ ## Combining with Link.Preview
118
+
119
+ Zoom transitions work alongside long-press previews:
120
+
121
+ ```tsx
122
+ <Link href="/photo" asChild>
123
+ <Link.Trigger withAppleZoom>
124
+ <Pressable>
125
+ <Image
126
+ source={{ uri: "https://example.com/thumb.jpg" }}
127
+ style={{ width: 120, height: 120 }}
128
+ />
129
+ </Pressable>
130
+ </Link.Trigger>
131
+ <Link.Preview />
132
+ </Link>
133
+ ```
134
+
135
+ ## Best Practices
136
+
137
+ **Good use cases:**
138
+
139
+ - Thumbnail → full image (gallery, profile photos)
140
+ - Card → detail screen with similar visual content
141
+ - Source and destination with similar aspect ratios
142
+
143
+ **Avoid:**
144
+
145
+ - Skinny full-width list rows as zoom sources — the transition looks unnatural
146
+ - Mismatched aspect ratios between source and destination without `alignmentRect`
147
+ - Using zoom with sheets or popovers — only works in Stack navigator
148
+ - Hiding the navigation bar — known issues with header visibility during transitions
149
+
150
+ **Tips:**
151
+
152
+ - Always provide a close or back button — dismissal gestures are not discoverable
153
+ - If the destination has a zoomable scroll view, use `unstable_dismissalBoundsRect` to avoid gesture conflicts
154
+ - Source view doesn't need to match the tap target — only the `Link.AppleZoom` wrapped element animates
155
+ - When source is unavailable (e.g., scrolled off screen), the transition zooms from the center of the screen
156
+
157
+ ## References
158
+
159
+ - Expo Router Zoom Transitions: https://docs.expo.dev/router/advanced/zoom-transition/
160
+ - Link.AppleZoom API: https://docs.expo.dev/versions/v55.0.0/sdk/router/#linkapplezoom
161
+ - Apple UIKit Fluid Transitions: https://developer.apple.com/documentation/uikit/enhancing-your-app-with-fluid-transitions
@@ -0,0 +1,117 @@
1
+ ---
2
+ name: marketing-ops
3
+ description: "Funnel-stage organized marketing playbook covering Foundation (product-marketing, customer-research, marketing-psychology, marketing-ideas), Acquire (paid ads, SEO/AI-SEO, content, social, video, image, outbound, launch, directories, community, free-tools, lead-magnets), Activate (CRO, signup, popups, paywalls, copy editing, A/B testing, analytics, sales enablement, pricing), Retain (onboarding, churn prevention, RevOps lifecycle), Expand (referrals, co-marketing). Use when planning, designing, or executing marketing campaigns end-to-end. For Brazilian direct-response copy methodology, paid traffic ROAS, WhatsApp formats, and Schwartz awareness, see digital-marketing. For SaaS page copy, see general/copywriting."
4
+ license: MIT
5
+ metadata:
6
+ source: "coreyhaines31/marketingskills (MIT) v2.0.1 + Merlin marketing-ops adaptation"
7
+ imported: 2026-05-20
8
+ version: "1.0.0"
9
+ upstream_baseline: "coreyhaines31/marketingskills v2.0.1 (2026-05-18)"
10
+ auto_activate:
11
+ [
12
+ marketing-ops,
13
+ campaign,
14
+ growth-marketing,
15
+ cro,
16
+ lead-magnet,
17
+ customer-research,
18
+ ]
19
+ file_triggers:
20
+ [
21
+ "**/landing-page/**",
22
+ "**/lead-magnet/**",
23
+ "**/funnel/**",
24
+ "**/cro/**",
25
+ "**/lifecycle-email/**",
26
+ ]
27
+ tool_reminders:
28
+ - "Before writing any campaign artifact, read .merlin-core/thoughts/shared/decisions/<project>-product-marketing.md if it exists; otherwise activate references/foundation/product-marketing.md to generate it"
29
+ - "Map every artifact to a funnel stage explicitly (Foundation/Acquire/Activate/Retain/Expand) — refuse to write generic 'marketing copy' without stage assignment"
30
+ - "Cross-link to digital-marketing for Brazilian DR methodology (3-Document Protocol, Schwartz, Anti-AI, ROAS, WhatsApp formats, R$ benchmarks)"
31
+ - "For page-level copy structure, route to general/copywriting; for delivery to general/resend-email; for visuals to general/image-gen; for decks to general/blkskrn"
32
+ ---
33
+
34
+ # marketing-ops — Funnel-Stage Marketing Umbrella
35
+
36
+ Full-funnel marketing playbook organized by stage: **Foundation → Acquire → Activate → Retain → Expand**. Imports 40 skills from `coreyhaines31/marketingskills` v2.0.1 (MIT), wired into the Alkimia engine. Methodology authority on Brazilian direct-response copy, ROAS, WhatsApp formats, and Schwartz awareness remains with [`digital-marketing`](../digital-marketing/SKILL.md).
37
+
38
+ ## Adjacency Map
39
+
40
+ | Need | Skill |
41
+ | ----------------------------------------------------------- | ------------------------------------------------------------- |
42
+ | Brazilian DR methodology, Schwartz, Anti-AI, ROAS, WhatsApp | [`digital-marketing`](../digital-marketing/SKILL.md) |
43
+ | SaaS page copy (homepage, LP, pricing, feature) | [`general/copywriting`](../../general/copywriting/SKILL.md) |
44
+ | Edit/refine existing copy | [`general/copy-editing`](../../general/copy-editing/SKILL.md) |
45
+ | B2B cold outreach + follow-up sequences | [`general/cold-email`](../../general/cold-email/SKILL.md) |
46
+ | Email delivery layer | [`general/resend-email`](../../general/resend-email/SKILL.md) |
47
+ | AI image generation | [`general/image-gen`](../../general/image-gen/SKILL.md) |
48
+ | Presentation decks | [`general/blkskrn`](../../general/blkskrn/SKILL.md) |
49
+ | Visual finishing | [`general/mage-beauty`](../../general/mage-beauty/SKILL.md) |
50
+
51
+ ## Funnel-Stage Map
52
+
53
+ ### 🏛️ Foundation — `references/foundation/`
54
+
55
+ Foundation-stage skills produce the canonical project brief that every other skill reads first.
56
+
57
+ - `product-marketing.md` — Positioning + ICP + market context artifact (`.merlin-core/thoughts/shared/decisions/<project>-product-marketing.md`)
58
+ - `customer-research.md` — JTBD, VoC, Reddit/G2 mining, theme clustering
59
+ - `marketing-psychology.md` — Fogg, EAST, COM-B, prospect theory, anchoring
60
+ - `marketing-ideas.md` — 139-idea SaaS marketing catalog
61
+
62
+ ### 🎯 Acquire — `references/acquire/`
63
+
64
+ Get attention. Paid traffic, SEO, content, social, video, image, outbound, launch, directories, community, partnerships, lead magnets.
65
+
66
+ - `ads.md`, `ad-creative.md` — Multi-platform paid + bulk creative
67
+ - `ai-seo.md`, `seo-audit.md`, `site-architecture.md`, `schema.md` — Discovery
68
+ - `programmatic-seo.md` _(pointer → digital-marketing)_, `content-strategy.md` _(pointer)_, `launch.md` _(pointer)_
69
+ - `competitors.md`, `competitor-profiling.md` — Comparison & intel
70
+ - `social.md`, `video.md`, `image.md` — Production
71
+ - `directory-submissions.md` — PH + G2 + AI dirs
72
+ - `community-marketing.md`, `co-marketing.md`, `free-tools.md`, `lead-magnets.md` — Pull-based
73
+ - `aso.md` — Mobile
74
+
75
+ ### 🔥 Activate — `references/activate/`
76
+
77
+ Turn attention into signup/purchase. LP CRO, signup, popups, paywalls, copy editing, A/B testing, analytics, sales enablement.
78
+
79
+ - `cro.md`, `signup.md`, `popups.md`, `paywalls.md`
80
+ - `copywriting.md` _(pointer → general)_, `copy-editing.md` _(pointer → general)_
81
+ - `emails.md` _(pointer → digital-marketing/email-sequences.md)_, `pricing.md` _(pointer)_
82
+ - `ab-testing.md`, `analytics.md`, `sales-enablement.md`
83
+
84
+ ### 🔄 Retain — `references/retain/`
85
+
86
+ Keep them using/paying. Onboarding, churn prevention, lifecycle.
87
+
88
+ - `onboarding.md`, `churn-prevention.md`
89
+ - `revops-lifecycle.md` _(pointer → digital-marketing)_, `revops-operations.md` _(pointer)_
90
+
91
+ ### 🚀 Expand — `references/expand/`
92
+
93
+ Turn customers into growth.
94
+
95
+ - `referrals.md`
96
+ - `co-marketing.md`, `community-marketing.md` _(both pointers → acquire stage)_
97
+
98
+ ## When to Activate marketing-ops vs digital-marketing vs general
99
+
100
+ Decision tree:
101
+
102
+ 1. **Brazilian audience + WhatsApp + info-product launch + R$ ROAS** → `digital-marketing` (it owns the methodology)
103
+ 2. **SaaS funnel design / CRO / churn / sales enablement / SEO at scale / lead magnets** → `marketing-ops` (funnel-stage router)
104
+ 3. **Need to write the page itself (homepage, LP, pricing, feature, about)** → `general/copywriting`
105
+ 4. **Need to edit existing copy** → `general/copy-editing`
106
+ 5. **B2B cold outbound prospecting** → `general/cold-email`
107
+ 6. **Production artifacts only (email blast, OG image, deck)** → general/{resend-email, image-gen, blkskrn}
108
+
109
+ When both `digital-marketing` and `marketing-ops` could apply, `digital-marketing` wins on methodology (3-Document Protocol, Schwartz, Anti-AI, ROAS, WhatsApp), `marketing-ops` wins on funnel-stage navigation and skill composition.
110
+
111
+ ## Bundled References (40 skills, organized in `references/`)
112
+
113
+ See [`references/_index.md`](references/_index.md) for the full funnel-stage map with canonical paths, source attribution, and pointer/imported status.
114
+
115
+ ## Provenance
116
+
117
+ Imported 2026-05-20 from `coreyhaines31/marketingskills` v2.0.1 (MIT). Per-file attribution is preserved in each reference's frontmatter `metadata.source` field. The `digital-marketing` skill remains authoritative for Brazilian direct-response methodology — see its SKILL.md Integration section for the boundary statement.
@@ -0,0 +1,78 @@
1
+ # marketing-ops References — Funnel-Stage Index
2
+
3
+ Full map of all 40 imported skills from `coreyhaines31/marketingskills` v2.0.1 (MIT), organized by funnel stage. Status legend: **IMPORTED** = upstream body imported here; **POINTER → path** = canonical body lives elsewhere; **POINTER → general/X** = production utility skill in general/.
4
+
5
+ ## 🏛️ Foundation (4 skills)
6
+
7
+ | Skill | Canonical path | Status |
8
+ | -------------------- | ------------------------------------ | -------- |
9
+ | product-marketing | `foundation/product-marketing.md` | IMPORTED |
10
+ | customer-research | `foundation/customer-research.md` | IMPORTED |
11
+ | marketing-psychology | `foundation/marketing-psychology.md` | IMPORTED |
12
+ | marketing-ideas | `foundation/marketing-ideas.md` | IMPORTED |
13
+
14
+ ## 🎯 Acquire (20 skills)
15
+
16
+ | Skill | Canonical path | Status |
17
+ | --------------------- | ---------------------------------- | ------------------------------------------------------------------ |
18
+ | ads | `acquire/ads.md` | IMPORTED |
19
+ | ad-creative | `acquire/ad-creative.md` | IMPORTED |
20
+ | ai-seo | `acquire/ai-seo.md` | IMPORTED |
21
+ | seo-audit | `acquire/seo-audit.md` | IMPORTED |
22
+ | site-architecture | `acquire/site-architecture.md` | IMPORTED |
23
+ | competitors | `acquire/competitors.md` | IMPORTED |
24
+ | competitor-profiling | `acquire/competitor-profiling.md` | IMPORTED |
25
+ | social | `acquire/social.md` | IMPORTED |
26
+ | video | `acquire/video.md` | IMPORTED |
27
+ | image | `acquire/image.md` | IMPORTED |
28
+ | directory-submissions | `acquire/directory-submissions.md` | IMPORTED |
29
+ | community-marketing | `acquire/community-marketing.md` | IMPORTED |
30
+ | co-marketing | `acquire/co-marketing.md` | IMPORTED |
31
+ | free-tools | `acquire/free-tools.md` | IMPORTED |
32
+ | lead-magnets | `acquire/lead-magnets.md` | IMPORTED |
33
+ | aso | `acquire/aso.md` | IMPORTED |
34
+ | content-strategy | `acquire/content-strategy.md` | POINTER → `../../digital-marketing/references/content-strategy.md` |
35
+ | programmatic-seo | `acquire/programmatic-seo.md` | POINTER → `../../digital-marketing/references/programmatic-seo.md` |
36
+ | schema | `acquire/schema.md` | POINTER → `../../digital-marketing/references/schema-markup.md` |
37
+ | launch | `acquire/launch.md` | POINTER → `../../digital-marketing/references/launch-strategy.md` |
38
+
39
+ ## 🔥 Activate (11 skills)
40
+
41
+ | Skill | Canonical path | Status |
42
+ | ---------------- | ------------------------------ | ------------------------------------------------------------------ |
43
+ | cro | `activate/cro.md` | IMPORTED |
44
+ | signup | `activate/signup.md` | IMPORTED |
45
+ | popups | `activate/popups.md` | IMPORTED |
46
+ | paywalls | `activate/paywalls.md` | IMPORTED |
47
+ | ab-testing | `activate/ab-testing.md` | IMPORTED |
48
+ | analytics | `activate/analytics.md` | IMPORTED |
49
+ | sales-enablement | `activate/sales-enablement.md` | IMPORTED |
50
+ | pricing | `activate/pricing.md` | POINTER → `../../digital-marketing/references/pricing-strategy.md` |
51
+ | copywriting | `activate/copywriting.md` | POINTER → general/copywriting |
52
+ | copy-editing | `activate/copy-editing.md` | POINTER → general/copy-editing |
53
+ | emails | `activate/emails.md` | POINTER → `../../digital-marketing/references/email-sequences.md` |
54
+
55
+ ## 🔄 Retain (4 skills)
56
+
57
+ | Skill | Canonical path | Status |
58
+ | ----------------- | ----------------------------- | ------------------------------------------------------------------- |
59
+ | onboarding | `retain/onboarding.md` | IMPORTED |
60
+ | churn-prevention | `retain/churn-prevention.md` | IMPORTED |
61
+ | revops-lifecycle | `retain/revops-lifecycle.md` | POINTER → `../../digital-marketing/references/revops-lifecycle.md` |
62
+ | revops-operations | `retain/revops-operations.md` | POINTER → `../../digital-marketing/references/revops-operations.md` |
63
+
64
+ ## 🚀 Expand (3 skills)
65
+
66
+ | Skill | Canonical path | Status |
67
+ | ------------------- | ------------------------------- | -------------------------------------------------------------------- |
68
+ | referrals | `expand/referrals.md` | IMPORTED |
69
+ | co-marketing | `expand/co-marketing.md` | POINTER → `../acquire/co-marketing.md` (canonical in Acquire) |
70
+ | community-marketing | `expand/community-marketing.md` | POINTER → `../acquire/community-marketing.md` (canonical in Acquire) |
71
+
72
+ ## Summary
73
+
74
+ - **Total skills:** 40 (matches upstream v2.0.1 count)
75
+ - **IMPORTED bodies:** 32 (canonical upstream content lives here under `marketing-ops/references/`)
76
+ - **POINTER files:** 8 (canonical bodies live in `digital-marketing/references/` or `general/`)
77
+ - **Source:** `coreyhaines31/marketingskills` v2.0.1 (MIT), 2026-05-18 upstream baseline
78
+ - **Imported:** 2026-05-20
@@ -0,0 +1,19 @@
1
+ ---
2
+ source: coreyhaines31/marketingskills (MIT) v2.0.1
3
+ imported: 2026-05-20 (stub) — full body deferred to follow-up cleanup
4
+ stage: acquire
5
+ skill: ad-creative
6
+ upstream_path: skills/ad-creative/references/generative-tools.md
7
+ ---
8
+
9
+ # generative-tools — reference stub
10
+
11
+ This is a thin pointer to an upstream reference. The full verbatim body is **deferred** to a future cleanup phase to manage context budget.
12
+
13
+ **Upstream URL (canonical body):** https://github.com/coreyhaines31/marketingskills/blob/main/skills/ad-creative/references/generative-tools.md
14
+
15
+ **Raw fetch URL:** https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/ad-creative/references/generative-tools.md
16
+
17
+ **Parent skill:** [`../ad-creative.md`](../ad-creative.md) (stage: acquire)
18
+
19
+ **To import the full body** (future task): `curl -sSL <raw URL> -o references/acquire/ad-creative/references/generative-tools.md`, then prepend the standard Adjacency header.
@@ -0,0 +1,19 @@
1
+ ---
2
+ source: coreyhaines31/marketingskills (MIT) v2.0.1
3
+ imported: 2026-05-20 (stub) — full body deferred to follow-up cleanup
4
+ stage: acquire
5
+ skill: ad-creative
6
+ upstream_path: skills/ad-creative/references/platform-specs.md
7
+ ---
8
+
9
+ # platform-specs — reference stub
10
+
11
+ This is a thin pointer to an upstream reference. The full verbatim body is **deferred** to a future cleanup phase to manage context budget.
12
+
13
+ **Upstream URL (canonical body):** https://github.com/coreyhaines31/marketingskills/blob/main/skills/ad-creative/references/platform-specs.md
14
+
15
+ **Raw fetch URL:** https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/ad-creative/references/platform-specs.md
16
+
17
+ **Parent skill:** [`../ad-creative.md`](../ad-creative.md) (stage: acquire)
18
+
19
+ **To import the full body** (future task): `curl -sSL <raw URL> -o references/acquire/ad-creative/references/platform-specs.md`, then prepend the standard Adjacency header.
@@ -0,0 +1,251 @@
1
+ ---
2
+ source: coreyhaines31/marketingskills (MIT) v2.0.1
3
+ imported: 2026-05-20
4
+ stage: acquire
5
+ upstream_path: skills/ad-creative/SKILL.md
6
+ ---
7
+
8
+ > **Adjacency:** Part of the [`marketing-ops`](../../SKILL.md) umbrella. For Brazilian-DR creative angles + Anti-AI Copy Detection + 7-part Video Ad Script + Image Ad 4-block templates, see [`digital-marketing/references/copy-formats.md`](../../../digital-marketing/references/copy-formats.md). For campaign strategy, see sibling [`ads.md`](ads.md). For visual production, see [`image.md`](image.md), [`video.md`](video.md), and [`general/image-gen`](../../../../general/image-gen/SKILL.md).
9
+
10
+ ---
11
+
12
+ # Ad Creative
13
+
14
+ You are an expert performance creative strategist. Your goal is to generate high-performing ad creative at scale — headlines, descriptions, and primary text that drive clicks and conversions — and iterate based on real performance data.
15
+
16
+ ## Before Starting
17
+
18
+ **Check for product marketing context first:**
19
+ If `.merlin-core/thoughts/shared/decisions/<project>-product-marketing.md` exists (or legacy `.agents/product-marketing.md`), read it before asking questions.
20
+
21
+ Gather this context (ask if not provided):
22
+
23
+ ### 1. Platform & Format
24
+
25
+ - What platform? (Google Ads, Meta, LinkedIn, TikTok, Twitter/X)
26
+ - What ad format? (Search RSAs, display, social feed, stories, video)
27
+ - Are there existing ads to iterate on, or starting from scratch?
28
+
29
+ ### 2. Product & Offer
30
+
31
+ - What are you promoting?
32
+ - What's the core value proposition?
33
+ - What makes this different from competitors?
34
+
35
+ ### 3. Audience & Intent
36
+
37
+ - Who is the target audience?
38
+ - What stage of awareness? (Problem-aware, solution-aware, product-aware)
39
+ - What pain points or desires drive them?
40
+
41
+ ### 4. Performance Data (if iterating)
42
+
43
+ - What creative is currently running?
44
+ - Which headlines/descriptions are performing best? (CTR, conversion rate, ROAS)
45
+ - Which are underperforming?
46
+ - What angles or themes have been tested?
47
+
48
+ ### 5. Constraints
49
+
50
+ - Brand voice guidelines or words to avoid?
51
+ - Compliance requirements?
52
+ - Any mandatory elements? (Brand name, trademark symbols, disclaimers)
53
+
54
+ ---
55
+
56
+ ## How This Skill Works
57
+
58
+ ### Mode 1: Generate from Scratch
59
+
60
+ Generate a full set of ad creative based on product context, audience insights, and platform best practices.
61
+
62
+ ### Mode 2: Iterate from Performance Data
63
+
64
+ Analyze what's working, identify patterns in top performers, and generate new variations that build on winning themes while exploring new angles.
65
+
66
+ Core loop: Pull performance data → Identify winning patterns → Generate new variations → Validate specs → Deliver
67
+
68
+ ---
69
+
70
+ ## Platform Specs
71
+
72
+ ### Google Ads (Responsive Search Ads)
73
+
74
+ | Element | Limit | Quantity |
75
+ | ---------------- | ------------------ | -------- |
76
+ | Headline | 30 characters | Up to 15 |
77
+ | Description | 90 characters | Up to 4 |
78
+ | Display URL path | 15 characters each | 2 paths |
79
+
80
+ **RSA rules:**
81
+
82
+ - Headlines must make sense independently and in any combination
83
+ - Pin headlines to positions only when necessary
84
+ - Include at least one keyword-focused, one benefit-focused, one CTA headline
85
+
86
+ ### Meta Ads (Facebook/Instagram)
87
+
88
+ | Element | Limit | Notes |
89
+ | ------------ | ------------------------------- | ------------------- |
90
+ | Primary text | 125 chars visible (up to 2,200) | Front-load the hook |
91
+ | Headline | 40 characters recommended | Below the image |
92
+ | Description | 30 characters recommended | Below headline |
93
+
94
+ ### LinkedIn Ads
95
+
96
+ | Element | Limit | Notes |
97
+ | ----------- | ------------------------------- | --------------- |
98
+ | Intro text | 150 chars recommended (600 max) | Above the image |
99
+ | Headline | 70 chars recommended (200 max) | Below the image |
100
+ | Description | 100 chars recommended (300 max) | Some placements |
101
+
102
+ ### TikTok Ads
103
+
104
+ | Element | Limit | Notes |
105
+ | ------------ | ------------------------------ | --------------- |
106
+ | Ad text | 80 chars recommended (100 max) | Above the video |
107
+ | Display name | 40 characters | Brand name |
108
+
109
+ ### Twitter/X Ads
110
+
111
+ | Element | Limit | Notes |
112
+ | ----------- | -------------- | ---------------- |
113
+ | Tweet text | 280 characters | The ad copy |
114
+ | Headline | 70 characters | Card headline |
115
+ | Description | 200 characters | Card description |
116
+
117
+ ---
118
+
119
+ ## Generating Ad Copy
120
+
121
+ ### Step 1: Define Your Angles
122
+
123
+ Before writing individual headlines, establish 3-5 distinct **angles** — different reasons someone would click. Each angle should tap into a different motivation.
124
+
125
+ **Common angle categories:**
126
+
127
+ | Category | Example Angle |
128
+ | ------------ | ------------------------------------ |
129
+ | Pain point | "Stop wasting time on X" |
130
+ | Outcome | "Achieve Y in Z days" |
131
+ | Social proof | "Join 10,000+ teams who..." |
132
+ | Curiosity | "The X secret top companies use" |
133
+ | Comparison | "Unlike X, we do Y" |
134
+ | Urgency | "Limited time: get X free" |
135
+ | Identity | "Built for [specific role/type]" |
136
+ | Contrarian | "Why [common practice] doesn't work" |
137
+
138
+ ### Step 2: Generate Variations per Angle
139
+
140
+ For each angle, generate multiple variations. Vary:
141
+
142
+ - **Word choice** — synonyms, active vs. passive
143
+ - **Specificity** — numbers vs. general claims
144
+ - **Tone** — direct vs. question vs. command
145
+ - **Structure** — short punch vs. full benefit statement
146
+
147
+ ### Step 3: Validate Against Specs
148
+
149
+ Before delivering, check every piece of creative against the platform's character limits.
150
+
151
+ ### Step 4: Organize for Upload
152
+
153
+ Present creative in a structured format that maps to the ad platform's upload requirements.
154
+
155
+ ---
156
+
157
+ ## Iterating from Performance Data
158
+
159
+ When the user provides performance data:
160
+
161
+ ### Step 1: Analyze Winners
162
+
163
+ - **Winning themes** — What topics or pain points appear in top performers?
164
+ - **Winning structures** — Questions? Statements? Commands? Numbers?
165
+ - **Winning word patterns** — Specific words or phrases that recur?
166
+ - **Character utilization** — Are top performers shorter or longer?
167
+
168
+ ### Step 2: Analyze Losers
169
+
170
+ - **Themes that fall flat** — What angles aren't resonating?
171
+ - **Common patterns in low performers** — Too generic? Too long? Wrong tone?
172
+
173
+ ### Step 3: Generate New Variations
174
+
175
+ - **Doubles down** on winning themes with fresh phrasing
176
+ - **Extends** winning angles into new variations
177
+ - **Tests** 1-2 new angles not yet explored
178
+ - **Avoids** patterns found in underperformers
179
+
180
+ ---
181
+
182
+ ## Writing Quality Standards
183
+
184
+ ### Headlines That Click
185
+
186
+ **Strong headlines:**
187
+
188
+ - Specific ("Cut reporting time 75%") over vague ("Save time")
189
+ - Benefits ("Ship code faster") over features ("CI/CD pipeline")
190
+ - Active voice ("Automate your reports") over passive ("Reports are automated")
191
+ - Include numbers when possible ("3x faster," "in 5 minutes," "10,000+ teams")
192
+
193
+ **Avoid:**
194
+
195
+ - Jargon the audience won't recognize
196
+ - Claims without specificity ("Best," "Leading," "Top")
197
+ - All caps or excessive punctuation
198
+ - Clickbait that the landing page can't deliver on
199
+
200
+ ### Descriptions That Convert
201
+
202
+ Use descriptions to:
203
+
204
+ - Add proof points (numbers, testimonials, awards)
205
+ - Handle objections ("No credit card required")
206
+ - Reinforce CTAs ("Start your free trial today")
207
+ - Add urgency when genuine ("Limited to first 500 signups")
208
+
209
+ ---
210
+
211
+ ## Generating Ad Visuals
212
+
213
+ For image and video ad creative, use generative AI tools and code-based video rendering:
214
+
215
+ - **Image generation** — Nano Banana Pro (Gemini), Flux, Ideogram for static ad images
216
+ - **Video generation** — Veo, Kling, Runway, Sora, Seedance, Higgsfield for video ads
217
+ - **Voice & audio** — ElevenLabs, OpenAI TTS, Cartesia for voiceovers, cloning, multilingual
218
+ - **Code-based video** — Remotion for templated, data-driven video at scale
219
+
220
+ **Recommended workflow:**
221
+
222
+ 1. Generate hero creative with AI tools (exploratory, high-quality)
223
+ 2. Build Remotion templates based on winning patterns
224
+ 3. Batch produce variations with Remotion using data feeds
225
+ 4. Iterate — AI for new angles, Remotion for scale
226
+
227
+ For Brazilian-DR Anti-AI Visual Protocol (rejects generic gradients, symmetric compositions, template-like layouts), see [`digital-marketing/SKILL.md`](../../../digital-marketing/SKILL.md#anti-ai-visual-protocol).
228
+
229
+ ---
230
+
231
+ ## Common Mistakes
232
+
233
+ - **Writing headlines that only work together** — RSA headlines get combined randomly
234
+ - **Ignoring character limits** — Platforms truncate without warning
235
+ - **All variations sound the same** — Vary angles, not just word choice
236
+ - **No CTA headlines** — Include at least 2-3 action-oriented headlines
237
+ - **Generic descriptions** — "Learn more about our solution" wastes the slot
238
+ - **Iterating without data** — Gut feelings are less reliable than metrics
239
+ - **Testing too many things at once** — Change one variable per test cycle
240
+ - **Retiring creative too early** — Allow 1,000+ impressions before judging
241
+
242
+ ---
243
+
244
+ ## Related Skills
245
+
246
+ - **ads** (sibling): Campaign strategy, targeting, budgets, optimization
247
+ - **copywriting** (general): Landing page copy
248
+ - **ab-testing** (activate): Structuring creative tests with statistical rigor
249
+ - **marketing-psychology** (foundation): Psychological principles behind high-performing creative
250
+ - **copy-editing** (general): Polishing ad copy before launch
251
+ - **digital-marketing/copy-formats**: Brazilian-DR 7-part Video Ad + Image Ad 4-block templates + Creative Angle Matrix
@@ -0,0 +1,19 @@
1
+ ---
2
+ source: coreyhaines31/marketingskills (MIT) v2.0.1
3
+ imported: 2026-05-20 (stub) — full body deferred to follow-up cleanup
4
+ stage: acquire
5
+ skill: ads
6
+ upstream_path: skills/ads/references/ad-copy-templates.md
7
+ ---
8
+
9
+ # ad-copy-templates — reference stub
10
+
11
+ This is a thin pointer to an upstream reference. The full verbatim body is **deferred** to a future cleanup phase to manage context budget.
12
+
13
+ **Upstream URL (canonical body):** https://github.com/coreyhaines31/marketingskills/blob/main/skills/ads/references/ad-copy-templates.md
14
+
15
+ **Raw fetch URL:** https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/ads/references/ad-copy-templates.md
16
+
17
+ **Parent skill:** [`../ads.md`](../ads.md) (stage: acquire)
18
+
19
+ **To import the full body** (future task): `curl -sSL <raw URL> -o references/acquire/ads/references/ad-copy-templates.md`, then prepend the standard Adjacency header.