@hegemonart/get-design-done 1.42.0 → 1.43.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 (425) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +1080 -1038
  4. package/README.md +157 -155
  5. package/SKILL.md +42 -42
  6. package/agents/README.md +53 -53
  7. package/agents/a11y-mapper.md +3 -3
  8. package/agents/component-benchmark-harvester.md +8 -8
  9. package/agents/component-benchmark-synthesizer.md +11 -11
  10. package/agents/component-taxonomy-mapper.md +5 -5
  11. package/agents/compose-executor.md +25 -25
  12. package/agents/conflict-resolver.md +8 -8
  13. package/agents/cost-forecaster.md +12 -12
  14. package/agents/decision-journal-exporter.md +5 -5
  15. package/agents/design-advisor.md +19 -19
  16. package/agents/design-assumptions-analyzer.md +16 -16
  17. package/agents/design-auditor.md +39 -39
  18. package/agents/design-authority-watcher.md +28 -28
  19. package/agents/design-component-generator.md +27 -27
  20. package/agents/design-context-builder.md +66 -66
  21. package/agents/design-context-checker-gate.md +5 -5
  22. package/agents/design-context-checker.md +20 -20
  23. package/agents/design-discussant.md +23 -23
  24. package/agents/design-doc-writer.md +12 -12
  25. package/agents/design-executor.md +38 -38
  26. package/agents/design-figma-writer.md +31 -31
  27. package/agents/design-fixer.md +27 -27
  28. package/agents/design-integration-checker-gate.md +5 -5
  29. package/agents/design-integration-checker.md +29 -29
  30. package/agents/design-paper-writer.md +14 -14
  31. package/agents/design-pattern-mapper.md +9 -9
  32. package/agents/design-pencil-writer.md +12 -12
  33. package/agents/design-phase-researcher.md +14 -14
  34. package/agents/design-plan-checker.md +13 -13
  35. package/agents/design-planner.md +24 -24
  36. package/agents/design-reflector.md +48 -48
  37. package/agents/design-research-synthesizer.md +21 -21
  38. package/agents/design-start-writer.md +7 -7
  39. package/agents/design-update-checker.md +8 -8
  40. package/agents/design-verifier-gate.md +5 -5
  41. package/agents/design-verifier.md +80 -80
  42. package/agents/ds-generator.md +14 -14
  43. package/agents/ds-migration-planner.md +12 -12
  44. package/agents/email-executor.md +26 -26
  45. package/agents/experiment-result-ingester.md +10 -10
  46. package/agents/flutter-executor.md +28 -28
  47. package/agents/gdd-graph-refresh.md +10 -10
  48. package/agents/gdd-intel-updater.md +11 -11
  49. package/agents/gdd-learnings-extractor.md +2 -2
  50. package/agents/motion-mapper.md +8 -8
  51. package/agents/motion-verifier.md +16 -16
  52. package/agents/pdf-executor.md +27 -27
  53. package/agents/perf-analyzer.md +20 -20
  54. package/agents/pr-commenter.md +24 -24
  55. package/agents/prototype-gate.md +29 -29
  56. package/agents/quality-gate-runner.md +21 -21
  57. package/agents/rollout-coordinator.md +8 -8
  58. package/agents/swift-executor.md +41 -41
  59. package/agents/ticket-sync-agent.md +19 -19
  60. package/agents/token-mapper.md +6 -6
  61. package/agents/user-research-synthesizer.md +13 -13
  62. package/agents/visual-hierarchy-mapper.md +2 -2
  63. package/dist/claude-code/.claude/skills/add-backlog/SKILL.md +3 -3
  64. package/dist/claude-code/.claude/skills/analyze-dependencies/SKILL.md +10 -10
  65. package/dist/claude-code/.claude/skills/apply-reflections/SKILL.md +13 -13
  66. package/dist/claude-code/.claude/skills/apply-reflections/apply-reflections-procedure.md +20 -20
  67. package/dist/claude-code/.claude/skills/audit/SKILL.md +7 -7
  68. package/dist/claude-code/.claude/skills/bandit-status/SKILL.md +7 -7
  69. package/dist/claude-code/.claude/skills/benchmark/SKILL.md +7 -7
  70. package/dist/claude-code/.claude/skills/bootstrap-ds/SKILL.md +10 -10
  71. package/dist/claude-code/.claude/skills/brief/SKILL.md +20 -20
  72. package/dist/claude-code/.claude/skills/budget/SKILL.md +4 -4
  73. package/dist/claude-code/.claude/skills/cache-manager/SKILL.md +6 -6
  74. package/dist/claude-code/.claude/skills/cache-manager/cache-policy.md +5 -5
  75. package/dist/claude-code/.claude/skills/check-update/SKILL.md +5 -5
  76. package/dist/claude-code/.claude/skills/compare/SKILL.md +15 -15
  77. package/dist/claude-code/.claude/skills/compare/compare-rubric.md +17 -17
  78. package/dist/claude-code/.claude/skills/complete-cycle/SKILL.md +5 -5
  79. package/dist/claude-code/.claude/skills/connections/SKILL.md +11 -11
  80. package/dist/claude-code/.claude/skills/connections/connections-onboarding.md +76 -76
  81. package/dist/claude-code/.claude/skills/continue/SKILL.md +2 -2
  82. package/dist/claude-code/.claude/skills/darkmode/SKILL.md +17 -17
  83. package/dist/claude-code/.claude/skills/darkmode/darkmode-audit-procedure.md +7 -7
  84. package/dist/claude-code/.claude/skills/debug/SKILL.md +3 -3
  85. package/dist/claude-code/.claude/skills/debug/debug-feedback-loops.md +12 -12
  86. package/dist/claude-code/.claude/skills/design/SKILL.md +12 -12
  87. package/dist/claude-code/.claude/skills/design/design-procedure.md +23 -23
  88. package/dist/claude-code/.claude/skills/discover/SKILL.md +7 -7
  89. package/dist/claude-code/.claude/skills/discover/discover-procedure.md +18 -18
  90. package/dist/claude-code/.claude/skills/discuss/SKILL.md +12 -12
  91. package/dist/claude-code/.claude/skills/do/SKILL.md +1 -1
  92. package/dist/claude-code/.claude/skills/explore/SKILL.md +21 -21
  93. package/dist/claude-code/.claude/skills/explore/explore-procedure.md +48 -48
  94. package/dist/claude-code/.claude/skills/export/SKILL.md +9 -9
  95. package/dist/claude-code/.claude/skills/extract-learnings/SKILL.md +5 -5
  96. package/dist/claude-code/.claude/skills/fast/SKILL.md +7 -7
  97. package/dist/claude-code/.claude/skills/figma-extract/SKILL.md +11 -11
  98. package/dist/claude-code/.claude/skills/figma-write/SKILL.md +6 -6
  99. package/dist/claude-code/.claude/skills/graphify/SKILL.md +4 -4
  100. package/dist/claude-code/.claude/skills/health/SKILL.md +16 -16
  101. package/dist/claude-code/.claude/skills/health/health-mcp-detection.md +3 -3
  102. package/dist/claude-code/.claude/skills/health/health-skill-length-report.md +6 -6
  103. package/dist/claude-code/.claude/skills/help/SKILL.md +1 -1
  104. package/dist/claude-code/.claude/skills/list-assumptions/SKILL.md +4 -4
  105. package/dist/claude-code/.claude/skills/map/SKILL.md +12 -12
  106. package/dist/claude-code/.claude/skills/migrate/SKILL.md +5 -5
  107. package/dist/claude-code/.claude/skills/new-cycle/SKILL.md +2 -2
  108. package/dist/claude-code/.claude/skills/new-cycle/milestone-completeness-rubric.md +16 -16
  109. package/dist/claude-code/.claude/skills/new-project/SKILL.md +1 -1
  110. package/dist/claude-code/.claude/skills/next/SKILL.md +5 -5
  111. package/dist/claude-code/.claude/skills/note/SKILL.md +1 -1
  112. package/dist/claude-code/.claude/skills/openrouter-status/SKILL.md +4 -4
  113. package/dist/claude-code/.claude/skills/optimize/SKILL.md +15 -15
  114. package/dist/claude-code/.claude/skills/pause/SKILL.md +5 -5
  115. package/dist/claude-code/.claude/skills/peer-cli-add/SKILL.md +11 -11
  116. package/dist/claude-code/.claude/skills/peer-cli-add/peer-cli-protocol.md +39 -39
  117. package/dist/claude-code/.claude/skills/peer-cli-customize/SKILL.md +14 -14
  118. package/dist/claude-code/.claude/skills/peers/SKILL.md +4 -4
  119. package/dist/claude-code/.claude/skills/plan/SKILL.md +13 -13
  120. package/dist/claude-code/.claude/skills/plan/plan-procedure.md +24 -24
  121. package/dist/claude-code/.claude/skills/plant-seed/SKILL.md +4 -4
  122. package/dist/claude-code/.claude/skills/pr-branch/SKILL.md +2 -2
  123. package/dist/claude-code/.claude/skills/progress/SKILL.md +15 -15
  124. package/dist/claude-code/.claude/skills/quality-gate/SKILL.md +22 -22
  125. package/dist/claude-code/.claude/skills/quality-gate/threat-modeling.md +19 -19
  126. package/dist/claude-code/.claude/skills/quick/SKILL.md +5 -5
  127. package/dist/claude-code/.claude/skills/reapply-patches/SKILL.md +7 -7
  128. package/dist/claude-code/.claude/skills/reflect/SKILL.md +3 -3
  129. package/dist/claude-code/.claude/skills/reflect/procedures/capability-gap-scan.md +11 -11
  130. package/dist/claude-code/.claude/skills/report-issue/SKILL.md +5 -5
  131. package/dist/claude-code/.claude/skills/report-issue/report-issue-procedure.md +27 -27
  132. package/dist/claude-code/.claude/skills/resume/SKILL.md +9 -9
  133. package/dist/claude-code/.claude/skills/review-backlog/SKILL.md +3 -3
  134. package/dist/claude-code/.claude/skills/review-decisions/SKILL.md +3 -3
  135. package/dist/claude-code/.claude/skills/roi/SKILL.md +5 -5
  136. package/dist/claude-code/.claude/skills/rollout-status/SKILL.md +4 -4
  137. package/dist/claude-code/.claude/skills/router/SKILL.md +11 -11
  138. package/dist/claude-code/.claude/skills/router/capability-gap-emitter.md +6 -6
  139. package/dist/claude-code/.claude/skills/router/router-pick-emitter.md +9 -9
  140. package/dist/claude-code/.claude/skills/router/router-rules.md +7 -7
  141. package/dist/claude-code/.claude/skills/scan/SKILL.md +16 -16
  142. package/dist/claude-code/.claude/skills/scan/scan-procedure.md +42 -42
  143. package/dist/claude-code/.claude/skills/settings/SKILL.md +2 -2
  144. package/dist/claude-code/.claude/skills/ship/SKILL.md +7 -7
  145. package/dist/claude-code/.claude/skills/sketch/SKILL.md +10 -10
  146. package/dist/claude-code/.claude/skills/sketch-wrap-up/SKILL.md +12 -12
  147. package/dist/claude-code/.claude/skills/skill-manifest/SKILL.md +5 -5
  148. package/dist/claude-code/.claude/skills/spike/SKILL.md +7 -7
  149. package/dist/claude-code/.claude/skills/spike-wrap-up/SKILL.md +13 -13
  150. package/dist/claude-code/.claude/skills/start/SKILL.md +8 -8
  151. package/dist/claude-code/.claude/skills/start/start-procedure.md +9 -9
  152. package/dist/claude-code/.claude/skills/stats/SKILL.md +5 -5
  153. package/dist/claude-code/.claude/skills/style/SKILL.md +12 -12
  154. package/dist/claude-code/.claude/skills/style/style-doc-procedure.md +12 -12
  155. package/dist/claude-code/.claude/skills/synthesize/SKILL.md +10 -10
  156. package/dist/claude-code/.claude/skills/timeline/SKILL.md +4 -4
  157. package/dist/claude-code/.claude/skills/todo/SKILL.md +3 -3
  158. package/dist/claude-code/.claude/skills/turn-closeout/SKILL.md +10 -10
  159. package/dist/claude-code/.claude/skills/unlock-decision/SKILL.md +3 -3
  160. package/dist/claude-code/.claude/skills/update/SKILL.md +9 -9
  161. package/dist/claude-code/.claude/skills/using-gdd/SKILL.md +17 -17
  162. package/dist/claude-code/.claude/skills/verify/SKILL.md +13 -13
  163. package/dist/claude-code/.claude/skills/verify/verify-procedure.md +34 -34
  164. package/dist/claude-code/.claude/skills/warm-cache/SKILL.md +8 -8
  165. package/dist/claude-code/.claude/skills/watch-authorities/SKILL.md +9 -9
  166. package/dist/claude-code/.claude/skills/zoom-out/SKILL.md +4 -4
  167. package/package.json +5 -2
  168. package/reference/DEPRECATIONS.md +10 -10
  169. package/reference/STATE-TEMPLATE.md +26 -26
  170. package/reference/accessibility.md +13 -13
  171. package/reference/adr-format.md +13 -13
  172. package/reference/ai-native-tool-interface.md +5 -5
  173. package/reference/anti-patterns.md +9 -9
  174. package/reference/architecture-vocabulary.md +31 -31
  175. package/reference/audit-scoring.md +13 -13
  176. package/reference/authority-feeds.md +36 -36
  177. package/reference/bandit-integration.md +25 -25
  178. package/reference/brand-voice.md +36 -36
  179. package/reference/capability-gap-stage-gate.md +20 -20
  180. package/reference/checklists.md +26 -26
  181. package/reference/cli-localization.md +13 -13
  182. package/reference/codex-tools.md +2 -2
  183. package/reference/color-theory.md +28 -28
  184. package/reference/component-authoring.md +4 -4
  185. package/reference/components/README.md +13 -13
  186. package/reference/components/TEMPLATE.md +13 -13
  187. package/reference/components/accordion.md +15 -15
  188. package/reference/components/alert.md +25 -25
  189. package/reference/components/badge.md +18 -18
  190. package/reference/components/breadcrumbs.md +24 -24
  191. package/reference/components/button.md +21 -21
  192. package/reference/components/card.md +13 -13
  193. package/reference/components/checkbox.md +20 -20
  194. package/reference/components/chip.md +20 -20
  195. package/reference/components/command-palette.md +15 -15
  196. package/reference/components/date-picker.md +22 -22
  197. package/reference/components/drawer.md +13 -13
  198. package/reference/components/file-upload.md +22 -22
  199. package/reference/components/input.md +18 -18
  200. package/reference/components/label.md +25 -25
  201. package/reference/components/link.md +19 -19
  202. package/reference/components/list.md +17 -17
  203. package/reference/components/menu.md +19 -19
  204. package/reference/components/modal-dialog.md +16 -16
  205. package/reference/components/navbar.md +19 -19
  206. package/reference/components/pagination.md +18 -18
  207. package/reference/components/popover.md +12 -12
  208. package/reference/components/progress.md +18 -18
  209. package/reference/components/radio.md +17 -17
  210. package/reference/components/rich-text-editor.md +24 -24
  211. package/reference/components/select-combobox.md +16 -16
  212. package/reference/components/sidebar.md +15 -15
  213. package/reference/components/skeleton.md +20 -20
  214. package/reference/components/slider.md +20 -20
  215. package/reference/components/stepper.md +24 -24
  216. package/reference/components/switch.md +19 -19
  217. package/reference/components/table.md +21 -21
  218. package/reference/components/tabs.md +11 -11
  219. package/reference/components/toast.md +19 -19
  220. package/reference/components/tooltip.md +19 -19
  221. package/reference/components/tree.md +17 -17
  222. package/reference/composition.md +38 -38
  223. package/reference/config-schema.md +37 -37
  224. package/reference/context-md-format.md +9 -9
  225. package/reference/contrast-advanced.md +29 -29
  226. package/reference/conversational-ui.md +17 -17
  227. package/reference/cost-governance.md +14 -14
  228. package/reference/css-grid-layout.md +8 -8
  229. package/reference/cycle-handoff-preamble.md +3 -3
  230. package/reference/data-visualization.md +67 -67
  231. package/reference/debugger-philosophy.md +5 -5
  232. package/reference/design-system-guidance.md +21 -21
  233. package/reference/design-systems-catalog.md +20 -20
  234. package/reference/design-variants.md +11 -11
  235. package/reference/domains/civic-patterns.md +10 -10
  236. package/reference/domains/finance-patterns.md +9 -9
  237. package/reference/domains/gaming-patterns.md +9 -9
  238. package/reference/domains/healthcare-patterns.md +11 -11
  239. package/reference/ds-bootstrap-rubric.md +13 -13
  240. package/reference/email-design.md +22 -22
  241. package/reference/emotional-design.md +10 -10
  242. package/reference/error-recovery.md +11 -11
  243. package/reference/export-formats.md +7 -7
  244. package/reference/figma-sandbox.md +6 -6
  245. package/reference/first-principles.md +10 -10
  246. package/reference/form-patterns.md +26 -26
  247. package/reference/framer-motion-patterns.md +49 -49
  248. package/reference/gdd-runtime-audit.md +17 -17
  249. package/reference/gdd-threat-model.md +44 -44
  250. package/reference/gemini-tools.md +3 -3
  251. package/reference/gestalt.md +24 -24
  252. package/reference/heuristics.md +32 -32
  253. package/reference/i18n.md +44 -44
  254. package/reference/iconography.md +24 -24
  255. package/reference/image-optimization.md +14 -14
  256. package/reference/information-architecture.md +47 -47
  257. package/reference/intel-schema.md +1 -1
  258. package/reference/known-failure-modes.md +37 -37
  259. package/reference/meta-rules.md +5 -5
  260. package/reference/migrations/material-3-to-4.md +17 -17
  261. package/reference/migrations/mui-v6.md +16 -16
  262. package/reference/migrations/shadcn-v2.md +25 -25
  263. package/reference/migrations/tailwind-v4.md +21 -21
  264. package/reference/model-prices.md +3 -3
  265. package/reference/model-tiers.md +40 -40
  266. package/reference/motion-advanced.md +21 -21
  267. package/reference/motion-easings.md +29 -29
  268. package/reference/motion-interpolate.md +1 -1
  269. package/reference/motion-spring.md +13 -13
  270. package/reference/motion-transition-taxonomy.md +34 -34
  271. package/reference/motion.md +31 -31
  272. package/reference/multi-author-model.md +13 -13
  273. package/reference/native-platforms.md +28 -28
  274. package/reference/notification-routing.md +6 -6
  275. package/reference/onboarding-progressive-disclosure.md +32 -32
  276. package/reference/openrouter-tier-mapping.md +8 -8
  277. package/reference/palette-catalog.md +37 -37
  278. package/reference/parallelism-rules.md +20 -20
  279. package/reference/peer-cli-capabilities.md +14 -14
  280. package/reference/peer-protocols.md +21 -21
  281. package/reference/perf-budget.md +21 -21
  282. package/reference/performance.md +22 -22
  283. package/reference/platforms.md +51 -51
  284. package/reference/pr-review-integration.md +7 -7
  285. package/reference/prices/antigravity.md +3 -3
  286. package/reference/prices/augment.md +3 -3
  287. package/reference/prices/claude.md +2 -2
  288. package/reference/prices/cline.md +4 -4
  289. package/reference/prices/codebuddy.md +3 -3
  290. package/reference/prices/codex.md +2 -2
  291. package/reference/prices/copilot.md +3 -3
  292. package/reference/prices/cursor.md +3 -3
  293. package/reference/prices/gemini.md +2 -2
  294. package/reference/prices/kilo.md +3 -3
  295. package/reference/prices/opencode.md +4 -4
  296. package/reference/prices/qwen.md +2 -2
  297. package/reference/prices/trae.md +3 -3
  298. package/reference/prices/windsurf.md +3 -3
  299. package/reference/prices.openrouter.md +5 -5
  300. package/reference/print-design.md +36 -36
  301. package/reference/priority-matrix.md +2 -2
  302. package/reference/project-skills-guide.md +3 -3
  303. package/reference/proportion-systems.md +23 -23
  304. package/reference/pseudonymization-rules.md +30 -30
  305. package/reference/retrieval-contract.md +14 -14
  306. package/reference/review-format.md +7 -7
  307. package/reference/rollout-coordination.md +10 -10
  308. package/reference/rtl-cjk-cultural.md +39 -39
  309. package/reference/runtime-models.md +28 -28
  310. package/reference/shared-preamble.md +26 -26
  311. package/reference/skill-authoring-contract.md +16 -16
  312. package/reference/skill-placeholders.md +3 -3
  313. package/reference/start-interview.md +10 -10
  314. package/reference/style-vocabulary.md +25 -25
  315. package/reference/surfaces.md +4 -4
  316. package/reference/ticket-sync.md +9 -9
  317. package/reference/typography.md +64 -64
  318. package/reference/user-research.md +54 -54
  319. package/reference/variable-fonts-loading.md +15 -15
  320. package/reference/visual-hierarchy-layout.md +41 -41
  321. package/scripts/lib/manifest/prose-denylist.json +1 -1
  322. package/skills/add-backlog/SKILL.md +3 -3
  323. package/skills/analyze-dependencies/SKILL.md +10 -10
  324. package/skills/apply-reflections/SKILL.md +13 -13
  325. package/skills/apply-reflections/apply-reflections-procedure.md +20 -20
  326. package/skills/audit/SKILL.md +7 -7
  327. package/skills/bandit-status/SKILL.md +7 -7
  328. package/skills/benchmark/SKILL.md +7 -7
  329. package/skills/bootstrap-ds/SKILL.md +10 -10
  330. package/skills/brief/SKILL.md +20 -20
  331. package/skills/budget/SKILL.md +4 -4
  332. package/skills/cache-manager/SKILL.md +6 -6
  333. package/skills/cache-manager/cache-policy.md +5 -5
  334. package/skills/check-update/SKILL.md +5 -5
  335. package/skills/compare/SKILL.md +15 -15
  336. package/skills/compare/compare-rubric.md +17 -17
  337. package/skills/complete-cycle/SKILL.md +5 -5
  338. package/skills/connections/SKILL.md +11 -11
  339. package/skills/connections/connections-onboarding.md +76 -76
  340. package/skills/continue/SKILL.md +2 -2
  341. package/skills/darkmode/SKILL.md +17 -17
  342. package/skills/darkmode/darkmode-audit-procedure.md +7 -7
  343. package/skills/debug/SKILL.md +3 -3
  344. package/skills/debug/debug-feedback-loops.md +12 -12
  345. package/skills/design/SKILL.md +12 -12
  346. package/skills/design/design-procedure.md +23 -23
  347. package/skills/discover/SKILL.md +7 -7
  348. package/skills/discover/discover-procedure.md +18 -18
  349. package/skills/discuss/SKILL.md +12 -12
  350. package/skills/do/SKILL.md +1 -1
  351. package/skills/explore/SKILL.md +21 -21
  352. package/skills/explore/explore-procedure.md +48 -48
  353. package/skills/export/SKILL.md +9 -9
  354. package/skills/extract-learnings/SKILL.md +5 -5
  355. package/skills/fast/SKILL.md +7 -7
  356. package/skills/figma-extract/SKILL.md +11 -11
  357. package/skills/figma-write/SKILL.md +6 -6
  358. package/skills/graphify/SKILL.md +4 -4
  359. package/skills/health/SKILL.md +16 -16
  360. package/skills/health/health-mcp-detection.md +3 -3
  361. package/skills/health/health-skill-length-report.md +6 -6
  362. package/skills/help/SKILL.md +1 -1
  363. package/skills/list-assumptions/SKILL.md +4 -4
  364. package/skills/map/SKILL.md +12 -12
  365. package/skills/migrate/SKILL.md +5 -5
  366. package/skills/new-cycle/SKILL.md +2 -2
  367. package/skills/new-cycle/milestone-completeness-rubric.md +16 -16
  368. package/skills/new-project/SKILL.md +1 -1
  369. package/skills/next/SKILL.md +5 -5
  370. package/skills/note/SKILL.md +1 -1
  371. package/skills/openrouter-status/SKILL.md +4 -4
  372. package/skills/optimize/SKILL.md +15 -15
  373. package/skills/pause/SKILL.md +5 -5
  374. package/skills/peer-cli-add/SKILL.md +11 -11
  375. package/skills/peer-cli-add/peer-cli-protocol.md +39 -39
  376. package/skills/peer-cli-customize/SKILL.md +14 -14
  377. package/skills/peers/SKILL.md +4 -4
  378. package/skills/plan/SKILL.md +13 -13
  379. package/skills/plan/plan-procedure.md +24 -24
  380. package/skills/plant-seed/SKILL.md +4 -4
  381. package/skills/pr-branch/SKILL.md +2 -2
  382. package/skills/progress/SKILL.md +15 -15
  383. package/skills/quality-gate/SKILL.md +22 -22
  384. package/skills/quality-gate/threat-modeling.md +19 -19
  385. package/skills/quick/SKILL.md +5 -5
  386. package/skills/reapply-patches/SKILL.md +7 -7
  387. package/skills/reflect/SKILL.md +3 -3
  388. package/skills/reflect/procedures/capability-gap-scan.md +11 -11
  389. package/skills/report-issue/SKILL.md +5 -5
  390. package/skills/report-issue/report-issue-procedure.md +27 -27
  391. package/skills/resume/SKILL.md +9 -9
  392. package/skills/review-backlog/SKILL.md +3 -3
  393. package/skills/review-decisions/SKILL.md +3 -3
  394. package/skills/roi/SKILL.md +5 -5
  395. package/skills/rollout-status/SKILL.md +4 -4
  396. package/skills/router/SKILL.md +11 -11
  397. package/skills/router/capability-gap-emitter.md +6 -6
  398. package/skills/router/router-pick-emitter.md +9 -9
  399. package/skills/router/router-rules.md +7 -7
  400. package/skills/scan/SKILL.md +16 -16
  401. package/skills/scan/scan-procedure.md +42 -42
  402. package/skills/settings/SKILL.md +2 -2
  403. package/skills/ship/SKILL.md +7 -7
  404. package/skills/sketch/SKILL.md +10 -10
  405. package/skills/sketch-wrap-up/SKILL.md +12 -12
  406. package/skills/skill-manifest/SKILL.md +5 -5
  407. package/skills/spike/SKILL.md +7 -7
  408. package/skills/spike-wrap-up/SKILL.md +13 -13
  409. package/skills/start/SKILL.md +8 -8
  410. package/skills/start/start-procedure.md +9 -9
  411. package/skills/stats/SKILL.md +5 -5
  412. package/skills/style/SKILL.md +12 -12
  413. package/skills/style/style-doc-procedure.md +12 -12
  414. package/skills/synthesize/SKILL.md +10 -10
  415. package/skills/timeline/SKILL.md +4 -4
  416. package/skills/todo/SKILL.md +3 -3
  417. package/skills/turn-closeout/SKILL.md +10 -10
  418. package/skills/unlock-decision/SKILL.md +3 -3
  419. package/skills/update/SKILL.md +9 -9
  420. package/skills/using-gdd/SKILL.md +17 -17
  421. package/skills/verify/SKILL.md +13 -13
  422. package/skills/verify/verify-procedure.md +34 -34
  423. package/skills/warm-cache/SKILL.md +8 -8
  424. package/skills/watch-authorities/SKILL.md +9 -9
  425. package/skills/zoom-out/SKILL.md +4 -4
