agemon 0.1.0 → 6.3.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 (269) hide show
  1. package/README.md +983 -30
  2. package/assets/skills/architecture/agemon-architecture/LICENSE +21 -0
  3. package/assets/skills/architecture/agemon-architecture/NOTICE.md +9 -0
  4. package/assets/skills/architecture/agemon-architecture/SKILL.md +275 -0
  5. package/assets/skills/code-quality/agemon-clean-code/LICENSE +21 -0
  6. package/assets/skills/code-quality/agemon-clean-code/NOTICE.md +9 -0
  7. package/assets/skills/code-quality/agemon-clean-code/SKILL.md +78 -0
  8. package/assets/skills/code-quality/agemon-house-rules/SKILL.md +103 -0
  9. package/assets/skills/commit/agemon-commit/SKILL.md +87 -0
  10. package/assets/skills/design/agemon-design/LICENSE +21 -0
  11. package/assets/skills/design/agemon-design/NOTICE.md +43 -0
  12. package/assets/skills/design/agemon-design/SKILL.md +128 -0
  13. package/assets/skills/design/agemon-design/references/accessibility.md +182 -0
  14. package/assets/skills/design/agemon-design/references/actions.md +215 -0
  15. package/assets/skills/design/agemon-design/references/ai-chat.md +158 -0
  16. package/assets/skills/design/agemon-design/references/brief.md +190 -0
  17. package/assets/skills/design/agemon-design/references/color.md +216 -0
  18. package/assets/skills/design/agemon-design/references/components.md +91 -0
  19. package/assets/skills/design/agemon-design/references/copy.md +300 -0
  20. package/assets/skills/design/agemon-design/references/core-rules.md +166 -0
  21. package/assets/skills/design/agemon-design/references/craft-intent.md +162 -0
  22. package/assets/skills/design/agemon-design/references/dashboard.md +131 -0
  23. package/assets/skills/design/agemon-design/references/dataviz.md +197 -0
  24. package/assets/skills/design/agemon-design/references/finish-bar.md +243 -0
  25. package/assets/skills/design/agemon-design/references/forms.md +192 -0
  26. package/assets/skills/design/agemon-design/references/heuristics.md +319 -0
  27. package/assets/skills/design/agemon-design/references/inspiration.md +287 -0
  28. package/assets/skills/design/agemon-design/references/layout.md +236 -0
  29. package/assets/skills/design/agemon-design/references/loops.md +155 -0
  30. package/assets/skills/design/agemon-design/references/metadata.md +98 -0
  31. package/assets/skills/design/agemon-design/references/modern-css.md +448 -0
  32. package/assets/skills/design/agemon-design/references/motion.md +434 -0
  33. package/assets/skills/design/agemon-design/references/personas.md +206 -0
  34. package/assets/skills/design/agemon-design/references/preset-dashboard.md +109 -0
  35. package/assets/skills/design/agemon-design/references/preset-editorial.md +94 -0
  36. package/assets/skills/design/agemon-design/references/preset-minimal.md +93 -0
  37. package/assets/skills/design/agemon-design/references/principles-catalog.md +299 -0
  38. package/assets/skills/design/agemon-design/references/recipe-auth.md +88 -0
  39. package/assets/skills/design/agemon-design/references/recipe-dashboard.md +130 -0
  40. package/assets/skills/design/agemon-design/references/recipe-landing.md +120 -0
  41. package/assets/skills/design/agemon-design/references/responsive.md +168 -0
  42. package/assets/skills/design/agemon-design/references/review.md +340 -0
  43. package/assets/skills/design/agemon-design/references/routing.md +143 -0
  44. package/assets/skills/design/agemon-design/references/sound.md +150 -0
  45. package/assets/skills/design/agemon-design/references/spec.md +123 -0
  46. package/assets/skills/design/agemon-design/references/stack.md +522 -0
  47. package/assets/skills/design/agemon-design/references/stage-assets.md +106 -0
  48. package/assets/skills/design/agemon-design/references/stage-build.md +46 -0
  49. package/assets/skills/design/agemon-design/references/stage-critique.md +34 -0
  50. package/assets/skills/design/agemon-design/references/stage-directions.md +44 -0
  51. package/assets/skills/design/agemon-design/references/stage-intake.md +34 -0
  52. package/assets/skills/design/agemon-design/references/stage-verify.md +44 -0
  53. package/assets/skills/design/agemon-design/references/state-design.md +188 -0
  54. package/assets/skills/design/agemon-design/references/tells-2026-11.md +32 -0
  55. package/assets/skills/design/agemon-design/references/themes.md +233 -0
  56. package/assets/skills/design/agemon-design/references/third-party-licenses.md +323 -0
  57. package/assets/skills/design/agemon-design/references/tokens.md +350 -0
  58. package/assets/skills/design/agemon-design/references/typography.md +248 -0
  59. package/assets/skills/design/agemon-design/scripts/audit-page.js +532 -0
  60. package/assets/skills/design/agemon-design/scripts/check-source.mjs +358 -0
  61. package/assets/skills/design/agemon-design/scripts/deal.mjs +231 -0
  62. package/assets/skills/design/agemon-design/scripts/inventory.mjs +676 -0
  63. package/assets/skills/essentials/web-design-guidelines/LICENSE +21 -0
  64. package/assets/skills/essentials/web-design-guidelines/NOTICE.md +14 -0
  65. package/assets/skills/essentials/web-design-guidelines/SKILL.md +18 -0
  66. package/assets/skills/essentials/web-design-guidelines/references/guidelines.md +184 -0
  67. package/assets/skills/essentials/writing-guidelines/LICENSE +21 -0
  68. package/assets/skills/essentials/writing-guidelines/NOTICE.md +14 -0
  69. package/assets/skills/essentials/writing-guidelines/SKILL.md +18 -0
  70. package/assets/skills/essentials/writing-guidelines/references/guidelines.md +250 -0
  71. package/assets/skills/founder/agemon-founder-board/LICENSE +21 -0
  72. package/assets/skills/founder/agemon-founder-board/NOTICE.md +11 -0
  73. package/assets/skills/founder/agemon-founder-board/SKILL.md +111 -0
  74. package/assets/skills/founder/agemon-founder-board/lenses.md +84 -0
  75. package/assets/skills/founder/agemon-founder-brand/LICENSE +21 -0
  76. package/assets/skills/founder/agemon-founder-brand/NOTICE.md +12 -0
  77. package/assets/skills/founder/agemon-founder-brand/SKILL.md +77 -0
  78. package/assets/skills/founder/agemon-founder-cfo/LICENSE +21 -0
  79. package/assets/skills/founder/agemon-founder-cfo/NOTICE.md +12 -0
  80. package/assets/skills/founder/agemon-founder-cfo/SKILL.md +109 -0
  81. package/assets/skills/founder/agemon-founder-cfo/example.json +27 -0
  82. package/assets/skills/founder/agemon-founder-cfo/unit_economics.py +270 -0
  83. package/assets/skills/founder/agemon-founder-competitors/LICENSE +21 -0
  84. package/assets/skills/founder/agemon-founder-competitors/NOTICE.md +12 -0
  85. package/assets/skills/founder/agemon-founder-competitors/SKILL.md +84 -0
  86. package/assets/skills/founder/agemon-founder-consumer/LICENSE +21 -0
  87. package/assets/skills/founder/agemon-founder-consumer/NOTICE.md +11 -0
  88. package/assets/skills/founder/agemon-founder-consumer/SKILL.md +126 -0
  89. package/assets/skills/founder/agemon-founder-consumer/customer.example.json +34 -0
  90. package/assets/skills/founder/agemon-founder-consumer/panel.py +424 -0
  91. package/assets/skills/founder/agemon-founder-consumer/pitch.example.md +3 -0
  92. package/assets/skills/founder/agemon-founder-launch/LICENSE +21 -0
  93. package/assets/skills/founder/agemon-founder-launch/NOTICE.md +11 -0
  94. package/assets/skills/founder/agemon-founder-launch/SKILL.md +65 -0
  95. package/assets/skills/founder/agemon-founder-marketing/LICENSE +21 -0
  96. package/assets/skills/founder/agemon-founder-marketing/NOTICE.md +11 -0
  97. package/assets/skills/founder/agemon-founder-marketing/SKILL.md +80 -0
  98. package/assets/skills/founder/agemon-founder-offer/LICENSE +21 -0
  99. package/assets/skills/founder/agemon-founder-offer/NOTICE.md +11 -0
  100. package/assets/skills/founder/agemon-founder-offer/SKILL.md +75 -0
  101. package/assets/skills/founder/agemon-founder-ops/LICENSE +21 -0
  102. package/assets/skills/founder/agemon-founder-ops/NOTICE.md +12 -0
  103. package/assets/skills/founder/agemon-founder-ops/SKILL.md +77 -0
  104. package/assets/skills/founder/agemon-founder-plan/LICENSE +21 -0
  105. package/assets/skills/founder/agemon-founder-plan/NOTICE.md +11 -0
  106. package/assets/skills/founder/agemon-founder-plan/SKILL.md +88 -0
  107. package/assets/skills/founder/agemon-founder-plan/compile.py +178 -0
  108. package/assets/skills/founder/agemon-founder-pricing/LICENSE +21 -0
  109. package/assets/skills/founder/agemon-founder-pricing/NOTICE.md +12 -0
  110. package/assets/skills/founder/agemon-founder-pricing/SKILL.md +92 -0
  111. package/assets/skills/founder/agemon-founder-pricing/van_westendorp.py +172 -0
  112. package/assets/skills/geo-seo/geo/LICENSE +21 -0
  113. package/assets/skills/geo-seo/geo/NOTICE.md +18 -0
  114. package/assets/skills/geo-seo/geo/SKILL.md +145 -0
  115. package/assets/skills/geo-seo/geo-audit/LICENSE +21 -0
  116. package/assets/skills/geo-seo/geo-audit/NOTICE.md +17 -0
  117. package/assets/skills/geo-seo/geo-audit/SKILL.md +371 -0
  118. package/assets/skills/geo-seo/geo-audit/references/ai-visibility.md +233 -0
  119. package/assets/skills/geo-seo/geo-audit/references/content.md +329 -0
  120. package/assets/skills/geo-seo/geo-audit/references/platform-analysis.md +294 -0
  121. package/assets/skills/geo-seo/geo-audit/references/schema.md +383 -0
  122. package/assets/skills/geo-seo/geo-audit/references/technical.md +368 -0
  123. package/assets/skills/geo-seo/geo-brand-mentions/LICENSE +21 -0
  124. package/assets/skills/geo-seo/geo-brand-mentions/NOTICE.md +15 -0
  125. package/assets/skills/geo-seo/geo-brand-mentions/SKILL.md +459 -0
  126. package/assets/skills/geo-seo/geo-citability/LICENSE +21 -0
  127. package/assets/skills/geo-seo/geo-citability/NOTICE.md +14 -0
  128. package/assets/skills/geo-seo/geo-citability/SKILL.md +320 -0
  129. package/assets/skills/geo-seo/geo-content/LICENSE +21 -0
  130. package/assets/skills/geo-seo/geo-content/NOTICE.md +14 -0
  131. package/assets/skills/geo-seo/geo-content/SKILL.md +352 -0
  132. package/assets/skills/geo-seo/geo-crawlers/LICENSE +21 -0
  133. package/assets/skills/geo-seo/geo-crawlers/NOTICE.md +15 -0
  134. package/assets/skills/geo-seo/geo-crawlers/SKILL.md +388 -0
  135. package/assets/skills/geo-seo/geo-llmstxt/LICENSE +21 -0
  136. package/assets/skills/geo-seo/geo-llmstxt/NOTICE.md +14 -0
  137. package/assets/skills/geo-seo/geo-llmstxt/SKILL.md +433 -0
  138. package/assets/skills/geo-seo/geo-platform-optimizer/LICENSE +21 -0
  139. package/assets/skills/geo-seo/geo-platform-optimizer/NOTICE.md +14 -0
  140. package/assets/skills/geo-seo/geo-platform-optimizer/SKILL.md +282 -0
  141. package/assets/skills/geo-seo/geo-report/LICENSE +21 -0
  142. package/assets/skills/geo-seo/geo-report/NOTICE.md +14 -0
  143. package/assets/skills/geo-seo/geo-report/SKILL.md +406 -0
  144. package/assets/skills/geo-seo/geo-report-pdf/LICENSE +21 -0
  145. package/assets/skills/geo-seo/geo-report-pdf/NOTICE.md +20 -0
  146. package/assets/skills/geo-seo/geo-report-pdf/SKILL.md +153 -0
  147. package/assets/skills/geo-seo/geo-report-pdf/templates/geo-report-template.html +548 -0
  148. package/assets/skills/geo-seo/geo-schema/LICENSE +21 -0
  149. package/assets/skills/geo-seo/geo-schema/NOTICE.md +16 -0
  150. package/assets/skills/geo-seo/geo-schema/SKILL.md +396 -0
  151. package/assets/skills/geo-seo/geo-technical/LICENSE +21 -0
  152. package/assets/skills/geo-seo/geo-technical/NOTICE.md +15 -0
  153. package/assets/skills/geo-seo/geo-technical/SKILL.md +566 -0
  154. package/assets/skills/output-style/agemon-adhd/LICENSE +21 -0
  155. package/assets/skills/output-style/agemon-adhd/NOTICE.md +13 -0
  156. package/assets/skills/output-style/agemon-adhd/SKILL.md +138 -0
  157. package/assets/skills/performance/agemon-performance/NOTICE.md +1 -0
  158. package/assets/skills/performance/agemon-performance/SKILL.md +76 -0
  159. package/assets/skills/security/agemon-security/LICENSE +21 -0
  160. package/assets/skills/security/agemon-security/NOTICE.md +8 -0
  161. package/assets/skills/security/agemon-security/SKILL.md +356 -0
  162. package/assets/skills/security/agemon-security-audit/AI-AND-LLM.md +83 -0
  163. package/assets/skills/security/agemon-security-audit/ATTACK-CLASSES.md +130 -0
  164. package/assets/skills/security/agemon-security-audit/CLIENT-SIDE.md +83 -0
  165. package/assets/skills/security/agemon-security-audit/CLOUD-AND-DEPLOYMENT.md +86 -0
  166. package/assets/skills/security/agemon-security-audit/DATA-ISOLATION-AND-LIFECYCLE.md +84 -0
  167. package/assets/skills/security/agemon-security-audit/DESKTOP-MOBILE-AND-LOCAL-IPC.md +89 -0
  168. package/assets/skills/security/agemon-security-audit/HUNTING.md +251 -0
  169. package/assets/skills/security/agemon-security-audit/LICENSE +21 -0
  170. package/assets/skills/security/agemon-security-audit/MEMORY-SAFETY-AND-BINARY.md +101 -0
  171. package/assets/skills/security/agemon-security-audit/NOTICE.md +12 -0
  172. package/assets/skills/security/agemon-security-audit/PROTOCOLS-RPC-AND-MESSAGING.md +81 -0
  173. package/assets/skills/security/agemon-security-audit/RECONNAISSANCE.md +156 -0
  174. package/assets/skills/security/agemon-security-audit/RESOURCE-EXHAUSTION-AND-AVAILABILITY.md +78 -0
  175. package/assets/skills/security/agemon-security-audit/SKILL.md +192 -0
  176. package/assets/skills/security/agemon-security-audit/SUPPLY-CHAIN-AND-RELEASE.md +73 -0
  177. package/assets/skills/security/agemon-security-audit/VALIDATION-AND-REPORTING.md +186 -0
  178. package/assets/skills/security/agemon-security-audit/WEB-PROTOCOL-AND-AUTH.md +105 -0
  179. package/assets/skills/security/agemon-security-audit/report-schema.json +461 -0
  180. package/assets/skills/security/agemon-security-audit/validate-coverage-ledger.cjs +872 -0
  181. package/assets/skills/security/agemon-security-audit/validate-findings.cjs +773 -0
  182. package/assets/skills/self-review/agemon-review-intake/LICENSE +21 -0
  183. package/assets/skills/self-review/agemon-review-intake/NOTICE.md +9 -0
  184. package/assets/skills/self-review/agemon-review-intake/SKILL.md +205 -0
  185. package/assets/skills/self-review/agemon-review-request/LICENSE +21 -0
  186. package/assets/skills/self-review/agemon-review-request/NOTICE.md +9 -0
  187. package/assets/skills/self-review/agemon-review-request/SKILL.md +104 -0
  188. package/assets/skills/self-review/agemon-review-request/code-reviewer.md +188 -0
  189. package/assets/skills/self-review/agemon-root-cause/LICENSE +21 -0
  190. package/assets/skills/self-review/agemon-root-cause/NOTICE.md +10 -0
  191. package/assets/skills/self-review/agemon-root-cause/SKILL.md +283 -0
  192. package/assets/skills/self-review/agemon-root-cause/condition-based-waiting-example.ts +158 -0
  193. package/assets/skills/self-review/agemon-root-cause/condition-based-waiting.md +115 -0
  194. package/assets/skills/self-review/agemon-root-cause/defense-in-depth.md +122 -0
  195. package/assets/skills/self-review/agemon-root-cause/find-polluter.sh +72 -0
  196. package/assets/skills/self-review/agemon-root-cause/root-cause-tracing.md +169 -0
  197. package/assets/skills/self-review/agemon-root-cause/test-academic.md +14 -0
  198. package/assets/skills/self-review/agemon-root-cause/test-pressure-1.md +58 -0
  199. package/assets/skills/self-review/agemon-root-cause/test-pressure-2.md +68 -0
  200. package/assets/skills/self-review/agemon-root-cause/test-pressure-3.md +69 -0
  201. package/assets/skills/self-review/agemon-verify-before-done/LICENSE +21 -0
  202. package/assets/skills/self-review/agemon-verify-before-done/NOTICE.md +9 -0
  203. package/assets/skills/self-review/agemon-verify-before-done/SKILL.md +120 -0
  204. package/assets/skills/team-lead/agemon-plan-rfc/SKILL.md +317 -0
  205. package/assets/skills/team-lead/prd-generator/SKILL.md +437 -0
  206. package/assets/skills/team-lead/skill-headofit-audit/SKILL.md +72 -0
  207. package/assets/skills/team-lead/skill-incident-rca/SKILL.md +66 -0
  208. package/assets/skills/team-lead/skill-meeting-lifecycle/SKILL.md +63 -0
  209. package/assets/skills/team-lead/skill-obsidian-vault-sync/SKILL.md +69 -0
  210. package/assets/skills/team-lead/skill-prd-decomposer/SKILL.md +71 -0
  211. package/assets/skills/team-lead/skill-sec-check/SKILL.md +70 -0
  212. package/assets/skills/team-lead/skill-task-extractor/SKILL.md +79 -0
  213. package/assets/skills/team-lead/skill-tech-spike/SKILL.md +57 -0
  214. package/assets/skills/team-lead/skill-techlead-reviewer/SKILL.md +81 -0
  215. package/assets/skills/workflow/agemon-brainstorming/LICENSE +21 -0
  216. package/assets/skills/workflow/agemon-brainstorming/NOTICE.md +14 -0
  217. package/assets/skills/workflow/agemon-brainstorming/SKILL.md +287 -0
  218. package/assets/skills/workflow/agemon-brainstorming/builder-check-prompt.md +23 -0
  219. package/assets/skills/workflow/agemon-dispatching-parallel-agents/LICENSE +21 -0
  220. package/assets/skills/workflow/agemon-dispatching-parallel-agents/NOTICE.md +13 -0
  221. package/assets/skills/workflow/agemon-dispatching-parallel-agents/SKILL.md +167 -0
  222. package/assets/skills/workflow/agemon-executing-plans/LICENSE +21 -0
  223. package/assets/skills/workflow/agemon-executing-plans/NOTICE.md +15 -0
  224. package/assets/skills/workflow/agemon-executing-plans/SKILL.md +322 -0
  225. package/assets/skills/workflow/agemon-executing-plans/scripts/task-done +55 -0
  226. package/assets/skills/workflow/agemon-executing-plans/scripts/task-start +32 -0
  227. package/assets/skills/workflow/agemon-finishing-a-development-branch/LICENSE +21 -0
  228. package/assets/skills/workflow/agemon-finishing-a-development-branch/NOTICE.md +13 -0
  229. package/assets/skills/workflow/agemon-finishing-a-development-branch/SKILL.md +225 -0
  230. package/assets/skills/workflow/agemon-subagent-driven-development/LICENSE +21 -0
  231. package/assets/skills/workflow/agemon-subagent-driven-development/NOTICE.md +15 -0
  232. package/assets/skills/workflow/agemon-subagent-driven-development/SKILL.md +339 -0
  233. package/assets/skills/workflow/agemon-subagent-driven-development/code-reviewer.md +198 -0
  234. package/assets/skills/workflow/agemon-subagent-driven-development/implementer-prompt.md +154 -0
  235. package/assets/skills/workflow/agemon-subagent-driven-development/re-review-prompt.md +116 -0
  236. package/assets/skills/workflow/agemon-subagent-driven-development/references/batching.md +11 -0
  237. package/assets/skills/workflow/agemon-subagent-driven-development/references/cannot-verify.md +10 -0
  238. package/assets/skills/workflow/agemon-subagent-driven-development/references/final-review.md +49 -0
  239. package/assets/skills/workflow/agemon-subagent-driven-development/references/fix-loop.md +77 -0
  240. package/assets/skills/workflow/agemon-subagent-driven-development/references/handling-reports.md +15 -0
  241. package/assets/skills/workflow/agemon-subagent-driven-development/references/preflight.md +26 -0
  242. package/assets/skills/workflow/agemon-subagent-driven-development/references/resuming.md +12 -0
  243. package/assets/skills/workflow/agemon-subagent-driven-development/references/role-scout.md +18 -0
  244. package/assets/skills/workflow/agemon-subagent-driven-development/references/role-worker.md +19 -0
  245. package/assets/skills/workflow/agemon-subagent-driven-development/scripts/review-package +64 -0
  246. package/assets/skills/workflow/agemon-subagent-driven-development/scripts/sdd-repo +54 -0
  247. package/assets/skills/workflow/agemon-subagent-driven-development/scripts/sdd-workspace +110 -0
  248. package/assets/skills/workflow/agemon-subagent-driven-development/scripts/task-brief +108 -0
  249. package/assets/skills/workflow/agemon-subagent-driven-development/task-reviewer-prompt.md +209 -0
  250. package/assets/skills/workflow/agemon-test-driven-development/LICENSE +21 -0
  251. package/assets/skills/workflow/agemon-test-driven-development/NOTICE.md +14 -0
  252. package/assets/skills/workflow/agemon-test-driven-development/SKILL.md +330 -0
  253. package/assets/skills/workflow/agemon-test-driven-development/writing-good-tests.md +198 -0
  254. package/assets/skills/workflow/agemon-using-git-worktrees/LICENSE +21 -0
  255. package/assets/skills/workflow/agemon-using-git-worktrees/NOTICE.md +13 -0
  256. package/assets/skills/workflow/agemon-using-git-worktrees/SKILL.md +167 -0
  257. package/assets/skills/workflow/agemon-writing-plans/LICENSE +21 -0
  258. package/assets/skills/workflow/agemon-writing-plans/NOTICE.md +13 -0
  259. package/assets/skills/workflow/agemon-writing-plans/SKILL.md +204 -0
  260. package/assets/tools/code-review-graph-constraints.txt +1418 -0
  261. package/assets/tools/package-lock.json +111 -0
  262. package/assets/tools/package.json +6 -0
  263. package/dist/chunk-ZZBF3GOV.js +3451 -0
  264. package/dist/chunk-ZZBF3GOV.js.map +1 -0
  265. package/dist/fake-subprocess-IV4ML77S.js +636 -0
  266. package/dist/fake-subprocess-IV4ML77S.js.map +1 -0
  267. package/dist/index.js +23836 -1945
  268. package/dist/index.js.map +1 -1
  269. package/package.json +37 -17
