@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,98 @@
1
+ # responsive-and-multi-format — Web breakpoints + video aspect ratios
2
+
3
+ ## Charter
4
+
5
+ Responsive design used to mean "make the desktop layout shrink." That mental model is broken. Today's rule: design for 375 px first, expand outward. Plus, for FF's video pipeline, the format isn't just a screen size — it's a fundamentally different composition. A 1080×1920 vertical reel is not a cropped 1920×1080 video. Beauty in responsive design comes from honoring each canvas as its own thing, not as a derivative of another.
6
+
7
+ ## Principles
8
+
9
+ 1. **Mobile-first is a discipline, not a hashtag.** Start the CSS from no media query (mobile defaults), add `@media (width >= 768px)` for tablet expansions, `@media (width >= 1024px)` for laptop, `@media (width >= 1440px)` for wide desktop. Reverse-engineering from desktop is harder.
10
+ 2. **Breakpoints by content, not by device.** Devices come and go. Content needs change at specific widths — when a card hits 320 px, when text drops below 65 ch, when a 2-column grid no longer fits 2 useful columns. Use logical breakpoints, not "iPhone 14".
11
+ 3. **Fluid typography over breakpoint typography.** `font-size: clamp(1rem, 2vw + 0.5rem, 1.5rem)` smoothly scales from mobile to desktop without 6 step changes. Tailwind v4 supports this natively.
12
+ 4. **Container queries for components.** A card sidebar component shouldn't care about the viewport — it should care about its container. `@container` (now widely supported) lets components be self-aware.
13
+ 5. **No horizontal scroll on mobile.** Test at 375 px. Use `overflow-x: hidden` only as the absolute last resort. Real fix: contain widths, use `min-w-0` on flex children, set `max-width: 100vw` on rebellious elements.
14
+ 6. **16 px minimum body text on mobile.** Smaller fonts trigger iOS auto-zoom on form focus. Universally bad UX. Even labels at 14 px should bump up if they're inside a tappable area.
15
+ 7. **Touch-first on mobile.** No hover-only interactions. Every hover state needs a tap equivalent. Tooltips become tap-to-reveal popovers.
16
+ 8. **For video formats: each aspect ratio is a redesign, not a crop.** The focal element, hierarchy, and safe areas differ. A talking-head shot for 16:9 needs to crop tighter for 9:16, and the lower-third graphic moves entirely.
17
+
18
+ ## Web breakpoints
19
+
20
+ **The four-tier system:**
21
+ | Tier | Min width | Use case |
22
+ |---|---|---|
23
+ | Mobile | 375 px (default) | Phones, narrow viewports |
24
+ | Tablet | 768 px | iPad portrait, landscape phones, narrow laptops |
25
+ | Laptop | 1024 px | iPad landscape, smaller laptops, half-screen browsers |
26
+ | Desktop | 1440 px | Full-screen modern displays |
27
+
28
+ Tailwind v4 default: `sm:` 640, `md:` 768, `lg:` 1024, `xl:` 1280, `2xl:` 1536. Many teams override `sm` to 480 to better match real phone landscape.
29
+
30
+ **Test viewport widths**: 375 (iPhone SE), 414 (iPhone Pro), 768 (iPad), 1024 (iPad landscape), 1440 (laptop), 1920 (desktop). Anything that breaks at any of these fails.
31
+
32
+ **Common responsive patterns:**
33
+
34
+ - **Stack-to-grid** — single column mobile, 2-col tablet, 3-col laptop. Use `grid-cols-1 md:grid-cols-2 lg:grid-cols-3`
35
+ - **Sidebar collapse** — hidden mobile (drawer/sheet), inline tablet+, persistent laptop+
36
+ - **Nav switch** — hamburger mobile, full nav tablet+, mega-menu desktop
37
+ - **Container reflow** — image+text side-by-side on desktop, stacked on mobile, image first or last by hierarchy
38
+
39
+ ## Remotion multi-format
40
+
41
+ **FF's 9 templates × 3+ dimensions:**
42
+
43
+ | Template | Format | Dimensions | Aspect | Use case |
44
+ | --------------- | ----------------------- | ------------------------------- | ------ | ----------------------------- |
45
+ | SocialVertical | tiktok | 1080×1920 | 9:16 | TikTok, Instagram Reels |
46
+ | Widescreen | widescreen | 1920×1080 | 16:9 | YouTube, web embeds |
47
+ | SocialSquare | square | 1080×1080 | 1:1 | Instagram feed legacy |
48
+ | Educational | widescreen | 1920×1080 | 16:9 | Course content, tutorials |
49
+ | Promotional | tiktok | 1080×1920 | 9:16 | Promo reels, ads |
50
+ | Storytelling | widescreen | 1920×1080 | 16:9 | Long-form narrative |
51
+ | ProductShowcase | widescreen | 1920×1080 | 16:9 | Product demos |
52
+ | CarouselSlide | square/portrait/stories | 1080×1080, 1080×1350, 1080×1920 | mixed | Static IG carousel |
53
+ | VerticalClip | stories | 1080×1920 | 9:16 | Subtitled clips, face-tracked |
54
+
55
+ **Safe-area zones per platform:**
56
+
57
+ - **Instagram Reels (1080×1920):** top 200 px (username overlay), bottom 250 px (caption + UI), right 80 px (action buttons). Place primary content in the central 980×1470 region.
58
+ - **TikTok (1080×1920):** top 150 px (caption text), bottom 200 px (action bar), right 100 px (icons). Central 880×1570 region.
59
+ - **YouTube (1920×1080):** top 50 px (title overlay first 8 s), bottom 80 px (controls/end-screen). Central 1820×950.
60
+ - **Instagram Feed (1080×1080):** 5% margin every side (54 px). Central 972×972.
61
+ - **Stories (1080×1920):** top 200 px reserved (poll/sticker UI), bottom 100 px (action UI). Central 1080×1620.
62
+
63
+ **Format-specific composition rules:**
64
+
65
+ 1. **Vertical (9:16):** vertical hierarchy. Hero element top-third, supporting middle-third, CTA bottom-third (above safe area).
66
+ 2. **Square (1:1):** balanced composition. Single focal point center or rule-of-thirds. Avoid wide horizontal layouts.
67
+ 3. **Wide (16:9):** rule of thirds. Lower-third graphics 80% from top. Title cards take advantage of horizontal space.
68
+ 4. **Portrait (4:5, 1080×1350):** vertical hierarchy with more breathing room than 9:16. Good for IG feed if vertical reels not fitting.
69
+
70
+ ## Cross-references
71
+
72
+ - For touch-target rules and mobile interaction: read `interaction-design.md` in this skill
73
+ - For typography sizing across breakpoints: read `typography.md` in this skill
74
+ - For Remotion bucket-by-bucket details: read `remotion-bridge.md` in this skill
75
+ - For Tailwind v4 breakpoint customization: read `tailwind-design-system` skill
76
+
77
+ ## Quick checklist
78
+
79
+ **Web:**
80
+
81
+ - [ ] Designed mobile-first (375 px baseline)
82
+ - [ ] Tested at 375 / 768 / 1024 / 1440
83
+ - [ ] No horizontal scroll on mobile
84
+ - [ ] Body text ≥ 16 px on mobile
85
+ - [ ] Container queries used where component reflow needed
86
+ - [ ] Fluid typography (clamp) where appropriate
87
+ - [ ] No hover-only interactions
88
+ - [ ] Sidebar/nav patterns match the 4-tier system
89
+
90
+ **Remotion:**
91
+
92
+ - [ ] Format chosen first, composition designed for it (not cropped)
93
+ - [ ] Safe-area zones respected for target platform
94
+ - [ ] Vertical compositions use vertical hierarchy
95
+ - [ ] Wide compositions use rule of thirds
96
+ - [ ] Square compositions are balanced/centered
97
+ - [ ] Lower-third graphic positioned at 80% bottom for wide formats
98
+ - [ ] No critical content in platform UI overlays
@@ -0,0 +1,88 @@
1
+ # spatial-design — Asymmetry, negative space, intentional grid breaks
2
+
3
+ ## Charter
4
+
5
+ Most AI-generated layouts default to a centered column with evenly-spaced cards on a 12-column grid. The result is symmetric, balanced, and forgettable. Beauty in space comes from intentional asymmetry, negative space treated as a design element rather than waste, and grid breaks that signal hierarchy. The grid is a tool, not a cage.
6
+
7
+ ## Principles
8
+
9
+ 1. **Negative space is content.** Whitespace is not empty — it directs attention, signals luxury, and gives the eye somewhere to rest. The most expensive products in the world (Apple, Hermès, Aesop) use more whitespace than competitors, not less.
10
+ 2. **Asymmetric layouts feel alive.** A centered hero with three centered feature columns underneath looks like a template. Off-center the hero, weight one feature larger than the others, let an element extend beyond the grid container. The page gains rhythm.
11
+ 3. **Use a spacing scale.** 4px or 8px base. Tokens: `space-1` (4) / `space-2` (8) / `space-3` (12) / `space-4` (16) / `space-6` (24) / `space-8` (32) / `space-12` (48) / `space-16` (64). Arbitrary `padding: 19px` is the surest sign of an undisciplined hand.
12
+ 4. **Section padding is bigger than you think.** Mobile sections want `space-12` to `space-16` (48–64 px) of vertical breathing room. Desktop wants `space-24` (96 px) or more. AI-generated sites consistently under-pad and feel cramped.
13
+ 5. **Break the grid with one element per section.** A photo that bleeds full-width while the text stays in the 12-col grid. A pull quote at 80% width while the body sits at 65 ch. One break per section creates rhythm; three breaks creates chaos.
14
+ 6. **Layer with overlap.** Cards overlapping the section above. Photos overlapping a band of color. A heading kissing the edge of an image. Overlap signals depth and intention.
15
+ 7. **Container queries over breakpoints when possible.** A card that needs to reflow when its container is narrow shouldn't depend on the viewport — it should query its container.
16
+ 8. **Max-width discipline.** Body content at `max-w-prose` (~65 ch). Marketing sections at `max-w-7xl` (1280 px) or wider. Full-bleed media at viewport. Mixing these creates the right tension.
17
+
18
+ ## Web application
19
+
20
+ **Spacing tokens** in Tailwind v4:
21
+
22
+ ```css
23
+ @theme {
24
+ --spacing-section-y: 6rem; /* 96px */
25
+ --spacing-section-x: 1.5rem; /* 24px mobile */
26
+ }
27
+
28
+ @media (width >= 768px) {
29
+ :root {
30
+ --spacing-section-x: 4rem;
31
+ }
32
+ }
33
+ ```
34
+
35
+ **Grid breaks** examples:
36
+
37
+ - Bleed photo: `<img class="w-screen relative left-1/2 -translate-x-1/2">` inside a constrained container
38
+ - Off-center hero: 5/12 + 7/12 columns, body left, image right
39
+ - Layered card: `mt-[-4rem] z-10` to lift over previous section
40
+
41
+ **Common compositions:**
42
+
43
+ - **Bento grid** — Apple-style feature showcase. Mixed-size cells. One large + several smaller.
44
+ - **Editorial** — long-form content, single column, generous margins, breakable for pull quotes
45
+ - **Dashboard** — dense, information-first, reduced spacing scale
46
+ - **Marketing** — punchy, alternating sections, full-bleed mixed with constrained
47
+ - **App shell** — sidebar + main, sticky header, scrollable region
48
+
49
+ ## Remotion application
50
+
51
+ Video composition is spatial design at high stakes — every pixel is intentional because the viewer can't pause to re-read.
52
+
53
+ 1. **Safe areas matter.** Bottom 250 px on Instagram is hidden under captions. Bottom 200 px on TikTok is the action bar. Top 100 px on YouTube has the title overlay. Place nothing important there.
54
+ 2. **Rule of thirds for cinematic shots.** `cinematic/CameraMotion` Ken Burns presets respect this — the focal point lands on a third intersection. Don't compose center-frame for cinematic templates.
55
+ 3. **Layout components in FF:**
56
+ - `layout/SplitScreen` — two-up composition, perfect for before/after, comparison, dialogue
57
+ - `layout/Overlay` — text or graphic over background media, requires contrast plate
58
+ - `layout/FullBleed` — edge-to-edge media, used for hero shots in 16:9 templates
59
+ - `layout/Grid` — multi-cell composition, max 4 cells before the eye loses track
60
+ - `layout/CenteredContent` — for typographic moments, quotes, single-statement frames
61
+ 4. **Vertical, square, wide need different layouts.** A composition that works at 1920×1080 fails at 1080×1920. Plan the focal element first, then crop the surroundings.
62
+
63
+ **Format-specific grids:**
64
+
65
+ - **1080×1920 (vertical/Reels/TikTok):** central column at 80% width, top 200 px reserved for username/sound, bottom 250 px reserved for captions
66
+ - **1080×1080 (square/Carousel):** 5% margin all sides, central focal point, max one secondary element
67
+ - **1920×1080 (wide/YouTube):** rule-of-thirds composition, lower-third graphic at 80% bottom band
68
+ - **1080×1350 (portrait/Feed):** 5% margin, vertical hierarchy preferred over horizontal
69
+
70
+ ## Cross-references
71
+
72
+ - For 30-pattern landing-page catalog: read `design-ux-patterns` skill, `references/landing-patterns.md`
73
+ - For Tailwind v4 spacing tokens: read `tailwind-design-system` skill
74
+ - For Remotion layout components in detail: read `remotion-bridge.md` in this skill
75
+ - For motion timing inside layouts: read `motion-design.md` in this skill
76
+
77
+ ## Quick checklist
78
+
79
+ - [ ] Spacing scale tokens used everywhere — no arbitrary px values
80
+ - [ ] Section padding generous (mobile ≥48 px Y, desktop ≥96 px Y)
81
+ - [ ] At least one intentional grid break per major section
82
+ - [ ] Asymmetric composition where appropriate (no everything-centered)
83
+ - [ ] Negative space treated as a design element
84
+ - [ ] Container queries used for component-level reflow
85
+ - [ ] Max-width discipline (prose, marketing, full-bleed are distinct)
86
+ - [ ] For Remotion: safe-area zones respected per platform
87
+ - [ ] For Remotion: format-specific composition (vertical ≠ wide ≠ square)
88
+ - [ ] Layer with overlap where depth is wanted
@@ -0,0 +1,60 @@
1
+ # typography — Type as identity carrier
2
+
3
+ ## Charter
4
+
5
+ Type is the loudest carrier of identity in any interface. Most AI-generated UIs lose immediately because they default to Inter or Geist for everything — the fonts that say "this was made by an LLM in 2025." A confident type system pairs on contrast, commits to a scale, and earns its hierarchy through weight and size, not through 47 different colors.
6
+
7
+ ## Principles
8
+
9
+ 1. **Pair on contrast, never on similarity.** The strongest pairings put a serif against a sans, a display against a humanist body, or a thin geometric heading against a slab body. Two grotesques are noise.
10
+ 2. **Use a modular scale.** 1.25 (major third) is the safe default. 1.333 (perfect fourth) for editorial. 1.125 (major second) for data-dense dashboards. Never set arbitrary pixel sizes.
11
+ 3. **Body type ≥ 16px on screen.** 14px is for labels and metadata only. Smaller body text fails legibility at 1m viewing distance, fails iOS auto-zoom on form inputs, and signals "I do not respect the reader."
12
+ 4. **Line height carries hierarchy.** 1.5 for body paragraphs. 1.2 for headings (so they feel architectural). 1.7 for long-form reading. Mixing these wrong creates the feeling that the page is "off" without the user being able to name why.
13
+ 5. **Line length 65–75 characters.** Beyond that, the eye loses the next line. Below 45, the rhythm gets choppy. Use `max-w-prose` in Tailwind or `max-width: 65ch` in CSS.
14
+ 6. **Limit weights.** Load 3 weights per family, max. Regular 400 + Medium 500 + Bold 700 covers 95% of cases. Variable fonts let you avoid this rule entirely — load one file, use any weight.
15
+ 7. **Letter-spacing scales inversely with size.** H1 wants `-0.02em` to `-0.04em` (large letters need tightening). Body wants `0`. ALL CAPS labels want `+0.05em` to `+0.1em`. Default letter-spacing on display sizes always looks loose.
16
+ 8. **Numerals matter.** For data, use tabular figures (`font-variant-numeric: tabular-nums`) so columns align. For prose, use proportional. For prices, lining figures over old-style.
17
+
18
+ ## Web application
19
+
20
+ - **Loading**: `font-display: swap` always, never block on font load
21
+ - **next/font**: `next/font/google` is preferred over manual `<link>` — auto-subsets and self-hosts at build time
22
+ - **CSS variables**: declare `--font-heading` and `--font-body` once at `:root`, reference everywhere
23
+ - **Variable fonts**: `Inter Variable`, `Outfit`, `Space Grotesk`, `Source Serif 4` — use the variable axis (`wght`, `slnt`, `opsz`) instead of loading multiple files
24
+ - **Fallback stacks**: every custom font needs a `system-ui, -apple-system, sans-serif` fallback so FOUT doesn't break layout
25
+
26
+ ## Remotion application
27
+
28
+ Video typography behaves differently. Three rules override the web defaults:
29
+
30
+ 1. **Letter-spacing is animatable**, and animating it from `+0.1em` → `0` over 12 frames creates the most-used text reveal in the cinematic component bucket. Use it for `text/Title` and `text/Subtitle` entrances.
31
+ 2. **Compression breaks thin weights.** Anything under 400 weight degrades visibly at 8 Mbps H.264. Default to 500 minimum for Remotion text components.
32
+ 3. **Line height is taller in video.** Body text on screen wants 1.5; subtitles in `text/SubtitleOverlay` want 1.35–1.4 because the viewer's eye doesn't stay on a single block — they're reading bursts. Long line height in video feels lazy, not generous.
33
+
34
+ Component-specific:
35
+
36
+ - `text/Title` — display weight, tight letter-spacing, animated entrance
37
+ - `text/Subtitle` — body+1 size, regular weight, no letter-spacing animation (loses readability)
38
+ - `text/Typewriter` — monospace family, fixed-width, character-reveal animation
39
+ - `text/SubtitleOverlay` — caption weight (500), background plate or text-shadow for legibility on any video, max 2 lines per cue
40
+ - `text/WordHighlight` — body family, accent color shift on cue word, no font-family swap (visually unstable)
41
+
42
+ ## Cross-references
43
+
44
+ - For full font-pairing catalog: read `design-typography` skill, especially `references/full-pairings.md` (57 pairings)
45
+ - For OKLCH on type colors: read `color-and-contrast.md` in this skill
46
+ - For motion timing of text reveals: read `motion-design.md` in this skill
47
+ - For caption tone and brevity (paired with type): read `voice-and-microcopy.md`
48
+
49
+ ## Quick checklist
50
+
51
+ - [ ] Body type ≥ 16 px (or 500 weight in video)
52
+ - [ ] Maximum 2 font families (heading + body, or single family)
53
+ - [ ] Maximum 3 weights per family loaded
54
+ - [ ] Modular scale (1.25 default) — no arbitrary px sizes
55
+ - [ ] Line height: 1.5 body / 1.2 heading / 1.4 video subtitles / 1.7 long-form
56
+ - [ ] Line length 65–75 ch on web body
57
+ - [ ] Letter-spacing: negative on display, neutral on body, positive on caps
58
+ - [ ] Tabular figures for data tables and prices
59
+ - [ ] `font-display: swap` on every Google Font import
60
+ - [ ] Tight pairing rationale documented (why these two fonts)
@@ -0,0 +1,102 @@
1
+ # verb-adapt — Different devices for web, different formats for Remotion
2
+
3
+ ## Trigger
4
+
5
+ User invokes `/beauty adapt [target]` or asks to "make this work on mobile," "adapt for tablet," "redo this for vertical," "we need a square version of this video." Translates an existing design into a new viewport (web) or a new aspect ratio (Remotion).
6
+
7
+ ## Inputs
8
+
9
+ - A target that exists in one canvas
10
+ - A new canvas to translate to (e.g., desktop → mobile, 16:9 → 9:16)
11
+
12
+ ## Process
13
+
14
+ 1. Read `references/responsive-and-multi-format.md` (primary). For Remotion: `remotion-bridge.md` (format-specific composition).
15
+ 2. **Don't crop. Recompose.** A 16:9 design cropped to 9:16 looks broken because the focal element wasn't designed for vertical. Treat each canvas as its own design.
16
+ 3. **For web (desktop → mobile or vice versa):**
17
+ - Identify the **single primary action** on each viewport (mobile users have less patience)
18
+ - Stack columns vertically on mobile (mobile-first)
19
+ - Replace hover-only interactions with tap equivalents
20
+ - Bump body text to 16 px minimum
21
+ - Test at 375 / 768 / 1024 / 1440
22
+ - Container queries for component-level reflow
23
+ 4. **For Remotion (16:9 → 9:16, etc.):**
24
+ - Identify the focal element first (the thing that must read regardless of crop)
25
+ - Recompose around it: vertical hierarchy for 9:16, balanced for 1:1, rule-of-thirds for 16:9
26
+ - Recompute safe areas for the target platform (Instagram captions, TikTok bottom bar, YouTube end-screen)
27
+ - Adjust line breaks in captions (vertical can hold 2-line captions tighter than wide)
28
+ - Camera motion may need different preset (Ken Burns reads differently in 9:16)
29
+
30
+ ## Output
31
+
32
+ A new variant of the target file (or a section of it) for the new canvas + a log of what changed.
33
+
34
+ ```
35
+ Adapt applied (16:9 widescreen → 9:16 vertical):
36
+ - Layout: layout/SplitScreen → layout/CenteredContent (vertical hierarchy)
37
+ - Hero text: 80% width → 90% width
38
+ - Subtitle: hidden in 16:9 → shown in 9:16 (vertical has more space top-to-bottom)
39
+ - Camera: cinematic/CameraMotion preset="dolly" → "ken-burns" (drift reads better vertically)
40
+ - Top 200 px reserved (Instagram username), bottom 250 px (caption)
41
+ - Lower-third graphic moved to upper-third (16:9 lower-third position is in safe area for 9:16)
42
+ - TransitionEffect unchanged (cross-dissolve works in both formats)
43
+ ```
44
+
45
+ ## Pre-checks
46
+
47
+ - [ ] Recomposed (not cropped)
48
+ - [ ] Primary focal element preserved across formats
49
+ - [ ] Safe areas respected for target platform
50
+ - [ ] For web: tested at 375 / 768 / 1024 / 1440
51
+ - [ ] For web: hover replaced with tap on mobile
52
+ - [ ] For web: body ≥ 16 px, no horizontal scroll
53
+ - [ ] For Remotion: format-appropriate composition (vertical/square/wide)
54
+ - [ ] For Remotion: caption breaks adjusted for new aspect
55
+ - [ ] For Remotion: camera motion preset re-evaluated
56
+
57
+ ## Examples
58
+
59
+ **Web target adapt pass (desktop → mobile):**
60
+
61
+ ```
62
+ File: components/landing/Pricing.tsx
63
+
64
+ Desktop (1440):
65
+ - 3 plan cards in a row, 4 features visible per card
66
+ - Hover reveals additional details
67
+ - Comparison table below cards (full-width)
68
+
69
+ Mobile (375) adapted:
70
+ - Stack: 3 cards vertically, "Most popular" plan first (highest intent)
71
+ - All features visible (no hover-only details on mobile — replaced with tap-to-expand)
72
+ - Comparison table → "View full comparison" link to a separate route
73
+ - CTA buttons sticky to bottom on long card scroll
74
+ - Touch targets bumped: py-2 → py-4 (min 44 px)
75
+ ```
76
+
77
+ **Remotion target adapt pass (16:9 → 9:16):**
78
+
79
+ ```
80
+ File: scene/IntroScene-vertical.tsx (new variant of scene/IntroScene.tsx)
81
+
82
+ 16:9 original:
83
+ - layout/SplitScreen 50/50: hero photo right, text left
84
+ - Title at top-left, subtitle below
85
+ - LowerThird at 80% from top (rule of thirds)
86
+
87
+ 9:16 adapted:
88
+ - layout/CenteredContent stacked vertically
89
+ - Hero photo: top half (full-width)
90
+ - Text: bottom half (above 250 px caption safe area)
91
+ - Title at vertical-third intersection (recomposed for vertical)
92
+ - LowerThird removed (would compete with caption zone)
93
+ - Top 200 px reserved (Instagram username overlay)
94
+ - Camera preset changed: pan-right → ken-burns (vertical drift)
95
+ ```
96
+
97
+ ## Cross-references
98
+
99
+ - Cites: `responsive-and-multi-format.md` (primary), `remotion-bridge.md` (Remotion targets), `spatial-design.md`
100
+ - For Tailwind v4 responsive patterns: `tailwind-design-system` skill
101
+ - For 9 FF templates by aspect: `responsive-and-multi-format.md`
102
+ - Companion: `verb-layout` (composition fixes for the new canvas)
@@ -0,0 +1,97 @@
1
+ # verb-animate — Add purposeful motion
2
+
3
+ ## Trigger
4
+
5
+ User invokes `/beauty animate [target]` or asks to "add motion here," "this feels static," "give this some life," "animate the entrance." Adds motion that **earns its place** — every animation must clarify hierarchy or guide attention, never just exist.
6
+
7
+ ## Inputs
8
+
9
+ - A target that's static or under-animated
10
+ - Optional: motion intent ("entrance only", "hover states", "scroll-triggered")
11
+
12
+ ## Process
13
+
14
+ 1. Read `references/motion-design.md` (primary). For Remotion: also `remotion-bridge.md`.
15
+ 2. Identify what motion would serve:
16
+ - **Entrance** — page load, modal open, content reveal
17
+ - **State change** — hover, focus, active, loading
18
+ - **Scroll-triggered** — section reveal as it enters viewport
19
+ - **Data update** — number changes, list reorders, card moves
20
+ - **Pacing** (Remotion only) — scene transitions, beat emphasis
21
+ 3. Apply with discipline:
22
+ - **Use transform + opacity only** (GPU-accelerated)
23
+ - **Stagger 50–100 ms** (web) / **6–8 frames** (Remotion at 30fps)
24
+ - **Exits faster than entrances** (~150 ms vs ~300 ms)
25
+ - **Hover at 150 ms**, focus at same
26
+ - **prefers-reduced-motion** respected — wrap or use `useReducedMotion()`
27
+ 4. For Remotion: pick from the FF library — `animation/SpringEntrance`, `animation/StaggeredList`, `animation/FadeIn/SlideIn/ZoomIn`. For scenes: `cinematic/CameraMotion` and `cinematic/TransitionEffect`.
28
+
29
+ ## Output
30
+
31
+ Target with motion added + token references used.
32
+
33
+ ```
34
+ Animate applied:
35
+ - Hero entrance: Title fade-up 400ms ease-out, stagger 80ms between H1 / subtitle / CTA
36
+ - Cards: hover translateY(-2px) + shadow-shift, 150ms ease-out
37
+ - List item add: layout animation 250ms (Framer Motion)
38
+ - Reduced-motion: all decorative animation disabled, only loading retained
39
+ - Tokens: --duration-base 300ms, --ease-out cubic-bezier(0.16, 1, 0.3, 1)
40
+ ```
41
+
42
+ ## Pre-checks
43
+
44
+ - [ ] Every animation has a purpose (clarifies hierarchy or guides attention)
45
+ - [ ] No bounce/elastic easing (anti-pattern #7)
46
+ - [ ] No animation on width/height/margin (use transform/opacity)
47
+ - [ ] prefers-reduced-motion respected
48
+ - [ ] Stagger 50–100 ms (web) / 6–8 frames (Remotion)
49
+ - [ ] Exits faster than entrances
50
+ - [ ] Hover 100–200 ms
51
+ - [ ] No element animating "just because"
52
+ - [ ] For Remotion: camera motion runs full segment length
53
+ - [ ] For Remotion: ColorGrade applied at scene level if cinematic intent
54
+
55
+ ## Examples
56
+
57
+ **Web target animate pass:**
58
+
59
+ ```
60
+ File: components/landing/Hero.tsx
61
+
62
+ Before:
63
+ - All elements appear instantly on load, no entrance
64
+ - Buttons static on hover
65
+
66
+ After:
67
+ - Page-load reveal: H1 fadeUp 400ms ease-out → subtitle 480ms (stagger 80ms) → CTA 560ms
68
+ - Hero image: scale(0.98) → 1 + opacity 0 → 1, 600ms ease-out
69
+ - Button hover: translateY(-2px) + shadow-shift, 150ms
70
+ - Wrapped in @media (prefers-reduced-motion: no-preference)
71
+ - Used Framer Motion's <motion.div> with whileInView for scroll-triggered subsequent sections
72
+ ```
73
+
74
+ **Remotion target animate pass:**
75
+
76
+ ```
77
+ File: scene/ListScene.tsx
78
+
79
+ Before:
80
+ - 5 list items appear simultaneously — feels glitchy
81
+ - No camera motion
82
+ - Hard cut transition out
83
+
84
+ After:
85
+ - Wrapped items in animation/StaggeredList (6-frame stagger between siblings)
86
+ - Each item uses animation/SlideIn from="bottom" 24px / 12-frame spring
87
+ - Added cinematic/CameraMotion preset="drift" (gentle background motion)
88
+ - Out-transition: cinematic/TransitionEffect preset="cross-dissolve" 18 frames
89
+
90
+ Scene now reads: list arrives intentionally instead of all-at-once.
91
+ ```
92
+
93
+ ## Cross-references
94
+
95
+ - Cites: `motion-design.md`, `remotion-bridge.md` (Remotion only), `interaction-design.md` (for state changes)
96
+ - For framer-motion specifics: see Merlin's `frontend-ui-animator` or `ui-animation` skill
97
+ - Companion: `verb-delight` (motion that creates joy, beyond just reveal animations)
@@ -0,0 +1,99 @@
1
+ # verb-audit — Technical quality checks (a11y/perf/correctness)
2
+
3
+ ## Trigger
4
+
5
+ User invokes `/beauty audit [target]` or asks to "check accessibility," "audit this for performance," "verify WCAG," "check render performance." This verb runs **technical** checks (mechanically verifiable), distinct from `verb-critique` which does subjective design review.
6
+
7
+ ## Inputs
8
+
9
+ - A target file or component
10
+ - Optional: scope flag ("a11y only", "perf only", "all")
11
+
12
+ ## Process
13
+
14
+ 1. Detect target type (web vs Remotion).
15
+ 2. **For web targets:**
16
+ - Read `references/interaction-design.md` (focus, touch targets, loading states)
17
+ - Read `references/color-and-contrast.md` (WCAG verification)
18
+ - Read `references/responsive-and-multi-format.md` (breakpoint testing)
19
+ - Run mental checks: WCAG AA contrast on every text/bg pair, focus-visible on every interactive element, 44 px touch targets, prefers-reduced-motion wrapping, image alt text, heading hierarchy (no skipped levels), keyboard navigation
20
+ 3. **For Remotion targets:**
21
+ - Read `references/remotion-bridge.md` (bucket-specific render performance)
22
+ - Read `references/responsive-and-multi-format.md` (safe-area zones)
23
+ - Run mental checks: weights ≥500 (H.264 compression), particle count ≤1 per video, max 4 layers per VideoLayerStack, captions ≤17 chars/sec, safe areas respected for target platform, ColorGrade applied at scene level not per-element
24
+ 4. Categorize findings: CRITICAL (data-loss / total fail), HIGH (broken UX), MEDIUM (degraded UX), LOW (polish).
25
+ 5. For each finding, output: location → problem → impact → fix (specific values).
26
+
27
+ ## Output
28
+
29
+ ```
30
+ [CRITICAL/HIGH/MEDIUM/LOW] Issue title
31
+ Where: file:line or "Hero section"
32
+ Problem: <specific>
33
+ Impact: <user-facing consequence>
34
+ Fix: <exact change with values>
35
+ ```
36
+
37
+ Plus a totals line: e.g., `0 CRITICAL / 2 HIGH / 5 MEDIUM / 3 LOW = 10 findings`.
38
+
39
+ ## Pre-checks
40
+
41
+ - [ ] Every finding has a specific fix, not "improve X"
42
+ - [ ] CRITICAL reserved for actual data-loss or total fail (not polish)
43
+ - [ ] WCAG ratios calculated and cited (e.g., "2.4:1, fails AA 4.5:1")
44
+ - [ ] For Remotion: safe-area zones cited by exact pixel values per platform
45
+
46
+ ## Examples
47
+
48
+ **Web target audit:**
49
+
50
+ ```
51
+ [HIGH] Touch target too small
52
+ Where: components/MobileNav.tsx:34 (close button)
53
+ Problem: 32×32 px tap target, below 44 px WCAG 2.5.5
54
+ Impact: Mis-taps on mobile, accessibility fail
55
+ Fix: Add `p-3` (12 px padding) or set explicit `size-11` (44 px)
56
+
57
+ [MEDIUM] No focus ring on custom button
58
+ Where: components/Button.tsx:18
59
+ Problem: `outline-none` without replacement
60
+ Impact: Keyboard users lose focus indication
61
+ Fix: Add `focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-primary`
62
+
63
+ [LOW] Reduced-motion not respected
64
+ Where: animations/HeroReveal.tsx:12
65
+ Problem: Animation runs unconditionally
66
+ Impact: Motion-sensitive users get unwanted animation
67
+ Fix: Wrap in `@media (prefers-reduced-motion: no-preference)` or use Framer Motion's `useReducedMotion()`
68
+
69
+ Totals: 0 CRITICAL / 1 HIGH / 1 MEDIUM / 1 LOW = 3 findings
70
+ ```
71
+
72
+ **Remotion target audit:**
73
+
74
+ ```
75
+ [HIGH] Caption reading speed exceeds limit
76
+ Where: scene/ContentScene.tsx (cue at 0:04–0:06)
77
+ Problem: 62 chars in 2 seconds = 31 chars/sec, exceeds 17 ch/s comfort threshold
78
+ Impact: Viewers can't read caption before it disappears
79
+ Fix: Split into two cues at natural phrase boundary, or extend duration to 3.7 s
80
+
81
+ [MEDIUM] Title weight too thin for compression
82
+ Where: text/Title in IntroScene
83
+ Problem: weight 300, degrades visibly at 8 Mbps H.264
84
+ Impact: Letterforms look broken in delivered video
85
+ Fix: Bump to weight 500 minimum, ideally 600 for display sizes
86
+
87
+ [LOW] No ColorGrade on scene
88
+ Where: scene/IntroScene.tsx
89
+ Problem: scene renders untreated; default palette feels untouched
90
+ Impact: Visual identity weaker than peer scenes with grade applied
91
+ Fix: Wrap scene in `cinematic/ColorGrade preset="golden-hour"` or appropriate emotional preset
92
+
93
+ Totals: 0 CRITICAL / 1 HIGH / 1 MEDIUM / 1 LOW = 3 findings
94
+ ```
95
+
96
+ ## Cross-references
97
+
98
+ - Cites: `interaction-design.md`, `color-and-contrast.md`, `responsive-and-multi-format.md`, `remotion-bridge.md`
99
+ - Web a11y standards from `design-ux-patterns` skill (119 UX rules)
@@ -0,0 +1,94 @@
1
+ # verb-bolder — Amplify timid designs
2
+
3
+ ## Trigger
4
+
5
+ User invokes `/beauty bolder [target]` or asks to "make this bolder," "amplify this," "this is too safe," "more confidence in this design," "go bigger." This verb pushes the existing direction further — it doesn't change direction, it commits harder to the one already there.
6
+
7
+ ## Inputs
8
+
9
+ - A target that feels muted, hedged, or under-committed
10
+ - Optional: a dimension to amplify ("bolder typography only", "bolder color")
11
+
12
+ ## Process
13
+
14
+ 1. Read `verb-critique`'s output mentally — identify which dimensions feel timid: type weight too light, color too muted, spacing too cramped, motion too subtle, microcopy too cautious.
15
+ 2. Read references for the dimensions to amplify: `typography.md` for type, `color-and-contrast.md` for color, `spatial-design.md` for composition, `motion-design.md` for motion, `voice-and-microcopy.md` for copy.
16
+ 3. Apply a **2x rule** per amplified dimension:
17
+ - **Type:** display weight 500 → 700, size up one scale step, letter-spacing more negative
18
+ - **Color:** chroma bumped 30%, accent used in more places, contrast ratio raised one bracket
19
+ - **Composition:** section padding doubled, hero takes more vertical space, one element bleeds full-width
20
+ - **Motion:** entrance duration shortened (snappier), stagger more pronounced, hover scale 1.02 → 1.05
21
+ - **Microcopy:** verbs more declarative, hero copy 50% shorter and 100% more direct
22
+ 4. Verify pre-checks — bolder must not break anti-patterns (e.g., bolder color ≠ purple-to-blue gradient).
23
+
24
+ ## Output
25
+
26
+ The target file with amplifications applied. Plus a "before/after" log:
27
+
28
+ ```
29
+ Bolder applied:
30
+ - H1: weight 600 → 800, size text-4xl → text-6xl, letter-spacing -0.02em → -0.04em
31
+ - Accent color chroma: 0.15 → 0.20
32
+ - Hero section padding: py-16 → py-32 (doubled)
33
+ - Entrance reveal: 400ms → 250ms (snappier)
34
+ - Hero copy: "Welcome to our platform that helps teams collaborate more effectively" → "Build faster. Together."
35
+ ```
36
+
37
+ ## Pre-checks
38
+
39
+ - [ ] No anti-patterns introduced (bigger ≠ purple gradient, bolder color ≠ pure red on pure black)
40
+ - [ ] WCAG AA still passes (bolder color must verify contrast)
41
+ - [ ] Touch targets still ≥ 44 px (bigger UI ≠ accidentally smaller buttons)
42
+ - [ ] Reduced-motion still respected (snappier ≠ unconditional motion)
43
+ - [ ] Microcopy still helpful, not cryptic (shorter ≠ vague)
44
+ - [ ] For Remotion: amplified motion still respects safe areas + format
45
+
46
+ ## Examples
47
+
48
+ **Web target bolder pass:**
49
+
50
+ ```
51
+ File: components/Hero.tsx
52
+
53
+ Before:
54
+ - H1 "Welcome to Lampada — your analytics platform" / weight 500, text-3xl
55
+ - Subtitle text-base, weight 400, text-gray-600
56
+ - CTA "Sign Up" / py-2 px-4
57
+ - Section py-16
58
+ - Background bg-white
59
+
60
+ After:
61
+ - H1 "See your data clearly." / weight 800, text-6xl, letter-spacing -0.04em
62
+ - Subtitle text-xl, weight 500, text-gray-900
63
+ - CTA "Start your free 14-day trial" / py-4 px-8 / bg-primary
64
+ - Section py-32
65
+ - Background bg-[oklch(98%_0.01_264)] (tinted, more deliberate)
66
+ - Added: H1 stagger reveals at 8 frames (snappier than default 12)
67
+ ```
68
+
69
+ **Remotion target bolder pass:**
70
+
71
+ ```
72
+ File: scene/IntroScene.tsx
73
+
74
+ Before:
75
+ - Title weight 500, no letter-spacing animation
76
+ - Subtitle reveals 18 frames after Title
77
+ - No ColorGrade
78
+ - Camera static
79
+
80
+ After:
81
+ - Title weight 800, letter-spacing animates +0.10em → 0 over 12 frames
82
+ - Subtitle reveals 6 frames after Title (compressed stagger, more energy)
83
+ - Wrapped in cinematic/ColorGrade preset="cyberpunk" (high-impact emotion)
84
+ - Added cinematic/CameraMotion preset="dolly" (forward push, urgency)
85
+ - Added cinematic/TransitionEffect preset="glitch" on out-transition (matches energy)
86
+
87
+ Bolder verdict: scene now reads as cinematic, not corporate.
88
+ ```
89
+
90
+ ## Cross-references
91
+
92
+ - Cites: `typography.md`, `color-and-contrast.md`, `spatial-design.md`, `motion-design.md`, `voice-and-microcopy.md`
93
+ - For Remotion: `remotion-bridge.md` (cinematic stack composition)
94
+ - Antagonist verb: `verb-quieter` (use that to tone down over-bold designs)