@@ -1,4 +1,4 @@
1
- # Typography Scale, Pairing, and Hierarchy
1
+ # Typography - Scale, Pairing, and Hierarchy
2
2
 
3
3
  ---
4
4
 
@@ -12,14 +12,14 @@ Choose a ratio and base size. Common ratios:
12
12
  |---|---|---|
13
13
  | 1.067 | Minor Second | Dense UIs, data-heavy dashboards |
14
14
  | 1.125 | Major Second | Conservative, corporate |
15
- | 1.200 | Minor Third | Balanced most SaaS products |
15
+ | 1.200 | Minor Third | Balanced - most SaaS products |
16
16
  | 1.250 | Major Third | Consumer, editorial |
17
17
  | 1.333 | Perfect Fourth | Strong hierarchy, marketing |
18
18
  | 1.414 | Augmented Fourth | Bold, magazine-style |
19
19
  | 1.500 | Perfect Fifth | Very dramatic hierarchy |
20
20
  | 1.618 | Golden Ratio | Maximum visual drama |
21
21
 
22
- **Standard scale (base 16px, ratio 1.25 Major Third):**
22
+ **Standard scale (base 16px, ratio 1.25 - Major Third):**
23
23
 
24
24
  | Token | Size | Use |
25
25
  |---|---|---|
