telo3-ai 5.0.7 → 6.2.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 (47) hide show
  1. package/README.md +32 -791
  2. package/SKILL.md +36 -657
  3. package/bootstrap/TELO3.md +17 -0
  4. package/cli.js +223 -42
  5. package/hooks/inject-contract.mjs +23 -0
  6. package/hooks/session-start.example.json +15 -0
  7. package/index.js +48 -14
  8. package/package.json +32 -69
  9. package/references/accessibility-quality.md +92 -272
  10. package/references/ai-behavior.md +70 -332
  11. package/references/anti-slop.md +71 -0
  12. package/references/document-specification.md +110 -419
  13. package/references/legal-compliance.md +90 -395
  14. package/references/performance-quality.md +100 -351
  15. package/references/privacy-compliance.md +88 -464
  16. package/references/project-audit.md +79 -440
  17. package/references/security-quality.md +68 -220
  18. package/references/seo-quality.md +83 -339
  19. package/references/smart-skill-delegation.md +73 -419
  20. package/references/token-optimization.md +83 -450
  21. package/references/ui-quality.md +106 -481
  22. package/references/workflow.md +91 -447
  23. package/scripts/postinstall.mjs +27 -0
  24. package/src/activate.js +159 -0
  25. package/src/context.js +72 -0
  26. package/src/find-context.js +41 -0
  27. package/src/init.js +38 -0
  28. package/src/install.js +128 -0
  29. package/src/paths.js +20 -0
  30. package/src/status.js +30 -0
  31. package/src/tokens.js +10 -0
  32. package/src/validate.js +220 -0
  33. package/src/version.js +12 -0
  34. package/templates/architecture.md +17 -398
  35. package/templates/design.md +22 -631
  36. package/templates/memory.md +13 -351
  37. package/templates/prd.md +15 -295
  38. package/templates/rules.md +20 -600
  39. package/templates/tasks.md +10 -210
  40. package/AI-CONTEXT.md +0 -272
  41. package/ONBOARDING-SKILL.md +0 -738
  42. package/SKILL-METADATA.json +0 -237
  43. package/scripts/init-project-context.sh +0 -139
  44. package/scripts/validate-project-context.sh +0 -164
  45. package/skills/telo3/SKILL.md +0 -315
  46. package/skills/telo3-context/SKILL.md +0 -272
  47. package/skills/telo3-onboarding/SKILL.md +0 -738
@@ -1,654 +1,45 @@
1
- # Design System
1
+ <!-- Lean skeleton. The visual/UX contract. Follow it before inventing UI.
2
+ Avoid generic AI aesthetics unless this design system justifies them. -->
2
3
 
3
- > **Purpose:** Define HOW the product looks and behaves — visual language, components, and UX patterns.
4
- > **Last Updated:** [Date]
5
-
6
- ---
4
+ # Design System — [Project Name]
7
5
 
8
6
  ## Design Philosophy
9
7
 
10
- ### Core Principles
11
- [What drives design decisions in this product?]
12
-
13
- - **[Principle 1]:** [e.g., "Clarity over cleverness"]
14
- - **[Principle 2]:** [e.g., "Consistency creates trust"]
15
- - **[Principle 3]:** [e.g., "Performance is a feature"]
16
-
17
- ### Brand Personality
18
- [How should the product feel?]
19
-
20
- - **[Trait 1]:** [e.g., "Professional but approachable"]
21
- - **[Trait 2]:** [e.g., "Modern without being trendy"]
22
- - **[Trait 3]:** [e.g., "Calm and confident"]
23
-
24
- ### Design Priorities
25
- 1. [Priority 1: e.g., "Accessibility"]
26
- 2. [Priority 2: e.g., "Performance"]
27
- 3. [Priority 3: e.g., "Visual consistency"]
28
-
29
- ---
30
-
31
- ## Color System
32
-
33
- ### Primary Colors
34
- [Main brand colors used for primary actions and branding]
35
-
36
- ```css
37
- --color-primary: #[HEX]; /* Primary brand color */
38
- --color-primary-hover: #[HEX]; /* Hover state */
39
- --color-primary-active: #[HEX]; /* Active/pressed state */
40
- --color-primary-foreground: #[HEX]; /* Text on primary */
41
- ```
8
+ [TODO: brand personality, the feeling the UI should give, 2-3 principles.]
42
9
 
