@jaimevalasek/aioson 1.30.0 → 1.30.2
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.
- package/CHANGELOG.md +18 -0
- package/docs/design-previews/cognitive-core-ui-auth.html +95 -0
- package/docs/design-previews/cognitive-core-ui-kanban.html +231 -0
- package/docs/design-previews/cognitive-core-ui-list-detail.html +174 -0
- package/docs/design-previews/cognitive-core-ui-preview.css +1315 -0
- package/docs/design-previews/cognitive-core-ui-settings.html +142 -0
- package/docs/design-previews/cognitive-core-ui-website.html +190 -1009
- package/docs/design-previews/cognitive-core-ui.html +281 -463
- package/docs/design-previews/index.html +83 -31
- package/package.json +1 -1
- package/src/constants.js +578 -514
- package/template/.aioson/docs/integrations/dashboard-app-form-publish-mapping.md +183 -0
- package/template/.aioson/docs/play/README.md +74 -0
- package/template/.aioson/docs/play/agent-usage-guide.md +112 -0
- package/template/.aioson/docs/play/app-compatibility-guide.md +117 -0
- package/template/.aioson/docs/play/auth-services-and-testing.md +235 -0
- package/template/.aioson/docs/play/llm-data-and-bindings.md +238 -0
- package/template/.aioson/docs/play/manifest-and-runtime.md +267 -0
- package/template/.aioson/docs/play/source-map.md +104 -0
- package/template/.aioson/skills/design/aurora-command-ui/SKILL.md +266 -243
- package/template/.aioson/skills/design/aurora-command-ui/references/art-direction.md +293 -293
- package/template/.aioson/skills/design/aurora-command-ui/references/components.md +827 -827
- package/template/.aioson/skills/design/aurora-command-ui/references/dashboards.md +250 -250
- package/template/.aioson/skills/design/aurora-command-ui/references/design-tokens.md +585 -585
- package/template/.aioson/skills/design/aurora-command-ui/references/motion.md +365 -365
- package/template/.aioson/skills/design/aurora-command-ui/references/patterns.md +485 -482
- package/template/.aioson/skills/design/aurora-command-ui/references/websites.md +386 -387
- package/template/.aioson/skills/design/bold-editorial-ui/SKILL.md +228 -205
- package/template/.aioson/skills/design/bold-editorial-ui/references/art-direction.md +338 -338
- package/template/.aioson/skills/design/bold-editorial-ui/references/components.md +977 -977
- package/template/.aioson/skills/design/bold-editorial-ui/references/dashboards.md +218 -218
- package/template/.aioson/skills/design/bold-editorial-ui/references/design-tokens.md +326 -326
- package/template/.aioson/skills/design/bold-editorial-ui/references/motion.md +461 -461
- package/template/.aioson/skills/design/bold-editorial-ui/references/patterns.md +293 -293
- package/template/.aioson/skills/design/bold-editorial-ui/references/websites.md +352 -352
- package/template/.aioson/skills/design/clean-saas-ui/SKILL.md +233 -210
- package/template/.aioson/skills/design/clean-saas-ui/references/art-direction.md +319 -319
- package/template/.aioson/skills/design/clean-saas-ui/references/components.md +365 -365
- package/template/.aioson/skills/design/clean-saas-ui/references/dashboards.md +196 -196
- package/template/.aioson/skills/design/clean-saas-ui/references/design-tokens.md +244 -244
- package/template/.aioson/skills/design/clean-saas-ui/references/motion.md +235 -235
- package/template/.aioson/skills/design/clean-saas-ui/references/patterns.md +215 -215
- package/template/.aioson/skills/design/clean-saas-ui/references/websites.md +295 -295
- package/template/.aioson/skills/design/cognitive-core-ui/SKILL.md +239 -203
- package/template/.aioson/skills/design/cognitive-core-ui/references/art-direction.md +339 -339
- package/template/.aioson/skills/design/cognitive-core-ui/references/components.md +417 -407
- package/template/.aioson/skills/design/cognitive-core-ui/references/dashboards.md +289 -272
- package/template/.aioson/skills/design/cognitive-core-ui/references/design-tokens.md +525 -524
- package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +279 -279
- package/template/.aioson/skills/design/cognitive-core-ui/references/patterns.md +355 -289
- package/template/.aioson/skills/design/cognitive-core-ui/references/websites.md +443 -437
- package/template/.aioson/skills/design/glassmorphism-ui/SKILL.md +245 -222
- package/template/.aioson/skills/design/glassmorphism-ui/references/art-direction.md +159 -159
- package/template/.aioson/skills/design/glassmorphism-ui/references/components.md +498 -498
- package/template/.aioson/skills/design/glassmorphism-ui/references/dashboards.md +236 -236
- package/template/.aioson/skills/design/glassmorphism-ui/references/design-tokens.md +274 -274
- package/template/.aioson/skills/design/glassmorphism-ui/references/motion.md +355 -355
- package/template/.aioson/skills/design/glassmorphism-ui/references/patterns.md +198 -198
- package/template/.aioson/skills/design/glassmorphism-ui/references/websites.md +307 -307
- package/template/.aioson/skills/design/interface-design/SKILL.md +68 -47
- package/template/.aioson/skills/design/interface-design/references/components-and-states.md +105 -105
- package/template/.aioson/skills/design/interface-design/references/design-directions.md +101 -101
- package/template/.aioson/skills/design/interface-design/references/handoff-and-quality.md +92 -71
- package/template/.aioson/skills/design/interface-design/references/intent-and-domain.md +74 -74
- package/template/.aioson/skills/design/interface-design/references/tokens-and-depth.md +173 -173
- package/template/.aioson/skills/design/neo-brutalist-ui/SKILL.md +236 -213
- package/template/.aioson/skills/design/neo-brutalist-ui/references/art-direction.md +228 -228
- package/template/.aioson/skills/design/neo-brutalist-ui/references/components.md +855 -855
- package/template/.aioson/skills/design/neo-brutalist-ui/references/dashboards.md +334 -334
- package/template/.aioson/skills/design/neo-brutalist-ui/references/design-tokens.md +342 -342
- package/template/.aioson/skills/design/neo-brutalist-ui/references/motion.md +286 -286
- package/template/.aioson/skills/design/neo-brutalist-ui/references/patterns.md +458 -458
- package/template/.aioson/skills/design/neo-brutalist-ui/references/websites.md +723 -723
- package/template/.aioson/skills/design/premium-command-center-ui/SKILL.md +83 -62
- package/template/.aioson/skills/design/premium-command-center-ui/references/operations.md +74 -74
- package/template/.aioson/skills/design/premium-command-center-ui/references/patterns.md +116 -116
- package/template/.aioson/skills/design/premium-command-center-ui/references/validation.md +47 -47
- package/template/.aioson/skills/design/premium-command-center-ui/references/visual-system.md +215 -215
- package/template/.aioson/skills/design/pt.squarespace.com/.skill-meta.json +31 -31
- package/template/.aioson/skills/design/pt.squarespace.com/SKILL.md +94 -66
- package/template/.aioson/skills/design/pt.squarespace.com/references/components.md +366 -366
- package/template/.aioson/skills/design/pt.squarespace.com/references/design-tokens.md +150 -150
- package/template/.aioson/skills/design/pt.squarespace.com/references/motion.md +270 -270
- package/template/.aioson/skills/design/pt.squarespace.com/references/patterns.md +189 -189
- package/template/.aioson/skills/design/pt.squarespace.com/references/websites.md +161 -161
- package/template/.aioson/skills/design/warm-craft-ui/SKILL.md +232 -209
- package/template/.aioson/skills/design/warm-craft-ui/references/art-direction.md +324 -324
- package/template/.aioson/skills/design/warm-craft-ui/references/components.md +508 -508
- package/template/.aioson/skills/design/warm-craft-ui/references/dashboards.md +223 -223
- package/template/.aioson/skills/design/warm-craft-ui/references/design-tokens.md +374 -374
- package/template/.aioson/skills/design/warm-craft-ui/references/motion.md +356 -356
- package/template/.aioson/skills/design/warm-craft-ui/references/patterns.md +288 -288
- package/template/.aioson/skills/design/warm-craft-ui/references/websites.md +289 -289
|
@@ -1,210 +1,233 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: clean-saas-ui
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
-
|
|
33
|
-
-
|
|
34
|
-
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
43
|
-
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
-
|
|
48
|
-
-
|
|
49
|
-
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
|
59
|
-
|
|
|
60
|
-
|
|
|
61
|
-
|
|
|
62
|
-
|
|
|
63
|
-
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
- **
|
|
79
|
-
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
- Background
|
|
88
|
-
-
|
|
89
|
-
-
|
|
90
|
-
-
|
|
91
|
-
-
|
|
92
|
-
- Text
|
|
93
|
-
- Text
|
|
94
|
-
- Text
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
- Background
|
|
99
|
-
-
|
|
100
|
-
-
|
|
101
|
-
-
|
|
102
|
-
-
|
|
103
|
-
- Text
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
- Headings:
|
|
108
|
-
-
|
|
109
|
-
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
│
|
|
116
|
-
│
|
|
117
|
-
│
|
|
118
|
-
│
|
|
119
|
-
│
|
|
120
|
-
│
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
- Active
|
|
127
|
-
-
|
|
128
|
-
-
|
|
129
|
-
-
|
|
130
|
-
-
|
|
131
|
-
-
|
|
132
|
-
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
- Treat `references/
|
|
138
|
-
-
|
|
139
|
-
-
|
|
140
|
-
-
|
|
141
|
-
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
-
|
|
153
|
-
-
|
|
154
|
-
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
-
|
|
158
|
-
-
|
|
159
|
-
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
-
|
|
176
|
-
-
|
|
177
|
-
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
-
|
|
181
|
-
-
|
|
182
|
-
-
|
|
183
|
-
|
|
184
|
-
##
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
1
|
+
---
|
|
2
|
+
name: clean-saas-ui
|
|
3
|
+
description: >-
|
|
4
|
+
Clean SaaS UI is a design system for professional, neutral B2B interfaces that prioritize clarity, consistency, and efficiency. Use it when `design_skill: clean-saas-ui` is set in project.context.md OR when the user explicitly asks for "clean SaaS", "professional dashboard", "business app", "admin panel", "neutral UI", "no-frills", "enterprise", "CRM", "ERP", "internal tool", or similar. Ideal for B2B SaaS products, admin panels, CRM systems, project management tools, internal enterprise apps, and any product where reliability and efficiency matter more than visual flair. Supports apps, dashboards, and marketing sites — light by default with a polished dark variant. Do NOT use this skill unless explicitly selected.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Clean SaaS UI
|
|
8
|
+
|
|
9
|
+
Clean SaaS UI sits at the intersection of **professional neutrality** and **systematic precision** — a design system optimized for the humans who live inside B2B software for 8 hours a day. No personality for personality's sake. No decoration that costs attention. Just excellent, reliable, efficient UI.
|
|
10
|
+
|
|
11
|
+
Inspiration: Stripe Dashboard, Linear app, GitHub, Notion (app), Figma (panels).
|
|
12
|
+
|
|
13
|
+
**This is one visual system.** Never combine it with another design skill.
|
|
14
|
+
|
|
15
|
+
## Package structure
|
|
16
|
+
|
|
17
|
+
```text
|
|
18
|
+
.aioson/skills/design/clean-saas-ui/
|
|
19
|
+
SKILL.md ← you are here (load this first)
|
|
20
|
+
references/
|
|
21
|
+
art-direction.md ← intent, expression modes, signature moves, anti-generic tests
|
|
22
|
+
design-tokens.md ← CSS variables light + dark, typography, spacing, radius, shadows
|
|
23
|
+
components.md ← All reusable components (table, filter bar, sidebar, form groups, etc.)
|
|
24
|
+
patterns.md ← Page layouts: app shell, list, detail, form, dashboard, settings, onboarding
|
|
25
|
+
dashboards.md ← Dashboard presets: SaaS metrics, CRM, PM, support, admin overview
|
|
26
|
+
websites.md ← Landing/marketing page patterns + anti-patterns
|
|
27
|
+
motion.md ← Animations: fast functional transitions, micro-interactions, reduced motion
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Activation rules
|
|
31
|
+
|
|
32
|
+
- Apply this package **only** when `project.context.md` contains `design_skill: "clean-saas-ui"` or the user explicitly chooses it.
|
|
33
|
+
- If another design skill is selected, do **not** load this package.
|
|
34
|
+
- Never auto-select this skill — always require explicit confirmation.
|
|
35
|
+
- If no skill is set yet, the active agent must ask or confirm before applying.
|
|
36
|
+
|
|
37
|
+
## Responsibility boundary
|
|
38
|
+
|
|
39
|
+
This skill defines:
|
|
40
|
+
- Visual direction and aesthetic DNA
|
|
41
|
+
- Design tokens (colors, typography, spacing, radius, shadows)
|
|
42
|
+
- Component vocabulary and anatomy
|
|
43
|
+
- Page composition patterns
|
|
44
|
+
- Theme switching behavior (light default / dark optional)
|
|
45
|
+
|
|
46
|
+
This skill does **not** decide:
|
|
47
|
+
- Stack (React, Vue, Blade, HTML, etc.)
|
|
48
|
+
- Output format (single file, multi-file, CSS modules, Tailwind, etc.)
|
|
49
|
+
- Icon library choice
|
|
50
|
+
- Whether a theme toggle exists in the product (the agent decides)
|
|
51
|
+
|
|
52
|
+
## Loading guide
|
|
53
|
+
|
|
54
|
+
Always load only what the current task needs:
|
|
55
|
+
|
|
56
|
+
| Task | Load |
|
|
57
|
+
|---|---|
|
|
58
|
+
| Any UI work | `references/design-tokens.md` |
|
|
59
|
+
| Reusable components | `references/design-tokens.md` + `references/components.md` |
|
|
60
|
+
| Dashboard or admin panel | `references/art-direction.md` + `references/design-tokens.md` + `references/components.md` + `references/patterns.md` + `references/dashboards.md` |
|
|
61
|
+
| Detail / settings page | `references/art-direction.md` + `references/design-tokens.md` + `references/components.md` + `references/patterns.md` |
|
|
62
|
+
| Landing page or website | `references/art-direction.md` + `references/design-tokens.md` + `references/components.md` + `references/websites.md` |
|
|
63
|
+
| Motion / animation | add `references/motion.md` when animation materially improves the result |
|
|
64
|
+
| Full UI build | all seven reference files |
|
|
65
|
+
|
|
66
|
+
## Visual signature — three pillars
|
|
67
|
+
|
|
68
|
+
1. **Professional neutrality** - Neutral colors with one accent blue (not teal, not terracotta - a classic trust-building blue). Zero excessive personality. The design is invisible: users focus on the work, not the UI. It feels like it has always been there.
|
|
69
|
+
2. **Systematic consistency** - Every component follows a strict grid. Base spacing is 8px. Control heights are fixed. No ad hoc components. Everything comes from the system. The result should feel like a high-quality commercial kit (Stripe Dashboard, Linear app).
|
|
70
|
+
3. **Data-friendly density** - Medium density: more compact than warm-craft, less dense than cognitive-core. Tables, forms, and lists are first-class citizens. The system is optimized to show data cleanly and make scanning fast.
|
|
71
|
+
|
|
72
|
+
## Theme system
|
|
73
|
+
|
|
74
|
+
```html
|
|
75
|
+
<div data-theme="light"> <!-- or data-theme="dark" -->
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
- **Light (default)**: apps, dashboards, admin — a maioria dos SaaS B2B
|
|
79
|
+
- **Dark**: optional, for user preference or low-light environments
|
|
80
|
+
- Toggle always available by default
|
|
81
|
+
|
|
82
|
+
If the user does not specify: default to **light with a theme toggle** in the top bar.
|
|
83
|
+
|
|
84
|
+
## Visual DNA
|
|
85
|
+
|
|
86
|
+
### Colors — light theme (default)
|
|
87
|
+
- Background void: `#F3F4F6` (gray-100)
|
|
88
|
+
- Background base: `#F9FAFB` (gray-50)
|
|
89
|
+
- Surface: `#FFFFFF`
|
|
90
|
+
- Elevated: `#F3F4F6` (gray-100 — hover, nested)
|
|
91
|
+
- Primary accent: `#2563EB` (blue-600 — professional blue)
|
|
92
|
+
- Text heading: `#111827` (gray-900)
|
|
93
|
+
- Text primary: `#374151` (gray-700)
|
|
94
|
+
- Text secondary: `#6B7280` (gray-500)
|
|
95
|
+
- Text muted: `#9CA3AF` (gray-400)
|
|
96
|
+
|
|
97
|
+
### Colors — dark theme
|
|
98
|
+
- Background void: `#111827` (gray-900)
|
|
99
|
+
- Background base: `#1F2937` (gray-800)
|
|
100
|
+
- Surface: `#374151` (gray-700)
|
|
101
|
+
- Elevated: `#4B5563` (gray-600)
|
|
102
|
+
- Primary accent: `#3B82F6` (blue-500 — brighter for dark bg)
|
|
103
|
+
- Text heading: `#F9FAFB`
|
|
104
|
+
- Text primary: `#E5E7EB`
|
|
105
|
+
|
|
106
|
+
### Typography
|
|
107
|
+
- Headings and body: `Inter`, system-ui, sans-serif — both. Differentiator is weight and tracking, not family.
|
|
108
|
+
- Headings: weight 600–700, letter-spacing -0.02em
|
|
109
|
+
- Body: weight 400, tracking normal
|
|
110
|
+
- Mono (metadata only): `JetBrains Mono`, uppercase, 0.675rem — used sparingly in code, IDs, table row metadata
|
|
111
|
+
|
|
112
|
+
### Layout structure (app)
|
|
113
|
+
```
|
|
114
|
+
┌──────────────────────────────────────────────────────────┐
|
|
115
|
+
│ SIDEBAR (256px) │ PAGE HEADER: title + actions │
|
|
116
|
+
│ Logo ├──────────────────────────────────────┤
|
|
117
|
+
│ Nav groups │ FILTER BAR (when list/table page) │
|
|
118
|
+
│ Active: blue ├──────────────────────────────────────┤
|
|
119
|
+
│ left border 2px │ CONTENT AREA │
|
|
120
|
+
│ │ (table / form sections / charts) │
|
|
121
|
+
│ Footer: user │ │
|
|
122
|
+
└───────────────────┴──────────────────────────────────────┘
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Signature details
|
|
126
|
+
- Active sidebar item: `border-left: 2px solid var(--accent)` + `bg-elevated`
|
|
127
|
+
- Active tab: `border-bottom: 2px solid var(--accent)` + accent text
|
|
128
|
+
- Inputs: 36px height (control-md), 1px border, 6px radius
|
|
129
|
+
- Card hover: shadow-sm → shadow-md, 150ms, no translateY lift
|
|
130
|
+
- Separator: borders over shadows — clean and flat
|
|
131
|
+
- Buttons: flat, no gradients, consistent 36px height
|
|
132
|
+
- Badges: radius-full, height 20px, px-2, 6 semantic variants
|
|
133
|
+
- Tables: alternating row bg optional, sticky header, inline actions on hover
|
|
134
|
+
|
|
135
|
+
## Application rules
|
|
136
|
+
|
|
137
|
+
- Treat `references/design-tokens.md` as the source of truth for ALL tokens.
|
|
138
|
+
- Treat `references/art-direction.md` as the source of truth for expression and anti-generic decisions.
|
|
139
|
+
- Never combine this package with `interface-design`, `cognitive-core-ui`, `warm-craft-ui`, `bold-editorial-ui`, or any other design skill.
|
|
140
|
+
- Reuse the project's component library if one exists — map Clean SaaS tokens onto it instead of rebuilding primitives.
|
|
141
|
+
- Adapt code examples to the active stack. Reference snippets are design specifications, not copy-paste code.
|
|
142
|
+
- Accessibility, responsiveness, and production semantics are the agent's responsibility (not this skill).
|
|
143
|
+
|
|
144
|
+
## Execution quality gates
|
|
145
|
+
|
|
146
|
+
These gates override any reference file when they conflict.
|
|
147
|
+
|
|
148
|
+
Before implementation:
|
|
149
|
+
- Load the relevant references from the loading guide; do not build from this SKILL.md alone.
|
|
150
|
+
- Decide the surface type (app, dashboard, landing page, marketing site, tool, game) and one domain-specific signature move before writing layout code.
|
|
151
|
+
- Establish the token layer first: fonts, colors, spacing, radius, shadow/depth, motion, breakpoints, and component states. Do not scatter raw colors, one-off shadows, arbitrary font sizes, or ad hoc radii.
|
|
152
|
+
- Use intentional font delivery. Prefer local/framework font APIs when available; if a named font cannot be loaded, define a credible fallback stack and preserve the intended contrast.
|
|
153
|
+
- For websites and landing pages, use visual assets that reveal the product, place, person, object, UI state, or domain. Do not ship a hero made only of gradients, icons, and cards.
|
|
154
|
+
- For landing-page heroes, make the brand, product, place, person, or literal offer visible in the first viewport; include a real or generated bitmap/product visual when inspection matters.
|
|
155
|
+
- Use icons from the project's icon library or lucide when available. Do not use text pills where a standard icon button/control is expected.
|
|
156
|
+
- Build responsive constraints with grid minmax, aspect-ratio, fixed control heights, and overflow rules so text, controls, tables, cards, and media cannot overlap or resize unpredictably.
|
|
157
|
+
- Use discrete text tokens and stable line-height. Do not use viewport-width font scaling or negative letter-spacing.
|
|
158
|
+
- Do not put cards inside cards. If a reference says nested card, use an unframed row, divider, inset section, or modal unless an existing component contract explicitly requires that hierarchy.
|
|
159
|
+
- Use motion as product feedback: hover, focus, active, loading, reveal, navigation, and state transitions. Always include a prefers-reduced-motion fallback.
|
|
160
|
+
|
|
161
|
+
Before delivery:
|
|
162
|
+
- Inspect the result at mobile and desktop widths. If a browser is available, use screenshots; otherwise perform static CSS/DOM review.
|
|
163
|
+
- Fix overlap, clipped text, illegible contrast, missing states, unsupported font loading, missing assets, raw palette drift, and generic template composition before presenting.
|
|
164
|
+
- Do not add isolated blurred-circle background decorations. If a reference suggests that pattern, reinterpret it as a subtle full-bleed ambient field or remove it.
|
|
165
|
+
|
|
166
|
+
## Intent before visuals
|
|
167
|
+
|
|
168
|
+
Before choosing layout, answer all three:
|
|
169
|
+
|
|
170
|
+
1. Who is the human using this page right now?
|
|
171
|
+
2. What is the main action or decision they must complete?
|
|
172
|
+
3. How should this interface feel in concrete words, not generic labels?
|
|
173
|
+
|
|
174
|
+
Bad answers:
|
|
175
|
+
- "for users"
|
|
176
|
+
- "manage data"
|
|
177
|
+
- "clean and modern"
|
|
178
|
+
|
|
179
|
+
Good answers:
|
|
180
|
+
- "operations manager reviewing team workload before assigning a new batch"
|
|
181
|
+
- "account exec scanning their CRM pipeline for deals at risk"
|
|
182
|
+
- "calm, efficient, trustworthy, invisible — the tool gets out of their way"
|
|
183
|
+
|
|
184
|
+
## Workflow discipline
|
|
185
|
+
|
|
186
|
+
1. Audit the current page or existing UI before changing visuals.
|
|
187
|
+
2. Explore the product domain and choose one expression mode from `references/art-direction.md`.
|
|
188
|
+
3. Name one signature move and repeat it intentionally across the page.
|
|
189
|
+
4. Consolidate repeating patterns instead of inventing new card/button/table variants for each screen.
|
|
190
|
+
5. Build from tokens first, then components, then page composition.
|
|
191
|
+
6. Validate state parity before finishing: default, hover, active, focus, disabled.
|
|
192
|
+
7. Validate contrast before shipping: body text must meet WCAG AA, controls must stay legible in all themes.
|
|
193
|
+
|
|
194
|
+
## Non-negotiable quality gates
|
|
195
|
+
|
|
196
|
+
- Never use a lighter hover state if it reduces text contrast.
|
|
197
|
+
- Never put near-white text on a bright accent in light theme. Use a darker accent or a darker foreground token.
|
|
198
|
+
- Do not use mono for navigation groups, paragraphs, or long button copy.
|
|
199
|
+
- Keep one spacing rhythm per surface: 8px increments, aligned text edges, consistent control heights.
|
|
200
|
+
- When a layout feels chaotic, reduce variant count first. Do not add decorative layers.
|
|
201
|
+
- Hardcoded colors, arbitrary shadows, and one-off font choices are design-system failures.
|
|
202
|
+
- Sameness is failure. If the result looks like a default Tailwind UI starter, iterate before presenting.
|
|
203
|
+
- Every page must pass the Blue Test: does the accent blue feel "chosen" or "default"?
|
|
204
|
+
- Every full page must pass the Template Test: if you remove the logo and change the accent, does it still look like your product?
|
|
205
|
+
- Tables must never stack into card lists on mobile — they scroll horizontally.
|
|
206
|
+
|
|
207
|
+
## Positioning vs other skills
|
|
208
|
+
|
|
209
|
+
| Aspect | clean-saas-ui | warm-craft-ui | cognitive-core-ui |
|
|
210
|
+
|--------|--------------|---------------|-------------------|
|
|
211
|
+
| Accent | Blue (#2563EB) | Terracotta | Teal/Cyan |
|
|
212
|
+
| Headings | Sans-serif (Inter) | Serif (Source Serif) | Sans-serif (Inter) |
|
|
213
|
+
| Radius | Medium (8px cards) | Large (16px+ cards) | Small-Medium |
|
|
214
|
+
| Density | Medium | Low | High |
|
|
215
|
+
| Personality | Neutral/professional | Warm/human | Premium/tactical |
|
|
216
|
+
| Default theme | Light | Light | Dark |
|
|
217
|
+
| Best for | B2B SaaS, admin, CRM | B2C, productivity, health | Command centers, ops |
|
|
218
|
+
|
|
219
|
+
## Delivery modes
|
|
220
|
+
|
|
221
|
+
### Greenfield
|
|
222
|
+
1. Choose page variant (list, detail, form, dashboard, settings, onboarding, landing)
|
|
223
|
+
2. Load relevant references
|
|
224
|
+
3. Apply token scope from `design-tokens.md`
|
|
225
|
+
4. Compose layout from `patterns.md` or `websites.md`
|
|
226
|
+
5. Build components from `components.md`
|
|
227
|
+
|
|
228
|
+
### Brownfield
|
|
229
|
+
1. Audit existing UI before rewriting
|
|
230
|
+
2. Map Clean SaaS tokens onto the existing component library
|
|
231
|
+
3. Fix token scope issues (font/color variables must be on the correct container)
|
|
232
|
+
4. Consolidate duplicate variants before introducing new ones
|
|
233
|
+
5. Prefer targeted upgrades over full rewrites unless the user asks for a redesign
|