ai-design-context 0.4.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 (288) hide show
  1. package/AGENTS.md +156 -0
  2. package/CHANGELOG.md +71 -0
  3. package/CODE_OF_CONDUCT.md +29 -0
  4. package/CONTRIBUTING.md +128 -0
  5. package/LICENSE +21 -0
  6. package/README.md +283 -0
  7. package/RELEASE_NOTES_v0.1.0.md +45 -0
  8. package/RELEASE_NOTES_v0.3.0.md +47 -0
  9. package/RELEASE_NOTES_v0.4.0.md +29 -0
  10. package/RELEASE_READINESS.md +107 -0
  11. package/ROADMAP.md +60 -0
  12. package/SECURITY.md +40 -0
  13. package/assets/logo.svg +9 -0
  14. package/benchmarks/README.md +19 -0
  15. package/benchmarks/chat.md +37 -0
  16. package/benchmarks/mobile-home-screen.md +38 -0
  17. package/benchmarks/notes-app.md +37 -0
  18. package/benchmarks/settings.md +37 -0
  19. package/benchmarks/shopping-list.md +37 -0
  20. package/benchmarks/todo-app.md +144 -0
  21. package/checklists/DESIGN_QA.md +102 -0
  22. package/checklists/GENERATED_INDEX.md +7 -0
  23. package/docs/AGENT_CONTEXT.md +111 -0
  24. package/docs/BENCHMARK.md +170 -0
  25. package/docs/DESIGNLINT_READINESS.md +110 -0
  26. package/docs/DESIGN_SYSTEM.md +23 -0
  27. package/docs/EVALUATION_RUBRIC.md +154 -0
  28. package/docs/GITHUB_SETUP.md +28 -0
  29. package/docs/GLOSSARY.md +45 -0
  30. package/docs/INDEX.md +109 -0
  31. package/docs/KNOWLEDGE_ENGINE.md +594 -0
  32. package/docs/MOBILE_FIRST.md +18 -0
  33. package/docs/NPM_RELEASE.md +43 -0
  34. package/docs/PATTERN_SPEC.md +113 -0
  35. package/docs/PHILOSOPHY.md +25 -0
  36. package/docs/PRODUCT_THINKING.md +26 -0
  37. package/docs/STYLE_GUIDE.md +49 -0
  38. package/docs/TRACEABILITY.md +45 -0
  39. package/evidence/README.md +64 -0
  40. package/evidence/TEMPLATE.md +46 -0
  41. package/evidence/chat/.gitkeep +1 -0
  42. package/evidence/mobile-home/.gitkeep +1 -0
  43. package/evidence/notes/.gitkeep +1 -0
  44. package/evidence/settings/.gitkeep +1 -0
  45. package/evidence/shopping/.gitkeep +1 -0
  46. package/evidence/todo/.gitkeep +1 -0
  47. package/evidence/todo/2026-06-25-codex-gpt-5/EVALUATION.md +66 -0
  48. package/evidence/todo/2026-06-25-codex-gpt-5/README.md +40 -0
  49. package/evidence/todo/2026-06-25-codex-gpt-5/ai-design-rules/generated-output.md +163 -0
  50. package/evidence/todo/2026-06-25-codex-gpt-5/ai-design-rules/metadata.json +38 -0
  51. package/evidence/todo/2026-06-25-codex-gpt-5/ai-design-rules/notes.md +20 -0
  52. package/evidence/todo/2026-06-25-codex-gpt-5/ai-design-rules/prompt.md +16 -0
  53. package/evidence/todo/2026-06-25-codex-gpt-5/ai-design-rules/scores.md +18 -0
  54. package/evidence/todo/2026-06-25-codex-gpt-5/baseline/generated-output.md +98 -0
  55. package/evidence/todo/2026-06-25-codex-gpt-5/baseline/metadata.json +19 -0
  56. package/evidence/todo/2026-06-25-codex-gpt-5/baseline/notes.md +19 -0
  57. package/evidence/todo/2026-06-25-codex-gpt-5/baseline/prompt.md +9 -0
  58. package/evidence/todo/2026-06-25-codex-gpt-5/baseline/scores.md +18 -0
  59. package/evidence/todo/2026-09-28-codex-paired-todo/EVALUATION.md +70 -0
  60. package/evidence/todo/2026-09-28-codex-paired-todo/README.md +52 -0
  61. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/GENERATION_NOTES.md +133 -0
  62. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/app.js +289 -0
  63. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/context/context-preserving-preview.json +443 -0
  64. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/context/daily-home-surface.json +373 -0
  65. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/context/quick-capture.json +301 -0
  66. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/context/sources-read.txt +36 -0
  67. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/generated-output.md +11 -0
  68. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/index.html +64 -0
  69. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/launch-prompt.md +1 -0
  70. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/metadata.json +55 -0
  71. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/notes.md +15 -0
  72. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/parent-status-message.md +1 -0
  73. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/prompt.md +49 -0
  74. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/runtime-checks.json +776 -0
  75. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/scores.md +20 -0
  76. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/desktop-completed.png +0 -0
  77. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/desktop-default.png +0 -0
  78. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/desktop-detail-reduced-motion.png +0 -0
  79. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/desktop-detail.png +0 -0
  80. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/desktop-empty.png +0 -0
  81. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/desktop-keyboard-focus.png +0 -0
  82. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/desktop-save-error.png +0 -0
  83. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/desktop-saved.png +0 -0
  84. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/desktop-saving.png +0 -0
  85. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/desktop-validation.png +0 -0
  86. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/mobile-completed.png +0 -0
  87. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/mobile-default.png +0 -0
  88. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/mobile-detail-reduced-motion.png +0 -0
  89. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/mobile-detail.png +0 -0
  90. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/mobile-empty.png +0 -0
  91. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/mobile-keyboard-focus.png +0 -0
  92. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/mobile-save-error.png +0 -0
  93. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/mobile-saved.png +0 -0
  94. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/mobile-saving.png +0 -0
  95. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/mobile-validation.png +0 -0
  96. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/source-hashes.json +5 -0
  97. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/styles.css +122 -0
  98. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/GENERATION_NOTES.md +86 -0
  99. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/app.js +303 -0
  100. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/generated-output.md +11 -0
  101. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/index.html +71 -0
  102. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/launch-prompt.md +1 -0
  103. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/metadata.json +55 -0
  104. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/notes.md +15 -0
  105. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/parent-status-message.md +1 -0
  106. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/prompt.md +49 -0
  107. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/runtime-checks.json +772 -0
  108. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/scores.md +20 -0
  109. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/desktop-completed.png +0 -0
  110. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/desktop-default.png +0 -0
  111. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/desktop-detail-reduced-motion.png +0 -0
  112. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/desktop-detail.png +0 -0
  113. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/desktop-empty.png +0 -0
  114. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/desktop-keyboard-focus.png +0 -0
  115. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/desktop-save-error.png +0 -0
  116. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/desktop-saved.png +0 -0
  117. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/desktop-saving.png +0 -0
  118. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/desktop-validation.png +0 -0
  119. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/mobile-completed.png +0 -0
  120. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/mobile-default.png +0 -0
  121. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/mobile-detail-reduced-motion.png +0 -0
  122. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/mobile-detail.png +0 -0
  123. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/mobile-empty.png +0 -0
  124. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/mobile-keyboard-focus.png +0 -0
  125. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/mobile-save-error.png +0 -0
  126. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/mobile-saved.png +0 -0
  127. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/mobile-saving.png +0 -0
  128. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/mobile-validation.png +0 -0
  129. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/source-hashes.json +5 -0
  130. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/styles.css +9 -0
  131. package/evidence/todo/2026-09-28-codex-paired-todo/capture-ai-design-rules.js +60 -0
  132. package/evidence/todo/2026-09-28-codex-paired-todo/capture-baseline.js +60 -0
  133. package/evidence/todo/2026-09-28-codex-paired-todo/common/brief.md +35 -0
  134. package/evidence/todo/2026-09-28-codex-paired-todo/common/knowledge-files.json +127 -0
  135. package/evidence/todo/2026-09-28-codex-paired-todo/common/knowledge.patch +890 -0
  136. package/evidence/todo/2026-09-28-codex-paired-todo/common/review-context.json +550 -0
  137. package/evidence/todo/2026-09-28-codex-paired-todo/common/seed.json +86 -0
  138. package/evidence/todo/2026-09-28-codex-paired-todo/common/setup.json +47 -0
  139. package/evidence/todo/2026-09-28-codex-paired-todo/common/technical-envelope.md +11 -0
  140. package/evidence/todo/2026-09-28-codex-paired-todo/layout-metrics.json +133 -0
  141. package/evidence/todo/2026-09-28-codex-paired-todo/layout-probe.js +15 -0
  142. package/examples/GENERATED_INDEX.md +8 -0
  143. package/examples/INDEX.md +16 -0
  144. package/examples/README.md +15 -0
  145. package/examples/consequential-action-confirmation-reference.md +83 -0
  146. package/examples/todo-app-benchmark.md +117 -0
  147. package/examples/todo-reference/README.md +29 -0
  148. package/examples/todo-reference/app.js +154 -0
  149. package/examples/todo-reference/favicon.svg +4 -0
  150. package/examples/todo-reference/index.html +67 -0
  151. package/examples/todo-reference/review-evidence/2026-07-15/desktop-default.png +0 -0
  152. package/examples/todo-reference/review-evidence/2026-07-15/desktop-detail.png +0 -0
  153. package/examples/todo-reference/review-evidence/2026-07-15/mobile-detail.png +0 -0
  154. package/examples/todo-reference/review-evidence/2026-07-15/mobile-error.png +0 -0
  155. package/examples/todo-reference/styles.css +241 -0
  156. package/graph/GENERATED_GRAPH.md +71 -0
  157. package/observations/README.md +23 -0
  158. package/observations/accessibility/reduced-interaction-motion.md +49 -0
  159. package/observations/accessibility/textual-error-recovery.md +50 -0
  160. package/observations/accessibility/visible-keyboard-focus.md +49 -0
  161. package/observations/ai/agent-consequential-action-controls.md +56 -0
  162. package/observations/ai/agent-work-visibility-and-intervention.md +51 -0
  163. package/observations/ai/figma-agent-context-and-skills.md +52 -0
  164. package/observations/finance/high-risk-wallet-recovery-flows.md +55 -0
  165. package/observations/finance/market-interface-adaptive-trading-surfaces.md +55 -0
  166. package/observations/interaction/chrome-scoped-view-transitions.md +52 -0
  167. package/observations/interaction/figma-motion-as-system-capability.md +53 -0
  168. package/observations/mobile/mobile-bottom-sheet-choice-contracts.md +55 -0
  169. package/observations/performance/reserved-loading-space.md +51 -0
  170. package/observations/product-repos/pinned-ai-design-rules-integration.md +49 -0
  171. package/observations/visual/apple-liquid-glass-functional-layer.md +52 -0
  172. package/observations/visual/chrome-content-first-adaptive-ui.md +51 -0
  173. package/observations/visual/material-3-expressive-system.md +52 -0
  174. package/package.json +65 -0
  175. package/patterns/GENERATED_INDEX.md +13 -0
  176. package/patterns/INDEX.md +41 -0
  177. package/patterns/README.md +5 -0
  178. package/patterns/consequential-action-confirmation.md +127 -0
  179. package/patterns/context-preserving-preview.md +145 -0
  180. package/patterns/daily-home-surface.md +134 -0
  181. package/patterns/mobile-primary-action.md +110 -0
  182. package/patterns/object-status-list.md +114 -0
  183. package/patterns/progressive-detail.md +113 -0
  184. package/patterns/quick-capture.md +132 -0
  185. package/prompts/CONSEQUENTIAL_ACTION_REVIEW.md +100 -0
  186. package/prompts/DESIGN_EVIDENCE_REVIEW.md +49 -0
  187. package/prompts/GENERATED_INDEX.md +11 -0
  188. package/prompts/INDEX.md +24 -0
  189. package/prompts/PROTOTYPE_REVIEW.md +189 -0
  190. package/prompts/QUICK_CAPTURE_STATE_REVIEW.md +74 -0
  191. package/prompts/TODO_APP_BENCHMARK.md +88 -0
  192. package/registry/objects.json +568 -0
  193. package/registry/relationships.json +972 -0
  194. package/research/GENERATED_INDEX.md +18 -0
  195. package/research/INDEX.md +40 -0
  196. package/research/accessibility/keyboard-focus-and-interaction-motion.md +62 -0
  197. package/research/accessibility/textual-error-recovery.md +57 -0
  198. package/research/performance/reserved-loading-space.md +56 -0
  199. package/research/products/apple-reminders.md +59 -0
  200. package/research/products/arc.md +61 -0
  201. package/research/products/linear.md +62 -0
  202. package/research/products/telegram.md +61 -0
  203. package/research/products/things-3.md +60 -0
  204. package/research/ux/contextual-agentic-interface.md +68 -0
  205. package/research/ux/high-risk-operational-flows.md +89 -0
  206. package/research/ux/motion-as-state-continuity.md +71 -0
  207. package/research/visual/expressive-system-ui-2026.md +75 -0
  208. package/reviews/GENERATED_INDEX.md +9 -0
  209. package/reviews/README.md +25 -0
  210. package/reviews/consequential-action-confirmation-review.md +92 -0
  211. package/reviews/todo-app-benchmark-reference-review.md +86 -0
  212. package/reviews/todo-reference-fixture-review.md +77 -0
  213. package/rules/GENERATED_INDEX.md +23 -0
  214. package/rules/INDEX.md +37 -0
  215. package/rules/accessibility/A11Y-001.md +58 -0
  216. package/rules/accessibility/A11Y-002.md +55 -0
  217. package/rules/accessibility/A11Y-003.md +54 -0
  218. package/rules/accessibility/A11Y-004.md +54 -0
  219. package/rules/ia/IA-001.md +60 -0
  220. package/rules/ia/IA-002.md +61 -0
  221. package/rules/performance/PERF-001.md +55 -0
  222. package/rules/product/PRD-001.md +61 -0
  223. package/rules/product/PRD-002.md +61 -0
  224. package/rules/ux/UX-001.md +58 -0
  225. package/rules/ux/UX-002.md +61 -0
  226. package/rules/ux/UX-003.md +60 -0
  227. package/rules/ux/UX-004.md +61 -0
  228. package/rules/ux/UX-005.md +62 -0
  229. package/rules/ux/UX-006.md +69 -0
  230. package/rules/visual/VIS-001.md +59 -0
  231. package/rules/visual/VIS-002.md +59 -0
  232. package/schema/checklist.schema.json +21 -0
  233. package/schema/common.schema.json +178 -0
  234. package/schema/observation.schema.json +21 -0
  235. package/schema/pattern.schema.json +21 -0
  236. package/schema/prompt.schema.json +21 -0
  237. package/schema/reference-project.schema.json +21 -0
  238. package/schema/research.schema.json +21 -0
  239. package/schema/review.schema.json +21 -0
  240. package/schema/rule.schema.json +21 -0
  241. package/skills/README.md +48 -0
  242. package/skills/accessibility-reviewer/SKILL.md +101 -0
  243. package/skills/agent-context/SKILL.md +34 -0
  244. package/skills/agent-context/agents/openai.yaml +4 -0
  245. package/skills/design-evidence-researcher/SKILL.md +47 -0
  246. package/skills/design-evidence-researcher/agents/openai.yaml +4 -0
  247. package/skills/design-reviewer/SKILL.md +113 -0
  248. package/skills/design-system-architect/SKILL.md +101 -0
  249. package/skills/information-architect/SKILL.md +97 -0
  250. package/skills/interaction-designer/SKILL.md +104 -0
  251. package/skills/knowledge-graph-architect/SKILL.md +96 -0
  252. package/skills/mobile-ux-expert/SKILL.md +105 -0
  253. package/skills/motion-designer/SKILL.md +100 -0
  254. package/skills/performance-reviewer/SKILL.md +97 -0
  255. package/skills/product-designer/SKILL.md +104 -0
  256. package/skills/prompt-architect/SKILL.md +105 -0
  257. package/skills/reference-driven-design/SKILL.md +119 -0
  258. package/skills/ux-reviewer/SKILL.md +99 -0
  259. package/skills/visual-designer/SKILL.md +107 -0
  260. package/starter-kit/AGENTS.md +37 -0
  261. package/starter-kit/BOOTSTRAP.md +13 -0
  262. package/starter-kit/INSTALL_WITH_AGENT.md +133 -0
  263. package/starter-kit/PROJECT_INTEGRATION.md +60 -0
  264. package/starter-kit/README.md +41 -0
  265. package/starter-kit/benchmarks/BENCHMARK_CHECKLIST.md +10 -0
  266. package/starter-kit/docs/DESIGN_DECISIONS.md +22 -0
  267. package/starter-kit/docs/INFORMATION_ARCHITECTURE.md +25 -0
  268. package/starter-kit/docs/PERSONAS.md +14 -0
  269. package/starter-kit/docs/PRD.md +32 -0
  270. package/starter-kit/docs/USER_FLOWS.md +19 -0
  271. package/starter-kit/reviews/DESIGN_REVIEW.md +49 -0
  272. package/starter-kit/templates/FEATURE_TEMPLATE.md +36 -0
  273. package/starter-kit/templates/TASK_TEMPLATE.md +22 -0
  274. package/templates/CHECKLIST_TEMPLATE.md +43 -0
  275. package/templates/OBSERVATION_TEMPLATE.md +41 -0
  276. package/templates/PATTERN_TEMPLATE.md +100 -0
  277. package/templates/PROMPT_TEMPLATE.md +46 -0
  278. package/templates/PROTOTYPE_REVIEW.md +50 -0
  279. package/templates/REFERENCE_PROJECT_TEMPLATE.md +49 -0
  280. package/templates/REVIEW_TEMPLATE.md +55 -0
  281. package/templates/RULE_TEMPLATE.md +57 -0
  282. package/tools/cli.mjs +46 -0
  283. package/tools/context.mjs +342 -0
  284. package/tools/designlint.mjs +77 -0
  285. package/tools/generate-indexes.mjs +621 -0
  286. package/tools/init.mjs +99 -0
  287. package/tools/validate-benchmark-evidence.mjs +248 -0
  288. package/tools/validate-knowledge.mjs +481 -0