43
- **Usage:** Primary buttons, links, key actions, brand elements
10
+ ## Colors
44
11
 
45
- ### Secondary Colors
46
- ```css
47
- --color-secondary: #[HEX];
48
- --color-secondary-hover: #[HEX];
49
- --color-secondary-foreground: #[HEX];
50
- ```
12
+ | Token | Value | Use |
13
+ |-------|-------|-----|
14
+ | primary | [TODO] | [TODO] |
15
+ | background | [TODO] | [TODO] |
16
+ | text | [TODO] | [TODO] |
51
17
 
52
- **Usage:** Secondary actions, supporting elements
53
-
54
- ### Neutral Colors
55
- [Grays for text, borders, backgrounds]
56
-
57
- ```css
58
- --color-background: #[HEX]; /* Page background */
59
- --color-foreground: #[HEX]; /* Primary text */
60
- --color-muted: #[HEX]; /* Muted background */
61
- --color-muted-foreground: #[HEX]; /* Muted text */
62
- --color-border: #[HEX]; /* Borders, dividers */
63
- ```
64
-
65
- ### Semantic Colors
66
- [Colors that convey meaning]
67
-
68
- ```css
69
- --color-success: #[HEX]; /* Success states, positive */
70
- --color-warning: #[HEX]; /* Warning, caution */
71
- --color-error: #[HEX]; /* Error, destructive */
72
- --color-info: #[HEX]; /* Informational */
73
- ```
74
-
75
- ### Color Accessibility
76
- - All text meets WCAG AA contrast requirements (4.5:1 for normal text, 3:1 for large text)
77
- - Primary actions meet WCAG AAA when possible (7:1)
78
- - Color is never the only way to convey information
79
-
80
- ---
18
+ [TODO: contrast — text ≥ 4.5:1, large text/UI ≥ 3:1 (WCAG AA).]
81
19
 
82
20
  ## Typography
83
21
 