@@ -0,0 +1,319 @@
1
+ # Heuristics — Severity-Ranked Review Methodology
2
+
3
+ Any skill can list anti-patterns. A heuristic review is a defensible artifact a PM can action: every finding names a heuristic or law, the element it applies to, the viewport it was seen at, and an impact tag. This file is the source of truth for the heuristic mode of `/agemon-design review` — the checklist, the laws, the output shape. It produces findings, not numbers: a figure computed from model judgment reads as a measurement it is not.
4
+
5
+ ---
6
+
7
+ ## How to Use
8
+
9
+ Run the full pass: Nielsen's 10 as a checklist → the 6 Design Laws as checks → rank findings by impact tag. Output is a findings table PMs can paste into any issue tracker.
10
+
11
+ Usability is not a knob. `CRAFT_LEVEL` does not relax these findings — a blocking problem is blocking at every craft level.
12
+
13
+ ---
14
+
15
+ ## Finding Format
16
+
17
+ Every finding is one row: `| Heuristic or law | Element | Viewport | Finding | Impact |`.
18
+
19
+ - **Element** names the specific thing: "Save button in the settings form", not "the form".
20
+ - **Viewport** is where you saw it (desktop 1280, tablet 768, mobile 375, or "code only" if you did not render it).
21
+ - **Finding** is concrete: quote the text, count the elements, name the broken flow. Vague findings are rejected.
22
+ - A heuristic with nothing to report gets no row. Do not pad the table with praise.
23
+
24
+ ---
25
+
26
+ ## Nielsen's 10 Usability Heuristics
27
+
28
+ Source: Nielsen, J. (1994). "10 Usability Heuristics for User Interface Design." Nielsen Norman Group.
29
+
30
+ ### 1. Visibility of System Status
31
+
32
+ The system should always keep users informed about what is going on, through appropriate feedback within reasonable time.
33
+
34
+ **What to look for:**
35
+ - [ ] Every async action has a loading state (spinner, progress, skeleton)
36
+ - [ ] Submit buttons disable + show progress while in flight
37
+ - [ ] Optimistic UI reconciles on server response (no silent failure)
38
+ - [ ] Navigation state is visible (active tab, breadcrumb, selected row)
39
+ - [ ] Long operations (>5s) escalate to progress percentage or estimate
40
+
41
+ **Common failures in AI-generated UIs:**
42
+ - Form submit has no loading state — user clicks 3-4x thinking nothing happened
43
+ - Toast appears then disappears before the user can read it
44
+ - No indication that a save succeeded ("did it work?")
45
+
46
+ ### 2. Match Between System and the Real World
47
+
48
+ Speak the user's language — words, phrases, concepts they know. Follow real-world conventions.
49
+
50
+ **What to look for:**
51
+ - [ ] No system jargon in user-facing copy ("exception thrown", "null ref")
52
+ - [ ] Icons match cultural convention (trash = delete, not a cog)
53
+ - [ ] Dates are formatted for the user's locale, not ISO
54
+ - [ ] Error messages speak human, not stack trace
55
+ - [ ] Metaphors are consistent (folder, file, workspace)
56
+
57
+ **Common failures in AI-generated UIs:**
58
+ - "Submit payload" instead of "Save changes"
59
+ - "Entity not found" instead of "We couldn't find that project"
60
+ - Time displayed as `1713369600` (Unix) instead of `2 hours ago`
61
+
62
+ ### 3. User Control and Freedom
63
+
64
+ Users often perform actions by mistake. They need a clearly marked emergency exit.
65
+
66
+ **What to look for:**
67
+ - [ ] Every destructive action has Undo (preferred) or a confirm dialog
68
+ - [ ] Modals close on Esc and on backdrop click
69
+ - [ ] Multi-step flows have Back without losing state
70
+ - [ ] Autosave preserves in-progress work on nav away
71
+ - [ ] URL reflects state so the back button works
72
+
73
+ **Common failures in AI-generated UIs:**
74
+ - Delete is instant and irreversible — no undo toast
75
+ - Modal traps the user; no way out without completing the form
76
+ - Browser back loses all form input
77
+
78
+ ### 4. Consistency and Standards
79
+
80
+ Users should not have to wonder whether different words, situations, or actions mean the same thing. Follow platform conventions.
81
+
82
+ **What to look for:**
83
+ - [ ] Primary action placement consistent across views (right side, solid fill)
84
+ - [ ] Same verb for same operation throughout ("Delete" always, not "Delete"/"Remove"/"Trash")
85
+ - [ ] Icon meanings stable across screens
86
+ - [ ] Form patterns match platform (e.g., Cmd+Enter submits on macOS)
87
+
88
+ **Common failures in AI-generated UIs:**
89
+ - Buttons swap position between modals (Cancel left here, right there)
90
+ - Three different words for "delete" in the same product
91
+ - Non-standard scroll hijacking on a standard content page
92
+
93
+ ### 5. Error Prevention
94
+
95
+ Better than good error messages is a design that prevents the problem from occurring in the first place.
96
+
97
+ **What to look for:**
98
+ - [ ] Destructive actions require confirmation typed with the resource name
99
+ - [ ] Disabled states prevent invalid submissions (with explanation on hover)
100
+ - [ ] Input constraints enforced client-side (date pickers, typed inputs)
101
+ - [ ] Autosave + version history on content-creation surfaces
102
+ - [ ] Warn before leaving unsaved changes
103
+
104
+ **Common failures in AI-generated UIs:**
105
+ - Freeform "Are you sure?" confirms that users mindlessly click
106
+ - No validation until submit; user fills 12 fields then sees 4 errors
107
+ - Paste blocked on fields (password confirm, order IDs)
108
+
109
+ ### 6. Recognition Rather Than Recall
110
+
111
+ Minimize the user's memory load by making objects, actions, and options visible.
112
+
113
+ **What to look for:**
114
+ - [ ] Recently used / favorited items surfaced
115
+ - [ ] Autocomplete on any field with a known set of answers
116
+ - [ ] Keyboard shortcuts listed in tooltips (not hidden in a help menu)
117
+ - [ ] Current selection persists visibly
118
+ - [ ] Empty states suggest next actions
119
+
120
+ **Common failures in AI-generated UIs:**
121
+ - Power-user shortcuts (Cmd+K) exist but are undiscoverable
122
+ - User must remember which tab they were on after a refresh
123
+ - Dropdown with 200 options and no search
124
+
125
+ ### 7. Flexibility and Efficiency of Use
126
+
127
+ Accelerators — unseen by novice — may speed up the interaction for the expert.
128
+
129
+ **What to look for:**
130
+ - [ ] Keyboard shortcuts for frequent actions (Cmd+K, j/k nav)
131
+ - [ ] Bulk actions on lists (multi-select + batch operate)
132
+ - [ ] Saved views / filters / segments
133
+ - [ ] Customization for heavy users (column config, hotkeys)
134
+ - [ ] Paste-to-action patterns (URL paste auto-parses)
135
+
136
+ **Common failures in AI-generated UIs:**
137
+ - Forces the same flow for novice and expert
138
+ - No way to multi-select in lists of 100+
139
+ - Command palette missing on tools users will spend hours in
140
+
141
+ ### 8. Aesthetic and Minimalist Design
142
+
143
+ Dialogues should not contain information that is irrelevant or rarely needed.
144
+
145
+ **What to look for:**
146
+ - [ ] Every section answers one question; no filler
147
+ - [ ] Visual weight proportional to importance
148
+ - [ ] One accent, 3-5 placements per viewport (see core-rules.md, Anti-Slop Test)
149
+ - [ ] White space is used, not avoided
150
+ - [ ] No decorative graphics competing with content
151
+
152
+ **Common failures in AI-generated UIs:**
153
+ - Hero has 4 CTAs of equal weight
154
+ - Every card has a colored top border
155
+ - Gradient backgrounds on every section
156
+
157
+ ### 9. Help Users Recognize, Diagnose, and Recover From Errors
158
+
159
+ Error messages in plain language, precisely indicate the problem, and constructively suggest a solution.
160
+
161
+ **What to look for:**
162
+ - [ ] Errors appear inline, at the field, not as a global banner
163
+ - [ ] Messages specify what went wrong AND how to fix it
164
+ - [ ] Server errors include a copy-to-clipboard ID for support
165
+ - [ ] Recovery is one click (retry, undo, contact support)
166
+ - [ ] Network errors differ from validation errors
167
+
168
+ **Common failures in AI-generated UIs:**
169
+ - "Something went wrong" with no detail, no retry, no support path
170
+ - Red toast that disappears before the user reads it
171
+ - Error blames the user ("Invalid input") instead of explaining
172
+
173
+ ### 10. Help and Documentation
174
+
175
+ Even though it is better if the system can be used without documentation, help may be necessary.
176
+
177
+ **What to look for:**
178
+ - [ ] Help is contextual, not a separate site the user must leave to
179
+ - [ ] Empty states double as onboarding ("Create your first project")
180
+ - [ ] Tooltips on non-obvious icons
181
+ - [ ] Inline help links in complex forms
182
+ - [ ] Searchable docs for deep features
183
+
184
+ **Common failures in AI-generated UIs:**
185
+ - No tooltips on icon-only buttons
186
+ - Help buried behind a "?" in the corner with a 404 behind it
187
+ - Onboarding is a 10-slide lightbox the user skips
188
+
189
+ ---
190
+
191
+ ## The 6 Design Laws
192
+
193
+ Each is checked against a specific element. These are physics + psychology, not preferences — breaking them has measurable UX impact.
194
+
195
+ ### Fitts's Law
196
+
197
+ Source: Fitts, P. M. (1954). "The information capacity of the human motor system in controlling the amplitude of movement."
198
+
199
+ **Statement:** Time to acquire a target is a function of its size and distance.
200
+
201
+ **When load-bearing:** Every tappable / clickable surface. Critical on mobile.
202
+
203
+ **What to look for:**
204
+ - **Holds when** touch targets ≥ 44px on mobile, ≥ 24px on desktop; primary CTA in the natural eye/thumb path; related actions grouped
205
+ - **Breaks when** touch targets under 44px mobile; destructive actions adjacent to primary actions; CTA placed far from where the user just looked
206
+
207
+ ### Hick's Law
208
+
209
+ Source: Hick, W. E. (1952). "On the rate of gain of information."
210
+
211
+ **Statement:** Decision time grows logarithmically with the number of choices.
212
+
213
+ **When load-bearing:** Menus, navigation, plan selectors, form fields, dashboards.
214
+
215
+ **What to look for:**
216
+ - **Holds when** nav ≤ 7 items at any level; no field offers 20+ unfiltered options without search
217
+ - **Breaks when** 12+ top-nav items; a single select with 200 entries and no type-ahead; dashboard with 18 metrics at equal weight
218
+
219
+ ### Doherty Threshold
220
+
221
+ Source: Doherty, W. J. & Thadani, A. J. (1982). "The Economic Value of Rapid Response Time." IBM.
222
+
223
+ **Statement:** Productivity soars when response time is under 400ms.
224
+
225
+ **When load-bearing:** Every user-initiated action. Critical on data-heavy views and transitions.
226
+
227
+ **What to look for:**
228
+ - **Holds when** perceived response < 400ms; optimistic UI for saves, likes, toggles; skeletons within 200ms
229
+ - **Breaks when** form submit shows a spinner for 2s with no optimistic state; nav click waits on full server round-trip before painting anything
230
+
231
+ ### Cleveland-McGill Hierarchy
232
+
233
+ Source: Cleveland, W. S. & McGill, R. (1984). "Graphical Perception: Theory, Experimentation, and Application to the Development of Graphical Methods." JASA.
234
+
235
+ **Statement:** Humans decode visual encodings with different accuracy — position > length > angle > area > color-hue.
236
+
237
+ **When load-bearing:** Every chart, metric card, comparative dataviz.
238
+
239
+ **What to look for:**
240
+ - **Holds when** quantitative comparisons use position or length (bar, line, dot); color reserved for category; no pie or 3D
241
+ - **Breaks when** pie chart used for comparison; donut with ≥ 5 slices; color-gradient used to encode magnitude where length would work
242
+
243
+ ### Miller's Law
244
+
245
+ Source: Miller, G. A. (1956). "The Magical Number Seven, Plus or Minus Two."
246
+
247
+ **Statement:** Humans hold ~7 (±2) items in working memory. Chunking extends this.
248
+
249
+ **When load-bearing:** Nav depth, form section counts, onboarding flows, step counts.
250
+
251
+ **What to look for:**
252
+ - **Holds when** navigation ≤ 7 items per level; forms chunked into ≤ 5 sections; multi-step flows ≤ 5 steps or with clear progress. (Wizard ceiling is 5, not 7: each step holds multiple fields, and each field consumes working-memory slots of its own.)
253
+ - **Breaks when** 14-item top nav; a single-page form with 23 ungrouped fields; a checkout with 9 steps and no progress indicator
254
+
255
+ ### Tesler's Law
256
+
257
+ Also called the Law of Conservation of Complexity. Attributed to Larry Tesler.
258
+
259
+ **Statement:** Every application has an irreducible amount of complexity. The only question is who deals with it — the user, the UI, or the backend.
260
+
261
+ **When load-bearing:** Feature-rich tools. Configuration-heavy flows. Anywhere you're tempted to "expose a toggle."
262
+
263
+ **What to look for:**
264
+ - **Holds when** complexity absorbed by sensible defaults, automation, or backend inference; advanced controls behind progressive disclosure
265
+ - **Breaks when** UI exposes every backend knob; user must configure 8 things before they can accomplish the primary task; no default state, only empty forms
266
+
267
+ ---
268
+
269
+ ## Impact Tags
270
+
271
+ Every finding carries exactly one impact tag. This is how a PM prioritizes:
272
+
273
+ | Tag | Meaning | Example |
274
+ |-----|---------|---------|
275
+ | `blocks-conversion` | User cannot complete the core journey | Signup form submit silently fails on network error |
276
+ | `adds-friction` | User completes but abandonment rate rises | Submit button has no loading state; users click 3-4x |
277
+ | `reduces-trust` | Quality signal — affects retention | Typos in error messages; inconsistent button styles |
278
+ | `minor-polish` | Craft layer only; no measurable user impact | Missing `tabular-nums` on a metric |
279
+
280
+ Rank findings in the final output by impact tag, not by heuristic order: `blocks-conversion > adds-friction > reduces-trust > minor-polish`.
281
+
282
+ ---
283
+
284
+ ## Output Format
285
+
286
+ The heuristic review outputs **exactly** this structure. Do not invent new sections. Do not merge tables. Do not drop the ranking at the end. Do not add a score, grade or pass/fail verdict.
287
+
288
+ ```markdown
289
+ ## Heuristic Findings
290
+
291
+ | Heuristic | Element | Viewport | Finding | Impact |
292
+ |-----------|---------|----------|---------|--------|
293
+ | Visibility of system status | Submit button, signup form | mobile 375 | No loading state; users click 3-4x thinking nothing happened | adds-friction |
294
+ | User control and freedom | Delete confirm dialog, project list | desktop 1280 | Confirm exists but there is no undo after it lands | reduces-trust |
295
+ | Consistency and standards | Cancel button, billing modal | desktop 1280 | Cancel on the right here, on the left in every other modal | minor-polish |
296
+ | Flexibility and efficiency | Invoice list, 200+ rows | desktop 1280 | No bulk select | adds-friction |
297
+ | Error recovery | Error banner, checkout | mobile 375 | "Something went wrong" with no ID, no retry | blocks-conversion |
298
+
299
+ ## Design Law Findings
300
+
301
+ | Law | Element | Viewport | Detail | Impact |
302
+ |-----|---------|----------|--------|--------|
303
+ | Fitts's Law | Primary CTA, pricing card | mobile 375 | 32px tall; expected ≥ 44px | adds-friction |
304
+ | Doherty Threshold | Save button, settings | desktop 1280 | Spinner for ~1.8s with no optimistic state | adds-friction |
305
+ | Tesler's Law | First-run form | desktop 1280 | 8 required config fields before the first action | reduces-trust |
306
+
307
+ ## Top findings (ranked by impact)
308
+
309
+ 1. Error recovery (blocks-conversion) — "Something went wrong" banner strands users in checkout on mobile; no ID, no retry, no support path
310
+ 2. Fitts's Law (adds-friction) — primary CTA on the pricing card is 32px on mobile; raise to ≥ 44px
311
+ 3. Doherty Threshold (adds-friction) — save feels broken on desktop; add optimistic UI
312
+ 4. Flexibility and efficiency (adds-friction) — bulk select missing on the 200+ row invoice list
313
+ 5. Visibility of system status (adds-friction) — signup submit has no loading state on mobile
314
+ ```
315
+
316
+ **Notes on output:**
317
+ - Use the short name for each heuristic (not the verbose Nielsen title). The heuristic is unambiguous from context.
318
+ - The `Top findings` list is a rank, not a re-listing. Include only findings at `reduces-trust` or worse. Cap at 5.
319
+ - Laws and heuristics that hold up get no row. If you want to say what is working, say it in one line after the ranking, not in the tables.
@@ -0,0 +1,287 @@
1
+ # Patterns Observed in Mature SaaS Interfaces
2
+
3
+ Observational pattern analysis from production-grade SaaS landing pages, abstracted from source. All values extracted from real CSS. Section 6 ("What Mature Interfaces Never Do") is the highest-signal section — read it first.
4
+
5
+ ---
6
+
7
+ ## 1. Cross-Surface Patterns
8
+
9
+ Universal rules observed across the full sample. Treat as proven conventions.
10
+
11
+ | Pattern | Detail |
12
+ |---------|--------|
13
+ | **Product screenshots with real data** | Never mockups, illustrations, or abstract graphics. Show the actual product with realistic numbers and content. |
14
+ | **Specific metrics in social proof** | "Build times went from 7m to 40s" beats "Trusted by thousands." Quantify the transformation. |
15
+ | **Tabs or interactive sections for features** | Feature areas use tabs, toggles, or interactive demos — never identical 3-column card grids. |
16
+ | **Dual CTAs in the hero** | Primary action (solid) + secondary action (outline/ghost). "Start for free" + "Get a demo" pattern. |
17
+ | **One positioning statement** | Hero headline is a single sentence that defines what the product is. No paragraphs. |
18
+ | **Logo strips of real companies** | "Trusted by" followed by 5-8 recognizable, specific company logos. |
19
+ | **Minimal decoration** | Content IS the design. No ornamental gradients, blobs, or abstract shapes competing with the product. |
20
+ | **Changelog/velocity proof** | At least one section proves the product ships fast — changelogs, release notes, version timelines. |
21
+ | **Every section has a distinct layout** | No two adjacent sections share the same visual structure. Variety signals intentional design. |
22
+ | **Centered hero alignment** | Center-aligned heroes dominate mature SaaS. Left-aligned is less common. |
23
+
24
+ ---
25
+
26
+ ## 2. Hero Section Archetypes
27
+
28
+ Six recurring hero patterns. Each is named by structure, not by source.
29
+
30
+ ### Archetype A — Minimal text-only
31
+ One large headline + subhead + 1-2 CTAs. No product visual in the viewport. Relies entirely on copy to communicate value. Works when the product name alone carries recognition or when the headline is provocative enough to pull the scroll.
32
+
33
+ - Headlines: 5-10 words, sentence case
34
+ - Subhead: 1-2 lines max, 18-20px, neutral-500
35
+ - CTAs: dual (solid primary + ghost secondary) or single strong action
36
+ - Below hero: immediate product proof (no filler sections)
37
+
38
+ **When it breaks:** products without brand recognition or a strong category-defining statement — the missing visual leaves new users with nothing to anchor on.
39
+
40
+ ### Archetype B — Asymmetric headline + product screenshot
41
+ Left-aligned headline block, right-aligned product UI or screenshot. Gives a document/editorial feel. Communicates "the product is the proof" without centering the hero on pure copy.
42
+
43
+ - Layout: ~50/50 split or 40/60 text/visual
44
+ - Visual: high-fidelity product screenshot, not illustration
45
+ - Alignment: text left, visual right (rarely reversed)
46
+
47
+ **When it breaks:** products with complex UIs that don't read quickly at a glance — the visual confuses instead of proving.
48
+
49
+ ### Archetype C — Product-first (full-width UI)
50
+ Minimal headline above or beside a massive full-width product screenshot or embedded interactive demo. The product IS the hero. Copy is secondary.
51
+
52
+ - Headline: minimal, often a single phrase or word
53
+ - Visual: takes 60-80% of above-the-fold height
54
+ - Can include real interactive elements, not just static images
55
+
56
+ ### Archetype D — Bento grid hero
57
+ Positioning statement centered above a bento grid of product surfaces. Each card shows a different feature or UI. Communicates product breadth.
58
+
59
+ - Grid: mixed card sizes — one large card + 2-3 smaller
60
+ - Each card shows a distinct product surface
61
+ - Typography: headline centered above the grid
62
+
63
+ ### Archetype E — Editorial figure
64
+ Value propositions presented as numbered editorial figures, labelled in the subject's own vocabulary (its real parts, stages or sections), not a generic figure label. Gives a technical publication feel. Strong for developer-focused products where "serious" positioning outweighs "approachable."
65
+
66
+ - Section labels: uppercase monospace or small-caps
67
+ - Layout: each figure gets a distinct visual treatment
68
+ - No uniform card grid
69
+
70
+ ### Archetype F — Scrolling social proof strip
71
+ Hero text centered, immediately followed by a horizontally scrolling logo strip (continuous loop, not static). Makes "trusted by" feel dynamic and high-volume.
72
+
73
+ - Logos: monochrome or muted, not full-color
74
+ - Motion: CSS scroll animation, pauses on hover
75
+ - Placement: immediately below hero CTA block
76
+
77
+ **When it breaks:** early-stage products without recognizable logos — an empty or weak strip signals the opposite of trust.
78
+
79
+ ---
80
+
81
+ ## 3. Feature Presentation Patterns
82
+
83
+ No mature SaaS product uses identical card grids for features.
84
+
85
+ ### Tab-based feature sections
86
+ - Horizontal tabs or pills at the top of a section
87
+ - Each tab reveals completely different content (screenshot, demo, description)
88
+ - Prevents the monotonous 3-column icon+heading+text grid
89
+
90
+ **When it breaks:** more than 5-6 tabs — cognitive load exceeds the benefit of the interactive reveal.
91
+
92
+ ### Bento grid (varied card sizes)
93
+ - Mixed card dimensions: one large card + 2-3 smaller cards
94
+ - Each card shows a different product surface
95
+ - Unequal sizing creates visual hierarchy within the grid
96
+
97
+ ### Editorial figures
98
+ - Value propositions presented as numbered figures
99
+ - Each figure gets a distinct layout treatment
100
+ - Feels like a technical publication, not a marketing template
101
+
102
+ ### Product-first (screenshots as features)
103
+ - Instead of describing features, embed the actual product
104
+ - Interactive demos, live UI, or high-fidelity screenshots
105
+ - The product IS the feature presentation
106
+
107
+ ### Alternating text + visual rows
108
+ - Text on one side, visual (screenshot/demo) on the other
109
+ - Sides alternate per row to create rhythm
110
+ - Each visual is unique — chart, screenshot, code block
111
+
112
+ ### Key principle
113
+ Every feature section should feel designed individually for that feature. If two feature blocks can be swapped without anyone noticing, the design is too uniform.
114
+
115
+ ---
116
+
117
+ ## 4. Social Proof Patterns
118
+
119
+ | Pattern | Implementation |
120
+ |---------|----------------|
121
+ | **Logo strip** | Horizontal row of 5-8 company logos, monochrome or muted. "Trusted by" or "Used by teams at." |
122
+ | **Specific metrics** | Metric + customer name: "7m to 40s build times" next to company logo. |
123
+ | **Testimonial with identity** | Photo + name + title + company logo. Quote is specific, references the product feature. |
124
+ | **Customer count** | "Join 50,000+ teams" or similar, placed near CTA. |
125
+ | **Changelog as proof** | Release dates and features listed to show shipping velocity. |
126
+
127
+ ### What makes social proof work
128
+ - **Specificity over volume** — one concrete metric beats "trusted by thousands"
129
+ - **Recognizable logos** — users infer quality from the companies they recognize
130
+ - **Real quotes with attribution** — name, role, company, photo. Generic praise without identity is worthless
131
+ - **Proximity to CTAs** — social proof placed directly before or after the call to action
132
+
133
+ ---
134
+
135
+ ## 5. Signature Details by Pattern Type
136
+
137
+ Concrete patterns observed in production. Each stands as a reusable technique.
138
+
139
+ ### Card and surface treatment
140
+ - **Grid-line border aesthetic**: horizontal and vertical borders (`border-x`, `border-y` in Tailwind) with a custom grid-border color — creates a technical grid feel without background fills
141
+ - **Inset shadow for sunken surfaces**: `box-shadow: 0 2px 6px 0 rgba(0,0,0,0.2) inset` — signals an embedded or input-like container
142
+ - **Hairline card borders**: 1px `neutral-200` with a bottom-only `rgba(0,0,0,0.04)` shadow — separation without visual weight, common in card-heavy dashboard layouts
143
+ - **Bento card sizing ratio**: ~2:1 dominant card to minor cards; never all cards equal size
144
+
145
+ ### Typography signatures
146
+ - **Display italics**: a common generated look (see [tells-2026-11.md](tells-2026-11.md)); use only when the content calls for emphasis, never as a habit
147
+ - **Negative letter-spacing on all headings** (see Section 7 for exact values)
148
+ - **Font weight distribution skewed to medium**: `font-weight: 500` as the dominant weight across UI, `600` for emphasis only, `700` reserved for hero scale
149
+ - **Section labels**: small, tracked-out uppercase labels are a common generated look ([tells-2026-11.md](tells-2026-11.md)); use one only when it names a real section the way the subject would, otherwise sentence case
150
+
151
+ ### Color signatures
152
+ - **One accent, used sparingly**: accent color appears in CTAs and key interactive elements only — not in decorative elements
153
+ - **Nearly colorless base UI**: neutral-first palette; color reserved for status and brand accent
154
+ - **Dark mode via alpha overlays**: `color: rgba(255,255,255,0.9)`, `background: rgba(255,255,255,0.1)` on hover — avoids hardcoded dark-mode color values
155
+ - **Tinted neutral grays**: never pure `#000` or `#fff` as text; always cool-toned (see Section 7)
156
+
157
+ ### Microinteraction signatures
158
+ - **Ring-halo hover**: `box-shadow: 0 0 0 4px var(--neutral-200)` instead of background color change — reads as "glowing" selection
159
+ - **Slide-up-fade entrance**: translate Y offset + opacity fade, 50ms staggered per item, 500ms duration
160
+ - **Hover lift**: `translateY(-2px)` + shadow growth at `150-200ms ease-out`
161
+ - **No `transition: all`**: always target specific properties — `transition: box-shadow, transform, opacity`
162
+
163
+ ### Spacing signatures
164
+ - **Section rhythm**: 80-120px between sections
165
+ - **Card internal padding**: 24-40px
166
+ - **Card gaps**: 24-32px
167
+ - **Nav height**: 64px
168
+ - **Max content width**: 1080-1200px
169
+
170
+ ---
171
+
172
+ ## 6. What Mature Interfaces Never Do
173
+
174
+ Confirmed absent across the full observed sample:
175
+
176
+ | Anti-Pattern | Why It Fails |
177
+ |-------------|-------------|
178
+ | **Emoji icons in feature lists** | Looks unfinished. Production UIs use custom SVG icons or product screenshots. |
179
+ | **Colored gradient text** | None use rainbow or multi-color gradient text. Even dark-themed interfaces avoid it. |
180
+ | **Star ratings in testimonials** | Zero instances. All use quote + name + role + company. |
181
+ | **Identical 3-column feature cards** | No section repeats the same card layout for features. Each section is bespoke. |
182
+ | **Placeholder or generic text** | Every piece of text is specific to the product. No "lorem ipsum" energy. |
183
+ | **Bouncy/elastic animations** | Motion is subtle and functional. No bounce, no wiggle, no playful easing. |
184
+ | **Colored pill badges for metrics** | Metrics are displayed as plain text with clear hierarchy, not decorated badges. |
185
+ | **ALL CAPS headings** | Sentence case or title case throughout. No uppercase headings. |
186
+ | **Glassmorphism** | Not a single frosted-glass panel. Even dark-themed interfaces avoid it. |
187
+ | **Abstract blob/orb decorations** | Intentional branded gradients exist. Generic decorative blobs do not. |
188
+ | **Multiple competing accent colors** | One accent color, used consistently and sparingly. |
189
+ | **"Powered by" or tool attribution** | No marketing page advertises its own stack in the footer. |
190
+ | **Generic CTAs** | No "Learn more" or "Click here." Every CTA is specific: "Start for free", "Download", "Start Deploying". |
191
+ | **Walls of text** | No section has more than 2-3 sentences. Copy is ruthlessly concise. |
192
+ | **Pure black text** | None use `#000000`. Darkest text is cool gray — `#414552` or `#18181b` (zinc-900). |
193
+
194
+ ---
195
+
196
+ ## 7. Reference Token Values
197
+
198
+ Values extracted from production CSS. Use as calibration for "what premium feels like in code." Where two observed systems differ significantly, both are shown with labels.
199
+
200
+ ### Type scale ranges observed
201
+
202
+ ```
203
+ Hero (76-94px): weight 700, line-height 1.05, letter-spacing -0.04em
204
+ Section (48-56px): weight 700, line-height 1.1, letter-spacing -0.03em
205
+ Card (24-32px): weight 600, line-height 1.2, letter-spacing -0.02em
206
+ Body (16-17px): weight 400, line-height 1.5, letter-spacing normal
207
+ ```
208
+
209
+ **Pattern A (medium-dominant)**: `font-weight: 500` as primary UI weight (120+ instances), `600` for emphasis only, `700` avoided entirely.
210
+ **Pattern B (bold-dominant)**: `700` reserved for hero and section headings only; `400` for all body copy.
211
+
212
+ ### Spacing scales observed
213
+
214
+ ```
215
+ Section gaps: 80-120px
216
+ Card gaps: 24-32px
217
+ Card padding: 24-40px
218
+ Nav height: 64px
219
+ Max content width: 1080-1200px
220
+ Base unit: 4px
221
+ ```
222
+
223
+ ### Shadow stack examples
224
+
225
+ **Blue-gray tinted shadows** (never pure black):
226
+ ```css
227
+ /* Resting */ box-shadow: rgb(64 68 82 / 8%) 0px 2px 5px 0px;
228
+ /* Hover */ box-shadow: rgb(64 68 82 / 8%) 0px 2px 5px 0px, rgb(64 68 82 / 8%) 0px 3px 9px 0px;
229
+ /* Focus */ box-shadow: 0 0 0 4px rgb(1 150 237 / 36%);
230
+ ```
231
+
232
+ **Ring-halo hover** (neutral, no blue tint):
233
+ ```css
234
+ box-shadow: 0 0 0 4px var(--neutral-200, #e5e5e5);
235
+ /* Tailwind: hover:ring-4 hover:ring-neutral-200 */
236
+ ```
237
+
238
+ **Inset sunken surface**:
239
+ ```css
240
+ box-shadow: 0 2px 6px 0 rgba(0,0,0,0.2) inset;
241
+ ```
242
+
243
+ ### Border-radius observed
244
+
245
+ **Pattern A** (restrained):
246
+ ```
247
+ Inputs: 4px | Buttons: 8px | Cards: 8-10px | Pills/badges: 999em
248
+ ```
249
+
250
+ **Pattern B** (more generous):
251
+ ```
252
+ Buttons: 8px (rounded-lg) | Cards: 12-16px (rounded-xl / rounded-2xl) | Badges: 9999px (rounded-full)
253
+ ```
254
+
255
+ The difference teaches: card radius scales up proportionally with card size. Small cards (dashboard widgets) at 8px, large cards (feature showcase) at 12-16px.
256
+
257
+ ### Color tinted-neutral examples
258
+
259
+ ```
260
+ Text primary: #414552 (cool gray-700, NOT #000)
261
+ Text secondary: #687385 (cool gray-500)
262
+ Borders: #d5dbe1 (cool gray-150)
263
+ Surface: #f6f8fa (cool gray-50)
264
+ Brand accent: #625afa (purple-500 — one example; substitute project accent)
265
+ ```
266
+
267
+ **Dark mode via alpha** (avoids hardcoded dark-mode palette):
268
+ ```css
269
+ color: rgba(255,255,255,0.9); /* Tailwind: text-white/90 */
270
+ background: rgba(255,255,255,0.1); /* Tailwind: hover:bg-white/10 */
271
+ ```
272
+
273
+ ### Motion timing observed
274
+
275
+ ```
276
+ Hover transitions: 150-200ms ease-out
277
+ Entrance animations: 500ms duration, 50ms staggered delay per item
278
+ Transform: translateY(-2px) on hover lift
279
+ Property targeting: box-shadow, transform, opacity — never transition: all
280
+ ```
281
+
282
+ **Font pairing pattern** (display + system + mono):
283
+ ```
284
+ Display headings: a face chosen for the brief's subject
285
+ Body: a readable sans or serif chosen for the same brief
286
+ Code/technical: a monospace, only if the content has code
287
+ ```