@@ -35,7 +35,7 @@ Choose a ratio and base size. Common ratios:
35
35
 
36
36
  Never create a scale ad-hoc. Pick one ratio, generate the scale, use only values in the scale.
37
37
 
38
- **See:** [`./proportion-systems.md`](./proportion-systems.md) §Modular Relationships for how the type scale ties to spacing / sizing / radius scales when one ratio drives all four scales the whole UI gains a single rhythm rather than four independently-tuned progressions.
38
+ **See:** [`./proportion-systems.md`](./proportion-systems.md) §Modular Relationships for how the type scale ties to spacing / sizing / radius scales - when one ratio drives all four scales the whole UI gains a single rhythm rather than four independently-tuned progressions.
39
39
 
40
40
  ---
41
41
 
@@ -71,9 +71,9 @@ Enforce with `max-width`: `65ch` for body containers works with any font size.
71
71
  | Display headings | **700 – 900** | Bold commands attention |
72
72
  | Page headings | **600 – 700** | Strong but not display-level |
73
73
  | Section headings | **500 – 600** | Distinguish from body |
74
- | Body text | **400** | Regular no emphasis weight |
74
+ | Body text | **400** | Regular - no emphasis weight |
75
75
  | UI labels | **500** | Slightly heavier than body |
76
- | Captions | **400** | Regular size reduces emphasis |
76
+ | Captions | **400** | Regular - size reduces emphasis |
77
77
  | Monospace code | **400 – 500** | |