84
- ### Font Families
85
-
86
- **Primary Font (UI):**
87
- ```css
88
- --font-sans: [Font name], system-ui, sans-serif;
89
- ```
90
- **Usage:** Body text, UI elements, most content
91
-
92
- **Secondary Font (Headings):** [Optional]
93
- ```css
94
- --font-display: [Font name], serif;
95
- ```
96
- **Usage:** Headings, hero sections, emphasis
97
-
98
- **Monospace Font (Code):**
99
- ```css
100
- --font-mono: [Font name], 'Courier New', monospace;
101
- ```
102
- **Usage:** Code blocks, technical content
103
-
104
- ### Font Loading
105
- - **Method:** [e.g., Next.js font optimization, self-hosted, Google Fonts]
106
- - **Privacy consideration:** [e.g., "Self-hosted to avoid third-party requests"]
107
-
108
- ### Type Scale
109
- [Font sizes with purpose]
110
-
111
- | Token | Size | Line Height | Usage |
112
- |-------|------|-------------|-------|
113
- | `text-xs` | 0.75rem (12px) | 1rem | Fine print, labels |
114
- | `text-sm` | 0.875rem (14px) | 1.25rem | Small body text |
115
- | `text-base` | 1rem (16px) | 1.5rem | Body text |
116
- | `text-lg` | 1.125rem (18px) | 1.75rem | Lead paragraphs |
117
- | `text-xl` | 1.25rem (20px) | 1.75rem | Section headings |
118
- | `text-2xl` | 1.5rem (24px) | 2rem | Page headings |
119
- | `text-3xl` | 1.875rem (30px) | 2.25rem | Major headings |
120
- | `text-4xl` | 2.25rem (36px) | 2.5rem | Hero headings |
121
-
122
- ### Font Weights
123
-
124
- ```css
125
- --font-weight-normal: 400;
126
- --font-weight-medium: 500;
127
- --font-weight-semibold: 600;
128
- --font-weight-bold: 700;
129
- ```
130
-
131
- ### Text Hierarchy
132
- - **H1:** Page title, used once per page
133
- - **H2:** Major section headings
134
- - **H3:** Subsection headings
135
- - **H4-H6:** Nested content hierarchy
136
- - **Body:** Standard paragraph text
137
- - **Small:** Secondary information, captions
138
-
139
- ---
140
-
141
- ## Spacing System
142
-
143
- ### Spacing Scale
144
- [Consistent spacing creates rhythm]
145
-
146
- ```css
147
- --spacing-1: 0.25rem; /* 4px */
148
- --spacing-2: 0.5rem; /* 8px */
149
- --spacing-3: 0.75rem; /* 12px */
150
- --spacing-4: 1rem; /* 16px */
151
- --spacing-5: 1.25rem; /* 20px */
152
- --spacing-6: 1.5rem; /* 24px */
153
- --spacing-8: 2rem; /* 32px */
154
- --spacing-10: 2.5rem; /* 40px */
155
- --spacing-12: 3rem; /* 48px */
156
- --spacing-16: 4rem; /* 64px */
157
- --spacing-20: 5rem; /* 80px */
158
- --spacing-24: 6rem; /* 96px */
159
- ```
160
-
161
- ### Spacing Usage
162
- - **Component padding:** Use spacing-4 (16px) as base
163
- - **Section spacing:** Use spacing-12 to spacing-24
164
- - **Element gaps:** Use spacing-2 to spacing-6
165
- - **Maintain vertical rhythm**
166
-
167
- ---
168
-
169
- ## Layout & Grid
170
-
171
- ### Container
172
- ```css
173
- --container-max-width: 1280px;
174
- --container-padding: 1rem; /* Mobile */
175
- --container-padding-lg: 2rem; /* Desktop */
176
- ```
177
-
178
- ### Grid System
179
- [If using a grid system]
180
-
181
- - **Columns:** 12-column grid
182
- - **Gap:** 1rem (16px) on mobile, 1.5rem (24px) on desktop
183
- - **Responsive:** Mobile-first, stacks on small screens
184
-
185
- ### Content Width
186
- - **Prose content:** Max 65ch for readability
187
- - **Form inputs:** Max 500px width
188
- - **Cards:** Flexible width with max-width constraints
189
-
190
- ---
22
+ [TODO: font families (self-host when practical), scale, weights, line heights.]
191
23
 
192
- ## Breakpoints
24
+ ## Spacing & Layout
193
25
 
