@jaimevalasek/aioson 1.30.1 → 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.
Files changed (90) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/docs/design-previews/cognitive-core-ui-auth.html +95 -0
  3. package/docs/design-previews/cognitive-core-ui-kanban.html +231 -0
  4. package/docs/design-previews/cognitive-core-ui-list-detail.html +174 -0
  5. package/docs/design-previews/cognitive-core-ui-preview.css +1315 -0
  6. package/docs/design-previews/cognitive-core-ui-settings.html +142 -0
  7. package/docs/design-previews/cognitive-core-ui-website.html +190 -1009
  8. package/docs/design-previews/cognitive-core-ui.html +281 -463
  9. package/docs/design-previews/index.html +83 -31
  10. package/package.json +1 -1
  11. package/src/constants.js +567 -511
  12. package/template/.aioson/docs/play/README.md +2 -0
  13. package/template/.aioson/docs/play/agent-usage-guide.md +7 -1
  14. package/template/.aioson/docs/play/app-compatibility-guide.md +6 -1
  15. package/template/.aioson/docs/play/auth-services-and-testing.md +16 -1
  16. package/template/.aioson/docs/play/manifest-and-runtime.md +23 -0
  17. package/template/.aioson/skills/design/aurora-command-ui/SKILL.md +266 -243
  18. package/template/.aioson/skills/design/aurora-command-ui/references/art-direction.md +293 -293
  19. package/template/.aioson/skills/design/aurora-command-ui/references/components.md +827 -827
  20. package/template/.aioson/skills/design/aurora-command-ui/references/dashboards.md +250 -250
  21. package/template/.aioson/skills/design/aurora-command-ui/references/design-tokens.md +585 -585
  22. package/template/.aioson/skills/design/aurora-command-ui/references/motion.md +365 -365
  23. package/template/.aioson/skills/design/aurora-command-ui/references/patterns.md +485 -482
  24. package/template/.aioson/skills/design/aurora-command-ui/references/websites.md +386 -387
  25. package/template/.aioson/skills/design/bold-editorial-ui/SKILL.md +228 -205
  26. package/template/.aioson/skills/design/bold-editorial-ui/references/art-direction.md +338 -338
  27. package/template/.aioson/skills/design/bold-editorial-ui/references/components.md +977 -977
  28. package/template/.aioson/skills/design/bold-editorial-ui/references/dashboards.md +218 -218
  29. package/template/.aioson/skills/design/bold-editorial-ui/references/design-tokens.md +326 -326
  30. package/template/.aioson/skills/design/bold-editorial-ui/references/motion.md +461 -461
  31. package/template/.aioson/skills/design/bold-editorial-ui/references/patterns.md +293 -293
  32. package/template/.aioson/skills/design/bold-editorial-ui/references/websites.md +352 -352
  33. package/template/.aioson/skills/design/clean-saas-ui/SKILL.md +233 -210
  34. package/template/.aioson/skills/design/clean-saas-ui/references/art-direction.md +319 -319
  35. package/template/.aioson/skills/design/clean-saas-ui/references/components.md +365 -365
  36. package/template/.aioson/skills/design/clean-saas-ui/references/dashboards.md +196 -196
  37. package/template/.aioson/skills/design/clean-saas-ui/references/design-tokens.md +244 -244
  38. package/template/.aioson/skills/design/clean-saas-ui/references/motion.md +235 -235
  39. package/template/.aioson/skills/design/clean-saas-ui/references/patterns.md +215 -215
  40. package/template/.aioson/skills/design/clean-saas-ui/references/websites.md +295 -295
  41. package/template/.aioson/skills/design/cognitive-core-ui/SKILL.md +239 -203
  42. package/template/.aioson/skills/design/cognitive-core-ui/references/art-direction.md +339 -339
  43. package/template/.aioson/skills/design/cognitive-core-ui/references/components.md +417 -407
  44. package/template/.aioson/skills/design/cognitive-core-ui/references/dashboards.md +289 -272
  45. package/template/.aioson/skills/design/cognitive-core-ui/references/design-tokens.md +525 -524
  46. package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +279 -279
  47. package/template/.aioson/skills/design/cognitive-core-ui/references/patterns.md +355 -289
  48. package/template/.aioson/skills/design/cognitive-core-ui/references/websites.md +443 -437
  49. package/template/.aioson/skills/design/glassmorphism-ui/SKILL.md +245 -222
  50. package/template/.aioson/skills/design/glassmorphism-ui/references/art-direction.md +159 -159
  51. package/template/.aioson/skills/design/glassmorphism-ui/references/components.md +498 -498
  52. package/template/.aioson/skills/design/glassmorphism-ui/references/dashboards.md +236 -236
  53. package/template/.aioson/skills/design/glassmorphism-ui/references/design-tokens.md +274 -274
  54. package/template/.aioson/skills/design/glassmorphism-ui/references/motion.md +355 -355
  55. package/template/.aioson/skills/design/glassmorphism-ui/references/patterns.md +198 -198
  56. package/template/.aioson/skills/design/glassmorphism-ui/references/websites.md +307 -307
  57. package/template/.aioson/skills/design/interface-design/SKILL.md +68 -47
  58. package/template/.aioson/skills/design/interface-design/references/components-and-states.md +105 -105
  59. package/template/.aioson/skills/design/interface-design/references/design-directions.md +101 -101
  60. package/template/.aioson/skills/design/interface-design/references/handoff-and-quality.md +92 -71
  61. package/template/.aioson/skills/design/interface-design/references/intent-and-domain.md +74 -74
  62. package/template/.aioson/skills/design/interface-design/references/tokens-and-depth.md +173 -173
  63. package/template/.aioson/skills/design/neo-brutalist-ui/SKILL.md +236 -213
  64. package/template/.aioson/skills/design/neo-brutalist-ui/references/art-direction.md +228 -228
  65. package/template/.aioson/skills/design/neo-brutalist-ui/references/components.md +855 -855
  66. package/template/.aioson/skills/design/neo-brutalist-ui/references/dashboards.md +334 -334
  67. package/template/.aioson/skills/design/neo-brutalist-ui/references/design-tokens.md +342 -342
  68. package/template/.aioson/skills/design/neo-brutalist-ui/references/motion.md +286 -286
  69. package/template/.aioson/skills/design/neo-brutalist-ui/references/patterns.md +458 -458
  70. package/template/.aioson/skills/design/neo-brutalist-ui/references/websites.md +723 -723
  71. package/template/.aioson/skills/design/premium-command-center-ui/SKILL.md +83 -62
  72. package/template/.aioson/skills/design/premium-command-center-ui/references/operations.md +74 -74
  73. package/template/.aioson/skills/design/premium-command-center-ui/references/patterns.md +116 -116
  74. package/template/.aioson/skills/design/premium-command-center-ui/references/validation.md +47 -47
  75. package/template/.aioson/skills/design/premium-command-center-ui/references/visual-system.md +215 -215
  76. package/template/.aioson/skills/design/pt.squarespace.com/.skill-meta.json +31 -31
  77. package/template/.aioson/skills/design/pt.squarespace.com/SKILL.md +94 -66
  78. package/template/.aioson/skills/design/pt.squarespace.com/references/components.md +366 -366
  79. package/template/.aioson/skills/design/pt.squarespace.com/references/design-tokens.md +150 -150
  80. package/template/.aioson/skills/design/pt.squarespace.com/references/motion.md +270 -270
  81. package/template/.aioson/skills/design/pt.squarespace.com/references/patterns.md +189 -189
  82. package/template/.aioson/skills/design/pt.squarespace.com/references/websites.md +161 -161
  83. package/template/.aioson/skills/design/warm-craft-ui/SKILL.md +232 -209
  84. package/template/.aioson/skills/design/warm-craft-ui/references/art-direction.md +324 -324
  85. package/template/.aioson/skills/design/warm-craft-ui/references/components.md +508 -508
  86. package/template/.aioson/skills/design/warm-craft-ui/references/dashboards.md +223 -223
  87. package/template/.aioson/skills/design/warm-craft-ui/references/design-tokens.md +374 -374
  88. package/template/.aioson/skills/design/warm-craft-ui/references/motion.md +356 -356
  89. package/template/.aioson/skills/design/warm-craft-ui/references/patterns.md +288 -288
  90. 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: 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.