78
78
 
79
79
  **Rule**: Never use `font-weight: 300` (light) on small text. It becomes illegible below 16px.
@@ -83,51 +83,51 @@ Enforce with `max-width`: `65ch` for body containers works with any font size.
83
83
  ## Proven Font Pairings
84
84
 
85
85
  ### For SaaS / Productivity
86
- - **Plus Jakarta Sans** (headers) + **Plus Jakarta Sans** (body) single-family, geometric, modern
87
- - **DM Sans** (headers) + **DM Sans** (body) clean, contemporary
88
- - **Outfit** + **Work Sans** geometric, startup feel
86
+ - **Plus Jakarta Sans** (headers) + **Plus Jakarta Sans** (body) - single-family, geometric, modern
87
+ - **DM Sans** (headers) + **DM Sans** (body) - clean, contemporary
88
+ - **Outfit** + **Work Sans** - geometric, startup feel
89
89
 
90
90
  ### For Consumer / Marketing
91
- - **Playfair Display** + **Inter** editorial contrast (serif header, sans body)
92
- - **Cormorant Garamond** + **Montserrat** luxury, refined
93
- - **Syne** + **Manrope** fashion-forward, editorial
91
+ - **Playfair Display** + **Inter** - editorial contrast (serif header, sans body)
92
+ - **Cormorant Garamond** + **Montserrat** - luxury, refined
93
+ - **Syne** + **Manrope** - fashion-forward, editorial
94
94
 
95
95
  ### For Finance / Enterprise
96
- - **IBM Plex Sans** (all) technical, neutral, reliable
97
- - **Lexend** + **Source Sans 3** corporate, trustworthy, accessible
98
- - **Libre Bodoni** + **Public Sans** news editorial, authority
96
+ - **IBM Plex Sans** (all) - technical, neutral, reliable
97
+ - **Lexend** + **Source Sans 3** - corporate, trustworthy, accessible
98
+ - **Libre Bodoni** + **Public Sans** - news editorial, authority
99
99
 
100
100
  ### For Developer Tools / Technical
101
- - **JetBrains Mono** (code) + **IBM Plex Sans** (UI) technical, consistent
102
- - **Fira Code** + **Fira Sans** same family, harmonious
103
- - **Geist Mono** + **Geist** (Vercel) modern technical
101
+ - **JetBrains Mono** (code) + **IBM Plex Sans** (UI) - technical, consistent
102
+ - **Fira Code** + **Fira Sans** - same family, harmonious
103
+ - **Geist Mono** + **Geist** (Vercel) - modern technical
104
104
 
105
105
  ### For Bold / Expressive
106
- - **Bebas Neue** + **Source Sans 3** display contrast, impactful
107
- - **Syne** + **Epilogue** editorial, contemporary
108
- - **Clash Display** + **Satoshi** startup bold, premium
106
+ - **Bebas Neue** + **Source Sans 3** - display contrast, impactful
107
+ - **Syne** + **Epilogue** - editorial, contemporary
108
+ - **Clash Display** + **Satoshi** - startup bold, premium
109
109
 
110
110
  ### For Accessibility-First
111
- - **Atkinson Hyperlegible** (all) designed for low-vision readers
112
- - **Lexend** (all) designed to improve reading fluency
111
+ - **Atkinson Hyperlegible** (all) - designed for low-vision readers
112
+ - **Lexend** (all) - designed to improve reading fluency
113
113
 
114
114
  ---
115
115
 
116
116
  ## Typographic Anti-Patterns
117
117
 
118
- **Inter as the default** Inter is excellent but requires a reason. "I used Inter" is not a typographic decision. If there's no brand reason for Inter specifically, explore the pairing list above.
118
+ **Inter as the default** - Inter is excellent but requires a reason. "I used Inter" is not a typographic decision. If there's no brand reason for Inter specifically, explore the pairing list above.
119
119
 
120
- **Space Grotesk without purpose** frequently used as a "quirky technical" font. Overused.
120
+ **Space Grotesk without purpose** - frequently used as a "quirky technical" font. Overused.
121
121
 
122
- **Mismatched personality** serif heading on a developer tool, playful font on a medical platform, condensed display on body text.
122
+ **Mismatched personality** - serif heading on a developer tool, playful font on a medical platform, condensed display on body text.
123
123
 