194
- ### Responsive Breakpoints
195
-
196
- ```css
197
- --breakpoint-sm: 640px; /* Small tablets */
198
- --breakpoint-md: 768px; /* Tablets */
199
- --breakpoint-lg: 1024px; /* Small laptops */
200
- --breakpoint-xl: 1280px; /* Desktops */
201
- --breakpoint-2xl: 1536px; /* Large desktops */
202
- ```
203
-
204
- ### Responsive Strategy
205
- - **Mobile-first:** Design for mobile, enhance for larger screens
206
- - **Touch targets:** Minimum 44x44px on mobile
207
- - **Readable text:** Minimum 16px font size on mobile
208
-
209
- ---
210
-
211
- ## Border Radius
212
-
213
- ```css
214
- --radius-sm: 0.25rem; /* 4px - subtle rounding */
215
- --radius-md: 0.375rem; /* 6px - default rounding */
216
- --radius-lg: 0.5rem; /* 8px - cards, modals */
217
- --radius-xl: 0.75rem; /* 12px - larger elements */
218
- --radius-2xl: 1rem; /* 16px - images, hero sections */
219
- --radius-full: 9999px; /* Pills, avatars */
220
- ```
221
-
222
- **Usage:** [e.g., "Use radius-md for most UI elements, radius-lg for cards"]
223
-
224
- ---
225
-
226
- ## Borders
227
-
228
- ```css
229
- --border-width: 1px;
230
- --border-width-thick: 2px;
231
- --border-color: var(--color-border);
232
- ```
233
-
234
- **Usage:** Borders for separation, not decoration
235
-
236
- ---
237
-
238
- ## Shadows
239
-
240
- ### Shadow Scale
241
- [Elevation through shadows]
242
-
243
- ```css
244
- --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
245
- --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1);
246
- --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1);
247
- --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1);
248
- ```
249
-
250
- **Usage:**
251
- - `shadow-sm` — Subtle elevation (cards in list)
252
- - `shadow-md` — Default elevation (cards, dropdowns)
253
- - `shadow-lg` — Emphasized elevation (modals, popovers)
254
- - `shadow-xl` — Maximum elevation (alerts, notifications)
255
-
256
- **Avoid:** Excessive shadows, multiple strong shadows on one screen
257
-
258
- ---
26
+ [TODO: spacing scale, grid, breakpoints, border radius, shadows — keep consistent.]
259
27
 
260
28
  ## Components
261
29
 
262
- ### Buttons
263
-
264
- #### Primary Button
265
- - **Background:** Primary color
266
- - **Text:** Primary foreground
267
- - **Hover:** Primary hover
268
- - **Padding:** 0.5rem 1rem (8px 16px)
269
- - **Border radius:** radius-md
270
- - **Font weight:** medium
271
- - **Usage:** Primary action on each screen
272
-
273
- #### Secondary Button
274
- - **Background:** Secondary color or transparent
275
- - **Border:** 1px solid border color
276
- - **Hover:** Background muted
277
- - **Usage:** Secondary actions
278
-
279
- #### Destructive Button
280
- - **Background:** Error color
281
- - **Usage:** Irreversible actions (delete, remove)
282
-
283
- #### Ghost Button
284
- - **Background:** Transparent
285
- - **Hover:** Subtle background
286
- - **Usage:** Tertiary actions, navigation
287
-
288
- #### Button Sizes
289
- - `sm` — Compact: 0.375rem 0.75rem
290
- - `md` — Default: 0.5rem 1rem
291
- - `lg` — Large: 0.75rem 1.5rem
292
-
293
- #### Button States
294
- - **Hover:** Slightly darker/lighter background
295
- - **Active:** More pronounced color change
296
- - **Disabled:** Reduced opacity (0.5), cursor not-allowed
297
- - **Loading:** Show spinner, disable interaction
298
-
299
- ---
300
-
301
- ### Forms
302
-
303
- #### Input Fields
304
- - **Border:** 1px solid border color
305
- - **Border radius:** radius-md
306
- - **Padding:** 0.5rem 0.75rem
307
- - **Focus:** Ring outline (2px offset, primary color)
308
- - **Error:** Red border, error message below
309
- - **Disabled:** Reduced opacity, different background
310
-
311
- #### Labels
312
- - **Font size:** text-sm
313
- - **Font weight:** medium
314
- - **Position:** Above input
315
- - **Required indicator:** Red asterisk
316
-
317
- #### Error Messages
318
- - **Color:** Error color
319
- - **Font size:** text-sm
320
- - **Icon:** Optional error icon
321
-
322
- #### Helper Text
323
- - **Color:** Muted foreground
324
- - **Font size:** text-sm
325
- - **Position:** Below input
326
-
327
- ---
328
-
329
- ### Cards
330
-
331
- #### Standard Card
332
- - **Background:** Background color or muted
333
- - **Border:** 1px solid border color (optional)
334
- - **Border radius:** radius-lg
335
- - **Padding:** 1rem to 1.5rem
336
- - **Shadow:** shadow-sm to shadow-md
337
- - **Hover:** Subtle shadow increase (if interactive)
338
-
339
- #### Card Variants
340
- - **Flat:** No shadow, just border
341
- - **Elevated:** More prominent shadow
342
- - **Interactive:** Hover state with shadow/scale
343
-
344
- ---
345
-
346
- ### Navigation
347
-
348
- #### Header/Navigation Bar
349
- - **Height:** [e.g., 64px]
350
- - **Background:** [e.g., Background color with border bottom]
351
- - **Sticky:** [Yes/No]
352
- - **Logo position:** [Left]
353
- - **Nav links:** [Right or center]
30
+ [TODO: existing components to reuse (buttons, forms, cards, nav). Reuse before creating.]
354
31
 