4
- ---
5
-
6
- # Clean SaaS UI
7
-
8
- 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.
9
-
10
- Inspiration: Stripe Dashboard, Linear app, GitHub, Notion (app), Figma (panels).
11
-
12
- **This is one visual system.** Never combine it with another design skill.
13
-
14
- ## Package structure
15
-
16
- ```text
17
- .aioson/skills/design/clean-saas-ui/
18
- SKILL.md ← you are here (load this first)
19
- references/
20
- art-direction.md ← intent, expression modes, signature moves, anti-generic tests
21
- design-tokens.md ← CSS variables light + dark, typography, spacing, radius, shadows
22
- components.md All reusable components (table, filter bar, sidebar, form groups, etc.)
23
- patterns.md Page layouts: app shell, list, detail, form, dashboard, settings, onboarding
24
- dashboards.md Dashboard presets: SaaS metrics, CRM, PM, support, admin overview
25
- websites.md Landing/marketing page patterns + anti-patterns
26
- motion.md Animations: fast functional transitions, micro-interactions, reduced motion
27
- ```
28
-
29
- ## Activation rules
30
-
31
- - Apply this package **only** when `project.context.md` contains `design_skill: "clean-saas-ui"` or the user explicitly chooses it.
32
- - If another design skill is selected, do **not** load this package.
33
- - Never auto-select this skill always require explicit confirmation.
34
- - If no skill is set yet, the active agent must ask or confirm before applying.
35
-
36
- ## Responsibility boundary
37
-
38
- This skill defines:
39
- - Visual direction and aesthetic DNA
40
- - Design tokens (colors, typography, spacing, radius, shadows)
41
- - Component vocabulary and anatomy
42
- - Page composition patterns
43
- - Theme switching behavior (light default / dark optional)
44
-
45
- This skill does **not** decide:
46
- - Stack (React, Vue, Blade, HTML, etc.)
47
- - Output format (single file, multi-file, CSS modules, Tailwind, etc.)
48
- - Icon library choice
49
- - Whether a theme toggle exists in the product (the agent decides)
50
-
51
- ## Loading guide
52
-
53
- Always load only what the current task needs:
54
-
55
- | Task | Load |
56
- |---|---|
57
- | Any UI work | `references/design-tokens.md` |
58
- | Reusable components | `references/design-tokens.md` + `references/components.md` |
59
- | Dashboard or admin panel | `references/art-direction.md` + `references/design-tokens.md` + `references/components.md` + `references/patterns.md` + `references/dashboards.md` |
60
- | Detail / settings page | `references/art-direction.md` + `references/design-tokens.md` + `references/components.md` + `references/patterns.md` |
61
- | Landing page or website | `references/art-direction.md` + `references/design-tokens.md` + `references/components.md` + `references/websites.md` |
62
- | Motion / animation | add `references/motion.md` when animation materially improves the result |
63
- | Full UI build | all seven reference files |
64
-
65
- ## Visual signature — three pillars
66
-
67
- 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.
68
- 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).
69
- 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.
70
-
71
- ## Theme system
72
-
73
- ```html
74
- <div data-theme="light"> <!-- or data-theme="dark" -->
75
- ```
76
-
77
- - **Light (default)**: apps, dashboards, admin — a maioria dos SaaS B2B
78
- - **Dark**: optional, for user preference or low-light environments
79
- - Toggle always available by default
80
-
81
- If the user does not specify: default to **light with a theme toggle** in the top bar.
82
-
83
- ## Visual DNA
84
-
85
- ### Colors — light theme (default)
86
- - Background void: `#F3F4F6` (gray-100)
87
- - Background base: `#F9FAFB` (gray-50)
88
- - Surface: `#FFFFFF`
89
- - Elevated: `#F3F4F6` (gray-100 — hover, nested)
90
- - Primary accent: `#2563EB` (blue-600professional blue)
91
- - Text heading: `#111827` (gray-900)
92
- - Text primary: `#374151` (gray-700)
93
- - Text secondary: `#6B7280` (gray-500)
94
- - Text muted: `#9CA3AF` (gray-400)
95
-
96
- ### Colors — dark theme
97
- - Background void: `#111827` (gray-900)
98
- - Background base: `#1F2937` (gray-800)
99
- - Surface: `#374151` (gray-700)
100
- - Elevated: `#4B5563` (gray-600)
101
- - Primary accent: `#3B82F6` (blue-500 — brighter for dark bg)
102
- - Text heading: `#F9FAFB`
103
- - Text primary: `#E5E7EB`
104
-
105
- ### Typography
106
- - Headings and body: `Inter`, system-ui, sans-serif — both. Differentiator is weight and tracking, not family.
107
- - Headings: weight 600–700, letter-spacing -0.02em
108
- - Body: weight 400, tracking normal
109
- - Mono (metadata only): `JetBrains Mono`, uppercase, 0.675rem — used sparingly in code, IDs, table row metadata
110
-
111
- ### Layout structure (app)
112
- ```
113
- ┌──────────────────────────────────────────────────────────┐
114
- │ SIDEBAR (256px) │ PAGE HEADER: title + actions │
115
- Logo ├──────────────────────────────────────┤
116
- Nav groups │ FILTER BAR (when list/table page) │
117
- Active: blue ├──────────────────────────────────────┤
118
- left border 2px │ CONTENT AREA │
119
- (table / form sections / charts)
120
- Footer: user
121
- └───────────────────┴──────────────────────────────────────┘
122
- ```
123
-
124
- ### Signature details
125
- - Active sidebar item: `border-left: 2px solid var(--accent)` + `bg-elevated`
126
- - Active tab: `border-bottom: 2px solid var(--accent)` + accent text
127
- - Inputs: 36px height (control-md), 1px border, 6px radius
128
- - Card hover: shadow-sm shadow-md, 150ms, no translateY lift
129
- - Separator: borders over shadows clean and flat
130
- - Buttons: flat, no gradients, consistent 36px height
131
- - Badges: radius-full, height 20px, px-2, 6 semantic variants
132
- - Tables: alternating row bg optional, sticky header, inline actions on hover
133
-
134
- ## Application rules
135
-
136
- - Treat `references/design-tokens.md` as the source of truth for ALL tokens.
137
- - Treat `references/art-direction.md` as the source of truth for expression and anti-generic decisions.
138
- - Never combine this package with `interface-design`, `cognitive-core-ui`, `warm-craft-ui`, `bold-editorial-ui`, or any other design skill.
139
- - Reuse the project's component library if one exists map Clean SaaS tokens onto it instead of rebuilding primitives.
140
- - Adapt code examples to the active stack. Reference snippets are design specifications, not copy-paste code.
141
- - Accessibility, responsiveness, and production semantics are the agent's responsibility (not this skill).
142
-
143
- ## Intent before visuals
144
-
145
- Before choosing layout, answer all three:
146
-
147
- 1. Who is the human using this page right now?
148
- 2. What is the main action or decision they must complete?
149
- 3. How should this interface feel in concrete words, not generic labels?
150
-
151
- Bad answers:
152
- - "for users"
153
- - "manage data"
154
- - "clean and modern"
155
-
156
- Good answers:
157
- - "operations manager reviewing team workload before assigning a new batch"
158
- - "account exec scanning their CRM pipeline for deals at risk"
159
- - "calm, efficient, trustworthy, invisible the tool gets out of their way"
160
-
161
- ## Workflow discipline
162
-
163
- 1. Audit the current page or existing UI before changing visuals.
164
- 2. Explore the product domain and choose one expression mode from `references/art-direction.md`.
165
- 3. Name one signature move and repeat it intentionally across the page.
166
- 4. Consolidate repeating patterns instead of inventing new card/button/table variants for each screen.
167
- 5. Build from tokens first, then components, then page composition.
168
- 6. Validate state parity before finishing: default, hover, active, focus, disabled.
169
- 7. Validate contrast before shipping: body text must meet WCAG AA, controls must stay legible in all themes.
170
-
171
- ## Non-negotiable quality gates
172
-
173
- - Never use a lighter hover state if it reduces text contrast.
174
- - Never put near-white text on a bright accent in light theme. Use a darker accent or a darker foreground token.
175
- - Do not use mono for navigation groups, paragraphs, or long button copy.
176
- - Keep one spacing rhythm per surface: 8px increments, aligned text edges, consistent control heights.
177
- - When a layout feels chaotic, reduce variant count first. Do not add decorative layers.
178
- - Hardcoded colors, arbitrary shadows, and one-off font choices are design-system failures.
179
- - Sameness is failure. If the result looks like a default Tailwind UI starter, iterate before presenting.
180
- - Every page must pass the Blue Test: does the accent blue feel "chosen" or "default"?
181
- - Every full page must pass the Template Test: if you remove the logo and change the accent, does it still look like your product?
182
- - Tables must never stack into card lists on mobile they scroll horizontally.
183
-
184
- ## Positioning vs other skills
185
-
186
- | Aspect | clean-saas-ui | warm-craft-ui | cognitive-core-ui |
187
- |--------|--------------|---------------|-------------------|
188
- | Accent | Blue (#2563EB) | Terracotta | Teal/Cyan |
189
- | Headings | Sans-serif (Inter) | Serif (Source Serif) | Sans-serif (Inter) |
190
- | Radius | Medium (8px cards) | Large (16px+ cards) | Small-Medium |
191
- | Density | Medium | Low | High |
192
- | Personality | Neutral/professional | Warm/human | Premium/tactical |
193
- | Default theme | Light | Light | Dark |
194
- | Best for | B2B SaaS, admin, CRM | B2C, productivity, health | Command centers, ops |
195
-
196
- ## Delivery modes
197
-
198
- ### Greenfield
199
- 1. Choose page variant (list, detail, form, dashboard, settings, onboarding, landing)
200
- 2. Load relevant references
201
- 3. Apply token scope from `design-tokens.md`
202
- 4. Compose layout from `patterns.md` or `websites.md`
203
- 5. Build components from `components.md`
204
-
205
- ### Brownfield
206
- 1. Audit existing UI before rewriting
207
- 2. Map Clean SaaS tokens onto the existing component library
208
- 3. Fix token scope issues (font/color variables must be on the correct container)
209
- 4. Consolidate duplicate variants before introducing new ones
210
- 5. Prefer targeted upgrades over full rewrites unless the user asks for a redesign
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-100hover, 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