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,340 @@
1
+ # UI Review & Critique
2
+
3
+ Systematic methodology for reviewing interface quality — visual design, interaction, accessibility, and performance.
4
+
5
+ ---
6
+
7
+ ## Feedback Hierarchy
8
+
9
+ Evaluate in order: Value → Ease of Use → Delight. Aesthetic feedback that arrives before Value and Ease is feedback misallocation — it tells the team to polish a thing that may not be solving the right problem, or polish a thing the user can't actually use.
10
+
11
+ ### 1. Value — does this solve the problem the user came for?
12
+
13
+ - Confirm the surface answers the user's question (cite the brief.md success metric if available).
14
+ - Test against the primary user (also from brief.md) — does the path from arrival to outcome exist, and is it the shortest path the design allows?
15
+ - Findings here block all subsequent feedback. If Value fails, the visual review is not yet useful.
16
+ - Examples of Value findings:
17
+ - "User cannot find the report they came to read — search is hidden in a settings menu."
18
+ - "The empty state is decorative but doesn't explain how to add the first item."
19
+ - "Primary CTA leads somewhere unexpected — clicked Save, taken to a list view, no confirmation."
20
+
21
+ ### 2. Ease of Use — can the user accomplish the task?
22
+
23
+ - Path length: count clicks/taps from arrival to outcome. Compare against the user's expectation.
24
+ - State coverage: every state the user encounters has explicit affordance (loading, empty, error, partial, success).
25
+ - Friction points: where does the user need to think, type, or wait? Each friction point earns a finding.
26
+ - Accessibility floor: if a path is unusable for a keyboard or screen-reader user, it's an Ease of Use failure (not a Delight failure — defer this in your head before promoting).
27
+ - Cross-ref: `accessibility.md`, `state-design.md`, `forms.md`.
28
+
29
+ ### 3. Delight — does it feel polished?
30
+
31
+ - This is the layer most reviews start with — and most reviews stay here, missing the failures above.
32
+ - Delight findings are real and valuable, but they are **the last 20% of leverage**, not the first.
33
+ - The full Delight pass is the Finish Bar (`finish-bar.md` — 10 passes).
34
+ - Common Delight findings: hierarchy ratios off, type weights inconsistent, motion missing, microcopy generic, surface stack flat.
35
+
36
+ ### How to triage
37
+
38
+ - Start by reading the surface against the brief (Value).
39
+ - If Value findings exist, write them as the first section of the report. Recommend the team fix Value before considering Delight feedback. **Do not include Delight findings in a report where Value is failing — it dilutes the signal.**
40
+ - If Value passes, evaluate Ease of Use. Same rule: surface Ease findings before Delight.
41
+ - If Value and Ease both pass, run the Finish Bar.
42
+ - The brief's principles can downgrade or defer findings (e.g., a brief that records "speed over completeness" defers some Ease findings about progressive disclosure).
43
+
44
+ ### When to skip Value-first
45
+
46
+ - Pure visual review at the request of design (e.g., "review this hero animation") — the user has explicitly scoped to Delight. Honor it; note in the report header that Value was not assessed.
47
+ - Library/component reviews where the component is generic and Value depends on consumer code. Run Ease and Delight only.
48
+ - Brand/marketing surfaces where conversion is the metric — Value is "did the user do the conversion action?" — apply the hierarchy but the bar shifts.
49
+
50
+ ---
51
+
52
+ ## How to Use
53
+
54
+ - **`/agemon-design review <file>`** — UX critique, flag issues, no code changes
55
+ - **`/agemon-design audit <file>`** — Technical audit (a11y, perf, responsive), severity-ranked
56
+ - **`/agemon-design polish <file>`** — Apply the Polish Pass compound details directly
57
+
58
+ ---
59
+
60
+ ## Review Output Format
61
+
62
+ For file reviews, use terse findings:
63
+
64
+ ```
65
+ file:line - [category] description of issue → fix
66
+ ```
67
+
68
+ Example:
69
+ ```
70
+ components/modal.tsx:45 - [animation] Exit 400ms exceeds 300ms limit → reduce to 200ms
71
+ components/button.css:12 - [interaction] Missing :active transform → add scale(0.97)
72
+ ```
73
+
74
+ ---
75
+
76
+ ## Critique Methodology (for screenshots or deep review)
77
+
78
+ Follow this sequence. Each section is a separate lens.
79
+
80
+ ### Step 0: Context
81
+ - **What is this?** (app type, screen purpose, target user)
82
+ - **Emotional context?** (stressful? casual? high-stakes? routine?)
83
+
84
+ ### Step 1: Anti-Slop Detection (CRITICAL)
85
+
86
+ Run the Anti-Slop Test from [core-rules.md](core-rules.md) (Critical → Major → Minor). Every item present is a finding.
87
+
88
+ **The test**: "If someone said AI made this, would they believe it immediately?"
89
+
90
+ ### Step 2: First Impressions
91
+ One paragraph on gut reaction. Be honest and direct. This is the "noticing" step — seeing what's actually there, not what you expect.
92
+
93
+ ### Step 3: Visual Design
94
+
95
+ | Dimension | What to Look For |
96
+ |-----------|-----------------|
97
+ | Color intentionality | Every color purposeful? Too many competing backgrounds/accents? |
98
+ | Typographic hierarchy | Clear scale from most to least important? Count distinct sizes/weights |
99
+ | Shadow & stroke quality | Crisp or muddy? Borders competing with content? |
100
+ | Visual weight vs importance | Heaviest elements = most important? Decorative stealing attention? |
101
+ | Spacing & alignment | Consistent? Clear grid? Excess padding? |
102
+ | Icon consistency | Same family, weight, stroke width, optical size? |
103
+
104
+ For each issue:
105
+ > **[Issue name]** — [Specific factual observation]. [Impact on user]. [What it could be instead.]
106
+
107
+ Be precise. Count things. Quote text. Name colors. Measure relative sizes.
108
+
109
+ ### Step 4: Interface Design
110
+
111
+ | Dimension | What to Look For |
112
+ |-----------|-----------------|
113
+ | Focusing mechanism | Clear where to look first? Visual entry point? |
114
+ | Progressive disclosure | Complexity revealed gradually? 40 things when 5 would suffice? |
115
+ | Information density | Appropriate for context? |
116
+ | Expectation setting | User knows what happens next? Progress communicated? |
117
+ | Feedback & reward | Actions acknowledged? Completed items celebrated? |
118
+ | Redundancy | Labels repeating known information? Can anything be removed? |
119
+
120
+ Frame as missed opportunities:
121
+ > "We're missing an opportunity to [reward progress / reduce cognitive load / etc.]"
122
+
123
+ ### Step 5: Consistency & Conventions
124
+
125
+ | Dimension | What to Look For |
126
+ |-----------|-----------------|
127
+ | Pattern consistency | Similar actions handled the same way? |
128
+ | Platform conventions | Follows established patterns? Deviations intentional? |
129
+ | Component reuse | Elements that should be same component but aren't? |
130
+ | Visual language cohesion | Feels like one designer or assembled from different kits? |
131
+
132
+ ### Step 6: User Context
133
+ - **How does this make the user feel?** Name the emotion.
134
+ - **User's likely state of mind?** Anxious? Focused? Under pressure?
135
+ - **Does the interface respect that state?**
136
+ - **What would "uncommon care" look like here?**
137
+
138
+ ---
139
+
140
+ ## Evidence Gate
141
+
142
+ A finding only counts once it clears three bars. Anything missing one of these is a **candidate**, not a finding — drop it or keep investigating, but don't write it into the report as-is.
143
+
144
+ 1. **Cite the rule.** Name the specific rule or decision the issue violates — a line from this file, from `brief.md`, from the token spine, from an explicit accessibility requirement. "This feels off" is not a citation.
145
+ 2. **Prove it reaches the rendered surface.** Trace the real path — file:line through the actual render, import, or token-resolution chain — that gets you from the code you're pointing at to the pixels the user sees. Two components sharing a name, or a token that merely looks related, is not proof; grep proximity is not proof. If you can't walk the chain, you don't have a finding yet.
146
+ 3. **One concrete fix.** Exactly one, specific enough to apply directly — not a menu of options, not "consider revisiting."
147
+
148
+ **Falsification pass.** Before the report goes out, re-open the evidence for every candidate and actively try to disprove it — check whether the cited rule actually applies in this context, whether the traced path really executes, whether the fix could break something the candidate didn't account for. Only candidates that survive an honest attempt to kill them get written up.
149
+
150
+ **Signal cap.** Rank surviving findings by impact × confidence and report the ones that matter — roughly the top 3-5, not an exhaustive list. Say explicitly what else was observed and cut, so the reader knows the noise was filtered, not missed. A short, high-confidence report beats an exhaustive, noisy one.
151
+
152
+ **Scope discipline.** A review or audit pass fixes what it found — it does not refactor unrelated code, swap libraries or frameworks, or add ARIA and abstraction layers where native semantics already solve the problem. The smallest change that resolves the finding is the correct one.
153
+
154
+ ---
155
+
156
+ ## Craft Report
157
+
158
+ Every review, polish, audit, or refine pass ends with a Craft Report — a receipt of the run. This is non-negotiable: **a pass that changes nothing still produces the report.** "Everything checked out" is a finding, and the most important one to surface — a silent no-op reads as the tool doing nothing, while a receipt turns the same no-op into validation the user can act on.
159
+
160
+ Sections may be omitted when empty, except **Checked** and **Verdict** — those two always appear, even on a pure pass.
161
+
162
+ - **Checked** — which dimensions or rule sets actually ran (anti-slop scan, hierarchy, type, color/contrast, motion, a11y, states…) and over what scope (which files or surfaces). Never imply coverage broader than what actually ran.
163
+ - **Passed** — what was inspected and found sound, with a word on the evidence behind it (e.g. "focus states present on all interactive elements in nav + forms," not "looks fine"). This is the payload when little or nothing changed — treat it with the same rigor as a finding, not as filler.
164
+ - **Changed** — each change, one line, with a file reference and the rule or decision it serves. Every entry here already cleared the Evidence Gate above — no changes ship without a citation and a fix.
165
+ - **Left alone** — deliberate non-changes: things that look unusual but are intentional or brand, things technically correct so untouched, things out of scope or that need a user decision. One line each with the why — this is what separates "didn't notice" from "noticed, chose not to touch."
166
+ - **Verdict** — one sentence: overall state, plus the single highest-leverage next step if one exists (or "no open findings in what was checked" if none does). Never a ship or no-ship ruling.
167
+
168
+ Keep it honest and short. The report reflects what this run actually inspected — no padding, no invented coverage, no claiming a dimension was checked because it usually is.
169
+
170
+ ---
171
+
172
+ ## Comprehensive Audit Checklist
173
+
174
+ ### Animation Audit
175
+ - [ ] No `transition: all` — properties listed explicitly
176
+ - [ ] No `scale(0)` entry — starts from `scale(0.95)` with `opacity: 0`
177
+ - [ ] No `ease-in` on UI elements — use `ease-out` or custom curve
178
+ - [ ] No `transform-origin: center` on popovers — set to trigger location (modals exempt)
179
+ - [ ] No animation on keyboard actions
180
+ - [ ] No duration > 300ms on UI elements
181
+ - [ ] No hover animation without `@media (hover: hover) and (pointer: fine)`
182
+ - [ ] No keyframes on rapidly-triggered elements — use CSS transitions
183
+ - [ ] Animation library uses compositor-promoted properties under load
184
+ - [ ] Exit faster than enter
185
+ - [ ] Stagger delays ≤ 50ms per item
186
+ - [ ] `prefers-reduced-motion` respected
187
+ - [ ] No entrance animation on first paint for default-state elements (`initial={false}` on `AnimatePresence`)
188
+
189
+ ### Interaction Audit
190
+
191
+ Full checklist lives in `accessibility.md` (**Quick Checklist** + **Forms**). Fast pass:
192
+
193
+ - [ ] Full keyboard navigation (WAI-ARIA APG)
194
+ - [ ] Visible focus rings (`:focus-visible`)
195
+ - [ ] Hit targets ≥ 24px (44px mobile)
196
+ - [ ] URL reflects state (filters, tabs, pagination)
197
+ - [ ] Links use `<a>`/`<Link>`, not `<div onClick>`
198
+ - [ ] Destructive actions confirmed or Undo provided
199
+ - [ ] Loading buttons show spinner + keep label
200
+ - [ ] Forms: paste not blocked, errors inline, autocomplete set
201
+ - [ ] `overscroll-behavior: contain` in modals/drawers
202
+ - [ ] `touch-action: manipulation` on controls
203
+
204
+ ### Layout Audit
205
+ - [ ] Optical alignment (±1px adjustments where needed)
206
+ - [ ] Deliberate grid/baseline/edge alignment
207
+ - [ ] Responsive: mobile, laptop, ultra-wide verified
208
+ - [ ] Safe areas respected
209
+ - [ ] No unwanted scrollbars
210
+ - [ ] Flex children have `min-w-0` for truncation
211
+ - [ ] Text containers handle long content
212
+ - [ ] Empty states handled
213
+
214
+ ### Design Audit
215
+ - [ ] Layered shadows (ambient + direct)
216
+ - [ ] Nested radii: child ≤ parent
217
+ - [ ] Hue-consistent borders/shadows on colored backgrounds
218
+ - [ ] APCA contrast met
219
+ - [ ] Interactions increase contrast
220
+ - [ ] `color-scheme: dark` on html in dark themes
221
+ - [ ] `theme-color` matches background
222
+ - [ ] `tabular-nums` for number comparisons
223
+ - [ ] `text-wrap: balance` on headings
224
+ - [ ] Images have inset outline `black/10` (light) / `white/10` (dark) — never tinted
225
+ - [ ] `-webkit-font-smoothing: antialiased` on root (macOS)
226
+
227
+ ### Performance Audit
228
+ - [ ] Only compositor props animated (`transform`, `opacity`)
229
+ - [ ] No layout thrashing (interleaved reads/writes)
230
+ - [ ] Large lists virtualized (>50 items)
231
+ - [ ] Images: preload above-fold, lazy rest, explicit dimensions
232
+ - [ ] Re-renders minimized
233
+ - [ ] CSS variables not animated on deep trees
234
+ - [ ] `will-change` used temporarily and surgically
235
+ - [ ] Blur ≤ 8px, never continuous, never on large surfaces
236
+
237
+ ---
238
+
239
+ ## Output Format for Critiques
240
+
241
+ ```
242
+ ## Context
243
+ [1-2 sentences]
244
+
245
+ ## Anti-Slop Tells
246
+ [Each tell present, with the element and viewport; "none found" if clean]
247
+
248
+ ## First Impressions
249
+ [1 paragraph, direct]
250
+
251
+ ## Visual Design
252
+ [Issues as: **Issue Name** — observation. Impact. Opportunity.]
253
+
254
+ ## Interface Design
255
+ [Issues framed as missed opportunities]
256
+
257
+ ## Consistency & Conventions
258
+ [Pattern issues]
259
+
260
+ ## User Context
261
+ [Empathy-driven observations]
262
+
263
+ ## Top Opportunities
264
+ [Ranked 3-5 highest-impact changes, one sentence each]
265
+ ```
266
+
267
+ ---
268
+
269
+ ## Voice Rules
270
+
271
+ ### BE:
272
+ - **Specific** — "There are six columns per row" not "a lot of data"
273
+ - **Decisive** — "This is overwhelming" not "might feel overwhelming"
274
+ - **Factual first** — State what you see before judging
275
+ - **Impact-aware** — Connect observation to user impact
276
+ - **Constructive** — Every problem paired with opportunity
277
+ - **Quantitative** — Count elements, name colors, measure sizes
278
+
279
+ ### DO NOT:
280
+ - Hedge ("maybe", "perhaps")
281
+ - Apologize ("unfortunately")
282
+ - Be vague ("feels off" without specifics)
283
+ - Add praise padding (no manufactured positivity)
284
+ - Prescribe without reasoning
285
+
286
+ ### Severity Priority
287
+ 1. **Structural** — information architecture, mental model, missing functionality
288
+ 2. **Behavioral** — response, flow, communication
289
+ 3. **Visual** — color, type, spacing, shadows
290
+
291
+ ---
292
+
293
+ ## Polish Pass (Compound Details)
294
+
295
+ The difference between "correct" and "crafted" is 20 small things done right. Run this checklist after the UI works (required when CRAFT_LEVEL is 8+):
296
+
297
+ - **Brand names use `&nbsp;`** — prevent "UI" on one line and "Craft" on the next
298
+ - **Confirmation feedback is visual, not just color** — swap icon to checkmark, not just green tint
299
+ - **One visual anchor per text-heavy page** — a code block, screenshot, or diagram breaks monotony
300
+ - **Headings sit closer to their content than to the previous section** — unequal spacing creates grouping
301
+ - **Footer earns its space or disappears** — generic "Built by Name" adds nothing
302
+ - **Test on mobile before declaring done** — drag interactions, overflow, label overlap, touch targets
303
+ - **Secondary actions don't compete with primary** — outline/ghost for secondary, solid for primary
304
+ - **Data-heavy content uses monospace or tabular-nums** — even in casual contexts
305
+ - **Images inside interactive containers can't be natively dragged** — kills slider/carousel UX
306
+ - **Every `<section>` on a landing page answers one question** — if it answers two, split it
307
+
308
+ ---
309
+
310
+ ## Common Issues (What We See in Real Projects)
311
+
312
+ When reviewing or polishing existing UI, these are the most frequent problems:
313
+
314
+ | Issue | How to spot it | Fix |
315
+ |-------|---------------|-----|
316
+ | Everything is the same shade of gray | Squint test — no visual hierarchy | Darken headings to 900, lighten secondary to 500, add one accent |
317
+ | Cards all look identical | 4+ cards with same border, radius, shadow | Differentiate primary card, vary content types, break the grid |
318
+ | Hover states missing or default | Buttons/cards don't respond to cursor | Add translateY(-1px) + shadow on cards, bg darken on buttons |
319
+ | Spacing is uniform everywhere | Same gap between all sections | Vary: tighter within groups, looser between sections |
320
+ | No loading/empty/error states | Only the happy path is designed | Add skeleton, empty state with CTA, inline errors |
321
+
322
+ ---
323
+
324
+ ## Component Craft
325
+
326
+ - **Interactive elements have three states minimum** — rest, hover/focus, active/pressed. If it looks the same when you click it, it feels broken.
327
+ - **Button hierarchy guides action** — primary = solid, secondary = outline/ghost, destructive = red outline. Only ONE primary per view section.
328
+ - **Feedback must be visual, not just color** — swap icon to checkmark, show inline confirmation, animate the state change. Color alone fails colorblind users.
329
+ - **Metric cards vary treatment** — if 3+ cards share structure, differentiate the primary (heavier weight, slightly larger number, subtle bg tint — never thick colored borders).
330
+ - **Price typography splits weight** — dollar sign lighter/smaller than the number, period label ("/month") in secondary color.
331
+ - **Prevent native image drag** on interactive overlays — `user-drag: none; -webkit-user-drag: none; pointer-events: none` on images inside sliders/carousels.
332
+ - **Placeholders are visual, not text** — skeleton bars, subtle grid lines, muted pattern. "Chart would render here" looks unfinished.
333
+
334
+ **Hover & interaction micro-details** (gate behind `@media (hover: hover) and (pointer: fine)`):
335
+
336
+ - Cards: `transform: translateY(-1px)` + shadow increase — `transition: transform 200ms ease-out, box-shadow 200ms ease-out` / Tailwind: `hover:-translate-y-px hover:shadow-md transition-[transform,box-shadow] duration-200`
337
+ - Buttons: slight bg darkening, not a full color swap — `transition: background 150ms ease-out` / Tailwind: `hover:bg-accent/90 transition-colors duration-150`
338
+ - Table rows: subtle bg — `hover:bg-gray-50` / Tailwind: `hover:bg-slate-50/50`
339
+ - Links: `text-underline-offset: 2px; text-decoration-skip-ink: auto` / Tailwind: `underline-offset-2 decoration-skip-ink-auto`
340
+ - Active/pressed: `transform: scale(0.98)` on buttons for tactile feedback
@@ -0,0 +1,143 @@
1
+ # Routing detail
2
+
3
+ The ladder, intent table and reference tiers that used to sit in `SKILL.md`. Use it when a request does not map cleanly to a track or action. The reference map in [SKILL.md](../SKILL.md) is the short version.
4
+
5
+ ## The Ladder (use this when explaining agemon-design to the user)
6
+
7
+ One progression, three rungs. Never describe agemon-design as "layers" or "modes" — use these rung names, and name the rung the user is on before suggesting an action.
8
+
9
+ | Rung | User wants | They do | They get | Effort |
10
+ |------|-----------|---------|----------|--------|
11
+ | **0 · Ask** | better UI, zero effort | ask for UI as always | taste by default: real hierarchy, system tokens, no slop | none |
12
+ | **1 · Direct** | control one pass | `/agemon-design build`, `review`, `polish`, `harden`, `audit`, `animate` | a focused pass on one surface | one request |
13
+ | **2 · Persist** | consistency across sessions | `/agemon-design brief`, `/agemon-design tokens` | durable design context every future session reads | write once |
14
+
15
+ When a pass finishes, name the natural next step (`build` → `review`, `brief` → `tokens`, `audit` → `harden`).
16
+
17
+ ## Intent routing
18
+
19
+ Invoke an action as `/agemon-design <action>`, or just say what you want in plain words — "review this page", "write the brief", "harden the settings form" route the same way. The actions are `brief`, `tokens`, `build`, `review`, `polish`, `harden`, `audit` and `animate`; each is defined in [actions.md](actions.md). Anything else routes by the table below.
20
+
21
+ | Intent | Pass / Reference |
22
+ |--------|------------------|
23
+ | Pre-build: write the project's design brief | Action `brief` → [actions.md](actions.md#brief), format in [brief.md](brief.md) |
24
+ | Pre-build: establish or audit token spine | Action `tokens` → [actions.md](actions.md#tokens), contract in [tokens.md](tokens.md) |
25
+ | Build a whole surface in one shot | Action `build <surface>` → [actions.md](actions.md#build); outcome recipes: [recipe-dashboard.md](recipe-dashboard.md), [recipe-landing.md](recipe-landing.md), [recipe-auth.md](recipe-auth.md) |
26
+ | Pick a ready-made theme (no token system exists) | [themes.md](themes.md) — 4 production token presets |
27
+ | Building new UI | **Build pass** (rung 0/1) — [stage-build.md](stage-build.md) + relevant references |
28
+ | Adding/fixing animations | Action `animate` → [actions.md](actions.md#animate) + **Motion pass** — [motion.md](motion.md) |
29
+ | Reviewing existing UI, UX critique, no code changes | Action `review` → [actions.md](actions.md#review) + **Review pass** — [review.md](review.md), [inspiration.md](inspiration.md) — ends with a Craft Report |
30
+ | Polishing existing UI | Action `polish` → [actions.md](actions.md#polish) + [review.md](review.md) Polish Pass — ends with a Craft Report |
31
+ | Multi-stage animations | [motion.md](motion.md) — choreography and stagger |
32
+ | Layout / spacing | [layout.md](layout.md) |
33
+ | Typography | [typography.md](typography.md) |
34
+ | Color / theming / dark mode | [color.md](color.md) |
35
+ | Accessibility / technical audit | Action `audit` → [actions.md](actions.md#audit) + [accessibility.md](accessibility.md) |
36
+ | Production hardening (states, i18n, edge cases) | Action `harden` → [actions.md](actions.md#harden) + [state-design.md](state-design.md) |
37
+ | Amplify personality ("make it bolder") or tone down ("quieter", "more restrained") | [craft-intent.md](craft-intent.md) — raise or lower DESIGN_VARIANCE and MOTION_INTENSITY |
38
+ | Purposeful micro-interactions | [motion.md](motion.md) |
39
+ | Animation performance | [motion.md](motion.md) — Rendering Performance section |
40
+ | Advanced CSS / View Transitions | [modern-css.md](modern-css.md) |
41
+ | Sound design | [sound.md](sound.md) |
42
+ | UX copy / voice / tone / microcopy | [copy.md](copy.md) — errors, empty states, CTAs, voice matrix, reading level, locale, inclusive language |
43
+ | Responsive | [responsive.md](responsive.md) |
44
+ | Page metadata correctness (title/description/canonical, social cards, structured data, favicons) | [metadata.md](metadata.md) |
45
+ | Three.js / GSAP / Motion | [stack.md](stack.md) — **OPT-IN ONLY — do not load unless the user chose Motion/GSAP/Three.js during intake** |
46
+ | PM-ready, severity-ranked heuristic critique | Action `review`, heuristic review → [heuristics.md](heuristics.md) + [personas.md](personas.md) |
47
+ | State-first design (before happy path) | [state-design.md](state-design.md) |
48
+ | Data visualization / charts / dashboards | [dataviz.md](dataviz.md) — Cleveland-McGill, color for data, Tufte |
49
+ | Motion system / tokens / choreography | [motion.md](motion.md) — duration + easing scale, motion budget |
50
+ | Wireframe-first: lay out states and content before coding | [state-design.md](state-design.md) — state lattice + content inventory |
51
+ | AI / chat / streaming surfaces | [ai-chat.md](ai-chat.md) — streaming contract, tool traces, citations, feedback |
52
+ | Forms (multi-step, validation timing, autosave) | [forms.md](forms.md) — holistic form system design |
53
+ | Component anatomy (buttons, menus, modals, search, cards, nav) | [components.md](components.md) — contracts below the surface level |
54
+ | Pre-ship: full finishing bar before merge | [finish-bar.md](finish-bar.md) |
55
+ | Iterate a surface until a quality bar passes (converge, not one-shot) | [loops.md](loops.md) — loop engine + presets |
56
+ | Remember a design correction (record as a learned constraint) | [brief.md](brief.md) — Self-Correction |
57
+ | Ambiguous | Ask which action |
58
+
59
+ **Overlap with other skills:** defer marketing copy to a copywriting skill; defer SEO strategy to an SEO skill — agemon-design covers the correctness of metadata already being emitted ([metadata.md](metadata.md)), not keyword or ranking strategy. agemon-design is the visual and interaction layer.
60
+
61
+ **Out of scope.** These are surface classes the recipes do not help with. Say so, name the right tool, and still apply agemon-design to the web surfaces around them — a brief containing one of these is rarely only that.
62
+
63
+ | Not this | Use instead |
64
+ |---|---|
65
+ | Code editor surfaces (syntax, gutters, diff views) | Monaco or CodeMirror with their own theming API |
66
+ | Native mobile apps | Apple HIG or Material directly — agemon-design covers web |
67
+ | Realtime collaboration UI (presence, live cursors, conflict states) | Liveblocks, or Yjs / Automerge if you own the sync layer — the recipes assume a single actor |
68
+ | HTML email | MJML or a dedicated email framework — the CSS rules here are void in mail clients |
69
+
70
+ Refusing with a pointer beats confident bad output. Silence produces the second one.
71
+
72
+ ## Reference Files
73
+
74
+ Tiered by signal. Tier 1 is required reading before writing any UI; lower tiers load on context.
75
+
76
+ ### Tier 1 — Always load before writing UI
77
+
78
+ Two entries, because two is what a build actually loads. This list used to hold seven; build evals showed a passing dashboard opened one of them and a passing landing opened two, while both reached for the surface recipe that was filed a tier below. A required list that nobody reads is not a standard, it is a wish — so the list now names what carries the build, and everything else below states the trigger that pulls it in.
79
+
80
+ | Reference | When to Read |
81
+ |-----------|--------------|
82
+ | [craft-intent.md](craft-intent.md) | Craft Read, DESIGN_VARIANCE, signature bets, product + marketing build patterns. The one reference every full-surface build needs. |
83
+ | **The surface recipe** | [recipe-dashboard.md](recipe-dashboard.md) · [recipe-landing.md](recipe-landing.md) · [recipe-auth.md](recipe-auth.md) — whichever matches what you are building. Every numeric limit that keeps a surface off template grammar lives here (hero subtext ≤20 words, eyebrow budget, form column width, acceptance bar). Skipping it does not soften those limits, it removes them. |
84
+
85
+ ### Tier 1b — Load on trigger
86
+
87
+ Same references as before, same weight when their trigger fires. Only the claim changed: these are conditional, and pretending otherwise made the whole Tier-1 label unreliable — including for the two above.
88
+
89
+ | Reference | Trigger |
90
+ |-----------|---------|
91
+ | [brief.md](brief.md) | `.design/brief.md` or an older `.ui-craft/brief.md` exists — then read it first, it anchors every decision and its learned constraints override skill defaults. Absent: run `/agemon-design brief` or proceed from [stage-intake.md](stage-intake.md). |
92
+ | [tokens.md](tokens.md) | The project has a token system to respect or extend, or you are establishing one. With neither, derive tokens from the brief; [themes.md](themes.md) offers presets only when the user asks for one or no direction exists. |
93
+ | [accessibility.md](accessibility.md) | Any form, any custom interactive control, any focus or keyboard work. The a11y floor in [core-rules.md](core-rules.md) is the minimum; this is the detail. |
94
+ | [color.md](color.md) | Choosing or changing a palette, building dark mode, or auditing accent budget. Not needed to apply a preset the user asked for. |
95
+ | [layout.md](layout.md) | Composing a surface from scratch, or a spacing/hierarchy pass. Not needed when a recipe already prescribes the composition. |
96
+ | [inspiration.md](inspiration.md) | Highest-signal reference in the skill. Read it when the build needs an archetype or a signature detail, and whenever the result feels generic. |
97
+
98
+ > **What this measured, and what it did not.** The evidence is greenfield builds — an empty
99
+ > sandbox with no brief and no tokens, so `brief` and `tokens` could not have been read
100
+ > whatever the label said. It shows the label was not causing loads. It does **not** show the
101
+ > references are unnecessary: `layout` and `color` govern craft that automated checks
102
+ > barely cover, so a build can pass every check with mediocre spacing rhythm. Re-measure before
103
+ > trimming anything further, and re-measure on a project that already has a design system.
104
+
105
+ ### Tier 2 — Surface-specific (read when building this surface)
106
+
107
+ | Reference | When to Read |
108
+ |-----------|--------------|
109
+ | [spec.md](spec.md) | Durable composition spec at `.design/spec.md` — the "what". Read after `brief.md` when a spec exists for the surface being built. |
110
+ | **Outcome recipes** | Promoted to Tier 1 — see *Always load*. Listed there and not here so the recipe has one home; two descriptions of the same requirement is how one of them goes stale. |
111
+ | [themes.md](themes.md) | 4 named production token presets (Graphite, Porcelain, Carbon, Signal). Load only when the user asks for a preset or no design direction exists. |
112
+ | [dashboard.md](dashboard.md) | Dashboards, metric cards, charts, tables, sidebar, filters. |
113
+ | [forms.md](forms.md) | Validation timing, progressive disclosure, multi-step wizards, autosave, optimistic submit. |
114
+ | [components.md](components.md) | Component anatomy contracts: buttons (padding ratio, icon-side semantics), menus (5-option threshold, scroll affordance), modals (verb labels, ways out), search, content cards, nav bar. |
115
+ | [ai-chat.md](ai-chat.md) | Streaming contract, 7-state affordance model for AI surfaces, tool traces, citations, generative UI. |
116
+ | [review.md](review.md) | Critique methodology, Polish Pass, common issues, component craft. Load when reviewing or refining. |
117
+ | [finish-bar.md](finish-bar.md) | 10-pass finishing protocol. Load at CRAFT_LEVEL ≥ 8, or when the user asks for a full pre-ship pass. |
118
+ | [loops.md](loops.md) | Loop engine: read→evaluate→fix-one→re-evaluate→stop contract + 3 presets. Load when the user asks to iterate a surface or a token audit until a bar passes. |
119
+ | [principles-catalog.md](principles-catalog.md) | 42 example design principles across 8 product categories. Load during the `/agemon-design brief` principles workshop branch as conversation seed. |
120
+
121
+ ### Tier 3 — Foundations (read for the relevant discipline)
122
+
123
+ | Reference | When to Read |
124
+ |-----------|--------------|
125
+ | [typography.md](typography.md) | Scale, font choice, readability, weight — scoped per script and role. |
126
+ | [motion.md](motion.md) | Decision ladder, duration + easing scales with perceptual grounding, interaction rules, motion-gap audit. |
127
+ | [modern-css.md](modern-css.md) | View Transitions, scroll timelines, container queries, `@starting-style`. |
128
+ | [responsive.md](responsive.md) | Mobile/tablet/desktop, breakpoints, touch zones. |
129
+ | [metadata.md](metadata.md) | Title/description/canonical consistency, deterministic metadata, social cards, noindex on staging, structured data honesty, favicons. |
130
+ | [tells-2026-11.md](tells-2026-11.md) | Checking your own palette, type and layout plan against what generated interfaces converge on. Calibration only: it never overrides a brand or a brief. |
131
+ | [copy.md](copy.md) | Voice/tone matrix, reading level (Flesch ≥70), terminology, inclusive language, errors, empty states, CTAs. |
132
+ | [sound.md](sound.md) | Web Audio, UI sound, appropriateness matrix. Rare — load when explicitly building audio feedback. |
133
+
134
+ ### Tier 4 — Opt-in (only on explicit request or specific commands)
135
+
136
+ | Reference | When to Read |
137
+ |-----------|--------------|
138
+ | [stack.md](stack.md) | Three.js / GSAP / Motion — **opt-in only — do not load unless the user chose Motion/GSAP/Three.js during intake.** |
139
+ | [heuristics.md](heuristics.md) | Nielsen's 10 + 6 design laws (Fitts, Hick, Doherty, Cleveland-McGill, Miller, Tesler) as a checklist. Load for the heuristic review of `/agemon-design review`. |
140
+ | [personas.md](personas.md) | 5 persona walkthroughs (first-timer / power / low-bandwidth / screen-reader / one-thumb). Load when a heuristic review names a persona. |
141
+ | [state-design.md](state-design.md) | State lattice — idle / loading / empty / error / partial / conflict / offline. Load for `/agemon-design harden` and state-first design. |
142
+ | [dataviz.md](dataviz.md) | Cleveland-McGill perceptual hierarchy, chart selection matrix, ColorBrewer/Okabe-Ito palettes, Tufte, direct labeling. Load when designing charts. |
143
+
@@ -0,0 +1,150 @@
1
+ # Sound Design for UI
2
+
3
+ Web Audio API best practices, UI sound appropriateness, and implementation.
4
+
5
+ ---
6
+
7
+ ## When Sound is Appropriate
8
+
9
+ | Interaction | Sound? | Reason |
10
+ |-------------|--------|--------|
11
+ | Payment success | Yes | Significant confirmation |
12
+ | Form submission | Yes | User needs assurance |
13
+ | Error state | Yes | Can't be overlooked |
14
+ | Notification | Yes | User may not be looking |
15
+ | Significant button | Maybe | Only for important actions |
16
+ | Typing | **No** | Too frequent |
17
+ | Hover | **No** | Decorative only |
18
+ | Scroll | **No** | Too frequent |
19
+ | Navigation | **No** | Keyboard nav would be noisy |
20
+
21
+ ---
22
+
23
+ ## Accessibility Rules
24
+
25
+ - Every audio cue MUST have a visual equivalent — sound never replaces visual feedback
26
+ - Provide explicit toggle to disable sounds in settings
27
+ - Respect `prefers-reduced-motion` as a default proxy for sound sensitivity, AND provide an explicit independent sound toggle. **Why caveat:** the proxy is imperfect — some users tolerate visual motion but not audio (vestibular conditions, hearing aids), some users tolerate audio but not motion. Always offer a sound toggle separate from motion preference; reduced-motion is the default-off, not the only signal.
28
+ - Allow volume adjustment independent of system volume
29
+ - Never add sound to high-frequency interactions
30
+ - Sound should inform, not punish — avoid harsh sounds for mistakes
31
+
32
+ ---
33
+
34
+ ## Web Audio API Implementation
35
+
36
+ ### Single AudioContext
37
+
38
+ Single AudioContext per page. Never create new AudioContext per sound. **Why critical:** browsers limit AudioContext instances (typically 6 per page); exhausting them silently fails new sounds. A shared AudioContext also synchronizes timing across rapid-fire UI feedback (typing keystrokes, button clicks within 50ms) — independent contexts desync.
39
+
40
+ ```ts
41
+ let audioContext: AudioContext | null = null;
42
+ function getAudioContext(): AudioContext {
43
+ if (!audioContext) audioContext = new AudioContext();
44
+ return audioContext;
45
+ }
46
+ ```
47
+
48
+ ### Resume Suspended Context
49
+ ```ts
50
+ if (ctx.state === "suspended") ctx.resume();
51
+ ```
52
+
53
+ ### Clean Up Nodes
54
+ ```ts
55
+ source.onended = () => { source.disconnect(); gain.disconnect(); };
56
+ ```
57
+
58
+ ---
59
+
60
+ ## Sound Design Patterns
61
+
62
+ ### Clicks/Taps (Percussion) — Use Filtered Noise
63
+ ```ts
64
+ const buffer = ctx.createBuffer(1, ctx.sampleRate * 0.008, ctx.sampleRate);
65
+ const data = buffer.getChannelData(0);
66
+ for (let i = 0; i < data.length; i++) {
67
+ data[i] = (Math.random() * 2 - 1) * Math.exp(-i / 50);
68
+ }
69
+
70
+ const filter = ctx.createBiquadFilter();
71
+ filter.type = "bandpass";
72
+ filter.frequency.value = 4000; // 3000-6000Hz range
73
+ filter.Q.value = 3; // 2-5 for focused but not harsh
74
+ source.connect(filter).connect(gain).connect(ctx.destination);
75
+ ```
76
+
77
+ ### Confirmations/Pops (Tonal) — Use Oscillators
78
+ ```ts
79
+ const osc = ctx.createOscillator();
80
+ osc.frequency.setValueAtTime(400, t);
81
+ osc.frequency.exponentialRampToValueAtTime(600, t + 0.04);
82
+ ```
83
+
84
+ ### Envelope
85
+
86
+ Use exponential decay (not linear) for sound envelopes. **Why:** linear decay produces an audible click as the envelope hits zero — the abrupt stop creates a high-frequency artifact at the cutoff. Exponential decay mimics natural acoustic decay (room reverberation, string damping) — it reaches zero asymptotically, no click.
87
+
88
+ ```ts
89
+ gain.gain.setValueAtTime(0.3, t); // set initial value first
90
+ gain.gain.exponentialRampToValueAtTime(0.001, t + 0.05); // never target 0
91
+ ```
92
+
93
+ ---
94
+
95
+ ## Parameters
96
+
97
+ | Parameter | Range | Notes |
98
+ |-----------|-------|-------|
99
+ | Click duration | 5-15ms | Quick and percussive |
100
+ | Filter frequency | 3000-6000Hz | For click sounds |
101
+ | Filter Q | 2-5 | Focused but not harsh |
102
+ | Gain | ≤ 1.0 | Prevent clipping |
103
+ | Default volume | 0.3 | Subtle, not loud |
104
+ | "too harsh" | → lower filter frequency, reduce Q | |
105
+ | "too muffled" | → higher filter frequency | |
106
+ | "too long" | → shorter duration, faster decay | |
107
+ | "cuts off" | → use exponential decay | |
108
+ | "more mechanical" | → higher Q, faster decay | |
109
+ | "softer" | → lower gain, triangle wave | |
110
+
111
+ ---
112
+
113
+ ## Weight Matching
114
+
115
+ Sound weight should match action importance:
116
+ - **Subtle click** for toggle switches
117
+ - **Soft pop** for adding items
118
+ - **Rich confirmation** for purchases/payments
119
+ - **Brief alert** for errors
120
+
121
+ Sound duration should match action duration:
122
+ - **50ms** for clicks/taps
123
+ - **100-200ms** for confirmations
124
+ - **Longer** for uploads/completions
125
+
126
+ ---
127
+
128
+ ## Preloading
129
+
130
+ ```ts
131
+ const sounds = {
132
+ success: new Audio("/sounds/success.mp3"),
133
+ error: new Audio("/sounds/error.mp3"),
134
+ };
135
+ Object.values(sounds).forEach(audio => audio.load());
136
+
137
+ // Reset before replay for rapid triggering
138
+ function play(sound: HTMLAudioElement) {
139
+ sound.currentTime = 0;
140
+ sound.play();
141
+ }
142
+ ```
143
+
144
+ ---
145
+
146
+ ## Cross-Refs
147
+
148
+ - `accessibility.md` — the full reduced-motion contract; `prefers-reduced-motion` as a sound-sensitivity proxy lives there.
149
+ - `motion.md` — sound duration should match the duration of the action it accompanies, the same pairing rule as interaction timing.
150
+ - `state-design.md` — sound cues for state transitions (error, success) must never be the only signal; pair with the visual state.