355
- #### Navigation Links
356
- - **Default:** Muted foreground
357
- - **Hover:** Foreground
358
- - **Active:** Primary color or underline
359
- - **Font weight:** Medium
32
+ ## Motion
360
33
 
361
- ---
362
-
363
- ### Modals/Dialogs
364
-
365
- #### Modal Container
366
- - **Background:** Background color
367
- - **Border radius:** radius-lg
368
- - **Padding:** 1.5rem
369
- - **Max width:** 500px (adjustable)
370
- - **Shadow:** shadow-xl
371
-
372
- #### Modal Overlay
373
- - **Background:** Black with opacity (0.5)
374
- - **Blur:** Optional backdrop blur
375
-
376
- #### Modal Behavior
377
- - **Close on:** Escape key, overlay click, close button
378
- - **Focus trap:** Yes, trap focus inside modal
379
- - **Scroll:** Lock body scroll when open
380
-
381
- ---
382
-
383
- ### Tables
384
-
385
- #### Table Structure
386
- - **Border:** 1px solid border color
387
- - **Header:** Background muted, font weight medium
388
- - **Rows:** Alternating background (optional)
389
- - **Row hover:** Subtle background change
390
- - **Cell padding:** 0.75rem 1rem
391
-
392
- #### Responsive Tables
393
- - **Mobile:** Horizontal scroll or card-based layout
394
-
395
- ---
396
-
397
- ### Notifications/Toast
398
-
399
- #### Toast Container
400
- - **Position:** [e.g., Top right, bottom right]
401
- - **Width:** Max 400px
402
- - **Shadow:** shadow-lg
403
- - **Border radius:** radius-md
404
-
405
- #### Toast Variants
406
- - **Success:** Green accent
407
- - **Error:** Red accent
408
- - **Warning:** Yellow/orange accent
409
- - **Info:** Blue accent
410
-
411
- #### Toast Behavior
412
- - **Duration:** 3-5 seconds (adjustable)
413
- - **Dismissible:** Yes, with close button
414
- - **Animation:** Slide in, fade out
415
-
416
- ---
417
-
418
- ### Loading States
419
-
420
- #### Spinner
421
- - **Size:** Small (16px), Medium (24px), Large (48px)
422
- - **Color:** Primary or muted foreground
423
- - **Usage:** Buttons, inline loading, full-page
424
-
425
- #### Skeleton
426
- - **Background:** Muted with subtle animation
427
- - **Usage:** Content placeholders while loading
428
-
429
- #### Progress Bar
430
- - **Height:** 4px to 8px
431
- - **Color:** Primary
432
- - **Usage:** File uploads, multi-step processes
433
-
434
- ---
435
-
436
- ### Empty States
437
-
438
- #### Empty State Design
439
- - **Icon:** Relevant, subtle icon
440
- - **Heading:** "No [items] yet"
441
- - **Description:** Explain why it's empty
442
- - **Action:** Primary action button (if applicable)
443
- - **Illustration:** Optional simple illustration
444
-
445
- ---
446
-
447
- ### Error States
448
-
449
- #### Error Display
450
- - **Icon:** Error icon
451
- - **Heading:** What went wrong
452
- - **Description:** Why it happened (if known)
453
- - **Action:** "Try again" button, "Go back" link
454
- - **Avoid:** Technical jargon, blame language
455
-
456
- ---
457
-
458
- ## Icons
459
-
460
- ### Icon Library
461
- - **Library:** [e.g., Lucide, Heroicons, custom]
462
- - **Style:** [e.g., Outline, solid]
463
- - **Size:** 16px (sm), 20px (md), 24px (lg)
464
-
465
- ### Icon Usage
466
- - **Consistent library:** Use one icon set throughout
467
- - **Meaningful icons:** Use icons that users recognize
468
- - **Accessible:** Include aria-label or sr-only text
469
- - **Decorative:** Mark decorative icons as aria-hidden
470
-
471
- ---
472
-
473
- ## Images
474
-
475
- ### Image Guidelines
476
- - **Aspect ratios:** Maintain consistent ratios (16:9, 4:3, 1:1)
477
- - **Optimization:** WebP/AVIF with JPEG fallback
478
- - **Loading:** Lazy load below the fold
479
- - **Alt text:** Descriptive alt text for all images
480
- - **Placeholder:** Use blur placeholder or skeleton
481
-
482
- ### Image Sizing
483
- - **Thumbnails:** 64x64 to 128x128
484
- - **Cards:** 300x200 (adjustable)
485
- - **Hero:** 1920x1080 (adjustable)
486
-
487
- ---
488
-
489
- ## Motion & Animation
490
-
491
- ### Animation Principles
492
- - **Purposeful:** Animations should have a reason (guide attention, provide feedback)
493
- - **Performant:** Use CSS transforms and opacity (GPU-accelerated)
494
- - **Respectful:** Respect `prefers-reduced-motion`
495
- - **Subtle:** Animations should enhance, not distract
496
-
497
- ### Animation Timing
498
- ```css
499
- --duration-fast: 150ms;
500
- --duration-normal: 300ms;
501
- --duration-slow: 500ms;
502
-
503
- --easing-in: cubic-bezier(0.4, 0, 1, 1);
504
- --easing-out: cubic-bezier(0, 0, 0.2, 1);
505
- --easing-in-out: cubic-bezier(0.4, 0, 0.2, 1);
506
- ```
507
-
508
- ### Common Animations
509
- - **Fade in:** Opacity 0 to 1
510
- - **Slide in:** Transform translateY/X
511
- - **Scale:** Scale 0.95 to 1 (modals, popovers)
512
- - **Hover:** Subtle scale (1.02) or brightness change
513
-
514
- ### Reduced Motion
515
- ```css
516
- @media (prefers-reduced-motion: reduce) {
517
- * {
518
- animation-duration: 0.01ms !important;
519
- animation-iteration-count: 1 !important;
520
- transition-duration: 0.01ms !important;
521
- }
522
- }
523
- ```
524
-
525
- ---
526
-
527
- ## Dark Mode
528
-
529
- [If supporting dark mode]
530
-
531
- ### Dark Mode Strategy
532
- - **Implementation:** [e.g., CSS custom properties with data-theme attribute]
533
- - **Default:** [Light, dark, or system preference]
534
- - **Toggle:** [Location of theme toggle]
535
-
536
- ### Dark Mode Colors
537
- ```css
538
- [data-theme="dark"] {
539
- --color-background: #0a0a0a;
540
- --color-foreground: #fafafa;
541
- --color-muted: #1a1a1a;
542
- /* ... other color overrides */
543
- }
544
- ```
545
-
546
- ### Dark Mode Considerations
547
- - Adjust shadows (lighter in dark mode)
548
- - Reduce contrast slightly
549
- - Test readability
550
- - Adjust image brightness if needed
551
-
552
- ---
34
+ [TODO: animation rules; respect prefers-reduced-motion; no meaningless hover effects.]
553
35
 
