@kood/claude-code 0.3.12 → 0.3.15

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 (104) hide show
  1. package/dist/index.js +30 -8
  2. package/package.json +4 -4
  3. package/templates/.claude/skills/korea-uiux-design/SKILL.md +444 -0
  4. package/templates/.claude/skills/korea-uiux-design/references/accessibility.md +298 -0
  5. package/templates/.claude/skills/korea-uiux-design/references/checklist.md +107 -0
  6. package/templates/.claude/skills/korea-uiux-design/references/color-system.md +156 -0
  7. package/templates/.claude/skills/korea-uiux-design/references/design-philosophy.md +25 -0
  8. package/templates/.claude/skills/korea-uiux-design/references/icon-guide.md +180 -0
  9. package/templates/.claude/skills/korea-uiux-design/references/micro-interactions.md +259 -0
  10. package/templates/.claude/skills/korea-uiux-design/references/responsive-patterns.md +115 -0
  11. package/templates/.claude/skills/korea-uiux-design/references/service-patterns.md +206 -0
  12. package/templates/.claude/skills/korea-uiux-design/references/state-patterns.md +320 -0
  13. package/templates/.claude/skills/korea-uiux-design/references/typography.md +70 -0
  14. package/templates/.claude/skills/nextjs-react-best-practices/AGENTS.md +663 -0
  15. package/templates/.claude/skills/nextjs-react-best-practices/SKILL.md +269 -0
  16. package/templates/.claude/skills/tanstack-start-react-best-practices/AGENTS.md +751 -0
  17. package/templates/.claude/skills/tanstack-start-react-best-practices/SKILL.md +431 -0
  18. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/async-defer-await.md +80 -0
  19. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/async-dependencies.md +36 -0
  20. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/async-loader.md +44 -0
  21. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/async-parallel.md +28 -0
  22. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/bundle-barrel-imports.md +59 -0
  23. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/bundle-conditional.md +31 -0
  24. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/bundle-defer-third-party.md +49 -0
  25. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/bundle-lazy-routes.md +67 -0
  26. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/bundle-preload.md +50 -0
  27. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/client-event-listeners.md +74 -0
  28. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/client-tanstack-query.md +77 -0
  29. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-batch-dom-css.md +82 -0
  30. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-cache-function-results.md +80 -0
  31. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-cache-property-access.md +28 -0
  32. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-cache-storage.md +70 -0
  33. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-combine-iterations.md +32 -0
  34. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-early-exit.md +50 -0
  35. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-hoist-regexp.md +45 -0
  36. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-index-maps.md +37 -0
  37. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-length-check-first.md +49 -0
  38. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-min-max-loop.md +82 -0
  39. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-set-map-lookups.md +24 -0
  40. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-tosorted-immutable.md +57 -0
  41. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  42. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rendering-conditional-render.md +40 -0
  43. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rendering-content-visibility.md +38 -0
  44. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  45. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rendering-svg-precision.md +28 -0
  46. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-defer-reads.md +39 -0
  47. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-dependencies.md +45 -0
  48. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-derived-state.md +29 -0
  49. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-functional-setstate.md +74 -0
  50. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  51. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-memo.md +44 -0
  52. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-transitions.md +40 -0
  53. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/server-cache-lru.md +41 -0
  54. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/server-deferred-data.md +67 -0
  55. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/server-parallel-fetching.md +60 -0
  56. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/server-serialization.md +38 -0
  57. package/templates/.claude/skills/vercel-react-best-practices/AGENTS.md +0 -2249
  58. package/templates/.claude/skills/vercel-react-best-practices/SKILL.md +0 -125
  59. package/templates/.claude/skills/vs-design-diverge/SKILL.md +0 -307
  60. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/advanced-event-handler-refs.md +0 -0
  61. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/advanced-use-latest.md +0 -0
  62. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/async-api-routes.md +0 -0
  63. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/async-defer-await.md +0 -0
  64. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/async-dependencies.md +0 -0
  65. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/async-parallel.md +0 -0
  66. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/async-suspense-boundaries.md +0 -0
  67. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/bundle-barrel-imports.md +0 -0
  68. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/bundle-conditional.md +0 -0
  69. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/bundle-defer-third-party.md +0 -0
  70. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/bundle-dynamic-imports.md +0 -0
  71. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/bundle-preload.md +0 -0
  72. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/client-event-listeners.md +0 -0
  73. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/client-swr-dedup.md +0 -0
  74. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/js-batch-dom-css.md +0 -0
  75. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/js-cache-function-results.md +0 -0
  76. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/js-cache-property-access.md +0 -0
  77. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/js-cache-storage.md +0 -0
  78. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/js-combine-iterations.md +0 -0
  79. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/js-early-exit.md +0 -0
  80. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/js-hoist-regexp.md +0 -0
  81. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/js-index-maps.md +0 -0
  82. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/js-length-check-first.md +0 -0
  83. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/js-min-max-loop.md +0 -0
  84. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/js-set-map-lookups.md +0 -0
  85. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/js-tosorted-immutable.md +0 -0
  86. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/rendering-activity.md +0 -0
  87. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/rendering-animate-svg-wrapper.md +0 -0
  88. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/rendering-conditional-render.md +0 -0
  89. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/rendering-content-visibility.md +0 -0
  90. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/rendering-hoist-jsx.md +0 -0
  91. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/rendering-hydration-no-flicker.md +0 -0
  92. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/rendering-svg-precision.md +0 -0
  93. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/rerender-defer-reads.md +0 -0
  94. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/rerender-dependencies.md +0 -0
  95. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/rerender-derived-state.md +0 -0
  96. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/rerender-functional-setstate.md +0 -0
  97. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/rerender-lazy-state-init.md +0 -0
  98. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/rerender-memo.md +0 -0
  99. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/rerender-transitions.md +0 -0
  100. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/server-after-nonblocking.md +0 -0
  101. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/server-cache-lru.md +0 -0
  102. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/server-cache-react.md +0 -0
  103. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/server-parallel-fetching.md +0 -0
  104. /package/templates/.claude/skills/{vercel-react-best-practices → nextjs-react-best-practices}/rules/server-serialization.md +0 -0
