@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,837 @@
1
+ # Complete UX Guidelines (133 Rules)
2
+
3
+ > Reference data for the design-ux-patterns skill. Organized by category with do/don't and code examples.
4
+
5
+ ## Navigation (1-20)
6
+
7
+ ### 1. Smooth Scroll Behavior
8
+
9
+ - **Do:** `html { scroll-behavior: smooth; }` with `prefers-reduced-motion` override
10
+ - **Don't:** Use JavaScript-based smooth scroll that ignores motion preferences
11
+ - **Severity:** Medium
12
+
13
+ ### 2. Sticky Navigation
14
+
15
+ - **Do:** `position: sticky; top: 0; z-index: 50;` with shadow on scroll
16
+ - **Don't:** Use `position: fixed` which removes element from flow
17
+ - **Severity:** Medium
18
+
19
+ ### 3. Active Navigation State
20
+
21
+ - **Do:** Highlight current page/section with `aria-current="page"` + visual indicator
22
+ - **Don't:** Rely only on color change without accessible markup
23
+ - **Severity:** High
24
+
25
+ ### 4. Back Button Support
26
+
27
+ - **Do:** Use proper routing that supports browser back/forward navigation
28
+ - **Don't:** Break browser history with `window.location.replace()` for internal navigation
29
+ - **Severity:** High
30
+
31
+ ### 5. Deep Linking
32
+
33
+ - **Do:** Every significant view should have a unique URL for sharing/bookmarking
34
+ - **Don't:** Use client-side state that can't be reconstructed from the URL
35
+ - **Severity:** Medium
36
+
37
+ ### 6. Breadcrumbs
38
+
39
+ - **Do:** Use `<nav aria-label="Breadcrumb"><ol>` with structured data
40
+ - **Don't:** Use `<div>` with `>` separators and no semantic markup
41
+ - **Severity:** Medium
42
+
43
+ ### 7. Bottom Nav Limit
44
+
45
+ - **Do:** Maximum 5 items in bottom navigation. Always include both icon and text label.
46
+ - **Don't:** Cram 6+ items into bottom nav or use icon-only navigation items
47
+ - **Severity:** High
48
+
49
+ ### 8. Drawer Usage
50
+
51
+ - **Do:** Use drawer/sidebar for secondary navigation (settings, account, help), not primary actions
52
+ - **Don't:** Place primary navigation actions inside a hamburger menu — they become invisible
53
+ - **Severity:** High
54
+
55
+ ### 9. Nav Label + Icon
56
+
57
+ - **Do:** Navigation items must have both icon and text label for discoverability
58
+ - **Don't:** Use icon-only navigation — it harms discoverability and forces users to guess meaning
59
+ - **Severity:** High
60
+
61
+ ### 10. Nav Hierarchy
62
+
63
+ - **Do:** Clearly separate primary navigation (tabs/bottom bar) from secondary (drawer/settings)
64
+ - **Don't:** Mix navigation levels — tab bar items should not open drawers or nested tab bars
65
+ - **Severity:** Medium
66
+
67
+ ### 11. Modal Escape
68
+
69
+ - **Do:** Modals and sheets must offer a clear close/dismiss affordance. Support swipe-down on mobile.
70
+ - **Don't:** Trap users in modals without visible close button or gesture support
71
+ - **Severity:** High
72
+
73
+ ### 12. Search Accessible
74
+
75
+ - **Do:** Search must be easily reachable (top bar or dedicated tab). Provide recent and suggested queries.
76
+ - **Don't:** Bury search behind multiple taps or hide it in a menu
77
+ - **Severity:** Medium
78
+
79
+ ### 13. State Preservation
80
+
81
+ - **Do:** Navigating back must restore previous scroll position, filter state, and input values
82
+ - **Don't:** Reset page state on back navigation — users lose their place and work
83
+ - **Severity:** High
84
+
85
+ ### 14. Gesture Nav Support
86
+
87
+ - **Do:** Support system gesture navigation (iOS swipe-back, Android predictive back) without conflict
88
+ - **Don't:** Override system gestures with custom swipe handlers on the same edge
89
+ - **Severity:** Medium
90
+
91
+ ### 15. Adaptive Navigation
92
+
93
+ - **Do:** Large screens (≥1024px) use sidebar navigation. Small screens use bottom nav or top bar.
94
+ - **Don't:** Force the same navigation layout across all screen sizes
95
+ - **Severity:** Medium
96
+
97
+ ### 16. Back Stack Integrity
98
+
99
+ - **Do:** Back button behavior must be predictable — always return to the previous screen in the stack
100
+ - **Don't:** Silently reset the navigation stack or unexpectedly jump to home on back press
101
+ - **Severity:** High
102
+
103
+ ### 17. Navigation Consistency
104
+
105
+ - **Do:** Navigation placement and structure must stay the same across all pages of the application
106
+ - **Don't:** Change navigation layout, position, or items depending on the current page
107
+ - **Severity:** High
108
+
109
+ ### 18. Modal vs Navigation
110
+
111
+ - **Do:** Use modals for confirmations, alerts, and self-contained tasks. Use navigation for primary user flows.
112
+ - **Don't:** Use modals as navigation screens — they break the user's mental model and back button behavior
113
+ - **Severity:** Medium
114
+
115
+ ### 19. Focus on Route Change
116
+
117
+ - **Do:** After page/route transition, move focus to the main content region for screen reader users
118
+ - **Don't:** Leave focus on the previous page's navigation element after route change
119
+ - **Severity:** High
120
+
121
+ ### 20. Persistent Nav
122
+
123
+ - **Do:** Core navigation must remain reachable from deep pages — never hide it entirely in sub-flows
124
+ - **Don't:** Remove global navigation on detail pages, forcing users to use only the back button
125
+ - **Severity:** Medium
126
+
127
+ ## Animation (7-14)
128
+
129
+ ### 7. Excessive Animation
130
+
131
+ - **Do:** Use subtle, purposeful animations that guide attention (150-300ms)
132
+ - **Don't:** Animate everything or use durations > 500ms for UI transitions
133
+ - **Severity:** High
134
+
135
+ ### 8. Animation Duration
136
+
137
+ - **Do:** Micro-interactions: 150-300ms. Page transitions: 300-500ms. Loading: loop until complete.
138
+ - **Don't:** Use the same duration for all animations regardless of context
139
+ - **Severity:** Medium
140
+
141
+ ### 9. Reduced Motion
142
+
143
+ - **Do:** `@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; } }`
144
+ - **Don't:** Ignore the preference or only apply it to some animations
145
+ - **Severity:** Critical
146
+
147
+ ### 10. Loading States
148
+
149
+ - **Do:** Show skeleton screens for content, spinners for actions, progress bars for uploads
150
+ - **Don't:** Show blank screens or only text "Loading..."
151
+ - **Severity:** High
152
+
153
+ ### 11. Hover vs Tap Distinction
154
+
155
+ - **Do:** Use `@media (hover: hover)` to apply hover effects only on hover-capable devices
156
+ - **Don't:** Apply `:hover` styles that get stuck on touch devices
157
+ - **Severity:** Medium
158
+
159
+ ### 12. Continuous Animation
160
+
161
+ - **Do:** Allow users to pause/stop continuous animations (carousels, marquees)
162
+ - **Don't:** Run infinite animations without pause controls (WCAG 2.2.2)
163
+ - **Severity:** High
164
+
165
+ ### 13. Transform Performance
166
+
167
+ - **Do:** Animate `transform` and `opacity` only — they run on the compositor thread
168
+ - **Don't:** Animate `width`, `height`, `top`, `left`, `margin`, `padding` — they trigger layout
169
+ - **Severity:** Medium
170
+
171
+ ### 14. Easing Functions
172
+
173
+ - **Do:** Use `ease-out` for entrances, `ease-in` for exits, `ease-in-out` for position changes
174
+ - **Don't:** Use `linear` for UI transitions (feels robotic) or custom beziers without testing
175
+ - **Severity:** Low
176
+
177
+ ## Layout (15-21)
178
+
179
+ ### 15. Z-Index Management
180
+
181
+ - **Do:** Use a z-index scale: base(0), dropdown(100), sticky(200), modal(300), toast(400), tooltip(500)
182
+ - **Don't:** Use arbitrary z-index values (999, 9999, 99999)
183
+ - **Severity:** Medium
184
+
185
+ ### 16. Overflow Handling
186
+
187
+ - **Do:** Use `overflow-x: auto` on containers that may overflow, with scroll indicators
188
+ - **Don't:** Use `overflow: hidden` to hide problems — fix the root cause
189
+ - **Severity:** Medium
190
+
191
+ ### 17. Fixed Positioning
192
+
193
+ - **Do:** Use `position: fixed` only for persistent UI (nav, FAB, toast). Test on mobile.
194
+ - **Don't:** Use fixed positioning for content that should scroll with the page
195
+ - **Severity:** Medium
196
+
197
+ ### 18. Stacking Context
198
+
199
+ - **Do:** Create explicit stacking contexts with `isolation: isolate` on container elements
200
+ - **Don't:** Add `position: relative; z-index` to fix stacking — understand the stacking context
201
+ - **Severity:** Low
202
+
203
+ ### 19. Content Jumping (CLS)
204
+
205
+ - **Do:** Reserve space for dynamic content (images, ads, embeds) with explicit dimensions
206
+ - **Don't:** Insert content that pushes existing content down after initial render
207
+ - **Severity:** High
208
+
209
+ ### 20. Viewport Units
210
+
211
+ - **Do:** Use `dvh` (dynamic viewport height) for full-screen layouts on mobile
212
+ - **Don't:** Use `100vh` which doesn't account for mobile browser chrome
213
+ - **Severity:** Medium
214
+
215
+ ### 21. Container Width
216
+
217
+ - **Do:** Set `max-width` on content containers (1280px typical). Center with `margin: 0 auto`.
218
+ - **Don't:** Let content stretch to full viewport width on large screens
219
+ - **Severity:** Medium
220
+
221
+ ## Touch & Mobile (22-27)
222
+
223
+ ### 22. Touch Target Size
224
+
225
+ - **Do:** Minimum 44x44px touch target (48x48px recommended). Use padding to expand small elements.
226
+ - **Don't:** Use small icons/links without expanding their touch area
227
+ - **Severity:** Critical
228
+ - **Code:** `button { min-width: 44px; min-height: 44px; }`
229
+
230
+ ### 23. Touch Target Spacing
231
+
232
+ - **Do:** Minimum 8px gap between adjacent touch targets
233
+ - **Don't:** Place touch targets directly adjacent with no gap
234
+ - **Severity:** High
235
+
236
+ ### 24. Gesture Conflicts
237
+
238
+ - **Do:** Avoid horizontal swipe gestures that conflict with browser back/forward
239
+ - **Don't:** Override system gestures or use swipe for destructive actions without confirmation
240
+ - **Severity:** Medium
241
+
242
+ ### 25. Tap Delay
243
+
244
+ - **Do:** Use `touch-action: manipulation` to remove 300ms tap delay
245
+ - **Don't:** Use click handlers without addressing the delay on older mobile browsers
246
+ - **Severity:** Medium
247
+
248
+ ### 26. Pull to Refresh
249
+
250
+ - **Do:** If implementing, use `overscroll-behavior-y: contain` to prevent browser PTR conflicts
251
+ - **Don't:** Implement custom PTR that fights with the browser's native behavior
252
+ - **Severity:** Low
253
+
254
+ ### 27. Haptic Feedback
255
+
256
+ - **Do:** Use `navigator.vibrate()` sparingly for confirmations on mobile (if supported)
257
+ - **Don't:** Use haptics for routine interactions or without checking API support
258
+ - **Severity:** Low
259
+
260
+ ## Interaction States (28-35)
261
+
262
+ ### 28. Focus States
263
+
264
+ - **Do:** Visible focus ring on ALL interactive elements. Use `:focus-visible` to avoid showing on click.
265
+ - **Don't:** `outline: none` or `outline: 0` without a replacement focus style
266
+ - **Severity:** Critical
267
+ - **Code:** `*:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }`
268
+
269
+ ### 29. Hover States
270
+
271
+ - **Do:** Subtle visual change (opacity, color shift, shadow) that doesn't alter layout
272
+ - **Don't:** Change element size or position on hover — causes layout shifts
273
+ - **Severity:** High
274
+
275
+ ### 30. Active States
276
+
277
+ - **Do:** Visual press/click feedback (scale down slightly, darken) for buttons and cards
278
+ - **Don't:** Skip active state — users need feedback that their click registered
279
+ - **Severity:** Medium
280
+
281
+ ### 31. Disabled States
282
+
283
+ - **Do:** `opacity: 0.5; cursor: not-allowed; pointer-events: none;` plus `aria-disabled="true"`
284
+ - **Don't:** Only visually dim without preventing interaction or communicating state
285
+ - **Severity:** High
286
+
287
+ ### 32. Loading Buttons
288
+
289
+ - **Do:** Replace button text with spinner, set `aria-busy="true"`, disable during load
290
+ - **Don't:** Allow double-clicks or show no feedback during async action
291
+ - **Severity:** High
292
+
293
+ ### 33. Error Feedback
294
+
295
+ - **Do:** Inline error near the source, red border + icon + text, `role="alert"` for screen readers
296
+ - **Don't:** Only show a toast/banner that disappears before users can read it
297
+ - **Severity:** Critical
298
+
299
+ ### 34. Success Feedback
300
+
301
+ - **Do:** Clear success message near the action, green check + text, auto-dismiss after 5s
302
+ - **Don't:** Show nothing after successful action — users need confirmation
303
+ - **Severity:** High
304
+
305
+ ### 35. Confirmation Dialogs
306
+
307
+ - **Do:** Require confirmation for destructive actions. State what will happen. Offer undo when possible.
308
+ - **Don't:** Delete/remove items immediately without confirmation or undo option
309
+ - **Severity:** High
310
+
311
+ ## Accessibility (36-45)
312
+
313
+ ### 36. Color Contrast
314
+
315
+ - **Do:** 4.5:1 for normal text, 3:1 for large text (18px+ or 14px+ bold), 3:1 for UI components
316
+ - **Don't:** Use light gray (#999) on white or assume "it looks fine" without checking
317
+ - **Severity:** Critical
318
+
319
+ ### 37. Color-Only Information
320
+
321
+ - **Do:** Use color + icon + text to convey status (green check "Success", red X "Error")
322
+ - **Don't:** Use only red/green colors to indicate pass/fail — color-blind users can't distinguish
323
+ - **Severity:** Critical
324
+
325
+ ### 38. Alt Text
326
+
327
+ - **Do:** Descriptive alt for content images. `alt=""` for decorative images. `aria-label` for icon buttons.
328
+ - **Don't:** Leave alt attribute missing entirely (screen readers read the filename)
329
+ - **Severity:** Critical
330
+
331
+ ### 39. Heading Hierarchy
332
+
333
+ - **Do:** One `<h1>` per page. Never skip levels. Use headings for structure, not styling.
334
+ - **Don't:** Use `<h3>` because it looks the right size — use CSS to style the correct heading level
335
+ - **Severity:** High
336
+
337
+ ### 40. ARIA Labels
338
+
339
+ - **Do:** `aria-label` on icon-only buttons/links. `aria-labelledby` for sections. `aria-describedby` for hints.
340
+ - **Don't:** Add redundant ARIA to elements that already have accessible names (e.g., button with text)
341
+ - **Severity:** High
342
+
343
+ ### 41. Keyboard Navigation
344
+
345
+ - **Do:** All interactive elements reachable via Tab. Logical tab order. Enter/Space activate.
346
+ - **Don't:** Use `tabindex > 0` (breaks natural order). Use div/span as buttons without role+keyboard.
347
+ - **Severity:** Critical
348
+
349
+ ### 42. Screen Reader Testing
350
+
351
+ - **Do:** Test with NVDA (Windows) or VoiceOver (Mac) at least once per major feature
352
+ - **Don't:** Assume ARIA labels work correctly without testing with actual screen readers
353
+ - **Severity:** High
354
+
355
+ ### 43. Form Labels
356
+
357
+ - **Do:** `<label for="id">` on every input. Group related inputs in `<fieldset>` with `<legend>`.
358
+ - **Don't:** Use placeholder text as the only label — it disappears on input
359
+ - **Severity:** Critical
360
+
361
+ ### 44. Error Messages
362
+
363
+ - **Do:** Associate errors to inputs via `aria-describedby`. Use `role="alert"` for dynamic errors.
364
+ - **Don't:** Display errors far from the input or only at the top of the form
365
+ - **Severity:** High
366
+
367
+ ### 45. Skip Links
368
+
369
+ - **Do:** First focusable element: `<a href="#main" class="sr-only focus:not-sr-only">Skip to content</a>`
370
+ - **Don't:** Omit skip links — keyboard users must Tab through entire nav on every page
371
+ - **Severity:** High
372
+
373
+ ## Performance (46-53)
374
+
375
+ ### 46. Image Optimization
376
+
377
+ - **Do:** WebP/AVIF with `<picture>` fallback. Explicit `width`/`height`. `srcset` for responsive.
378
+ - **Don't:** Serve unoptimized PNG/JPG at full resolution for all viewports
379
+ - **Severity:** High
380
+
381
+ ### 47. Lazy Loading
382
+
383
+ - **Do:** `loading="lazy"` on below-fold images. Eager load above-fold hero/LCP image.
384
+ - **Don't:** Lazy load the hero image (delays LCP) or skip lazy loading entirely
385
+ - **Severity:** High
386
+
387
+ ### 48. Code Splitting
388
+
389
+ - **Do:** Dynamic `import()` for route-level splitting. Lazy load heavy components (charts, editors).
390
+ - **Don't:** Ship entire app as single bundle — check with `webpack-bundle-analyzer` or equivalent
391
+ - **Severity:** Medium
392
+
393
+ ### 49. Caching
394
+
395
+ - **Do:** Immutable assets (hashed filenames): `Cache-Control: max-age=31536000, immutable`. HTML: no-cache.
396
+ - **Don't:** Cache HTML pages aggressively or skip cache headers entirely
397
+ - **Severity:** Medium
398
+
399
+ ### 50. Font Loading
400
+
401
+ - **Do:** `display=swap` on Google Fonts. Preload critical fonts. Limit to 2-3 weights.
402
+ - **Don't:** Load 6+ font weights or use `display=block` (causes FOIT)
403
+ - **Severity:** Medium
404
+
405
+ ### 51. Third-Party Scripts
406
+
407
+ - **Do:** Load analytics/ads with `async` or `defer`. Use `dns-prefetch` for external domains.
408
+ - **Don't:** Load third-party scripts synchronously in `<head>` — blocks rendering
409
+ - **Severity:** High
410
+
411
+ ### 52. Bundle Size
412
+
413
+ - **Do:** Tree-shake unused code. Replace heavy libs (moment.js -> date-fns, lodash -> lodash-es).
414
+ - **Don't:** Import entire libraries when you only need one function
415
+ - **Severity:** Medium
416
+
417
+ ### 53. Render Blocking
418
+
419
+ - **Do:** Inline critical CSS. Defer non-critical CSS with `media="print" onload="this.media='all'"`.
420
+ - **Don't:** Include large CSS files in `<head>` that block first render
421
+ - **Severity:** High
422
+
423
+ ## Forms (54-63)
424
+
425
+ ### 54. Input Labels
426
+
427
+ - **Do:** Visible label above or beside every input, using `<label for="">` association
428
+ - **Don't:** Use placeholder as the only label — fails WCAG and confuses users once they start typing
429
+ - **Severity:** Critical
430
+
431
+ ### 55. Error Placement
432
+
433
+ - **Do:** Show error message directly below the invalid input, with red border + icon
434
+ - **Don't:** Only show errors at the top of the form or in a separate section
435
+ - **Severity:** High
436
+
437
+ ### 56. Inline Validation
438
+
439
+ - **Do:** Validate on blur (not on every keystroke). Show success state for corrected fields.
440
+ - **Don't:** Validate while the user is still typing — it's distracting
441
+ - **Severity:** Medium
442
+
443
+ ### 57. Input Types
444
+
445
+ - **Do:** `type="email"` for emails, `type="tel"` for phones, `type="url"` for URLs, `inputmode="numeric"` for numbers
446
+ - **Don't:** Use `type="text"` for everything — mobile users get wrong keyboard
447
+ - **Severity:** Medium
448
+
449
+ ### 58. Autofill Support
450
+
451
+ - **Do:** Use `autocomplete` attributes: `name`, `email`, `tel`, `address-line1`, `cc-number`, etc.
452
+ - **Don't:** Disable autofill (`autocomplete="off"`) — it frustrates users and ignores browser hints
453
+ - **Severity:** Medium
454
+
455
+ ### 59. Required Field Indicators
456
+
457
+ - **Do:** Mark required fields with asterisk (\*) + "(required)" text. Or mark optional fields instead.
458
+ - **Don't:** Rely on color alone to indicate required fields
459
+ - **Severity:** Medium
460
+
461
+ ### 60. Password Visibility Toggle
462
+
463
+ - **Do:** Provide show/hide toggle on password inputs with `aria-label` that updates on toggle
464
+ - **Don't:** Force users to type passwords blind, especially on mobile
465
+ - **Severity:** Medium
466
+
467
+ ### 61. Submit Feedback
468
+
469
+ - **Do:** Disable submit button + show spinner during async submit. Show success/error after.
470
+ - **Don't:** Allow multiple submits or show no feedback while waiting
471
+ - **Severity:** High
472
+
473
+ ### 62. Input Affordance
474
+
475
+ - **Do:** Inputs should look like inputs — border, background contrast, clear boundaries
476
+ - **Don't:** Make inputs look like plain text or blend into the background
477
+ - **Severity:** Medium
478
+
479
+ ### 63. Mobile Keyboards
480
+
481
+ - **Do:** Use `inputmode="numeric"` for PIN fields, `inputmode="decimal"` for prices
482
+ - **Don't:** Use `type="number"` for things that aren't quantities (phone, zip, credit card)
483
+ - **Severity:** Medium
484
+
485
+ ## Responsive (64-71)
486
+
487
+ ### 64. Mobile-First
488
+
489
+ - **Do:** Write base styles for mobile, then add complexity with `min-width` media queries
490
+ - **Don't:** Design for desktop first and try to squeeze it into mobile
491
+ - **Severity:** High
492
+
493
+ ### 65. Breakpoint Testing
494
+
495
+ - **Do:** Test at: 375px (iPhone SE), 390px (iPhone 14), 768px (iPad), 1024px (laptop), 1440px (desktop)
496
+ - **Don't:** Only test at one mobile and one desktop size
497
+ - **Severity:** High
498
+
499
+ ### 66. Touch-Friendly
500
+
501
+ - **Do:** Increase padding on interactive elements for mobile. No hover-only interactions.
502
+ - **Don't:** Assume mouse precision on touch devices
503
+ - **Severity:** High
504
+
505
+ ### 67. Readable Font Size
506
+
507
+ - **Do:** Minimum 16px body text on all viewports (prevents iOS auto-zoom on input focus)
508
+ - **Don't:** Use 12-14px body text on mobile for "fitting more content"
509
+ - **Severity:** High
510
+
511
+ ### 68. Viewport Meta
512
+
513
+ - **Do:** `<meta name="viewport" content="width=device-width, initial-scale=1">`
514
+ - **Don't:** Set `maximum-scale=1` or `user-scalable=no` (breaks accessibility zoom)
515
+ - **Severity:** Critical
516
+
517
+ ### 69. Horizontal Scroll
518
+
519
+ - **Do:** Prevent with `max-width: 100%` on images/embeds. Use `overflow-x: auto` on tables.
520
+ - **Don't:** Allow horizontal scroll on the main page body
521
+ - **Severity:** High
522
+
523
+ ### 70. Image Scaling
524
+
525
+ - **Do:** `img { max-width: 100%; height: auto; }` as baseline. Use `srcset` for responsive images.
526
+ - **Don't:** Serve 2000px-wide images to mobile viewports
527
+ - **Severity:** Medium
528
+
529
+ ### 71. Table Handling
530
+
531
+ - **Do:** On mobile: horizontal scroll wrapper, card layout, or collapsible rows
532
+ - **Don't:** Let wide tables break the layout or become unreadable on small screens
533
+ - **Severity:** Medium
534
+
535
+ ## Typography (72-77)
536
+
537
+ ### 72. Line Height
538
+
539
+ - **Do:** 1.5-1.6 for body, 1.2-1.3 for headings, 1.7+ for long-form reading
540
+ - **Don't:** Use 1.0 line height or the browser default without setting it explicitly
541
+ - **Severity:** High
542
+
543
+ ### 73. Line Length
544
+
545
+ - **Do:** 65-75 characters per line (`max-width: 65ch` or `max-w-prose` in Tailwind)
546
+ - **Don't:** Allow text to span the full viewport width on large screens
547
+ - **Severity:** Medium
548
+
549
+ ### 74. Font Size Scale
550
+
551
+ - **Do:** Use a consistent scale ratio (1.25 major third recommended). Define tokens for each step.
552
+ - **Don't:** Use arbitrary sizes (13px, 17px, 22px) with no systematic relationship
553
+ - **Severity:** Medium
554
+
555
+ ### 75. Font Loading Strategy
556
+
557
+ - **Do:** Preload critical fonts. Use `font-display: swap`. Subset to needed characters.
558
+ - **Don't:** Load all weights/styles upfront. Use `font-display: block` (causes invisible text flash).
559
+ - **Severity:** Medium
560
+
561
+ ### 76. Contrast Readability
562
+
563
+ - **Do:** Test body text contrast at actual size and on actual backgrounds (not just hero sections)
564
+ - **Don't:** Assume a color combo works because it passes contrast at large heading sizes
565
+ - **Severity:** High
566
+
567
+ ### 77. Heading Clarity
568
+
569
+ - **Do:** Clear visual distinction between heading levels (size, weight, spacing)
570
+ - **Don't:** Make h2 and h3 look nearly identical — users need visual hierarchy cues
571
+ - **Severity:** Medium
572
+
573
+ ## Feedback (78-83)
574
+
575
+ ### 78. Loading Indicators
576
+
577
+ - **Do:** Skeleton screens for content loading, spinners for actions, progress bars for deterministic operations
578
+ - **Don't:** Show blank white screens during loading or only a generic "Loading..."
579
+ - **Severity:** High
580
+
581
+ ### 79. Empty States
582
+
583
+ - **Do:** Helpful message + illustration + action button ("No projects yet — Create your first project")
584
+ - **Don't:** Show a blank screen or only "No data" text
585
+ - **Severity:** Medium
586
+
587
+ ### 80. Error Recovery
588
+
589
+ - **Do:** Clear error message + specific fix instruction + retry action ("Connection failed — Check your internet and try again [Retry]")
590
+ - **Don't:** Show technical error messages (500 Internal Server Error) to end users
591
+ - **Severity:** High
592
+
593
+ ### 81. Progress Indicators
594
+
595
+ - **Do:** Show step count for multi-step flows ("Step 2 of 4"). Progress bar for uploads/processing.
596
+ - **Don't:** Leave users guessing how many steps remain or how long an operation takes
597
+ - **Severity:** Medium
598
+
599
+ ### 82. Toast Notifications
600
+
601
+ - **Do:** Auto-dismiss success toasts after 5s. Persist error toasts until dismissed. Stack multiple.
602
+ - **Don't:** Show toasts that cover important UI, overlap each other, or disappear too quickly (< 3s)
603
+ - **Severity:** Medium
604
+
605
+ ### 83. Confirmation Messages
606
+
607
+ - **Do:** Confirm success inline near the action when possible, not just in toast
608
+ - **Don't:** Only confirm via toast that the user might miss
609
+ - **Severity:** Medium
610
+
611
+ ## Content (84-87)
612
+
613
+ ### 84. Text Truncation
614
+
615
+ - **Do:** Use ellipsis (`text-overflow: ellipsis`) + tooltip/expand for long text. Show full text on interaction.
616
+ - **Don't:** Hard-truncate text without indicating there's more content
617
+ - **Severity:** Low
618
+
619
+ ### 85. Date Formatting
620
+
621
+ - **Do:** Relative for recent ("2 hours ago"), absolute for old ("Jan 15, 2026"). Use user's locale.
622
+ - **Don't:** Show raw ISO timestamps or use ambiguous formats (01/02/03)
623
+ - **Severity:** Low
624
+
625
+ ### 86. Number Formatting
626
+
627
+ - **Do:** Locale-aware formatting: commas, decimals, currency symbols. Abbreviate large numbers (1.2M).
628
+ - **Don't:** Show raw numbers without formatting (1000000 instead of 1,000,000)
629
+ - **Severity:** Low
630
+
631
+ ### 87. Placeholder Content
632
+
633
+ - **Do:** Use realistic placeholder content during development that matches expected data shape
634
+ - **Don't:** Use "Lorem ipsum" in production or test with only short strings
635
+ - **Severity:** Low
636
+
637
+ ## Specialized Patterns (88-99)
638
+
639
+ ### 88. Onboarding - User Freedom
640
+
641
+ - **Do:** Always provide skip + back buttons in onboarding flows
642
+ - **Don't:** Trap users in mandatory onboarding without escape
643
+ - **Severity:** Medium
644
+
645
+ ### 89. Search - Autocomplete
646
+
647
+ - **Do:** Show suggestions after 2+ characters, debounce at 300ms, highlight matching text
648
+ - **Don't:** Wait for Enter to search, show results without relevance ranking
649
+ - **Severity:** Medium
650
+
651
+ ### 90. Search - No Results
652
+
653
+ - **Do:** Helpful "no results" with suggestions: check spelling, try broader terms, browse categories
654
+ - **Don't:** Show blank or only "No results found" without guidance
655
+ - **Severity:** Medium
656
+
657
+ ### 91. Data Entry - Bulk Actions
658
+
659
+ - **Do:** Checkbox selection + floating action bar showing count ("3 selected — Delete | Export")
660
+ - **Don't:** Force users to act on items one at a time
661
+ - **Severity:** Medium
662
+
663
+ ### 92. AI - Disclaimer
664
+
665
+ - **Do:** Clearly label AI-generated content. Show confidence levels when available.
666
+ - **Don't:** Present AI output as authoritative fact without disclaimer
667
+ - **Severity:** High
668
+
669
+ ### 93. AI - Streaming Response
670
+
671
+ - **Do:** Stream text token-by-token with typing indicator. Allow stop/cancel mid-generation.
672
+ - **Don't:** Wait for full response then dump all text at once
673
+ - **Severity:** Medium
674
+
675
+ ### 94. Spatial UI - Gaze Hover (VisionOS)
676
+
677
+ - **Do:** Use system hover effects that respond to eye tracking. Increase target sizes for gaze.
678
+ - **Don't:** Use small targets or custom hover that fights the system's spatial interaction model
679
+ - **Severity:** Medium (platform-specific)
680
+
681
+ ### 95. Spatial UI - Depth Layering
682
+
683
+ - **Do:** Use z-depth to indicate hierarchy and interactivity in spatial interfaces
684
+ - **Don't:** Flatten all UI to a single plane in spatial computing environments
685
+ - **Severity:** Medium (platform-specific)
686
+
687
+ ### 96. Sustainability - Auto-Play Video
688
+
689
+ - **Do:** Never auto-play video with sound. Offer play button. Prefer static thumbnails on mobile.
690
+ - **Don't:** Auto-play video on page load (wastes bandwidth, startles users)
691
+ - **Severity:** High
692
+
693
+ ### 97. Sustainability - Asset Weight
694
+
695
+ - **Do:** Target < 500KB initial page weight. Compress images aggressively. Use system fonts as fallback.
696
+ - **Don't:** Ship 5MB+ pages with unoptimized assets
697
+ - **Severity:** Medium
698
+
699
+ ### 98. AI - Feedback Loop
700
+
701
+ - **Do:** Provide thumbs up/down or rate response quality for AI outputs
702
+ - **Don't:** Offer no way for users to signal bad AI output
703
+ - **Severity:** Medium
704
+
705
+ ### 99. Motion Sensitivity
706
+
707
+ - **Do:** Provide UI toggle to disable animations in addition to OS-level preference
708
+ - **Don't:** Rely solely on OS `prefers-reduced-motion` — not all users know about it
709
+ - **Severity:** Medium
710
+
711
+ ## Advanced Animation (100-107)
712
+
713
+ ### 100. Spring Physics
714
+
715
+ - **Do:** Prefer spring/physics-based animation curves over linear or cubic-bezier for natural, organic feel
716
+ - **Don't:** Use linear easing for UI transitions — it feels robotic and unnatural
717
+ - **Severity:** Medium
718
+
719
+ ### 101. Exit Faster Than Enter
720
+
721
+ - **Do:** Exit animations should be ~60-70% of enter duration to feel responsive (e.g., enter 300ms, exit 200ms)
722
+ - **Don't:** Use the same duration for enter and exit — exits should feel snappier
723
+ - **Severity:** Medium
724
+
725
+ ### 102. Stagger Sequence
726
+
727
+ - **Do:** Stagger list/grid item entrance by 30-50ms per item for a polished reveal effect
728
+ - **Don't:** Show all items at once (flat) or stagger too slowly (>100ms) — both feel wrong
729
+ - **Severity:** Low
730
+
731
+ ### 103. Shared Element Transition
732
+
733
+ - **Do:** Use shared element / hero transitions for visual continuity between screens (card → detail page)
734
+ - **Don't:** Use unrelated transitions between screens that share visible elements — breaks spatial continuity
735
+ - **Severity:** Medium
736
+
737
+ ### 104. Interruptible Animations
738
+
739
+ - **Do:** All animations must be interruptible — user tap or gesture immediately cancels in-progress animation
740
+ - **Don't:** Block user input during animations or force users to wait for animation completion
741
+ - **Severity:** High
742
+
743
+ ### 105. No Blocking Animation
744
+
745
+ - **Do:** UI must stay interactive during all animations — never disable input while animating
746
+ - **Don't:** Use animations that prevent the user from taking their next action
747
+ - **Severity:** High
748
+
749
+ ### 106. Motion Consistency
750
+
751
+ - **Do:** Unify duration and easing tokens globally — all animations share the same rhythm and timing feel
752
+ - **Don't:** Mix fast (100ms) and slow (500ms) transitions randomly across the same interface
753
+ - **Severity:** Medium
754
+
755
+ ### 107. Hierarchy Motion
756
+
757
+ - **Do:** Use translate/scale direction to express hierarchy: enter from below = deeper level, exit upward = going back
758
+ - **Don't:** Use random animation directions — movement should communicate navigation direction
759
+ - **Severity:** Low
760
+
761
+ ## Advanced Forms & Feedback (108-119)
762
+
763
+ ### 108. Progressive Disclosure
764
+
765
+ - **Do:** Reveal complex options progressively — show basic fields first, advanced settings behind a toggle/expand
766
+ - **Don't:** Overwhelm users upfront with every possible field and option on a single screen
767
+ - **Severity:** Medium
768
+
769
+ ### 109. Form Autosave
770
+
771
+ - **Do:** Long forms (5+ fields) should auto-save drafts to prevent data loss on accidental dismissal or navigation
772
+ - **Don't:** Lose all user input when they accidentally close a tab or navigate away from a long form
773
+ - **Severity:** Medium
774
+
775
+ ### 110. Sheet Dismiss Confirm
776
+
777
+ - **Do:** Confirm before dismissing a modal/sheet/drawer that contains unsaved user changes
778
+ - **Don't:** Silently discard unsaved changes when a user swipes down or taps outside a modal
779
+ - **Severity:** High
780
+
781
+ ### 111. Field Grouping
782
+
783
+ - **Do:** Group related fields logically using `<fieldset>` + `<legend>` or clear visual grouping with spacing/borders
784
+ - **Don't:** Present all form fields in a flat undifferentiated list — users can't scan or understand the structure
785
+ - **Severity:** Medium
786
+
787
+ ### 112. Read-Only Distinction
788
+
789
+ - **Do:** Read-only fields should be visually distinct from both editable and disabled states (e.g., no border, plain text style)
790
+ - **Don't:** Make read-only look identical to disabled — they have different semantics and user expectations
791
+ - **Severity:** Medium
792
+
793
+ ### 113. Focus Management
794
+
795
+ - **Do:** After a form submission error, auto-focus the first invalid field and scroll it into view
796
+ - **Don't:** Show errors without moving focus — keyboard and screen reader users can't find the problem
797
+ - **Severity:** High
798
+ - **Code:** `document.querySelector('[aria-invalid="true"]')?.focus()`
799
+
800
+ ### 114. Error Summary
801
+
802
+ - **Do:** For forms with multiple errors, show a summary at the top with anchor links to each invalid field
803
+ - **Don't:** Only show inline errors without a summary — users with many errors can't see the full picture
804
+ - **Severity:** Medium
805
+ - **Code:** `<div role="alert"><h2>3 errors found</h2><ul><li><a href="#email">Email is required</a></li>...</ul></div>`
806
+
807
+ ### 115. Undo Support
808
+
809
+ - **Do:** Allow undo for destructive or bulk actions with a time-limited toast ("Deleted 3 items — Undo")
810
+ - **Don't:** Immediately and permanently execute destructive actions without any recovery option
811
+ - **Severity:** High
812
+
813
+ ### 116. Destructive Emphasis
814
+
815
+ - **Do:** Destructive actions use semantic danger color (red) and are visually separated from primary actions
816
+ - **Don't:** Style delete/remove buttons identically to save/submit — users will click them by mistake
817
+ - **Severity:** High
818
+
819
+ ### 117. Toast Accessibility
820
+
821
+ - **Do:** Toasts must use `aria-live="polite"` for screen reader announcement. Must not steal focus from current task.
822
+ - **Don't:** Use `aria-live="assertive"` for routine notifications or let toasts capture keyboard focus
823
+ - **Severity:** Medium
824
+ - **Code:** `<div role="status" aria-live="polite">Changes saved successfully</div>`
825
+
826
+ ### 118. ARIA Live Errors
827
+
828
+ - **Do:** Dynamic form errors must use `aria-live` region or `role="alert"` to notify screen readers immediately
829
+ - **Don't:** Add error text to the DOM without any ARIA announcement — screen reader users won't know it appeared
830
+ - **Severity:** High
831
+ - **Code:** `<span role="alert" id="email-error">Please enter a valid email</span>`
832
+
833
+ ### 119. Timeout Feedback
834
+
835
+ - **Do:** Request timeouts must show clear user-friendly feedback with a retry action button
836
+ - **Don't:** Show a blank screen, spinner forever, or technical timeout error without recovery option
837
+ - **Severity:** High