@@ -0,0 +1,61 @@
1
+ ---
2
+ id: RULE-00015
3
+ alias: UX-004
4
+ slug: use-motion-to-explain-state-continuity
5
+ title: Use Motion To Explain State Continuity
6
+ object_type: rule
7
+ status: draft
8
+ version: 0.1.0
9
+ category: ux
10
+ tags:
11
+ - ux
12
+ - motion
13
+ - continuity
14
+ maturity: seed
15
+ risk_level: high
16
+ relationships:
17
+ - type: derived_from
18
+ target: RESEARCH-00010
19
+ - type: related_to
20
+ target: RULE-00007
21
+ - type: related_to
22
+ target: RULE-00013
23
+ ---
24
+
25
+ # UX-004 Use Motion To Explain State Continuity
26
+
27
+ Status: Draft
28
+ Domain: UX
29
+
30
+ ## Source Research
31
+
32
+ - `research/ux/motion-as-state-continuity.md`
33
+
34
+ ## Why
35
+
36
+ Users can lose orientation when objects change state, location, or level of detail. Purposeful motion can connect the before and after states, but generic animation adds delay and accessibility risk.
37
+
38
+ ## Rule
39
+
40
+ Use motion only when it explains the continuity of an object, state, or navigation context. Define its start state, end state, reusable motion role, reduced-motion behavior, and unsupported-platform fallback.
41
+
42
+ ## Good
43
+
44
+ - A selected item visibly becomes its detail surface while the source context remains understandable.
45
+ - Insert, remove, reorder, expand, and collapse transitions clarify what changed.
46
+ - Repeated transitions use named timing and easing roles.
47
+ - Reduced motion reaches the same end state with the same focus and information.
48
+
49
+ ## Bad
50
+
51
+ - Elements animate because the screen should feel more modern.
52
+ - Motion delays a primary action or prevents unrelated interaction.
53
+ - Every component uses unrelated durations or easing.
54
+ - The transition is required to understand success, error, or navigation.
55
+
56
+ ## Review
57
+
58
+ - State the orientation problem the motion solves.
59
+ - Verify start, end, focus, interruption, and reduced-motion behavior.
60
+ - Confirm loading and error feedback remain available without animation.
61
+ - Check support and progressive fallback for any platform-specific API.
@@ -0,0 +1,62 @@
1
+ ---
2
+ id: RULE-00016
3
+ alias: UX-005
4
+ slug: expose-agent-work-and-intervention
5
+ title: Expose Agent Work And Intervention
6
+ object_type: rule
7
+ status: draft
8
+ version: 0.1.0
9
+ category: ux
10
+ tags:
11
+ - ux
12
+ - ai
13
+ - agentic-ui
14
+ - trust
15
+ maturity: seed
16
+ risk_level: high
17
+ relationships:
18
+ - type: derived_from
19
+ target: RESEARCH-00011
20
+ - type: related_to
21
+ target: RULE-00004
22
+ - type: related_to
23
+ target: RULE-00007
24
+ ---
25
+
26
+ # UX-005 Expose Agent Work And Intervention
27
+
28
+ Status: Draft
29
+ Domain: UX
30
+
31
+ ## Source Research
32
+
33
+ - `research/ux/contextual-agentic-interface.md`
34
+
35
+ ## Why
36
+
37
+ For delegated or long-running work, a prompt thread alone does not reliably communicate progress, scope, required input, or recovery. Users need enough observable state to supervise outcomes without managing every internal step.
38
+
39
+ ## Rule
40
+
41
+ When an agent performs delegated, long-running, or interruptible work, expose its user-relevant status, scope, result, and intervention points outside transient conversational output.
42
+
43
+ ## Good
44
+
45
+ - Work distinguishes queued, active, blocked, review-ready, complete, failed, and cancelled states when applicable.
46
+ - The user can inspect sources, scope, output, and the next required decision.
47
+ - Risk-appropriate cancel, retry, edit, or review actions are available.
48
+ - The primary product goal stays more prominent than agent mechanics.
49
+
50
+ ## Bad
51
+
52
+ - A loading message is the only record of a long-running task.
53
+ - Users cannot tell whether work is active, blocked, complete, or failed.
54
+ - The interface exposes internal reasoning instead of actionable state.
55
+ - Agent controls dominate an otherwise simple instant action.
56
+
57
+ ## Review
58
+
59
+ - List the actual lifecycle states for the delegated work.
60
+ - Verify that status and next action remain visible after leaving the chat.
61
+ - Test failure, cancellation, retry, and human-input paths.
62
+ - Confirm the interface reveals useful evidence without exposing sensitive or irrelevant internals.
@@ -0,0 +1,69 @@
1
+ ---
2
+ id: RULE-00017
3
+ alias: UX-006
4
+ slug: confirm-consequential-actions-with-preserved-context
5
+ title: Confirm Consequential Actions With Preserved Context
6
+ object_type: rule
7
+ status: active
8
+ version: 0.1.0
9
+ category: ux
10
+ tags:
11
+ - ux
12
+ - finance
13
+ - ai
14
+ - confirmation
15
+ - recovery
16
+ maturity: validated
17
+ risk_level: high
18
+ last_reviewed_at: 2026-08-12
19
+ relationships:
20
+ - type: derived_from
21
+ target: RESEARCH-00012
22
+ - type: related_to
23
+ target: RULE-00007
24
+ - type: related_to
25
+ target: RULE-00010
26
+ - type: related_to
27
+ target: RULE-00016
28
+ ---
29
+
30
+ # UX-006 Confirm Consequential Actions With Preserved Context
31
+
32
+ Status: Draft
33
+ Domain: UX
34
+
35
+ ## Source Research
36
+
37
+ - `research/ux/high-risk-operational-flows.md`
38
+
39
+ ## Why
40
+
41
+ When an action can move money, change account access, publish externally, delete durable data, or let an agent act on the user's behalf, users need to verify the exact consequence without losing the context that made the action meaningful.
42
+
43
+ ## Rule
44
+
45
+ Before executing a consequential action, show a risk-proportional confirmation or challenge state that preserves the acted-on object, critical inputs, side effects, reversibility, and recovery path.
46
+
47
+ ## Good
48
+
49
+ - The confirmation keeps the object, amount, recipient, destination, scope, or selected records visible.
50
+ - A server-requested challenge adds only the missing confirmation field while preserving entered data.
51
+ - The user can still cancel, edit critical inputs, or understand what happens next.
52
+ - User-facing copy explains the consequence and recovery path without raw backend codes.
53
+ - Agentic actions with real-world side effects require explicit approval and remain interruptible.
54
+
55
+ ## Bad
56
+
57
+ - A generic modal asks "Are you sure?" while hiding the object and side effects.
58
+ - A failed 2FA, KYC, passkey, or agent approval restarts the entire flow unnecessarily.
59
+ - The UI shows technical backend codes instead of actionable product language.
60
+ - A low-risk reversible action gets the same heavy ceremony as a money movement.
61
+ - The agent proceeds with an external side effect because the user gave a broad initial instruction.
62
+
63
+ ## Review
64
+
65
+ - Identify the actual consequence, reversibility, and affected object.
66
+ - Verify that critical context remains visible in confirmation, challenge, error, and retry states.
67
+ - Check cancel, edit, retry, and success paths.
68
+ - Confirm the recovery state asks only for the missing information.
69
+ - For agentic work, verify approval, interruption, and audit evidence before execution.
@@ -0,0 +1,59 @@
1
+ ---
2
+ id: RULE-00008
3
+ alias: VIS-001
4
+ slug: semantic-tokens-only
5
+ title: Semantic Tokens Only
6
+ object_type: rule
7
+ status: draft
8
+ version: 0.1.0
9
+ category: visual
10
+ tags:
11
+ - visual
12
+ - tokens
13
+ maturity: seed
14
+ risk_level: medium
15
+ relationships:
16
+ - type: derived_from
17
+ target: RESEARCH-00004
18
+ - type: derived_from
19
+ target: RESEARCH-00002
20
+ ---
21
+
22
+ # VIS-001 Semantic Tokens Only
23
+
24
+ Status: Draft
25
+ Domain: Visual
26
+
27
+ ## Source Research
28
+
29
+ - `research/products/linear.md`
30
+ - `research/products/things-3.md`
31
+
32
+ ## Why
33
+
34
+ Visual consistency becomes fragile when agents choose one-off colors and spacing values. Semantic tokens preserve meaning across states, themes, and repeated surfaces.
35
+
36
+ ## Rule
37
+
38
+ Use semantic tokens for color, spacing, typography, and state styling instead of raw one-off values.
39
+
40
+ ## Good
41
+
42
+ - Color names describe purpose, such as text, surface, border, accent, success, warning, danger.
43
+ - Spacing follows existing scale values.
44
+ - Status colors carry the same meaning across screens.
45
+ - New styles reuse existing tokens before adding new ones.
46
+
47
+ ## Bad
48
+
49
+ - Similar states use unrelated colors.
50
+ - Hex values are added directly to many components.
51
+ - A visual change requires editing unrelated screens one by one.
52
+ - Status colors change meaning by page.
53
+
54
+ ## Review
55
+
56
+ - Search for raw colors and one-off spacing.
57
+ - Confirm each visual value maps to a semantic purpose.
58
+ - Check light and dark themes if they exist.
59
+ - Check whether status color meaning stays stable across the product.
@@ -0,0 +1,59 @@
1
+ ---
2
+ id: RULE-00014
3
+ alias: VIS-002
4
+ slug: keep-expression-subordinate-to-content
5
+ title: Keep Expression Subordinate To Content
6
+ object_type: rule
7
+ status: draft
8
+ version: 0.1.0
9
+ category: visual
10
+ tags:
11
+ - visual
12
+ - hierarchy
13
+ - expressive-design
14
+ maturity: seed
15
+ risk_level: medium
16
+ relationships:
17
+ - type: derived_from
18
+ target: RESEARCH-00009
19
+ - type: related_to
20
+ target: RULE-00008
21
+ ---
22
+
23
+ # VIS-002 Keep Expression Subordinate To Content
24
+
25
+ Status: Draft
26
+ Domain: Visual
27
+
28
+ ## Source Research
29
+
30
+ - `research/visual/expressive-system-ui-2026.md`
31
+
32
+ ## Why
33
+
34
+ Materials, strong shapes, color, typography, and depth can create product identity, but equal or excessive emphasis obscures content and primary actions. Modern platform systems use expression selectively and preserve semantic hierarchy.
35
+
36
+ ## Rule
37
+
38
+ Use the strongest expressive treatment only where it clarifies functional hierarchy, primary emphasis, or product identity. Keep core content readable and dominant, and encode repeated expression through semantic system roles.
39
+
40
+ ## Good
41
+
42
+ - Navigation and controls are visually distinct from the content they operate on.
43
+ - One focal treatment identifies the primary action or important state.
44
+ - Typography, shape, material, color, and depth use reusable semantic roles.
45
+ - The interface remains understandable when transparency, motion, or decorative effects are reduced.
46
+
47
+ ## Bad
48
+
49
+ - Every card, control, and background uses the same strong material or effect.
50
+ - Glass, gradients, shadows, or unusual shapes compete with reading and task completion.
51
+ - A platform-specific effect is copied to unrelated platforms without fallback.
52
+ - Removing decorative effects collapses hierarchy or hides the primary action.
53
+
54
+ ## Review
55
+
56
+ - Identify the content layer, functional layer, focal accent, and quiet supporting surfaces.
57
+ - Temporarily remove decorative effects and confirm content order and primary action remain clear.
58
+ - Check high contrast, reduced transparency, and reduced motion where relevant.
59
+ - Confirm repeated visual decisions map to semantic tokens or component roles.
@@ -0,0 +1,21 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://ai-design-rules.dev/schema/checklist.schema.json",
4
+ "title": "Checklist",
5
+ "allOf": [
6
+ {
7
+ "$ref": "./common.schema.json"
8
+ },
9
+ {
10
+ "type": "object",
11
+ "properties": {
12
+ "id": {
13
+ "pattern": "^CHECK-[0-9]{5}$"
14
+ },
15
+ "object_type": {
16
+ "const": "checklist"
17
+ }
18
+ }
19
+ }
20
+ ]
21
+ }
@@ -0,0 +1,178 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://ai-design-rules.dev/schema/common.schema.json",
4
+ "title": "AI Design Context Common Metadata",
5
+ "type": "object",
6
+ "additionalProperties": true,
7
+ "properties": {
8
+ "id": {
9
+ "type": "string",
10
+ "pattern": "^(OBS|RESEARCH|RULE|PAT|PROMPT|SKILL|REVIEW|CHECK|REF)-[0-9]{5}$"
11
+ },
12
+ "alias": {
13
+ "type": "string"
14
+ },
15
+ "slug": {
16
+ "type": "string",
17
+ "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
18
+ },
19
+ "title": {
20
+ "type": "string",
21
+ "minLength": 1
22
+ },
23
+ "object_type": {
24
+ "type": "string",
25
+ "enum": [
26
+ "observation",
27
+ "research",
28
+ "rule",
29
+ "pattern",
30
+ "prompt",
31
+ "skill",
32
+ "review",
33
+ "checklist",
34
+ "reference_project"
35
+ ]
36
+ },
37
+ "status": {
38
+ "type": "string",
39
+ "enum": [
40
+ "draft",
41
+ "active",
42
+ "deprecated",
43
+ "superseded"
44
+ ]
45
+ },
46
+ "version": {
47
+ "type": "string",
48
+ "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$"
49
+ },
50
+ "category": {
51
+ "type": "string"
52
+ },
53
+ "tags": {
54
+ "type": "array",
55
+ "items": {
56
+ "type": "string"
57
+ },
58
+ "uniqueItems": true
59
+ },
60
+ "created_at": {
61
+ "type": "string",
62
+ "format": "date"
63
+ },
64
+ "updated_at": {
65
+ "type": "string",
66
+ "format": "date"
67
+ },
68
+ "last_reviewed_at": {
69
+ "type": "string",
70
+ "format": "date"
71
+ },
72
+ "owner": {
73
+ "type": "string"
74
+ },
75
+ "maturity": {
76
+ "type": "string",
77
+ "enum": [
78
+ "seed",
79
+ "reviewed",
80
+ "validated",
81
+ "canonical"
82
+ ]
83
+ },
84
+ "risk_level": {
85
+ "type": "string",
86
+ "enum": [
87
+ "low",
88
+ "medium",
89
+ "high",
90
+ "critical"
91
+ ]
92
+ },
93
+ "platform": {
94
+ "type": "array",
95
+ "items": {
96
+ "type": "string"
97
+ },
98
+ "uniqueItems": true
99
+ },
100
+ "product_type": {
101
+ "type": "array",
102
+ "items": {
103
+ "type": "string"
104
+ },
105
+ "uniqueItems": true
106
+ },
107
+ "surface": {
108
+ "type": "array",
109
+ "items": {
110
+ "type": "string"
111
+ },
112
+ "uniqueItems": true
113
+ },
114
+ "applies_to": {
115
+ "type": "array",
116
+ "items": {
117
+ "type": "string"
118
+ },
119
+ "uniqueItems": true
120
+ },
121
+ "does_not_apply_to": {
122
+ "type": "array",
123
+ "items": {
124
+ "type": "string"
125
+ },
126
+ "uniqueItems": true
127
+ },
128
+ "relationships": {
129
+ "type": "array",
130
+ "items": {
131
+ "$ref": "#/$defs/relationship"
132
+ }
133
+ }
134
+ },
135
+ "required": [
136
+ "id",
137
+ "slug",
138
+ "title",
139
+ "object_type",
140
+ "status",
141
+ "version",
142
+ "category",
143
+ "relationships"
144
+ ],
145
+ "$defs": {
146
+ "relationship": {
147
+ "type": "object",
148
+ "additionalProperties": false,
149
+ "properties": {
150
+ "type": {
151
+ "type": "string",
152
+ "enum": [
153
+ "derived_from",
154
+ "cites",
155
+ "inspired_by",
156
+ "requires",
157
+ "validates",
158
+ "implements",
159
+ "related_to",
160
+ "supersedes",
161
+ "deprecated_by",
162
+ "replaced_by"
163
+ ]
164
+ },
165
+ "target": {
166
+ "type": "string"
167
+ },
168
+ "note": {
169
+ "type": "string"
170
+ }
171
+ },
172
+ "required": [
173
+ "type",
174
+ "target"
175
+ ]
176
+ }
177
+ }
178
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://ai-design-rules.dev/schema/observation.schema.json",
4
+ "title": "Observation",
5
+ "allOf": [
6
+ {
7
+ "$ref": "./common.schema.json"
8
+ },
9
+ {
10
+ "type": "object",
11
+ "properties": {
12
+ "id": {
13
+ "pattern": "^OBS-[0-9]{5}$"
14
+ },
15
+ "object_type": {
16
+ "const": "observation"
17
+ }
18
+ }
19
+ }
20
+ ]
21
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://ai-design-rules.dev/schema/pattern.schema.json",
4
+ "title": "Pattern",
5
+ "allOf": [
6
+ {
7
+ "$ref": "./common.schema.json"
8
+ },
9
+ {
10
+ "type": "object",
11
+ "properties": {
12
+ "id": {
13
+ "pattern": "^PAT-[0-9]{5}$"
14
+ },
15
+ "object_type": {
16
+ "const": "pattern"
17
+ }
18
+ }
19
+ }
20
+ ]
21
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://ai-design-rules.dev/schema/prompt.schema.json",
4
+ "title": "Prompt",
5
+ "allOf": [
6
+ {
7
+ "$ref": "./common.schema.json"
8
+ },
9
+ {
10
+ "type": "object",
11
+ "properties": {
12
+ "id": {
13
+ "pattern": "^PROMPT-[0-9]{5}$"
14
+ },
15
+ "object_type": {
16
+ "const": "prompt"
17
+ }
18
+ }
19
+ }
20
+ ]
21
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://ai-design-rules.dev/schema/reference-project.schema.json",
4
+ "title": "Reference Project",
5
+ "allOf": [
6
+ {
7
+ "$ref": "./common.schema.json"
8
+ },
9
+ {
10
+ "type": "object",
11
+ "properties": {
12
+ "id": {
13
+ "pattern": "^REF-[0-9]{5}$"
14
+ },
15
+ "object_type": {
16
+ "const": "reference_project"
17
+ }
18
+ }
19
+ }
20
+ ]
21
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://ai-design-rules.dev/schema/research.schema.json",
4
+ "title": "Research",
5
+ "allOf": [
6
+ {
7
+ "$ref": "./common.schema.json"
8
+ },
9
+ {
10
+ "type": "object",
11
+ "properties": {
12
+ "id": {
13
+ "pattern": "^RESEARCH-[0-9]{5}$"
14
+ },
15
+ "object_type": {
16
+ "const": "research"
17
+ }
18
+ }
19
+ }
20
+ ]
21
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://ai-design-rules.dev/schema/review.schema.json",
4
+ "title": "Review",
5
+ "allOf": [
6
+ {
7
+ "$ref": "./common.schema.json"
8
+ },
9
+ {
10
+ "type": "object",
11
+ "properties": {
12
+ "id": {
13
+ "pattern": "^REVIEW-[0-9]{5}$"
14
+ },
15
+ "object_type": {
16
+ "const": "review"
17
+ }
18
+ }
19
+ }
20
+ ]
21
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://ai-design-rules.dev/schema/rule.schema.json",
4
+ "title": "Rule",
5
+ "allOf": [
6
+ {
7
+ "$ref": "./common.schema.json"
8
+ },
9
+ {
10
+ "type": "object",
11
+ "properties": {
12
+ "id": {
13
+ "pattern": "^RULE-[0-9]{5}$"
14
+ },
15
+ "object_type": {
16
+ "const": "rule"
17
+ }
18
+ }
19
+ }
20
+ ]
21
+ }