554
36
  ## Accessibility
555
37
 
556
- ### Keyboard Navigation
557
- - All interactive elements are keyboard accessible
558
- - Logical tab order
559
- - Visible focus indicators (2px outline, primary color)
560
- - Skip to main content link
561
-
562
- ### Screen Reader Support
563
- - Semantic HTML
564
- - ARIA labels where needed
565
- - Alt text for images
566
- - Form labels properly associated
567
- - Error messages announced
568
-
569
- ### Color & Contrast
570
- - Text meets WCAG AA (4.5:1)
571
- - Large text meets WCAG AA (3:1)
572
- - Interactive elements meet WCAG AA
573
- - Color never the only indicator
574
-
575
- ---
576
-
577
- ## Responsive Design
578
-
579
- ### Mobile Considerations
580
- - Touch targets: Minimum 44x44px
581
- - Font size: Minimum 16px (prevents zoom on iOS)
582
- - Spacing: Adequate spacing for touch
583
- - Navigation: Mobile-friendly menu (hamburger if needed)
584
-
585
- ### Tablet Considerations
586
- - Hybrid touch/mouse design
587
- - Optimize for portrait and landscape
588
- - Adjust grid for medium screens
589
-
590
- ### Desktop Considerations
591
- - Hover states
592
- - Keyboard shortcuts
593
- - Larger content width
594
- - Multi-column layouts
595
-
596
- ---
38
+ - Semantic HTML first; ARIA only when needed.
39
+ - Full keyboard operability and visible focus.
40
+ - Labels on every input; alt text on meaningful images.
597
41
 