124
- **Too many families** maximum **2 font families** in a UI. More than that = chaos. (Exceptions: monospace for code is a 3rd that doesn't count.)
124
+ **Too many families** - maximum **2 font families** in a UI. More than that = chaos. (Exceptions: monospace for code is a 3rd that doesn't count.)
125
125
 
126
- **Light weights on small text** `font-weight: 300` below 16px fails contrast and readability.
126
+ **Light weights on small text** - `font-weight: 300` below 16px fails contrast and readability.
127
127
 
128
- **All caps body text** reserved for: labels, badges, category markers, short UI labels only. Never for sentences or paragraphs.
128
+ **All caps body text** - reserved for: labels, badges, category markers, short UI labels only. Never for sentences or paragraphs.
129
129
 
130
- **Inconsistent tracking** only use `letter-spacing` intentionally. Positive tracking on uppercase labels is fine. Negative tracking on small body text reduces readability. Random tracking changes across components signal lack of system.
130
+ **Inconsistent tracking** - only use `letter-spacing` intentionally. Positive tracking on uppercase labels is fine. Negative tracking on small body text reduces readability. Random tracking changes across components signal lack of system.
131
131
 
132
132
  ---
133
133
 
@@ -179,7 +179,7 @@ as a starting point (adjust for specific constraints).
179
179
 
180
180
  | Archetype | Character | Recommended Pairing |
181
181
  |-----------|-----------|---------------------|
182
- | SaaS / productivity | clear, neutral, utilitarian | Inter (UI) + Inter (body) single family |
182
+ | SaaS / productivity | clear, neutral, utilitarian | Inter (UI) + Inter (body) - single family |
183
183
  | Consumer / editorial | warm, opinionated, expressive | Fraunces or GT Sectra (display) + Inter (body) |
184
184
  | Enterprise / finance | authoritative, conservative | IBM Plex Sans (UI) + IBM Plex Serif (body) |
185
185
  | Developer tools | technical, efficient | Geist (UI) + Geist Mono (code) |
@@ -193,7 +193,7 @@ as a starting point (adjust for specific constraints).
193
193
 
194
194
  Variable fonts expose typographic axes that can be animated or set per-context
195
195
  via `font-variation-settings`. Prefer variable fonts over static family fallbacks
196
- when available one file covers all weights and widths.
196
+ when available - one file covers all weights and widths.
197
197
 
198
198
  ### Common axes
199
199
 
@@ -235,7 +235,7 @@ font-family: 'InterVariable', 'Inter', -apple-system, system-ui, sans-serif;
235
235
  ---
236
236
 
237
237
  ## Micro-Typography
238
- Source: jakubkrehel/make-interfaces-feel-better (MIT) typography.md
238
+ Source: jakubkrehel/make-interfaces-feel-better (MIT) - typography.md
239
239
 
240
240
  ### text-wrap
241
241
 
@@ -243,7 +243,7 @@ Use `text-wrap: balance` for headings to prevent orphaned single words:
243
243
  ```css
244
244
  h1, h2, h3 { text-wrap: balance; }
245
245
  ```
246
- Chromium supports up to 6 lines, Firefox up to 10. Do not apply to body text (performance cost scales with line count). For body copy and captions, use `text-wrap: pretty` instead it prevents widows (dangling last words) without the line-count restriction.
246
+ Chromium supports up to 6 lines, Firefox up to 10. Do not apply to body text (performance cost scales with line count). For body copy and captions, use `text-wrap: pretty` instead - it prevents widows (dangling last words) without the line-count restriction.
247
247
 
248
248
  ### Font smoothing
249
249
 
@@ -254,7 +254,7 @@ Apply antialiasing at root level only:
254
254
  -moz-osx-font-smoothing: grayscale;
255
255
  }
256
256
  ```
257
- Never apply per-element this creates inconsistency within a single text block and is one of the most common micro-typography mistakes. The antialiased value makes text appear slightly thinner/lighter, which is generally preferred for UI type at modern screen densities.
257
+ Never apply per-element - this creates inconsistency within a single text block and is one of the most common micro-typography mistakes. The antialiased value makes text appear slightly thinner/lighter, which is generally preferred for UI type at modern screen densities.
258
258
 
259
259
  ### Tabular numerals
260
260
 
@@ -262,52 +262,52 @@ Use tabular-nums on any surface where numbers change dynamically or need to alig
262
262
  ```css
263
263
  .counter, .price, .timer, .table-cell { font-variant-numeric: tabular-nums; }
264
264
  ```
265
- Proportional numerals (the default) cause text to shift width when numbers change, creating a distracting jitter in timers and prices. Exception: Inter's `1` character widens slightly with tabular-nums test at your numeric composition before committing.
265
+ Proportional numerals (the default) cause text to shift width when numbers change, creating a distracting jitter in timers and prices. Exception: Inter's `1` character widens slightly with tabular-nums - test at your numeric composition before committing.
266
266
 
267
267
  ## Font Pairings Catalog
268
- Source: nextlevelbuilder/ui-ux-pro-max-skill (MIT) data/typography.csv
268
+ Source: nextlevelbuilder/ui-ux-pro-max-skill (MIT) - data/typography.csv
269
269
 
270
270
  57 professionally curated pairings grouped by use-case vertical. For font loading, see `reference/data/google-fonts.csv` for the full 1923-font reference.
271
271
 
272
272
  ### SaaS / Productivity
273
- - **Inter + Inter** (mono weight hierarchy) The "safe default" for app UIs. Use regular (400) for body, medium (500) for labels, semibold (600) for headings. Consistent x-height, excellent at small sizes.
274
- - **Inter + JetBrains Mono** For dev tools and dashboards with code display. JetBrains Mono has excellent legibility at 12-14px.
275
- - **Geist Sans + Geist Mono** Vercel's pair; clean, modern, designed together.
276
- - **Outfit + DM Mono** Friendly SaaS feel with clear code fallback.
273
+ - **Inter + Inter** (mono weight hierarchy) - The "safe default" for app UIs. Use regular (400) for body, medium (500) for labels, semibold (600) for headings. Consistent x-height, excellent at small sizes.
274
+ - **Inter + JetBrains Mono** - For dev tools and dashboards with code display. JetBrains Mono has excellent legibility at 12-14px.
275
+ - **Geist Sans + Geist Mono** - Vercel's pair; clean, modern, designed together.
276
+ - **Outfit + DM Mono** - Friendly SaaS feel with clear code fallback.
277
277
 
278
278
  ### Consumer / Marketing
279
- - **Satoshi + Cabinet Grotesk** High-energy, modern consumer feel.
280
- - **Plus Jakarta Sans + Syne** Playful but legible; works for creative consumer apps.
281
- - **DM Sans + DM Serif Display** Classic pairing; editorial headers, clean body.
282
- - **Nunito + Source Code Pro** Approachable and friendly.
279
+ - **Satoshi + Cabinet Grotesk** - High-energy, modern consumer feel.
280
+ - **Plus Jakarta Sans + Syne** - Playful but legible; works for creative consumer apps.
281
+ - **DM Sans + DM Serif Display** - Classic pairing; editorial headers, clean body.
282
+ - **Nunito + Source Code Pro** - Approachable and friendly.
283
283
 
284
284
  ### Finance / Enterprise
285
- - **IBM Plex Sans + IBM Plex Mono** Authoritative, systematic, designed for data-heavy interfaces.
286
- - **Source Sans 3 + Source Code Pro** Adobe's workhorse pair; widely trusted.
287
- - **Lato + Roboto Mono** Clean, neutral enterprise pair.
285
+ - **IBM Plex Sans + IBM Plex Mono** - Authoritative, systematic, designed for data-heavy interfaces.
286
+ - **Source Sans 3 + Source Code Pro** - Adobe's workhorse pair; widely trusted.
287
+ - **Lato + Roboto Mono** - Clean, neutral enterprise pair.
288
288
 
289
289
  ### Editorial / Publishing
290
- - **Playfair Display + Source Serif 4** High contrast serif headers with readable body serif.
291
- - **Cormorant Garamond + Proza Libre** Elegant luxury/editorial tone.
292
- - **Libre Baskerville + Libre Franklin** Free-license editorial pair.
293
- - **EB Garamond + Lato** Classic print feel with modern body.
290
+ - **Playfair Display + Source Serif 4** - High contrast serif headers with readable body serif.
291
+ - **Cormorant Garamond + Proza Libre** - Elegant luxury/editorial tone.
292
+ - **Libre Baskerville + Libre Franklin** - Free-license editorial pair.
293
+ - **EB Garamond + Lato** - Classic print feel with modern body.
294
294
 
295
295
  ### Wellness / Health
296
- - **Nunito + Nunito Sans** Soft, approachable, consistent x-height.
297
- - **Quicksand + Work Sans** Rounded, friendly, healthcare-appropriate.
298
- - **Raleway + Open Sans** Clean and welcoming.
296
+ - **Nunito + Nunito Sans** - Soft, approachable, consistent x-height.
297
+ - **Quicksand + Work Sans** - Rounded, friendly, healthcare-appropriate.
298
+ - **Raleway + Open Sans** - Clean and welcoming.
299
299
 
300
300
  ### Dev Tools
301
- - **JetBrains Mono + Inter** Code-first, UI-second; natural for developer tools.
302
- - **Fira Code + Fira Sans** Cohesive family; ligatures available.
303
- - **Cascadia Code + Segoe UI** Microsoft's modern dev pair.
301
+ - **JetBrains Mono + Inter** - Code-first, UI-second; natural for developer tools.
302
+ - **Fira Code + Fira Sans** - Cohesive family; ligatures available.
303
+ - **Cascadia Code + Segoe UI** - Microsoft's modern dev pair.
304
304
 
305
305
  ### Luxury / Fashion
306
- - **Cormorant + Montserrat** High contrast serif + geometric sans; classic luxury.
307
- - **Bodoni Moda + Jost** Fashion editorial feel.
308
- - **Playfair Display + Raleway** Elegant header + clean body.
306
+ - **Cormorant + Montserrat** - High contrast serif + geometric sans; classic luxury.
307
+ - **Bodoni Moda + Jost** - Fashion editorial feel.
308
+ - **Playfair Display + Raleway** - Elegant header + clean body.
309
309
 
310
310
  ### Gaming / Entertainment
311
- - **Syne + DM Sans** Bold, energetic headers; clean readable body.
312
- - **Bebas Neue + Open Sans** Impact headlines; neutral body.
313
- - **Exo 2 + Roboto** Futuristic but readable.
311
+ - **Syne + DM Sans** - Bold, energetic headers; clean readable body.
312
+ - **Bebas Neue + Open Sans** - Impact headlines; neutral body.
313
+ - **Exo 2 + Roboto** - Futuristic but readable.
@@ -17,7 +17,7 @@ Every method sits in one of four quadrants defined by two axes: whether the goal
17
17
 
18
18
  **Evaluative research** answers "Does this solution work, and how well?" It is appropriate once a concept, prototype, or live product exists. Outputs are pass/fail rates, benchmarks, and ranked preference scores.
19
19
 
20
- Mixing quadrants in the same study is usually a mistake participants primed by evaluation tasks answer generative questions defensively. Plan separate sessions or separate phases.
20
+ Mixing quadrants in the same study is usually a mistake - participants primed by evaluation tasks answer generative questions defensively. Plan separate sessions or separate phases.
21
21
 
22
22
  ---
23
23
 
@@ -25,7 +25,7 @@ Mixing quadrants in the same study is usually a mistake — participants primed
25
25
 
26
26
  ### Contextual Interviews / User Interviews
27
27
 
28
- A contextual interview is a structured or semi-structured conversation conducted in the environment where the work actually happens at a desk, in a kitchen, on a shop floor. A plain user interview happens in a neutral setting (a conference room, a video call) and relies on self-report rather than observation. Contextual interviews surface discrepancies between what people say they do and what they actually do; plain interviews are faster to schedule and sufficient when behavior is verbal or cognitive.
28
+ A contextual interview is a structured or semi-structured conversation conducted in the environment where the work actually happens - at a desk, in a kitchen, on a shop floor. A plain user interview happens in a neutral setting (a conference room, a video call) and relies on self-report rather than observation. Contextual interviews surface discrepancies between what people say they do and what they actually do; plain interviews are faster to schedule and sufficient when behavior is verbal or cognitive.
29
29
 
30
30
  **When to use:** Early discovery, when you need to understand goals, mental models, workarounds, and emotional context before any design artifact exists.
31
31
 
@@ -34,14 +34,14 @@ A contextual interview is a structured or semi-structured conversation conducted
34
34
  **Key pitfalls:**
35
35
  - Asking leading questions ("Do you find the checkout confusing?") primes the answer
36
36
  - Asking hypothetical questions ("Would you use a feature that…?") produces aspirational fiction, not real behavior
37
- - Failing to probe the last three minutes of a story "tell me more about that" almost always yields the real insight
37
+ - Failing to probe the last three minutes of a story - "tell me more about that" almost always yields the real insight
38
38
  - Recording without consent, or failing to inform participants how data will be used
39
39
 
40
40
  ---
41
41
 
42
42
  ### Field Observation (Diary Studies, Shadowing)
43
43
 
44
- Field observation captures behavior as it naturally unfolds, without a researcher present (diary study) or with a researcher silently present (shadowing). In a **diary study**, participants self-report via a structured log a form, a voice note, or a photo triggered by an event or a fixed schedule over days to weeks. In **shadowing**, the researcher follows a participant through a real work session and takes notes or records video.
44
+ Field observation captures behavior as it naturally unfolds, without a researcher present (diary study) or with a researcher silently present (shadowing). In a **diary study**, participants self-report via a structured log - a form, a voice note, or a photo - triggered by an event or a fixed schedule over days to weeks. In **shadowing**, the researcher follows a participant through a real work session and takes notes or records video.
45
45
 
46
46
  **When to use:** When the behavior of interest is distributed across time (diary) or deeply embedded in a physical environment (shadowing); when recall in an interview would be too compressed or distorted.
47
47
 
@@ -49,7 +49,7 @@ Field observation captures behavior as it naturally unfolds, without a researche
49
49
 
50
50
  **Key pitfalls:**
51
51
  - Diary prompts that are too long or too frequent cause abandonment
52
- - Shadowing creates an observer effect participants perform "correct" behavior rather than habitual behavior; use this method alongside analytics to cross-check
52
+ - Shadowing creates an observer effect - participants perform "correct" behavior rather than habitual behavior; use this method alongside analytics to cross-check
53
53
  - Diary data requires significant cleaning before synthesis; budget time accordingly
54
54
 
55
55
  ---
@@ -63,25 +63,25 @@ A survey collects self-reported data at scale through a fixed set of questions d
63
63
  **Sample size:** For a ±5% margin of error at 95% confidence in a large population, n = 385. For ±3%, n = 1067. Smaller populations require proportionally larger samples relative to population size.
64
64
 
65
65
  **Key pitfalls:**
66
- - Question order effects put sensitive or demographic questions last
67
- - Acquiescence bias respondents agree with statements regardless of content; use balanced scales (Likert with both positive and negative anchors)
68
- - Survivorship bias survey respondents are not the same as non-respondents; a 10% response rate produces a self-selected sample
66
+ - Question order effects - put sensitive or demographic questions last
67
+ - Acquiescence bias - respondents agree with statements regardless of content; use balanced scales (Likert with both positive and negative anchors)
68
+ - Survivorship bias - survey respondents are not the same as non-respondents; a 10% response rate produces a self-selected sample
69
69
  - Treating ordinal Likert data as interval data for arithmetic mean comparisons
70
70
 
71
71
  ---
72
72
 
73
73
  ### Card Sorting
74
74
 
75
- Card sorting asks participants to organize a set of labeled cards (representing content, features, or navigation items) into groups that make sense to them. **Open card sorting** lets participants create their own group names this reveals the mental model. **Closed card sorting** provides predefined categories this tests whether an existing structure matches expectations. **Hybrid card sorting** asks participants to sort into predefined categories but allows them to create new ones when nothing fits.
75
+ Card sorting asks participants to organize a set of labeled cards (representing content, features, or navigation items) into groups that make sense to them. **Open card sorting** lets participants create their own group names - this reveals the mental model. **Closed card sorting** provides predefined categories - this tests whether an existing structure matches expectations. **Hybrid card sorting** asks participants to sort into predefined categories but allows them to create new ones when nothing fits.
76
76
 
77
- **Output:** Group labels (open) surface vocabulary and categories that match user language. A **dendrogram** a tree diagram produced by cluster analysis shows which cards are grouped together most consistently across participants, revealing the underlying mental model numerically.
77
+ **Output:** Group labels (open) surface vocabulary and categories that match user language. A **dendrogram** - a tree diagram produced by cluster analysis - shows which cards are grouped together most consistently across participants, revealing the underlying mental model numerically.
78
78
 
79
79
  **When to use:** Before designing information architecture; after tree testing reveals a structure that is failing.
80
80
 
81
81
  **Sample size:** 15–20 participants for open sorting; 30+ for closed sorting where you want statistical confidence in the clusters.
82
82
 
83
83
  **Key pitfalls:**
84
- - Cards that are ambiguous produce noise, not insight pilot test card labels first
84
+ - Cards that are ambiguous produce noise, not insight - pilot test card labels first
85
85
  - Too many cards (>60) causes fatigue; split into focused subsets
86
86
  - Dendrograms look authoritative but are sensitive to the distance algorithm chosen; report the algorithm and test alternative cuts
87
87
 
@@ -89,12 +89,12 @@ Card sorting asks participants to organize a set of labeled cards (representing
89
89
 
90
90
  ### Tree Testing
91
91
 
92
- Tree testing evaluates an information architecture by asking participants to find content using only the text labels of a navigation tree no visual design, no search, no breadcrumbs. Participants are given a task ("Find the return policy for a purchased item") and navigate the tree until they select a destination. The test isolates whether the structure and labeling work, independent of visual presentation.
92
+ Tree testing evaluates an information architecture by asking participants to find content using only the text labels of a navigation tree - no visual design, no search, no breadcrumbs. Participants are given a task ("Find the return policy for a purchased item") and navigate the tree until they select a destination. The test isolates whether the structure and labeling work, independent of visual presentation.
93
93
 
94
94
  **Output:**
95
- - **Success rate** percentage of participants who reached the correct destination. >75% = good; >60% = acceptable; below 60% = the path needs redesign.
96
- - **Directness** percentage of successful participants who reached the answer without backtracking. High directness means the path is intuitive; high success with low directness means participants found it eventually but the labels are misleading.
97
- - **Time on task** useful for comparing two versions of a tree; not meaningful in isolation.
95
+ - **Success rate** - percentage of participants who reached the correct destination. >75% = good; >60% = acceptable; below 60% = the path needs redesign.
96
+ - **Directness** - percentage of successful participants who reached the answer without backtracking. High directness means the path is intuitive; high success with low directness means participants found it eventually but the labels are misleading.
97
+ - **Time on task** - useful for comparing two versions of a tree; not meaningful in isolation.
98
98
 
99
99
  **When to use:** Before building navigation; after card sorting to validate that an IA derived from participant groups actually works for task completion.
100
100
 
@@ -102,7 +102,7 @@ Tree testing evaluates an information architecture by asking participants to fin
102
102
 
103
103
  **Key pitfalls:**
104
104
  - Tasks that hint at the answer ("Find the Privacy section in Settings") teach rather than test
105
- - A tree that passes at 76% success for one task may still fail for a different task test all high-traffic paths
105
+ - A tree that passes at 76% success for one task may still fail for a different task - test all high-traffic paths
106
106
  - Do not test more than 10 tasks per session without randomization to prevent fatigue effects
107
107
 
108
108
  ---
@@ -116,7 +116,7 @@ Preference testing presents two or more design options and asks participants to
116
116
  **Sample size:** 50–100 participants for a binary preference test to achieve statistically meaningful proportions.
117
117
 
118
118
  **Key pitfalls:**
119
- - Preference does not equal usability participants consistently prefer interfaces they can use, but can prefer a beautiful interface they cannot use over an ugly one they can
119
+ - Preference does not equal usability - participants consistently prefer interfaces they can use, but can prefer a beautiful interface they cannot use over an ugly one they can
120
120
  - Options must be shown in randomized order to control for primacy and recency bias
121
121
  - "Why did you choose this?" follow-ups suffer from post-hoc rationalization; treat qualitative reasons as directional, not causal
122
122
 
@@ -131,7 +131,7 @@ A first-click test measures where participants click first when presented with a
131
131
  **Sample size:** 20–40 participants provides sufficient data for heatmap patterns and task success rates.
132
132
 
133
133
  **Key pitfalls:**
134
- - A click in the right location for the wrong reason (the participant was guessing) is not a pass follow up with "why did you click there?"
134
+ - A click in the right location for the wrong reason (the participant was guessing) is not a pass - follow up with "why did you click there?"
135
135
  - First-click tests do not account for context built up from prior pages; test each page in context when the flow matters
136
136
  - Heatmaps with small n look authoritative but individual outlier clicks distort the visualization
137
137
 
@@ -146,9 +146,9 @@ A 5-second test exposes participants to a design for exactly five seconds, then
146
146
  **Sample size:** 20–50 participants; the test is fast enough that larger samples are easy to recruit.
147
147
 
148
148
  **Key pitfalls:**
149
- - Questions asked immediately after exposure must be closed or very specific open-ended questions produce memory artifacts, not design feedback
149
+ - Questions asked immediately after exposure must be closed or very specific - open-ended questions produce memory artifacts, not design feedback
150
150
  - The 5-second window captures attention and memory, not comprehension or usability; do not use this to predict task performance
151
- - Results are highly sensitive to the specific question asked "What is this page for?" and "What do you remember?" produce different data from the same exposure
151
+ - Results are highly sensitive to the specific question asked - "What is this page for?" and "What do you remember?" produce different data from the same exposure
152
152
 
153
153
  ---
154
154
 
@@ -165,7 +165,7 @@ The rule does **not** apply to:
165
165
  - Surveys where you need generalizable proportions (requires hundreds)
166
166
  - A/B tests where you need to detect a treatment effect (requires thousands)
167
167
  - Tree tests where success-rate benchmarks must be reliable (requires 50+)
168
- - Studies with heterogeneous populations run 5 users per distinct segment
168
+ - Studies with heterogeneous populations - run 5 users per distinct segment
169
169
 
170
170
  Misapplying the "5 users" rule to quantitative contexts is a common and costly error. A sample of five will tell you which problems exist, not how often they occur.
171
171
 
@@ -198,7 +198,7 @@ For smaller populations, apply the finite population correction. These figures a
198
198
 
199
199
  ## Synthesis Techniques
200
200
 
201
- Raw research data interview transcripts, survey responses, diary entries does not become insight until it is actively interpreted and structured. Three frameworks cover most synthesis needs.
201
+ Raw research data - interview transcripts, survey responses, diary entries - does not become insight until it is actively interpreted and structured. Three frameworks cover most synthesis needs.
202
202
 
203
203
  ### Affinity Diagrams (KJ Method)
204
204
 
@@ -206,11 +206,11 @@ An affinity diagram (developed by Jiro Kawakita, hence KJ method) organizes qual
206
206
 
207
207
  **Process:**
208
208
  1. Write each distinct observation, quote, or behavior on a separate note (physical or digital)
209
- 2. Silently sort notes into groups based on natural similarity team members work in parallel, moving notes without discussion
209
+ 2. Silently sort notes into groups based on natural similarity - team members work in parallel, moving notes without discussion
210
210
  3. Once sorting slows, name each cluster with a header that captures the insight, not just the topic ("Users abandon checkout when shipping cost appears late" rather than "Shipping")
211
211
  4. Merge or split clusters until the structure is stable
212
212
 
213
- **When done:** Clustering is complete when new data no longer creates new groups typically after three to four passes with a complete data set. If a new interview consistently produces notes that fit existing clusters without creating new ones, theoretical saturation has been reached.
213
+ **When done:** Clustering is complete when new data no longer creates new groups - typically after three to four passes with a complete data set. If a new interview consistently produces notes that fit existing clusters without creating new ones, theoretical saturation has been reached.
214
214
 
215
215
  ### Jobs-to-be-Done
216
216
 
@@ -219,9 +219,9 @@ Jobs-to-be-Done (JTBD) frames user behavior around the progress a person is tryi
219
219
  > **"When I [situation], I want to [motivation/goal], so I can [expected outcome]."**
220
220
 
221
221
  JTBD distinguishes three job layers:
222
- - **Functional job** the practical task being accomplished ("When I'm running low on groceries, I want to reorder my usual items quickly, so I can avoid running out")
223
- - **Social job** how the person wants to be perceived while doing it ("so my family sees me as organized and dependable")
224
- - **Emotional job** how the person wants to feel ("so I don't feel the anxiety of an empty fridge")
222
+ - **Functional job** - the practical task being accomplished ("When I'm running low on groceries, I want to reorder my usual items quickly, so I can avoid running out")
223
+ - **Social job** - how the person wants to be perceived while doing it ("so my family sees me as organized and dependable")
224
+ - **Emotional job** - how the person wants to feel ("so I don't feel the anxiety of an empty fridge")
225
225
 
226
226
  Designs that serve only the functional job often feel transactional. Designs that also address emotional and social jobs create habitual use and preference. Surface all three layers during synthesis by asking "and why does that matter to you?" until the answer is about identity or feeling, not functionality.
227
227
 
@@ -230,11 +230,11 @@ Designs that serve only the functional job often feel transactional. Designs tha
230
230
  A user journey map visualizes the sequence of steps a user takes to accomplish a goal, annotated with emotional valence, touchpoints, and observations at each step.
231
231
 
232
232
  **Key components:**
233
- - **Stages** the high-level phases of the experience (Awareness, Onboarding, First Use, Routine Use, Problem Recovery)
234
- - **Touchpoints** every channel or interface the user contacts (email, app, support chat, physical receipt)
235
- - **Emotional valence** a curve showing frustration, confusion, delight, or confidence at each step, derived from research data, not assumed
236
- - **Moments of truth** the two or three steps where user trust is won or lost; these are the highest-leverage design targets
237
- - **Pain points and gains** specific friction (long wait, confusing label, missing feedback) and specific delights (unexpected shortcut, empathetic error message)
233
+ - **Stages** - the high-level phases of the experience (Awareness, Onboarding, First Use, Routine Use, Problem Recovery)
234
+ - **Touchpoints** - every channel or interface the user contacts (email, app, support chat, physical receipt)
235
+ - **Emotional valence** - a curve showing frustration, confusion, delight, or confidence at each step, derived from research data, not assumed
236
+ - **Moments of truth** - the two or three steps where user trust is won or lost; these are the highest-impact design targets
237
+ - **Pain points and gains** - specific friction (long wait, confusing label, missing feedback) and specific delights (unexpected shortcut, empathetic error message)
238
238
 
239
239
  A journey map built from assumed experience is a risk document, not a research artifact. Only map journeys from observed or reported user behavior; mark any step built on assumption explicitly so it can be validated.
240
240
 
@@ -247,21 +247,21 @@ A/B testing (controlled experiment) measures the causal effect of a design chang
247
247
  ### Sample Size and Power
248
248
 
249
249
  Pre-register the following before running any experiment:
250
- - **Primary metric** the single metric the test is designed to move (conversion rate, session length, activation)
251
- - **MDE** the smallest relative improvement worth shipping; smaller MDEs require larger samples
252
- - **Baseline rate** the current value of the primary metric, measured over a representative period
253
- - **Power** 80% (β = 0.20) is the standard minimum; 90% is appropriate when the cost of a missed effect is high
254
- - **Significance threshold** α = 0.05 (5% Type I error rate) is standard; use α = 0.01 for high-stakes decisions or multiple simultaneous tests
250
+ - **Primary metric** - the single metric the test is designed to move (conversion rate, session length, activation)
251
+ - **MDE** - the smallest relative improvement worth shipping; smaller MDEs require larger samples
252
+ - **Baseline rate** - the current value of the primary metric, measured over a representative period
253
+ - **Power** - 80% (β = 0.20) is the standard minimum; 90% is appropriate when the cost of a missed effect is high
254
+ - **Significance threshold** - α = 0.05 (5% Type I error rate) is standard; use α = 0.01 for high-stakes decisions or multiple simultaneous tests
255
255
 
256
256
  ### Sequential vs Fixed-Horizon Testing
257
257
 
258
- **Fixed-horizon testing** requires committing to a sample size before the experiment begins and not checking results until that sample is collected. Peeking at results and stopping early when significance is reached inflates the Type I error rate dramatically running 20 checks at α = 0.05 raises the effective false-positive rate to ~64%.
258
+ **Fixed-horizon testing** requires committing to a sample size before the experiment begins and not checking results until that sample is collected. Peeking at results and stopping early when significance is reached inflates the Type I error rate dramatically - running 20 checks at α = 0.05 raises the effective false-positive rate to ~64%.
259
259
 
260
260
  **Sequential testing** (e.g., using always-valid confidence sequences or mSPRT methods) allows early stopping while controlling error rates. It is safer when experiments run on volatile traffic or when shipping quickly matters. Sequential tests typically require 20–30% more total sample on average but eliminate the false-positive inflation from peeking. Use sequential testing as the default when your tooling supports it.
261
261
 
262
262
  ### Primary Metric vs Guardrail Metrics
263
263
 
264
- Before launching any test, define the **guardrail metrics** the metrics that must not decline as a condition of shipping, regardless of the primary metric result.
264
+ Before launching any test, define the **guardrail metrics** - the metrics that must not decline as a condition of shipping, regardless of the primary metric result.
265
265
 
266
266
  - **Primary metric:** checkout completion rate
267
267
  - **Guardrail metrics:** page load time (must not increase >50ms), return rate (must not increase >1pp), customer support contact rate (must not increase)
@@ -270,7 +270,7 @@ A treatment that improves checkout completion by 8% while increasing support con
270
270
 
271
271
  ### Novelty Effect
272
272
 
273
- New UI patterns, colors, or flows often see inflated positive effects in the first week because users engage with anything that is different. To avoid shipping a change that performs well only because it is new, run experiments for **at least two full business cycles** (typically two weeks for B2C products) before reading results. Monitor the treatment effect over time a novelty lift decays; a genuine improvement holds flat or grows.
273
+ New UI patterns, colors, or flows often see inflated positive effects in the first week because users engage with anything that is different. To avoid shipping a change that performs well only because it is new, run experiments for **at least two full business cycles** (typically two weeks for B2C products) before reading results. Monitor the treatment effect over time - a novelty lift decays; a genuine improvement holds flat or grows.
274
274
 
275
275
  ---
276
276
 
@@ -282,9 +282,9 @@ Quantitative analytics tells you what users are doing at scale, but it cannot te
282
282
 
283
283
  A funnel analysis counts users at each step of a defined sequence (landing → sign-up → onboarding → first key action → activation) and reports the drop-off rate between steps. A large drop between two steps identifies a problem worth investigating; it does not explain the cause.
284
284
 
285
- **Correct interpretation:** "60% of users who start sign-up do not complete it this step warrants usability testing and exit surveys."
285
+ **Correct interpretation:** "60% of users who start sign-up do not complete it - this step warrants usability testing and exit surveys."
286
286
 
287
- **Incorrect interpretation:** "The sign-up form is confusing we should simplify it." Funnels explain what, not why. The drop may be caused by form friction, price discovery too late, technical errors on specific devices, or users deliberately deferring. Research the step before redesigning it.
287
+ **Incorrect interpretation:** "The sign-up form is confusing - we should simplify it." Funnels explain what, not why. The drop may be caused by form friction, price discovery too late, technical errors on specific devices, or users deliberately deferring. Research the step before redesigning it.
288
288
 
289
289
  ### Cohort Retention Curves
290
290
 
@@ -292,7 +292,7 @@ A cohort retention curve shows what percentage of users acquired in a given peri
292
292
 
293
293
  - **Early drop (Day 1–3):** Users are not completing onboarding or are not reaching the first moment of value; the onboarding flow is the design target
294
294
  - **Mid drop (Day 7–14):** Users completed onboarding but are not forming a usage habit; engagement features (reminders, progress, social hooks) and the core loop are the design targets
295
- - **Late drop (Day 30+):** Users had a habit but lost it; this indicates habit failure, not acquisition or onboarding issues investigate trigger frequency, competing alternatives, and changing life context
295
+ - **Late drop (Day 30+):** Users had a habit but lost it; this indicates habit failure, not acquisition or onboarding issues - investigate trigger frequency, competing alternatives, and changing life context
296
296
 
297
297
  A flat retention curve (asymptoting above zero) is the signal that product-market fit exists for at least a subset of users.
298
298
 
@@ -304,17 +304,17 @@ Heatmaps aggregate mouse movement, scroll depth, and click positions across many
304
304
  - **Click heatmaps lie on dynamic content.** Carousels, tabs, and modal triggers change what is rendered at a coordinate; aggregated clicks on a static screenshot misrepresent where those clicks actually landed.
305
305
  - **Move maps are proxies.** Eye-tracking research shows mouse position correlates with gaze only roughly (r ≈ 0.64); do not treat move heatmaps as attention maps.
306
306
 
307
- Use heatmaps to generate hypotheses ("Almost nobody clicks the secondary CTA maybe it is not visible enough at typical scroll depths") and confirm those hypotheses with usability testing or A/B tests.
307
+ Use heatmaps to generate hypotheses ("Almost nobody clicks the secondary CTA - maybe it is not visible enough at typical scroll depths") and confirm those hypotheses with usability testing or A/B tests.
308
308
 
309
309
  ### Session Recordings
310
310
 
311
311
  Session recordings capture individual user interactions as video replays. They are the analytics tool closest to observational research and the most time-intensive to analyze at scale.
312
312
 
313
313
  **Patterns that indicate design problems:**
314
- - **Rage clicks** repeated rapid clicks on an element, indicating the user believes something should be clickable and it is not (or it is broken)
315
- - **Dead clicks** clicks on non-interactive elements, indicating visual affordance is misleading
316
- - **Scroll-and-return patterns** the user scrolls past a point, returns, and re-reads it, indicating the content is ambiguous or the action they need is not where they expected it
317
- - **U-turns on multi-step flows** navigating forward then immediately back, indicating confusion or missing information at the forward step
314
+ - **Rage clicks** - repeated rapid clicks on an element, indicating the user believes something should be clickable and it is not (or it is broken)
315
+ - **Dead clicks** - clicks on non-interactive elements, indicating visual affordance is misleading
316
+ - **Scroll-and-return patterns** - the user scrolls past a point, returns, and re-reads it, indicating the content is ambiguous or the action they need is not where they expected it
317
+ - **U-turns on multi-step flows** - navigating forward then immediately back, indicating confusion or missing information at the forward step
318
318
 
319
319
  Sampling strategy matters: watch recordings filtered by the segment of users you are trying to understand (new users on mobile, users who abandoned checkout) rather than random sessions. Random sessions produce anecdote, not insight.
320
320
 
@@ -322,28 +322,28 @@ Sampling strategy matters: watch recordings filtered by the segment of users you
322
322
 
323
323
  ## Research Ethics
324
324
 
325
- Ethical research practice is not only a moral obligation it also produces better data. Participants who feel respected and safe give more candid and accurate responses.
325
+ Ethical research practice is not only a moral obligation - it also produces better data. Participants who feel respected and safe give more candid and accurate responses.
326
326
 
327
327
  ### Informed Consent
328
328
 
329
- Every participant must be told, before the session begins: what they will be asked to do, how long it will take, whether the session will be recorded (audio, video, or screen), who will have access to recordings and data, and how data will be stored and eventually deleted. Consent must be explicit and voluntary a participant who feels they cannot say no has not given meaningful consent.
329
+ Every participant must be told, before the session begins: what they will be asked to do, how long it will take, whether the session will be recorded (audio, video, or screen), who will have access to recordings and data, and how data will be stored and eventually deleted. Consent must be explicit and voluntary - a participant who feels they cannot say no has not given meaningful consent.
330
330
 
331
331
  For unmoderated remote studies (tree tests, surveys, unmoderated usability tests), informed consent is captured in a pre-task screen that participants must actively acknowledge before proceeding.
332
332
 
333
333
  ### Observer Effect
334
334
 
335
- The presence of a researcher or even the knowledge that behavior is being observed changes that behavior. Participants tend to perform more carefully, ask more clarifying questions, and avoid the shortcuts and workarounds that characterize natural use. This is the Hawthorne effect applied to usability research.
335
+ The presence of a researcher - or even the knowledge that behavior is being observed - changes that behavior. Participants tend to perform more carefully, ask more clarifying questions, and avoid the shortcuts and workarounds that characterize natural use. This is the Hawthorne effect applied to usability research.
336
336
 
337
337
  **Mitigations:**
338
338
  - Use diary studies and screen recordings to capture naturalistic behavior without researcher presence
339
339
  - In moderated sessions, use indirect tasks ("Show me how you would accomplish X") rather than direct observation ("Try to do X while I watch")
340
- - Cross-reference moderated findings with analytics discrepancies between observed behavior and logged behavior indicate observer effect
340
+ - Cross-reference moderated findings with analytics - discrepancies between observed behavior and logged behavior indicate observer effect
341
341
 
342
342
  ### Data Minimization
343
343
 
344
344
  Collect only the data you will actually analyze. If the research question does not require knowing a participant's age, do not ask for it. If screen recordings will not be reviewed, do not record them. At rest, research data should be:
345
345
  - Stored in access-controlled systems, not personal drives or shared folders
346
- - Anonymized or pseudonymized names replaced with participant IDs, identifying details removed from quotes before sharing
346
+ - Anonymized or pseudonymized - names replaced with participant IDs, identifying details removed from quotes before sharing
347
347
  - Deleted on a defined schedule once the synthesis is complete
348
348
 
349
349
  Retaining raw recordings indefinitely is a liability, not a resource.
@@ -354,7 +354,7 @@ Research involving **children under 13**, **users with cognitive or developmenta
354
354
 
355
355
  - Parental or guardian consent for minors, in addition to the participant's own assent
356
356
  - Simplified consent language and extended time for participants with cognitive disabilities
357
- - Safeguarding protocols a defined plan for what happens if a participant discloses distress during a session
357
+ - Safeguarding protocols - a defined plan for what happens if a participant discloses distress during a session
358
358
  - Avoiding incentive structures that exploit vulnerability (large cash payments to economically precarious participants create coercive pressure)
359
359
 
360
360
  When in doubt about whether a population qualifies for heightened review, treat them as though they do. The cost of over-protecting participants is low; the cost of under-protecting them is not.