@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,213 +1,236 @@
1
- ---
2
- name: neo-brutalist-ui
3
- description: Neo-Brutalist UI is a design system for bold, personality-driven interfaces that embrace raw aesthetics, thick borders, hard shadows, and deliberate visual tension. Use it when `design_skill: neo-brutalist-ui` is set in project.context.md OR when the user explicitly asks for "brutalist", "neo-brutalist", "chunky UI", "indie", "bold borders", "hard shadows", "raw aesthetic", "devtools", "hacker", "playful bold", "anti-corporate", "punk UI", or similar. Ideal for indie products, devtools, creative tools, personal sites, side projects, hackathon projects, educational platforms, and any product where personality and memorability matter more than neutrality. Supports apps, dashboards, and websites — light by default with an energetic dark variant. Do NOT use this skill unless explicitly selected.
4
- ---
5
-
6
- # Neo-Brutalist UI
7
-
8
- Neo-Brutalist UI sits at the intersection of **structural honesty** and **chromatic energy** — a design system for products that refuse to look like every other SaaS app. Thick borders, hard shadows, monospace type, and saturated colors are not decoration: they are the structure.
9
-
10
- Inspiration: Gumroad (old redesign), Poolsuite.net, Notion blog sticker aesthetics, bfrss.be, terminal/CLI interfaces.
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/neo-brutalist-ui/
18
- SKILL.md ← you are here (load this first)
19
- references/
20
- art-direction.md ← 5 expression modes, signature moves, anti-generic tests
21
- design-tokens.md ← CSS variables light + dark, thick borders, hard shadows, patterns
22
- components.md 23 components: brutalist cards, push buttons, full-grid tables, sticker badges, etc.
23
- patterns.md App shell, 6 page patterns, responsive rules
24
- dashboards.md 5 dashboard presets + chart palette + flat-fill rules
25
- websites.md 4 hero patterns, 8 section patterns, anti-patterns
26
- motion.md Push mechanic, mechanical timings, minimal scroll animations
27
- ```
28
-
29
- ## Activation rules
30
-
31
- - Apply this package **only** when `project.context.md` contains `design_skill: "neo-brutalist-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 push mechanics and interaction detail matter |
63
- | Full UI build | all seven reference files |
64
-
65
- ## Visual signature — three pillars
66
-
67
- 1. **Structural honesty** - Thick, visible borders. Hard shadows with no blur, only solid offsets. Elements feel built, not drawn. Every component exposes its structure: border, fill, shadow. No gradients, no blur, no transparency. What you see is what exists.
68
- 2. **Chromatic energy** - Saturated primary colors as accents. Off-white or pure black backgrounds. Maximum contrast. No pastels (that is glassmorphism), no desaturation (that is clean-saas). Colors are vivid, direct, and confident, like protest posters or zine covers.
69
- 3. **Typographic personality** - Mono or bold sans-serif as the baseline. Headings may be ultra-bold or uppercase mono. Typography has attitude: it is not neutral, not elegant, but direct. Large sizes with tight tracking for headings; mono for metadata and labels.
70
-
71
- ## Theme system
72
-
73
- ```html
74
- <div data-theme="light"> <!-- or data-theme="dark" -->
75
- ```
76
-
77
- - **Light (default)**: fundo off-white (#FFFDF5), borders pretas, sombras pretas offset, cores saturadas
78
- - **Dark**: near-black background (#1A1A1A), light borders, colored offset shadows, saturated earthy colors (not neon)
79
- - Toggle available
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: `#F5F0E8` (warm off-white, newspaper feel)
87
- - Background base: `#FFFDF5` (cream white main background)
88
- - Surface: `#FFFFFF` (pure white cards)
89
- - Elevated: `#F5F0E8` (off-white hover/nested)
90
- - Primary accent: `#FACC15` (yellow-400 — THE brutalist accent)
91
- - Text heading: `#1A1A1A` (near-black)
92
- - Text primary: `#2A2A2A`
93
- - Text secondary: `#666666`
94
- - Text muted: `#999999`
95
-
96
- ### Colors — dark theme
97
- - Background void: `#111111`
98
- - Background base: `#1A1A1A`
99
- - Surface: `#242424`
100
- - Elevated: `#2E2E2E`
101
- - Primary accent: `#FACC15` (yellow stays strong)
102
- - Text heading: `#FFFFFF`
103
- - Text primary: `#E0E0E0`
104
-
105
- ### Typography
106
- - Display/headings: `Space Grotesk`, system-ui, sans-serif — geometric with personality, not neutral
107
- - Body: `Inter`, system-ui, sans-serif
108
- - Mono: `JetBrains Mono`, ui-monospace — **first-class citizen** in this skill. Used for labels, metadata, badges, status, code, and any technical content.
109
- - Headings: weight 700–800, tracking tight
110
- - Body: weight 400, tracking normal
111
- - Mono metadata: uppercase, letter-spacing 0.05em
112
-
113
- ### Layout structure (app)
114
- ```
115
- ┌──────────────────────────────────────────────────────────┐
116
- │ SIDEBAR (240px) │ TOP BAR (56px) │
117
- border-right: 3px border-bottom: 3px
118
- Nav items: mono font ├──────────────────────────────────┤
119
- Active: bg accent │ CONTENT AREA │
120
- text black bg-base (cream)
121
- │ (brutalist cards / tables)
122
- └────────────────────────┴──────────────────────────────────┘
123
- ```
124
-
125
- ### Signature details
126
- - **The push mechanic**: buttons and cards shrink shadow + translate on `:active` — feels like a physical press
127
- - **Hard shadows**: `4px 4px 0 #1A1A1A` zero blur. This is the single strongest visual differentiator
128
- - **Thick borders**: 2–3px on everything interactive. No borderless components
129
- - **Square + pill extremes**: `border-radius: 0` (cards, inputs, buttons) OR `border-radius: 9999px` (badges, tags). Nothing in between
130
- - **Mono for all data**: numbers, dates, status text, labels all `font-mono`
131
- - **Chunky controls**: buttons 44–52px height (vs 36px in clean-saas)brutalist is chunky, not elegant
132
- - **Full-grid tables**: every cell has a visible border. No minimal table borders
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 modes and anti-generic decisions.
138
- - Never combine this package with `interface-design`, `warm-craft-ui`, `clean-saas-ui`, `bold-editorial-ui`, or any other design skill.
139
- - Reuse the project's component library if one exists — map Neo-Brutalist 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 indie developers"
153
- - "show a dashboard"
154
- - "bold and brutalist"
155
-
156
- Good answers:
157
- - "indie hacker checking if their side project is growing wants raw numbers fast, no corporate fluff"
158
- - "developer reviewing build failures needs to see status at a glance without context switching"
159
- - "unapologetic, fast, honest looks hand-built by someone who knows exactly what they're doing"
160
-
161
- ## Workflow discipline
162
-
163
- 1. Choose one of the 5 expression modes from `references/art-direction.md` before writing any HTML or CSS.
164
- 2. Name one signature move and repeat it intentionally across the page.
165
- 3. Run the **Brutality Test**: remove all thick borders and hard shadows. If the interface now looks like a generic clean-saas output, the personality was decorative, not structural. Rebuild.
166
- 4. Build from tokens first, then components, then page composition.
167
- 5. Validate state parity before finishing: default, hover, active, focus, disabled.
168
- 6. Validate contrast: body text WCAG AA, mono on accent must remain legible.
169
-
170
- ## Non-negotiable quality gates
171
-
172
- - Never use `box-shadow` with blur-radius > 0. Hard offset only.
173
- - Never use `border-radius` between 6px and 9998px. Zero or pill only.
174
- - Never use `border: 1px solid #ccc` on interactive components. Minimum 2px solid #1A1A1A (light) or #E0E0E0 (dark).
175
- - Never use gradient fills. All colors are flat and solid.
176
- - Never use `backdrop-filter: blur()`. Brutalist UI has zero blur.
177
- - Mono font must be applied to ALL numbers, dates, IDs, statuses, and technical labels — not just code blocks.
178
- - Every interactive element with a hard shadow must implement the push mechanic on `:active`.
179
- - Tables must never stack into card lists on mobile — they scroll horizontally.
180
- - Hardcoded colors, arbitrary shadows, and one-off border widths are design-system failures.
181
- - Sameness is failure. If the result could pass for a default Tailwind UI starter with a yellow accent, iterate.
182
- - Every page must pass the **Brutality Test**: structure must be brutalist even with all color removed.
183
- - Every page must pass the **Corporate Test**: no enterprise product would ship this (good — that's the goal).
184
-
185
- ## Positioning vs other skills
186
-
187
- | Aspect | neo-brutalist-ui | warm-craft-ui | clean-saas-ui | bold-editorial-ui |
188
- |--------|-----------------|---------------|---------------|-------------------|
189
- | Accent | Yellow (#FACC15) | Terracotta | Blue (#2563EB) | Red-orange |
190
- | Borders | 2–3px black, visible on everything | 1px subtle | 1px gray | 1px minimal |
191
- | Shadows | Hard offset (zero blur) | Warm blur | Very subtle blur | Dramatic blur |
192
- | Radius | 0 or 9999px (nothing between) | Large (16px+) | Medium (8px) | Minimal |
193
- | Typography | Mono + bold sans | Serif headings | All sans | Display sans |
194
- | Polish | Anti-polish (intentional) | Warm polish | Professional | Cinematic |
195
- | Best for | Indie, devtools, hackathon, creative | B2C, productivity | B2B SaaS, admin | Marketing, portfolio |
196
-
197
- ## Delivery modes
198
-
199
- ### Greenfield
200
- 1. Choose expression mode (indie / devtool / creative / zine / dashboard punk) from `art-direction.md`
201
- 2. Answer the three Intent questions
202
- 3. Load relevant references
203
- 4. Apply token scope from `design-tokens.md`
204
- 5. Compose layout from `patterns.md` or `websites.md`
205
- 6. Build components from `components.md`
206
- 7. Run Brutality Test before presenting
207
-
208
- ### Brownfield
209
- 1. Audit existing UI before rewriting
210
- 2. Map Neo-Brutalist tokens onto the existing component library
211
- 3. Apply thick borders and hard shadows systematically — don't add them ad-hoc
212
- 4. Consolidate duplicate component variants before introducing new ones
213
- 5. Prefer targeted upgrades over full rewrites unless the user asks for a redesign
1
+ ---
2
+ name: neo-brutalist-ui
3
+ description: >-
4
+ Neo-Brutalist UI is a design system for bold, personality-driven interfaces that embrace raw aesthetics, thick borders, hard shadows, and deliberate visual tension. Use it when `design_skill: neo-brutalist-ui` is set in project.context.md OR when the user explicitly asks for "brutalist", "neo-brutalist", "chunky UI", "indie", "bold borders", "hard shadows", "raw aesthetic", "devtools", "hacker", "playful bold", "anti-corporate", "punk UI", or similar. Ideal for indie products, devtools, creative tools, personal sites, side projects, hackathon projects, educational platforms, and any product where personality and memorability matter more than neutrality. Supports apps, dashboards, and websites — light by default with an energetic dark variant. Do NOT use this skill unless explicitly selected.
5
+ ---
6
+
7
+ # Neo-Brutalist UI
8
+
9
+ Neo-Brutalist UI sits at the intersection of **structural honesty** and **chromatic energy** — a design system for products that refuse to look like every other SaaS app. Thick borders, hard shadows, monospace type, and saturated colors are not decoration: they are the structure.
10
+
11
+ Inspiration: Gumroad (old redesign), Poolsuite.net, Notion blog sticker aesthetics, bfrss.be, terminal/CLI interfaces.
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/neo-brutalist-ui/
19
+ SKILL.md ← you are here (load this first)
20
+ references/
21
+ art-direction.md ← 5 expression modes, signature moves, anti-generic tests
22
+ design-tokens.md CSS variables light + dark, thick borders, hard shadows, patterns
23
+ components.md 23 components: brutalist cards, push buttons, full-grid tables, sticker badges, etc.
24
+ patterns.md App shell, 6 page patterns, responsive rules
25
+ dashboards.md 5 dashboard presets + chart palette + flat-fill rules
26
+ websites.md 4 hero patterns, 8 section patterns, anti-patterns
27
+ motion.md ← Push mechanic, mechanical timings, minimal scroll animations
28
+ ```
29
+
30
+ ## Activation rules
31
+
32
+ - Apply this package **only** when `project.context.md` contains `design_skill: "neo-brutalist-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 push mechanics and interaction detail matter |
64
+ | Full UI build | all seven reference files |
65
+
66
+ ## Visual signature — three pillars
67
+
68
+ 1. **Structural honesty** - Thick, visible borders. Hard shadows with no blur, only solid offsets. Elements feel built, not drawn. Every component exposes its structure: border, fill, shadow. No gradients, no blur, no transparency. What you see is what exists.
69
+ 2. **Chromatic energy** - Saturated primary colors as accents. Off-white or pure black backgrounds. Maximum contrast. No pastels (that is glassmorphism), no desaturation (that is clean-saas). Colors are vivid, direct, and confident, like protest posters or zine covers.
70
+ 3. **Typographic personality** - Mono or bold sans-serif as the baseline. Headings may be ultra-bold or uppercase mono. Typography has attitude: it is not neutral, not elegant, but direct. Large sizes with tight tracking for headings; mono for metadata and labels.
71
+
72
+ ## Theme system
73
+
74
+ ```html
75
+ <div data-theme="light"> <!-- or data-theme="dark" -->
76
+ ```
77
+
78
+ - **Light (default)**: fundo off-white (#FFFDF5), borders pretas, sombras pretas offset, cores saturadas
79
+ - **Dark**: near-black background (#1A1A1A), light borders, colored offset shadows, saturated earthy colors (not neon)
80
+ - Toggle available
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: `#F5F0E8` (warm off-white, newspaper feel)
88
+ - Background base: `#FFFDF5` (cream white — main background)
89
+ - Surface: `#FFFFFF` (pure white cards)
90
+ - Elevated: `#F5F0E8` (off-white hover/nested)
91
+ - Primary accent: `#FACC15` (yellow-400 — THE brutalist accent)
92
+ - Text heading: `#1A1A1A` (near-black)
93
+ - Text primary: `#2A2A2A`
94
+ - Text secondary: `#666666`
95
+ - Text muted: `#999999`
96
+
97
+ ### Colors dark theme
98
+ - Background void: `#111111`
99
+ - Background base: `#1A1A1A`
100
+ - Surface: `#242424`
101
+ - Elevated: `#2E2E2E`
102
+ - Primary accent: `#FACC15` (yellow stays strong)
103
+ - Text heading: `#FFFFFF`
104
+ - Text primary: `#E0E0E0`
105
+
106
+ ### Typography
107
+ - Display/headings: `Space Grotesk`, system-ui, sans-serif — geometric with personality, not neutral
108
+ - Body: `Inter`, system-ui, sans-serif
109
+ - Mono: `JetBrains Mono`, ui-monospace — **first-class citizen** in this skill. Used for labels, metadata, badges, status, code, and any technical content.
110
+ - Headings: weight 700–800, tracking tight
111
+ - Body: weight 400, tracking normal
112
+ - Mono metadata: uppercase, letter-spacing 0.05em
113
+
114
+ ### Layout structure (app)
115
+ ```
116
+ ┌──────────────────────────────────────────────────────────┐
117
+ SIDEBAR (240px) TOP BAR (56px)
118
+ border-right: 3px │ border-bottom: 3px │
119
+ Nav items: mono font ├──────────────────────────────────┤
120
+ Active: bg accent CONTENT AREA
121
+ text black bg-base (cream)
122
+ │ │ (brutalist cards / tables) │
123
+ └────────────────────────┴──────────────────────────────────┘
124
+ ```
125
+
126
+ ### Signature details
127
+ - **The push mechanic**: buttons and cards shrink shadow + translate on `:active` feels like a physical press
128
+ - **Hard shadows**: `4px 4px 0 #1A1A1A` — zero blur. This is the single strongest visual differentiator
129
+ - **Thick borders**: 2–3px on everything interactive. No borderless components
130
+ - **Square + pill extremes**: `border-radius: 0` (cards, inputs, buttons) OR `border-radius: 9999px` (badges, tags). Nothing in between
131
+ - **Mono for all data**: numbers, dates, status text, labelsall `font-mono`
132
+ - **Chunky controls**: buttons 44–52px height (vs 36px in clean-saas) brutalist is chunky, not elegant
133
+ - **Full-grid tables**: every cell has a visible border. No minimal table borders
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 modes and anti-generic decisions.
139
+ - Never combine this package with `interface-design`, `warm-craft-ui`, `clean-saas-ui`, `bold-editorial-ui`, or any other design skill.
140
+ - Reuse the project's component library if one exists map Neo-Brutalist 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 indie developers"
176
+ - "show a dashboard"
177
+ - "bold and brutalist"
178
+
179
+ Good answers:
180
+ - "indie hacker checking if their side project is growing wants raw numbers fast, no corporate fluff"
181
+ - "developer reviewing build failures needs to see status at a glance without context switching"
182
+ - "unapologetic, fast, honest looks hand-built by someone who knows exactly what they're doing"
183
+
184
+ ## Workflow discipline
185
+
186
+ 1. Choose one of the 5 expression modes from `references/art-direction.md` before writing any HTML or CSS.
187
+ 2. Name one signature move and repeat it intentionally across the page.
188
+ 3. Run the **Brutality Test**: remove all thick borders and hard shadows. If the interface now looks like a generic clean-saas output, the personality was decorative, not structural. Rebuild.
189
+ 4. Build from tokens first, then components, then page composition.
190
+ 5. Validate state parity before finishing: default, hover, active, focus, disabled.
191
+ 6. Validate contrast: body text WCAG AA, mono on accent must remain legible.
192
+
193
+ ## Non-negotiable quality gates
194
+
195
+ - Never use `box-shadow` with blur-radius > 0. Hard offset only.
196
+ - Never use `border-radius` between 6px and 9998px. Zero or pill only.
197
+ - Never use `border: 1px solid #ccc` on interactive components. Minimum 2px solid #1A1A1A (light) or #E0E0E0 (dark).
198
+ - Never use gradient fills. All colors are flat and solid.
199
+ - Never use `backdrop-filter: blur()`. Brutalist UI has zero blur.
200
+ - Mono font must be applied to ALL numbers, dates, IDs, statuses, and technical labels — not just code blocks.
201
+ - Every interactive element with a hard shadow must implement the push mechanic on `:active`.
202
+ - Tables must never stack into card lists on mobile — they scroll horizontally.
203
+ - Hardcoded colors, arbitrary shadows, and one-off border widths are design-system failures.
204
+ - Sameness is failure. If the result could pass for a default Tailwind UI starter with a yellow accent, iterate.
205
+ - Every page must pass the **Brutality Test**: structure must be brutalist even with all color removed.
206
+ - Every page must pass the **Corporate Test**: no enterprise product would ship this (good — that's the goal).
207
+
208
+ ## Positioning vs other skills
209
+
210
+ | Aspect | neo-brutalist-ui | warm-craft-ui | clean-saas-ui | bold-editorial-ui |
211
+ |--------|-----------------|---------------|---------------|-------------------|
212
+ | Accent | Yellow (#FACC15) | Terracotta | Blue (#2563EB) | Red-orange |
213
+ | Borders | 2–3px black, visible on everything | 1px subtle | 1px gray | 1px minimal |
214
+ | Shadows | Hard offset (zero blur) | Warm blur | Very subtle blur | Dramatic blur |
215
+ | Radius | 0 or 9999px (nothing between) | Large (16px+) | Medium (8px) | Minimal |
216
+ | Typography | Mono + bold sans | Serif headings | All sans | Display sans |
217
+ | Polish | Anti-polish (intentional) | Warm polish | Professional | Cinematic |
218
+ | Best for | Indie, devtools, hackathon, creative | B2C, productivity | B2B SaaS, admin | Marketing, portfolio |
219
+
220
+ ## Delivery modes
221
+
222
+ ### Greenfield
223
+ 1. Choose expression mode (indie / devtool / creative / zine / dashboard punk) from `art-direction.md`
224
+ 2. Answer the three Intent questions
225
+ 3. Load relevant references
226
+ 4. Apply token scope from `design-tokens.md`
227
+ 5. Compose layout from `patterns.md` or `websites.md`
228
+ 6. Build components from `components.md`
229
+ 7. Run Brutality Test before presenting
230
+
231
+ ### Brownfield
232
+ 1. Audit existing UI before rewriting
233
+ 2. Map Neo-Brutalist tokens onto the existing component library
234
+ 3. Apply thick borders and hard shadows systematically — don't add them ad-hoc
235
+ 4. Consolidate duplicate component variants before introducing new ones
236
+ 5. Prefer targeted upgrades over full rewrites unless the user asks for a redesign