598
42
  ## Things to Avoid
599
43
 
600
- [Project-specific anti-patterns or banned patterns]
601
-
602
- ### Visual Anti-Patterns
603
- - ❌ Harsh gradients without purpose
604
- - ❌ Excessive shadows (depth overkill)
605
- - ❌ Inconsistent border radius
606
- - ❌ Too many font sizes
607
- - ❌ Rainbow color schemes without brand justification
608
- - ❌ Generic AI aesthetics (unless brand-appropriate)
609
- - ❌ Decorative animations that slow interaction
610
-
611
- ### UX Anti-Patterns
612
- - ❌ Disabled buttons without explanation
613
- - ❌ Fake form fields (visual only)
614
- - ❌ Hidden required fields
615
- - ❌ Unclear error messages
616
- - ❌ Slow animations blocking interaction
617
- - ❌ Modals within modals
618
-
619
- ---
620
-
621
- ## Design Tokens (Optional)
622
-
623
- [If using a design token system like Style Dictionary]
624
-
625
- **Location:** [e.g., `/tokens/`]
626
- **Format:** [e.g., JSON, YAML]
627
- **Build command:** [e.g., `npm run tokens:build`]
628
-
629
- ---
630
-
631
- ## Figma / Design Files
632
-
633
- [If using Figma or other design tools]
634
-
635
- **Figma file:** [Link]
636
- **Component library:** [Link]
637
- **Access:** [Who has access, how to request]
638
-
639
- ---
640
-
641
- ## Future Design Considerations
642
-
643
- [Planned improvements or explorations]
644
-
645
- - [ ] [Consideration 1: e.g., "Explore more playful micro-interactions"]
646
- - [ ] [Consideration 2: e.g., "Refine illustration style"]
647
-
648
- ---
649
-
650
- ## Document History
651
-
652
- | Date | Author | Changes |
653
- |------|--------|---------|
654
- | [Date] | [Name] | Initial version |
44
+ - Generic AI aesthetics (purple/black gradients, glassmorphism everywhere, decorative emoji,
45
+ purposeless 3-card grids, fake stats/testimonials) unless justified above.