@@ -1,125 +0,0 @@
1
- ---
2
- name: vercel-react-best-practices
3
- description: React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.
4
- license: MIT
5
- metadata:
6
- author: vercel
7
- version: "1.0.0"
8
- ---
9
-
10
- # Vercel React Best Practices
11
-
12
- Comprehensive performance optimization guide for React and Next.js applications, maintained by Vercel. Contains 45 rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.
13
-
14
- ## When to Apply
15
-
16
- Reference these guidelines when:
17
- - Writing new React components or Next.js pages
18
- - Implementing data fetching (client or server-side)
19
- - Reviewing code for performance issues
20
- - Refactoring existing React/Next.js code
21
- - Optimizing bundle size or load times
22
-
23
- ## Rule Categories by Priority
24
-
25
- | Priority | Category | Impact | Prefix |
26
- |----------|----------|--------|--------|
27
- | 1 | Eliminating Waterfalls | CRITICAL | `async-` |
28
- | 2 | Bundle Size Optimization | CRITICAL | `bundle-` |
29
- | 3 | Server-Side Performance | HIGH | `server-` |
30
- | 4 | Client-Side Data Fetching | MEDIUM-HIGH | `client-` |
31
- | 5 | Re-render Optimization | MEDIUM | `rerender-` |
32
- | 6 | Rendering Performance | MEDIUM | `rendering-` |
33
- | 7 | JavaScript Performance | LOW-MEDIUM | `js-` |
34
- | 8 | Advanced Patterns | LOW | `advanced-` |
35
-
36
- ## Quick Reference
37
-
38
- ### 1. Eliminating Waterfalls (CRITICAL)
39
-
40
- - `async-defer-await` - Move await into branches where actually used
41
- - `async-parallel` - Use Promise.all() for independent operations
42
- - `async-dependencies` - Use better-all for partial dependencies
43
- - `async-api-routes` - Start promises early, await late in API routes
44
- - `async-suspense-boundaries` - Use Suspense to stream content
45
-
46
- ### 2. Bundle Size Optimization (CRITICAL)
47
-
48
- - `bundle-barrel-imports` - Import directly, avoid barrel files
49
- - `bundle-dynamic-imports` - Use next/dynamic for heavy components
50
- - `bundle-defer-third-party` - Load analytics/logging after hydration
51
- - `bundle-conditional` - Load modules only when feature is activated
52
- - `bundle-preload` - Preload on hover/focus for perceived speed
53
-
54
- ### 3. Server-Side Performance (HIGH)
55
-
56
- - `server-cache-react` - Use React.cache() for per-request deduplication
57
- - `server-cache-lru` - Use LRU cache for cross-request caching
58
- - `server-serialization` - Minimize data passed to client components
59
- - `server-parallel-fetching` - Restructure components to parallelize fetches
60
- - `server-after-nonblocking` - Use after() for non-blocking operations
61
-
62
- ### 4. Client-Side Data Fetching (MEDIUM-HIGH)
63
-
64
- - `client-swr-dedup` - Use SWR for automatic request deduplication
65
- - `client-event-listeners` - Deduplicate global event listeners
66
-
67
- ### 5. Re-render Optimization (MEDIUM)
68
-
69
- - `rerender-defer-reads` - Don't subscribe to state only used in callbacks
70
- - `rerender-memo` - Extract expensive work into memoized components
71
- - `rerender-dependencies` - Use primitive dependencies in effects
72
- - `rerender-derived-state` - Subscribe to derived booleans, not raw values
73
- - `rerender-functional-setstate` - Use functional setState for stable callbacks
74
- - `rerender-lazy-state-init` - Pass function to useState for expensive values
75
- - `rerender-transitions` - Use startTransition for non-urgent updates
76
-
77
- ### 6. Rendering Performance (MEDIUM)
78
-
79
- - `rendering-animate-svg-wrapper` - Animate div wrapper, not SVG element
80
- - `rendering-content-visibility` - Use content-visibility for long lists
81
- - `rendering-hoist-jsx` - Extract static JSX outside components
82
- - `rendering-svg-precision` - Reduce SVG coordinate precision
83
- - `rendering-hydration-no-flicker` - Use inline script for client-only data
84
- - `rendering-activity` - Use Activity component for show/hide
85
- - `rendering-conditional-render` - Use ternary, not && for conditionals
86
-
87
- ### 7. JavaScript Performance (LOW-MEDIUM)
88
-
89
- - `js-batch-dom-css` - Group CSS changes via classes or cssText
90
- - `js-index-maps` - Build Map for repeated lookups
91
- - `js-cache-property-access` - Cache object properties in loops
92
- - `js-cache-function-results` - Cache function results in module-level Map
93
- - `js-cache-storage` - Cache localStorage/sessionStorage reads
94
- - `js-combine-iterations` - Combine multiple filter/map into one loop
95
- - `js-length-check-first` - Check array length before expensive comparison
96
- - `js-early-exit` - Return early from functions
97
- - `js-hoist-regexp` - Hoist RegExp creation outside loops
98
- - `js-min-max-loop` - Use loop for min/max instead of sort
99
- - `js-set-map-lookups` - Use Set/Map for O(1) lookups
100
- - `js-tosorted-immutable` - Use toSorted() for immutability
101
-
102
- ### 8. Advanced Patterns (LOW)
103
-
104
- - `advanced-event-handler-refs` - Store event handlers in refs
105
- - `advanced-use-latest` - useLatest for stable callback refs
106
-
107
- ## How to Use
108
-
109
- Read individual rule files for detailed explanations and code examples:
110
-
111
- ```
112
- rules/async-parallel.md
113
- rules/bundle-barrel-imports.md
114
- rules/_sections.md
115
- ```
116
-
117
- Each rule file contains:
118
- - Brief explanation of why it matters
119
- - Incorrect code example with explanation
120
- - Correct code example with explanation
121
- - Additional context and references
122
-
123
- ## Full Compiled Document
124
-
125
- For the complete guide with all rules expanded: `AGENTS.md`
@@ -1,307 +0,0 @@
1
- ---
2
- name: vs-design-diverge
3
- description: Create high-entropy frontend interfaces using Verbalized Sampling (VS). Break mode collapse, avoid AI-slop aesthetics. Use for distinctive design work.
4
- ---
5
-
6
- <context>
7
-
8
- **Purpose:** Mitigate Mode Collapse (tendency to produce generic AI output) and create production-grade frontend interfaces
9
-
10
- **Principle:** Verbalized Sampling (VS) - Verbalize typical design (P ≈ 0.95), then deliberately select Low-T (low typicality) alternatives
11
-
12
- </context>
13
-
14
- ---
15
-
16
- <workflow>
17
-
18
- ## Execution Flow
19
-
20
- ```
21
- Phase 0: Context Discovery
22
- ↓ (AskUserQuestion - probe 4 dimensions)
23
- Phase 1: Identify the Mode
24
- ↓ (verbalize P ≈ 0.95 baseline, avoid it)
25
- Phase 2: Sample the Long-Tail
26
- ↓ (3 directions + T-Score justification)
27
- Phase 3: Commit to Low-Typicality
28
- ↓ (lowest T-Score + pass Guardrails)
29
- Phase 4: Implementation
30
- ↓ (production-grade code)
31
- Phase 5: Surprise Validation
32
- ↓ (AI-typical? → refactor)
33
- ```
34
-
35
- ### Phase 0: Context Discovery
36
-
37
- **Probe these dimensions using AskUserQuestion tool:**
38
-
39
- | Dimension | Question Examples |
40
- |-----------|-------------------|
41
- | **Emotional Tone** | "Trustworthy", "edgy", "playful", "luxurious" - which atmosphere? |
42
- | **Target Audience** | Who will see this? Technical sophistication? Expectations? |
43
- | **Reference Points / Anti-References** | Benchmark examples? Styles to explicitly avoid? |
44
- | **Business Context** | Problem this UI solves? Usage scenario? |
45
-
46
- **Additional signals:**
47
- - Existing code: Extract style patterns, color schemes, component conventions
48
- - User prompt: Parse keywords (landing page, dashboard, portfolio, SaaS, etc.)
49
- - Follow-up questions: Surface full vision even for simple prompts
50
-
51
- Gather sufficient context before proceeding to Phase 1.
52
-
53
- ### Phase 1: Identify the Mode
54
-
55
- **Verbalize the highest-probability (P ≈ 0.95) design:**
56
-
57
- AI-slop markers:
58
- - Inter/Roboto/System fonts
59
- - Rounded blue/purple buttons
60
- - Standard F-pattern layouts
61
- - White backgrounds with gradient accents
62
- - Generic hero sections with stock imagery
63
-
64
- **Avoid this baseline.**
65
-
66
- ### Phase 2: Sample the Long-Tail
67
-
68
- **Generate 3 directions with T-Score (Typicality Score, 0~1.0):**
69
-
70
- | Direction | T-Score | Characteristics |
71
- |-----------|---------|-----------------|
72
- | **A** | ≈ 0.7 | Modern/Clean, safe |
73
- | **B** | ≈ 0.4 | Distinctive/Characterful (specific niche style) |
74
- | **C** | < 0.2 | Experimental/Bold (high-entropy, unexpected) |
75
-
76
- **T-Score justification required:** Explain WHY each direction has that score. Reference specific design choices.
77
-
78
- ### Phase 3: Commit to Low-Typicality
79
-
80
- **Select lowest T-Score that meets:**
81
- 1. Functional requirements from Phase 0
82
- 2. All Quality Guardrails
83
-
84
- Deliberate and intentional choice, not accidental.
85
-
86
- </workflow>
87
-
88
- ---
89
-
90
- <guardrails>
91
-
92
- ## Quality Principles
93
-
94
- Experimental designs must satisfy these principles. If violated, increase T-Score until compliance.
95
-
96
- | Principle | Description |
97
- |-----------|-------------|
98
- | **Visual Hierarchy** | Clear priority ordering (1st → 2nd → 3rd) |
99
- | **Contrast & Legibility** | Text readable against background (WCAG AA minimum) |
100
- | **Internal Consistency** | Design follows its own logic (not random) |
101
- | **Functional Clarity** | Interactive elements recognizable, affordances clear |
102
-
103
- </guardrails>
104
-
105
- ---
106
-
107
- <anti_patterns>
108
-
109
- ## Failure Patterns
110
-
111
- | Pattern | Symptoms | Validation |
112
- |---------|----------|------------|
113
- | **Accidental Design** | Differentiation without intent, randomness | "Why this color/font/layout?" → must have coherent answer |
114
- | **Frankenstein Style** | Incompatible aesthetics mixed, no unity | "Describe this design's personality in one sentence?" → must be possible |
115
-
116
- </anti_patterns>
117
-
118
- ---
119
-
120
- <aesthetics>
121
-
122
- ## Frontend Aesthetics Guidelines (VS-Enhanced)
123
-
124
- **Inversion Principle:** If a choice feels "obvious," it has too much probability mass → consider lower-probability, higher-impact alternatives (when context-appropriate).
125
-
126
- ### Typography
127
-
128
- | Category | Content |
129
- |----------|---------|
130
- | ❌ **AI-slop** | Inter, Roboto, Arial, System fonts, Space Grotesk (default usage) |
131
- | ✅ **Low-T** | High-character display faces + refined, unexpected body typefaces. Variable fonts, unusual weights. |
132
- | **Context-dependent** | Brutalist portfolio → industrial sans-serifs / Luxury brand → refined serifs |
133
-
134
- ### Color & Theme
135
-
136
- | Principle | Description |
137
- |-----------|-------------|
138
- | ✅ **Uneven distribution** | Cohesive but "dissonant-yet-beautiful" palette |
139
- | ✅ **CSS Variables** | Systematic theming |
140
- | ✅ **Texture-first** | Sophisticated noise/lighting over flat fills (when context-appropriate) |
141
-
142
- ### Spatial Composition
143
-
144
- | Condition | Approach |
145
- |-----------|----------|
146
- | **Standard grid (P=0.9)** | Consider asymmetry, overlapping elements, diagonal flows, editorial whitespace (P=0.1) |
147
- | **Data-heavy UIs** | Dashboards, tables → conventional grids may be needed (usability priority) |
148
-
149
- ### Motion
150
-
151
- | Principle | Description |
152
- |-----------|-------------|
153
- | ✅ **Micro-delights** | Staggered reveals, scroll-bound transformations, custom easing |
154
- | ❌ **Purposeless motion** | Every animation must have purpose |
155
-
156
- </aesthetics>
157
-
158
- ---
159
-
160
- <frameworks>
161
-
162
- ## AIDA Framework (Conditional)
163
-
164
- **Apply only for persuasion/conversion goals (landing pages, marketing sites, product showcases):**
165
-
166
- | Stage | Goal | Design Application |
167
- |-------|------|-------------------|
168
- | **A**ttention | Stop scroll, create immediate visual impact | Bold typography, unexpected imagery, striking color contrast |
169
- | **I**nterest | Build curiosity, encourage exploration | Progressive information reveal, visual storytelling, highlight unique value |
170
- | **D**esire | Create emotional connection, make them want it | Social proof, benefits visualization, aspirational imagery, micro-interactions |
171
- | **A**ction | Drive conversion with clear next steps | High-contrast CTAs, reduced friction, urgency cues (when appropriate) |
172
-
173
- ### Application Conditions
174
-
175
- | Apply ✅ | Don't Apply ❌ |
176
- |---------|----------------|
177
- | Landing/marketing pages | Dashboards, data-heavy UIs (usability priority) |
178
- | Product launch pages | Documentation/content-focused sites (readability priority) |
179
- | Client-attracting portfolios | Internal tools (efficiency priority) |
180
-
181
- **VS + AIDA Integration:** Apply Low-T aesthetics to EACH AIDA stage. Generic hero → Attention failure / Predictable CTA → Action failure. AIDA = "what", VS = "how".
182
-
183
- </frameworks>
184
-
185
- ---
186
-
187
- <implementation>
188
-
189
- ## Implementation Standards
190
-
191
- | Standard | Description |
192
- |----------|-------------|
193
- | **Production-Grade** | Functional, accessible (A11y), performant |
194
- | **Complexity-Typicality Balance** | Low-T design → implementation complexity increases proportionally (maintain quality) |
195
- | **No Complexity Refusal** | Pursue extraordinary work, don't simplify vision |
196
-
197
- </implementation>
198
-
199
- ---
200
-
201
- <validation>
202
-
203
- ## Final Validation
204
-
205
- Pre-delivery checklist:
206
-
207
- 1. **Intentionality**: Can you justify every major design decision?
208
- 2. **Consistency**: Does the design follow its own internal logic?
209
- 3. **Guardrails**: Are hierarchy, legibility, consistency, and clarity preserved?
210
- 4. **Surprise**: Would this stand out in a lineup of AI-generated designs?
211
-
212
- **Goal:** Maximize "Surprise Score" while maintaining "Production Quality." Deliberate disruption.
213
-
214
- </validation>
215
-
216
- ---
217
-
218
- <examples>
219
-
220
- ## Practical Examples
221
-
222
- ### Phase 2: T-Score Justification
223
-
224
- ```markdown
225
- **Direction A (T ≈ 0.7): Modern Minimal**
226
- - Inter font, white background, blue buttons
227
- - High typicality: 2020s SaaS standard pattern
228
-
229
- **Direction B (T ≈ 0.4): Brutalist Style**
230
- - Space Mono font, grid background, angular black buttons
231
- - Lower typicality: Specific niche, non-mainstream choice
232
-
233
- **Direction C (T < 0.2): Neo-Baroque**
234
- - Fraunces Display font, irregular layout, animated gradients
235
- - Very low probability: Rarely seen on web
236
- ```
237
-
238
- ### Typography Code
239
-
240
- ```css
241
- /* ❌ AI-slop */
242
- font-family: 'Inter', system-ui, sans-serif;
243
-
244
- /* ✅ Low-T (Brutalist portfolio) */
245
- @import url('https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&display=swap');
246
- font-family: 'Space Mono', monospace;
247
- font-variation-settings: 'wght' 650;
248
-
249
- /* ✅ Low-T (Luxury brand) */
250
- @import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;500&display=swap');
251
- font-family: 'Cormorant Garamond', serif;
252
- letter-spacing: 0.05em;
253
- ```
254
-
255
- ### Color System
256
-
257
- ```css
258
- /* ❌ AI-slop (even distribution) */
259
- :root {
260
- --primary: #3b82f6; /* blue */
261
- --secondary: #a855f7; /* purple */
262
- --accent: #10b981; /* green */
263
- }
264
-
265
- /* ✅ Low-T (uneven, cohesive) */
266
- :root {
267
- --dominant: #0a0908; /* near-black (60%) */
268
- --support: #8d99ae; /* neutral blue (30%) */
269
- --punch: #ef233c; /* intense red (10%) */
270
- --texture: url('data:image/svg+xml,...'); /* noise overlay */
271
- }
272
- ```
273
-
274
- ### AIDA + Low-T Integration
275
-
276
- ```tsx
277
- // Hero Section (Attention stage + Low-T)
278
- <section className="hero">
279
- <h1 style={{
280
- fontFamily: 'Fraunces',
281
- fontSize: 'clamp(3rem, 10vw, 8rem)',
282
- fontVariationSettings: '"SOFT" 100, "WONK" 1',
283
- background: 'linear-gradient(135deg, #0a0908, #ef233c)',
284
- backgroundClip: 'text',
285
- WebkitTextFillColor: 'transparent',
286
- }}>
287
- Disruptive Product Name
288
- </h1>
289
- {/* Unexpected imagery treatment */}
290
- </section>
291
-
292
- // CTA (Action stage + Low-T)
293
- <button style={{
294
- background: '#ef233c',
295
- color: '#0a0908',
296
- border: '2px solid #0a0908',
297
- padding: '1.5rem 3rem',
298
- fontSize: '1.25rem',
299
- fontWeight: 700,
300
- clipPath: 'polygon(5% 0, 100% 0, 95% 100%, 0 100%)', // asymmetric
301
- transition: 'clip-path 0.3s cubic-bezier(0.4, 0, 0.2, 1)',
302
- }}>
303
- Get Started →
304
- </button>
305
- ```
306
-
307
- </examples>