spirewise 1.7.1 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -15
- package/bin/cli.js +65 -37
- package/install.sh +3 -3
- package/package.json +2 -4
- package/skills/README.md +0 -1
- package/skills/ai-agent-os-design-system/README.md +105 -0
- package/skills/ai-agent-os-design-system/SKILL.md +195 -0
- package/skills/ai-agent-os-design-system/accessibility-system.md +67 -0
- package/skills/ai-agent-os-design-system/color-system.md +102 -0
- package/skills/ai-agent-os-design-system/component-library.md +147 -0
- package/skills/ai-agent-os-design-system/design-principles.md +79 -0
- package/skills/ai-agent-os-design-system/example-page-structures.md +93 -0
- package/skills/ai-agent-os-design-system/layout-system.md +74 -0
- package/skills/ai-agent-os-design-system/motion-system.md +85 -0
- package/skills/ai-agent-os-design-system/spacing-system.md +87 -0
- package/skills/ai-agent-os-design-system/typography-system.md +91 -0
- package/skills/ai-agent-os-design-system/website-generation-rules.md +192 -0
- package/skills/ai-dark-futuristic-design-system/README.md +91 -0
- package/skills/ai-dark-futuristic-design-system/SKILL.md +179 -0
- package/skills/ai-dark-futuristic-design-system/accessibility-system.md +61 -0
- package/skills/ai-dark-futuristic-design-system/color-system.md +99 -0
- package/skills/ai-dark-futuristic-design-system/component-library.md +140 -0
- package/skills/ai-dark-futuristic-design-system/design-principles.md +66 -0
- package/skills/ai-dark-futuristic-design-system/example-page-structures.md +124 -0
- package/skills/ai-dark-futuristic-design-system/layout-system.md +85 -0
- package/skills/ai-dark-futuristic-design-system/motion-system.md +76 -0
- package/skills/ai-dark-futuristic-design-system/spacing-system.md +73 -0
- package/skills/ai-dark-futuristic-design-system/typography-system.md +89 -0
- package/skills/ai-dark-futuristic-design-system/website-generation-rules.md +220 -0
- package/skills/apple-premium-minimal-design-system/README.md +95 -0
- package/skills/apple-premium-minimal-design-system/SKILL.md +166 -0
- package/skills/apple-premium-minimal-design-system/accessibility-system.md +60 -0
- package/skills/apple-premium-minimal-design-system/color-system.md +100 -0
- package/skills/apple-premium-minimal-design-system/component-library.md +136 -0
- package/skills/apple-premium-minimal-design-system/design-principles.md +65 -0
- package/skills/apple-premium-minimal-design-system/example-page-structures.md +90 -0
- package/skills/apple-premium-minimal-design-system/layout-system.md +89 -0
- package/skills/apple-premium-minimal-design-system/motion-system.md +75 -0
- package/skills/apple-premium-minimal-design-system/spacing-system.md +73 -0
- package/skills/apple-premium-minimal-design-system/typography-system.md +86 -0
- package/skills/apple-premium-minimal-design-system/website-generation-rules.md +207 -0
- package/skills/bento-grid-design-system/README.md +97 -0
- package/skills/bento-grid-design-system/SKILL.md +185 -0
- package/skills/bento-grid-design-system/accessibility-system.md +54 -0
- package/skills/bento-grid-design-system/color-system.md +98 -0
- package/skills/bento-grid-design-system/component-library.md +138 -0
- package/skills/bento-grid-design-system/design-principles.md +72 -0
- package/skills/bento-grid-design-system/example-page-structures.md +91 -0
- package/skills/bento-grid-design-system/layout-system.md +93 -0
- package/skills/bento-grid-design-system/motion-system.md +81 -0
- package/skills/bento-grid-design-system/spacing-system.md +77 -0
- package/skills/bento-grid-design-system/typography-system.md +85 -0
- package/skills/bento-grid-design-system/website-generation-rules.md +193 -0
- package/skills/brutalist-tech-design-system/README.md +100 -0
- package/skills/brutalist-tech-design-system/SKILL.md +185 -0
- package/skills/brutalist-tech-design-system/accessibility-system.md +61 -0
- package/skills/brutalist-tech-design-system/color-system.md +101 -0
- package/skills/brutalist-tech-design-system/component-library.md +117 -0
- package/skills/brutalist-tech-design-system/design-principles.md +73 -0
- package/skills/brutalist-tech-design-system/example-page-structures.md +92 -0
- package/skills/brutalist-tech-design-system/layout-system.md +74 -0
- package/skills/brutalist-tech-design-system/motion-system.md +80 -0
- package/skills/brutalist-tech-design-system/spacing-system.md +86 -0
- package/skills/brutalist-tech-design-system/typography-system.md +94 -0
- package/skills/brutalist-tech-design-system/website-generation-rules.md +195 -0
- package/skills/crunchbase-profile-generator/README.md +64 -0
- package/skills/crunchbase-profile-generator/SKILL.md +189 -0
- package/skills/editorial-luxury-design-system/README.md +98 -0
- package/skills/editorial-luxury-design-system/SKILL.md +187 -0
- package/skills/editorial-luxury-design-system/accessibility-system.md +63 -0
- package/skills/editorial-luxury-design-system/color-system.md +95 -0
- package/skills/editorial-luxury-design-system/component-library.md +131 -0
- package/skills/editorial-luxury-design-system/design-principles.md +77 -0
- package/skills/editorial-luxury-design-system/example-page-structures.md +94 -0
- package/skills/editorial-luxury-design-system/layout-system.md +80 -0
- package/skills/editorial-luxury-design-system/motion-system.md +82 -0
- package/skills/editorial-luxury-design-system/spacing-system.md +77 -0
- package/skills/editorial-luxury-design-system/typography-system.md +107 -0
- package/skills/editorial-luxury-design-system/website-generation-rules.md +194 -0
- package/skills/enterprise-data-viz-design-system/README.md +98 -0
- package/skills/enterprise-data-viz-design-system/SKILL.md +195 -0
- package/skills/enterprise-data-viz-design-system/accessibility-system.md +68 -0
- package/skills/enterprise-data-viz-design-system/color-system.md +112 -0
- package/skills/enterprise-data-viz-design-system/component-library.md +142 -0
- package/skills/enterprise-data-viz-design-system/design-principles.md +75 -0
- package/skills/enterprise-data-viz-design-system/example-page-structures.md +89 -0
- package/skills/enterprise-data-viz-design-system/layout-system.md +75 -0
- package/skills/enterprise-data-viz-design-system/motion-system.md +86 -0
- package/skills/enterprise-data-viz-design-system/spacing-system.md +85 -0
- package/skills/enterprise-data-viz-design-system/typography-system.md +100 -0
- package/skills/enterprise-data-viz-design-system/website-generation-rules.md +196 -0
- package/skills/f6s-copywriting/README.md +16 -6
- package/skills/f6s-copywriting/SKILL.md +162 -46
- package/skills/glassmorphism-design-system/README.md +98 -0
- package/skills/glassmorphism-design-system/SKILL.md +190 -0
- package/skills/glassmorphism-design-system/accessibility-system.md +62 -0
- package/skills/glassmorphism-design-system/color-system.md +128 -0
- package/skills/glassmorphism-design-system/component-library.md +120 -0
- package/skills/glassmorphism-design-system/design-principles.md +77 -0
- package/skills/glassmorphism-design-system/example-page-structures.md +92 -0
- package/skills/glassmorphism-design-system/layout-system.md +81 -0
- package/skills/glassmorphism-design-system/motion-system.md +86 -0
- package/skills/glassmorphism-design-system/spacing-system.md +73 -0
- package/skills/glassmorphism-design-system/typography-system.md +90 -0
- package/skills/glassmorphism-design-system/website-generation-rules.md +195 -0
- package/skills/linkedin-copywriting/README.md +15 -8
- package/skills/linkedin-copywriting/SKILL.md +129 -51
- package/skills/motion-storytelling-design-system/README.md +100 -0
- package/skills/motion-storytelling-design-system/SKILL.md +191 -0
- package/skills/motion-storytelling-design-system/accessibility-system.md +71 -0
- package/skills/motion-storytelling-design-system/color-system.md +101 -0
- package/skills/motion-storytelling-design-system/component-library.md +122 -0
- package/skills/motion-storytelling-design-system/design-principles.md +81 -0
- package/skills/motion-storytelling-design-system/example-page-structures.md +91 -0
- package/skills/motion-storytelling-design-system/layout-system.md +79 -0
- package/skills/motion-storytelling-design-system/motion-system.md +116 -0
- package/skills/motion-storytelling-design-system/spacing-system.md +83 -0
- package/skills/motion-storytelling-design-system/typography-system.md +89 -0
- package/skills/motion-storytelling-design-system/website-generation-rules.md +200 -0
- package/skills/nvidia-inception-idea-booster/README.md +43 -24
- package/skills/nvidia-inception-idea-booster/SKILL.md +260 -116
- package/skills/nvidia-inception-starter/README.md +6 -5
- package/skills/nvidia-inception-starter/SKILL.md +80 -43
- package/skills/nvidia-product-inventor/README.md +44 -40
- package/skills/nvidia-product-inventor/SKILL.md +265 -247
- package/skills/nvidia-startup-idea-founder/README.md +66 -26
- package/skills/nvidia-startup-idea-founder/SKILL.md +245 -189
- package/skills/product-demo-first-design-system/README.md +96 -0
- package/skills/product-demo-first-design-system/SKILL.md +185 -0
- package/skills/product-demo-first-design-system/accessibility-system.md +58 -0
- package/skills/product-demo-first-design-system/color-system.md +109 -0
- package/skills/product-demo-first-design-system/component-library.md +142 -0
- package/skills/product-demo-first-design-system/design-principles.md +66 -0
- package/skills/product-demo-first-design-system/example-page-structures.md +95 -0
- package/skills/product-demo-first-design-system/layout-system.md +76 -0
- package/skills/product-demo-first-design-system/motion-system.md +82 -0
- package/skills/product-demo-first-design-system/spacing-system.md +74 -0
- package/skills/product-demo-first-design-system/typography-system.md +87 -0
- package/skills/product-demo-first-design-system/website-generation-rules.md +194 -0
- package/skills/website-design-skills/01-proof/README.md +0 -47
- package/skills/website-design-skills/01-proof/SKILL.md +0 -303
- package/skills/website-design-skills/02-kajabi/README.md +0 -42
- package/skills/website-design-skills/02-kajabi/SKILL.md +0 -272
- package/skills/website-design-skills/03-lattice/README.md +0 -42
- package/skills/website-design-skills/03-lattice/SKILL.md +0 -271
- package/skills/website-design-skills/04-petal/README.md +0 -42
- package/skills/website-design-skills/04-petal/SKILL.md +0 -271
- package/skills/website-design-skills/05-dropbox-sign/README.md +0 -42
- package/skills/website-design-skills/05-dropbox-sign/SKILL.md +0 -271
- package/skills/website-design-skills/06-distributional/README.md +0 -42
- package/skills/website-design-skills/06-distributional/SKILL.md +0 -271
- package/skills/website-design-skills/07-appcues/README.md +0 -42
- package/skills/website-design-skills/07-appcues/SKILL.md +0 -271
- package/skills/website-design-skills/08-memberstack/README.md +0 -42
- package/skills/website-design-skills/08-memberstack/SKILL.md +0 -271
- package/skills/website-design-skills/09-flank/README.md +0 -42
- package/skills/website-design-skills/09-flank/SKILL.md +0 -275
- package/skills/website-design-skills/10-slidebean/README.md +0 -42
- package/skills/website-design-skills/10-slidebean/SKILL.md +0 -275
- package/skills/website-design-skills/11-formstack/README.md +0 -42
- package/skills/website-design-skills/11-formstack/SKILL.md +0 -275
- package/skills/website-design-skills/12-thalamus/README.md +0 -42
- package/skills/website-design-skills/12-thalamus/SKILL.md +0 -275
- package/skills/website-design-skills/13-grow/README.md +0 -42
- package/skills/website-design-skills/13-grow/SKILL.md +0 -275
- package/skills/website-design-skills/14-gemnote/README.md +0 -42
- package/skills/website-design-skills/14-gemnote/SKILL.md +0 -275
- package/skills/website-design-skills/15-draftbit/README.md +0 -42
- package/skills/website-design-skills/15-draftbit/SKILL.md +0 -275
- package/skills/website-design-skills/16-payman/README.md +0 -42
- package/skills/website-design-skills/16-payman/SKILL.md +0 -273
- package/skills/website-design-skills/17-effortel/README.md +0 -42
- package/skills/website-design-skills/17-effortel/SKILL.md +0 -272
- package/skills/website-design-skills/18-adopt/README.md +0 -42
- package/skills/website-design-skills/18-adopt/SKILL.md +0 -273
- package/skills/website-design-skills/19-kraftful/README.md +0 -42
- package/skills/website-design-skills/19-kraftful/SKILL.md +0 -273
- package/skills/website-design-skills/20-greenhouse/README.md +0 -42
- package/skills/website-design-skills/20-greenhouse/SKILL.md +0 -273
- package/skills/website-design-skills/21-weavy/README.md +0 -42
- package/skills/website-design-skills/21-weavy/SKILL.md +0 -273
- package/skills/website-design-skills/22-safetykit/README.md +0 -42
- package/skills/website-design-skills/22-safetykit/SKILL.md +0 -273
- package/skills/website-design-skills/23-modulify/README.md +0 -42
- package/skills/website-design-skills/23-modulify/SKILL.md +0 -270
- package/skills/website-design-skills/24-realm/README.md +0 -42
- package/skills/website-design-skills/24-realm/SKILL.md +0 -270
- package/skills/website-design-skills/25-modyfi/README.md +0 -42
- package/skills/website-design-skills/25-modyfi/SKILL.md +0 -269
- package/skills/website-design-skills/26-altitude/README.md +0 -42
- package/skills/website-design-skills/26-altitude/SKILL.md +0 -270
- package/skills/website-design-skills/27-way/README.md +0 -42
- package/skills/website-design-skills/27-way/SKILL.md +0 -270
- package/skills/website-design-skills/28-zentail/README.md +0 -42
- package/skills/website-design-skills/28-zentail/SKILL.md +0 -270
- package/skills/website-design-skills/29-zams/README.md +0 -42
- package/skills/website-design-skills/29-zams/SKILL.md +0 -270
- package/skills/website-design-skills/30-user-interviews/README.md +0 -44
- package/skills/website-design-skills/30-user-interviews/SKILL.md +0 -273
- package/skills/website-design-skills/31-bland/README.md +0 -44
- package/skills/website-design-skills/31-bland/SKILL.md +0 -273
- package/skills/website-design-skills/32-nauto/README.md +0 -44
- package/skills/website-design-skills/32-nauto/SKILL.md +0 -273
- package/skills/website-design-skills/33-bill/README.md +0 -44
- package/skills/website-design-skills/33-bill/SKILL.md +0 -273
- package/skills/website-design-skills/34-localyzer/README.md +0 -44
- package/skills/website-design-skills/34-localyzer/SKILL.md +0 -273
- package/skills/website-design-skills/35-jasper/README.md +0 -44
- package/skills/website-design-skills/35-jasper/SKILL.md +0 -273
- package/skills/website-design-skills/README.md +0 -108
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Spacing System — Bento Grid
|
|
2
|
+
|
|
3
|
+
A strict **4-point base / 8-point rhythm**, tuned for tiles: consistent **grid gaps**,
|
|
4
|
+
comfortable **tile padding**, and generous section spacing. The gaps + tile surfaces do
|
|
5
|
+
the separating — never borders.
|
|
6
|
+
|
|
7
|
+
## Scale tokens
|
|
8
|
+
|
|
9
|
+
```css
|
|
10
|
+
:root {
|
|
11
|
+
/* 4-pt base, 8-pt rhythm */
|
|
12
|
+
--space-0: 0; --space-1: 4px; --space-2: 8px; --space-3: 12px;
|
|
13
|
+
--space-4: 16px; --space-5: 20px; --space-6: 24px; --space-8: 32px;
|
|
14
|
+
--space-10: 40px; --space-12: 48px; --space-16: 64px; --space-20: 80px;
|
|
15
|
+
--space-24: 96px; --space-28: 112px;--space-32: 128px;--space-40: 160px;
|
|
16
|
+
|
|
17
|
+
/* Radii — tiles use large, soft corners (Apple bento) */
|
|
18
|
+
--radius-sm: 10px; --radius-md: 14px; --radius-lg: 18px;
|
|
19
|
+
--radius-xl: 22px; --radius-2xl: 28px; --radius-tile: 22px; --radius-pill: 999px;
|
|
20
|
+
|
|
21
|
+
/* Containers */
|
|
22
|
+
--container-sm: 680px; --container-md: 840px; --container-lg: 1080px;
|
|
23
|
+
--container-xl: 1200px; --container-2xl: 1320px; /* wide bento showcases */
|
|
24
|
+
--gutter: clamp(20px, 5vw, 48px);
|
|
25
|
+
|
|
26
|
+
/* Bento grid */
|
|
27
|
+
--bento-gap: clamp(12px, 1.4vw, 20px); /* gap between tiles */
|
|
28
|
+
--bento-row: clamp(150px, 18vw, 210px); /* base auto-row height for spans */
|
|
29
|
+
--tile-pad: clamp(20px, 2.4vw, 32px); /* padding inside a tile */
|
|
30
|
+
|
|
31
|
+
/* Section rhythm (fluid) */
|
|
32
|
+
--section-y: clamp(64px, 8vw, 128px);
|
|
33
|
+
--section-y-lg: clamp(96px, 12vw, 184px); /* hero / major sections */
|
|
34
|
+
--stack: clamp(14px, 1.6vw, 20px); /* gap between elements inside a tile */
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Usage map
|
|
39
|
+
|
|
40
|
+
- **4-pt system** (`--space-1..6`): inside tiles — icon↔label, meta gaps, badge/button
|
|
41
|
+
padding, list-item gaps. Tile internal rhythm uses `--stack`.
|
|
42
|
+
- **8-pt system** (`--space-8..16`): tile padding (`--tile-pad`), gaps between grids and
|
|
43
|
+
copy, form rows.
|
|
44
|
+
- **Bento gap** (`--bento-gap`): the single gap value between all tiles in a grid — keep
|
|
45
|
+
it consistent so the mosaic reads as one set (12–20px).
|
|
46
|
+
- **Tile padding** (`--tile-pad`): comfortable interior padding; large tiles can use a
|
|
47
|
+
touch more. Don't crowd tile content to the edges.
|
|
48
|
+
- **Container widths:** standard sections `--container-lg/xl`; wide bento showcases
|
|
49
|
+
`--container-2xl`; prose/docs `--container-md`.
|
|
50
|
+
- **Section spacing:** `padding-block: var(--section-y)`; hero + major bentos use
|
|
51
|
+
`--section-y-lg`.
|
|
52
|
+
- **Page spacing:** sections stack with no extra margins and **no borders/dividers** —
|
|
53
|
+
`--section-y` padding + alternating panels + tile surfaces separate them.
|
|
54
|
+
|
|
55
|
+
## Rules
|
|
56
|
+
|
|
57
|
+
1. **Only use scale values.** No arbitrary `13px`/`27px`.
|
|
58
|
+
2. **One gap per grid.** Use `--bento-gap` consistently; don't vary gaps within a grid.
|
|
59
|
+
3. **Consistent tile radius/padding.** All tiles share `--radius-tile` + `--tile-pad`
|
|
60
|
+
so the bento reads as a cohesive set.
|
|
61
|
+
4. **Span heights from `--bento-row`.** Row-spanning tiles are multiples of the base row
|
|
62
|
+
+ gaps (see layout-system) — keeps tile proportions tidy.
|
|
63
|
+
5. **Whitespace + gaps > dividers.** Separate sections with space/panels, ideas with gaps.
|
|
64
|
+
|
|
65
|
+
## Helpers
|
|
66
|
+
|
|
67
|
+
```css
|
|
68
|
+
.container { width:100%; max-width: var(--container-xl);
|
|
69
|
+
margin-inline:auto; padding-inline: var(--gutter); }
|
|
70
|
+
.container--wide { max-width: var(--container-2xl); }
|
|
71
|
+
.container--narrow { max-width: var(--container-md); }
|
|
72
|
+
.section { padding-block: var(--section-y); border: 0; } /* never a section border */
|
|
73
|
+
.section--hero { padding-block: var(--section-y-lg); }
|
|
74
|
+
.section--muted { background: var(--bg-muted); } /* alternate panel, not a line */
|
|
75
|
+
.tile { padding: var(--tile-pad); border-radius: var(--radius-tile); }
|
|
76
|
+
.tile .stack > * + * { margin-top: var(--stack); }
|
|
77
|
+
```
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Typography System — Bento Grid
|
|
2
|
+
|
|
3
|
+
Modern grotesk type that reads cleanly **inside tiles** — confident headlines for anchor
|
|
4
|
+
tiles, compact legible text for small tiles, optional mono for code tiles. Fluid scale
|
|
5
|
+
across breakpoints; tile titles scale a little with tile span.
|
|
6
|
+
|
|
7
|
+
## Fonts
|
|
8
|
+
|
|
9
|
+
```css
|
|
10
|
+
:root {
|
|
11
|
+
--font-sans: "Inter", "Geist", "Satoshi", -apple-system, BlinkMacSystemFont,
|
|
12
|
+
"Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
|
13
|
+
--font-display: var(--font-sans); /* or "Geist"/"Satoshi" for tighter display */
|
|
14
|
+
--font-mono: "Geist Mono", "JetBrains Mono", "SF Mono", ui-monospace, Menlo, monospace;
|
|
15
|
+
}
|
|
16
|
+
```
|
|
17
|
+
Use mono inside code/terminal tiles and for small numeric/metric labels for character.
|
|
18
|
+
|
|
19
|
+
## Fluid type scale (clamp)
|
|
20
|
+
|
|
21
|
+
```css
|
|
22
|
+
:root {
|
|
23
|
+
--fs-display: clamp(2.5rem, 1.5rem + 4.8vw, 4.5rem); /* 40 → 72px hero */
|
|
24
|
+
--fs-h1: clamp(2.125rem, 1.5rem + 2.8vw, 3.25rem); /* 34 → 52px */
|
|
25
|
+
--fs-h2: clamp(1.625rem, 1.25rem + 1.8vw, 2.375rem);/* 26 → 38px section title */
|
|
26
|
+
--fs-tile-xl: clamp(1.5rem, 1.2rem + 1.4vw, 2rem); /* 24 → 32px anchor-tile title */
|
|
27
|
+
--fs-tile: clamp(1.125rem, 1.02rem + 0.5vw, 1.375rem);/* 18 → 22px tile title */
|
|
28
|
+
--fs-h4: clamp(1.0625rem, 1rem + 0.4vw, 1.25rem); /* 17 → 20px */
|
|
29
|
+
--fs-lead: clamp(1.0625rem, 1rem + 0.5vw, 1.3125rem);/* 17 → 21px subhead */
|
|
30
|
+
--fs-body: 1rem; /* 16px base */
|
|
31
|
+
--fs-body-sm: 0.9375rem; /* 15px tile body */
|
|
32
|
+
--fs-small: 0.875rem; /* 14px caption/meta */
|
|
33
|
+
--fs-micro: 0.75rem; /* 12px labels/eyebrow */
|
|
34
|
+
}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Roles (each: size · weight · line-height · tracking)
|
|
38
|
+
|
|
39
|
+
| Role | Size | Weight | Line-height | Tracking | Color |
|
|
40
|
+
|---|---|---|---|---|---|
|
|
41
|
+
| **Display** (hero) | `--fs-display` | 600–700 | 1.05 | -0.02em | `--text-primary` (or `--grad-text` on 1 word) |
|
|
42
|
+
| **H1** | `--fs-h1` | 600–700 | 1.08 | -0.02em | `--text-primary` |
|
|
43
|
+
| **H2** (section title) | `--fs-h2` | 600 | 1.12 | -0.015em | `--text-primary` |
|
|
44
|
+
| **Anchor tile title** | `--fs-tile-xl` | 600 | 1.15 | -0.01em | `--text-primary`/`--text-on-dark` |
|
|
45
|
+
| **Tile title** | `--fs-tile` | 600 | 1.25 | -0.005em | `--text-primary` |
|
|
46
|
+
| **Eyebrow / label** | `--fs-micro` | 600 | 1.2 | 0.07em, UPPERCASE | `--accent`/`--text-muted` |
|
|
47
|
+
| **Lead / subhead** | `--fs-lead` | 400 | 1.5 | 0 | `--text-secondary` |
|
|
48
|
+
| **Tile body** | `--fs-body-sm`/`--fs-body` | 400 | 1.55 | 0 | `--text-secondary` |
|
|
49
|
+
| **Caption / meta** | `--fs-small` | 400–500 | 1.45 | 0 | `--text-muted` |
|
|
50
|
+
| **Metric (stat tile)** | `clamp(2rem,1.6rem+2vw,3rem)` | 700 | 1 | -0.02em | `--text-primary` |
|
|
51
|
+
| **Button** | `--fs-body` (`0.9375rem` compact) | 600 | 1 | -0.005em | `--text-on-accent`/`--text-primary` |
|
|
52
|
+
| **Navigation** | `--fs-small`/`--fs-body` | 500 | 1 | 0 | `--text-secondary` → `--text-primary` |
|
|
53
|
+
| **Pricing amount** | `clamp(2.25rem,1.8rem+2vw,3.25rem)` | 700 | 1 | -0.02em | `--text-primary` |
|
|
54
|
+
| **Code (code tile)** | `--fs-small` | 400–500 | 1.6 | 0 | mono, `--text-on-dark` |
|
|
55
|
+
|
|
56
|
+
## Rules
|
|
57
|
+
|
|
58
|
+
1. **Scale tile titles to span.** Anchor/large tiles use `--fs-tile-xl`; standard tiles
|
|
59
|
+
`--fs-tile`. Keeps the grid hierarchy legible.
|
|
60
|
+
2. **Compact body in small tiles.** Use `--fs-body-sm` and short copy so 1×1 tiles don't
|
|
61
|
+
overflow; one idea per tile.
|
|
62
|
+
3. **Tighten as it grows;** body ~1.55–1.6, 0 tracking. Tile body measure ≤ 48ch.
|
|
63
|
+
4. **Weights:** body 400, UI/tile titles 600, hero 600–700.
|
|
64
|
+
5. **One display moment per page** (the hero). Don't oversize every tile title.
|
|
65
|
+
6. **Eyebrows** label sections above H2s; small overlines can label tiles.
|
|
66
|
+
7. **Metrics** use `font-variant-numeric: tabular-nums`; mono adds character in stat/code tiles.
|
|
67
|
+
|
|
68
|
+
## Base CSS
|
|
69
|
+
|
|
70
|
+
```css
|
|
71
|
+
body { font-family: var(--font-sans); font-size: var(--fs-body);
|
|
72
|
+
line-height: 1.6; color: var(--text-secondary);
|
|
73
|
+
-webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
|
|
74
|
+
h1,h2 { color: var(--text-primary); font-family: var(--font-display);
|
|
75
|
+
font-weight: 600; text-wrap: balance; letter-spacing: -0.02em; }
|
|
76
|
+
h1 { font-size: var(--fs-h1); line-height: 1.08; }
|
|
77
|
+
.eyebrow { font-size: var(--fs-micro); font-weight:600; letter-spacing:.07em;
|
|
78
|
+
text-transform:uppercase; color: var(--accent); }
|
|
79
|
+
.tile__title { font-size: var(--fs-tile); font-weight:600; color: var(--text-primary);
|
|
80
|
+
letter-spacing:-0.005em; }
|
|
81
|
+
.tile--xl .tile__title { font-size: var(--fs-tile-xl); }
|
|
82
|
+
.lead { font-size: var(--fs-lead); color: var(--text-secondary); max-width: 60ch; }
|
|
83
|
+
a { color: var(--accent); text-underline-offset: 2px; }
|
|
84
|
+
code, pre { font-family: var(--font-mono); }
|
|
85
|
+
```
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
# Website Generation Rules — Bento Grid
|
|
2
|
+
|
|
3
|
+
How an agent turns this design system into a **production-ready, multi-page, bento-grid
|
|
4
|
+
website**. Output clean, semantic **pure HTML + CSS + vanilla JavaScript** plus design
|
|
5
|
+
tokens. The signature: **most sections are bento grids** (CSS Grid — no masonry library).
|
|
6
|
+
(The token/spec system can be exported for other agents — see below — but the generated
|
|
7
|
+
website itself is always pure vanilla.)
|
|
8
|
+
|
|
9
|
+
## Technology stack (MANDATORY — no frameworks, no libraries)
|
|
10
|
+
|
|
11
|
+
Build everything — including the bento grid and tile interactions — with **HTML5 + CSS3 +
|
|
12
|
+
vanilla JavaScript only**. The generated site must contain **zero** of:
|
|
13
|
+
|
|
14
|
+
> ❌ React · ❌ Vue · ❌ Angular · ❌ Svelte/Next/Nuxt · ❌ Bootstrap · ❌ Tailwind ·
|
|
15
|
+
> ❌ jQuery · ❌ any UI library · ❌ any CSS framework · ❌ any JS masonry/animation library
|
|
16
|
+
|
|
17
|
+
No build step, no npm dependencies, no CDN component kits. The bento is **CSS Grid**
|
|
18
|
+
(`grid-template-columns` + spans + `grid-auto-flow: dense`); reveals/spotlight/hover are
|
|
19
|
+
native CSS + `IntersectionObserver`/`pointermove`. Exporting `tokens.json` for other
|
|
20
|
+
agents is allowed; shipping the site in a framework is not.
|
|
21
|
+
|
|
22
|
+
## Mandatory scale & structure (read first)
|
|
23
|
+
- **Multipage: build 15+ pages (recommended ~20)** — a full site map, not one page.
|
|
24
|
+
- **Every page has at least 10 sections (recommend 12)**; **most are bento grids**, each
|
|
25
|
+
with **one anchor tile + varied-span supporting tiles** (no monotonous uniform grids,
|
|
26
|
+
no empty/filler tiles).
|
|
27
|
+
- **No borders or dividers between sections** — separate with `--section-y` spacing,
|
|
28
|
+
alternating panels (`--bg-canvas`/`--bg-muted`/white), and tile surfaces. In CSS:
|
|
29
|
+
`.section { border: 0 }`; never `<hr>`/divider or `border-top/bottom` between sections.
|
|
30
|
+
(Tiles have their own surface/hairline — that's a tile, not a section divider.)
|
|
31
|
+
- **Clean, extensionless, Vercel-ready URLs** (`/pricing`, not `/pricing.html`).
|
|
32
|
+
|
|
33
|
+
## Required pages (build all — 15+; ~20 recommended)
|
|
34
|
+
Home `/` · Platform `/platform` · Solutions `/solutions` · Products `/products` ·
|
|
35
|
+
Features `/features` · AI Agents `/ai-agents` · Enterprise `/enterprise` · Security
|
|
36
|
+
`/security` · Pricing `/pricing` · Customers `/customers` · Case Studies `/case-studies`
|
|
37
|
+
· Developers `/developers` · Documentation `/docs` · About `/about` · Careers `/careers`
|
|
38
|
+
· Blog `/blog` · Contact `/contact` · Partners `/partners` · Resources `/resources` ·
|
|
39
|
+
FAQ `/faq`. Add product/solution/blog/doc subpages freely.
|
|
40
|
+
|
|
41
|
+
## Required sections (every page — ≥10, recommend 12)
|
|
42
|
+
Hero (Hero bento) · Feature Sections (capabilities bento) · Product Highlights · Trust
|
|
43
|
+
Signals (logos) · Testimonials · Use Cases · Statistics (stat bento) · Integrations · CTA
|
|
44
|
+
(CTA tile) · Footer. Add more (Security, Enterprise, Code/Terminal tiles, FAQ) to reach 12.
|
|
45
|
+
|
|
46
|
+
## Site types this must support
|
|
47
|
+
Landing pages · startup websites · AI company websites · enterprise SaaS · developer
|
|
48
|
+
platforms · agentic-AI startups · infrastructure startups. (See `example-page-structures.md`.)
|
|
49
|
+
|
|
50
|
+
## What to generate
|
|
51
|
+
- **HTML** — semantic, accessible, one file per page; sections as bento grids of tiles.
|
|
52
|
+
- **CSS** — `tokens.css` (`:root` vars) + `styles.css` (base + bento engine + components).
|
|
53
|
+
- **JavaScript** — vanilla: nav/dropdown, staggered bento reveal, optional tile spotlight,
|
|
54
|
+
accordion, tabs, toggle, copy, count-up. Usable without JS.
|
|
55
|
+
- **`vercel.json`** + **`sitemap.xml`** + **`robots.txt`**.
|
|
56
|
+
- **Design tokens** — `tokens.json` (machine-readable; token export only).
|
|
57
|
+
- **Component specifications** — when asked for the *system*, emit component + tile markup
|
|
58
|
+
and the bento engine from `component-library.md`/`layout-system.md`.
|
|
59
|
+
- **Accessibility + responsive guidance** inline (comments) and honored.
|
|
60
|
+
|
|
61
|
+
## File/output layout (default — flat files + clean URLs)
|
|
62
|
+
```
|
|
63
|
+
website/
|
|
64
|
+
├── index.html # served at /
|
|
65
|
+
├── platform.html solutions.html products.html features.html ai-agents.html
|
|
66
|
+
├── enterprise.html security.html pricing.html customers.html case-studies.html
|
|
67
|
+
├── developers.html docs.html about.html careers.html blog.html contact.html
|
|
68
|
+
├── partners.html resources.html faq.html
|
|
69
|
+
├── css/ { tokens.css, styles.css }
|
|
70
|
+
├── js/ { main.js } # nav, bento reveal, spotlight, accordion, tabs, copy
|
|
71
|
+
├── assets/ # tile media, icons, og images
|
|
72
|
+
├── tokens.json
|
|
73
|
+
├── sitemap.xml robots.txt
|
|
74
|
+
└── vercel.json
|
|
75
|
+
```
|
|
76
|
+
Alternative: folder-per-page `platform/index.html`. Either way **all internal links are
|
|
77
|
+
extensionless** (`href="/pricing"`).
|
|
78
|
+
|
|
79
|
+
## Clean URLs & Vercel (MANDATORY)
|
|
80
|
+
- **No `.html` in any URL**, no `page.html` links, no ugly query params.
|
|
81
|
+
- Emit **`vercel.json`** so `.html` is stripped, refresh works, and deep links resolve:
|
|
82
|
+
```json
|
|
83
|
+
{
|
|
84
|
+
"cleanUrls": true,
|
|
85
|
+
"trailingSlash": false,
|
|
86
|
+
"headers": [
|
|
87
|
+
{ "source": "/assets/(.*)", "headers": [
|
|
88
|
+
{ "key": "Cache-Control", "value": "public, max-age=31536000, immutable" } ] }
|
|
89
|
+
]
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
`cleanUrls: true` serves `platform.html` at `/platform` and 301-redirects `.html`.
|
|
93
|
+
Provide a `404.html`. Every nav/footer/internal link is extensionless.
|
|
94
|
+
|
|
95
|
+
## Navigation system (vanilla JS)
|
|
96
|
+
- **Desktop nav** with **dropdown/mega-menus** (panels can be mini bentos of link tiles);
|
|
97
|
+
keyboard + `aria-expanded`/`aria-haspopup`.
|
|
98
|
+
- **Mobile nav**: full-screen overlay, accordion, focus-trap, ESC.
|
|
99
|
+
- **Multi-level nav** + **breadcrumbs** on deep pages; `aria-current="page"`.
|
|
100
|
+
|
|
101
|
+
## Hard rules
|
|
102
|
+
1. **Vanilla only** (bento is CSS Grid). No frameworks/libraries in the shipped site.
|
|
103
|
+
2. **Bento-led.** Most sections are bentos with **an anchor tile + varied spans**, one
|
|
104
|
+
idea per tile, mixed content types, **real content** (no empty/filler/monotonous grids).
|
|
105
|
+
3. **Tokens first, once.** All colors/type/spacing as `:root` vars; no scattered hex/px;
|
|
106
|
+
rebrand = change `--accent-*`.
|
|
107
|
+
4. **No section borders.** Separate with spacing + panels + tile surfaces. `.section{border:0}`.
|
|
108
|
+
5. **Mobile-first + responsive**; the bento reflows 6→4→2→1 columns (spanning tiles
|
|
109
|
+
collapse predictably); no 320px scroll; tiles stay usable on mobile.
|
|
110
|
+
6. **Semantic + accessible** per `accessibility-system.md` (real headings in tiles,
|
|
111
|
+
link-wrapped tiles, sensible DOM/reading order despite `dense`, focus, reduced motion).
|
|
112
|
+
7. **Components from the library** (+ tile variants). Every component/tile: responsive,
|
|
113
|
+
accessible, reusable, production-ready, animation-ready.
|
|
114
|
+
8. **Performance:** system/Inter fonts; lazy-load below-the-fold tile images
|
|
115
|
+
(`loading="lazy"`); animate transform/opacity only; minimal JS, no libraries; high
|
|
116
|
+
Lighthouse (90+).
|
|
117
|
+
9. **SEO on every page** (below): unique title/description, OG + Twitter, canonical,
|
|
118
|
+
JSON-LD, sitemap + robots.
|
|
119
|
+
10. **Real content, not lorem.** Specific copy/data in every tile. Mark guesses `[PLACEHOLDER]`.
|
|
120
|
+
11. **Self-verify** against anti-patterns + every companion checklist before done.
|
|
121
|
+
|
|
122
|
+
## SEO requirements (every page)
|
|
123
|
+
Unique `<title>` + meta description (150–160); **Open Graph** + **Twitter card**
|
|
124
|
+
(`summary_large_image`) + OG image; **canonical** (clean URL); **JSON-LD** (`Organization`
|
|
125
|
+
+ `WebSite` site-wide; `Product`, `FAQPage`, `BreadcrumbList`, `Article` where relevant);
|
|
126
|
+
**`sitemap.xml`** + **`robots.txt`**.
|
|
127
|
+
|
|
128
|
+
## Performance requirements
|
|
129
|
+
Fast first paint, minimal vanilla JS, optimized/centralized CSS, lazy tile media, cached
|
|
130
|
+
assets (via `vercel.json`), no blocking libraries — high Lighthouse.
|
|
131
|
+
|
|
132
|
+
## Boilerplate `<head>`
|
|
133
|
+
```html
|
|
134
|
+
<!doctype html><html lang="en"><head>
|
|
135
|
+
<meta charset="utf-8">
|
|
136
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
137
|
+
<meta name="color-scheme" content="light dark">
|
|
138
|
+
<title><!-- Page · Brand --></title>
|
|
139
|
+
<meta name="description" content="<!-- 150–160 chars -->">
|
|
140
|
+
<link rel="canonical" href="https://brand.com/path">
|
|
141
|
+
<meta property="og:type" content="website">
|
|
142
|
+
<meta property="og:title" content="<!-- Page · Brand -->">
|
|
143
|
+
<meta property="og:description" content="<!-- … -->">
|
|
144
|
+
<meta property="og:url" content="https://brand.com/path">
|
|
145
|
+
<meta property="og:image" content="https://brand.com/assets/og.png">
|
|
146
|
+
<meta name="twitter:card" content="summary_large_image">
|
|
147
|
+
<link rel="stylesheet" href="/css/tokens.css">
|
|
148
|
+
<link rel="stylesheet" href="/css/styles.css">
|
|
149
|
+
<script type="application/ld+json"><!-- Organization / WebSite JSON-LD --></script>
|
|
150
|
+
</head>
|
|
151
|
+
<body>
|
|
152
|
+
<a class="skip-link" href="#main">Skip to content</a>
|
|
153
|
+
<header><!-- Navbar (links extensionless: /platform, /pricing) --></header>
|
|
154
|
+
<main id="main"><!-- Hero bento + 10–12 sections (mostly bentos), no dividers --></main>
|
|
155
|
+
<footer><!-- Footer --></footer>
|
|
156
|
+
<script src="/js/main.js" defer></script>
|
|
157
|
+
</body></html>
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
## Required base CSS (no section borders; bento engine)
|
|
161
|
+
```css
|
|
162
|
+
html, body { background: var(--bg-canvas); color: var(--text-secondary); }
|
|
163
|
+
.section { padding-block: var(--section-y); border: 0; } /* no borders/dividers between sections */
|
|
164
|
+
.section--muted { background: var(--bg-muted); } /* alternate panels by COLOR, not lines */
|
|
165
|
+
.section + .section { border-top: 0; } /* explicitly: no rule between sections */
|
|
166
|
+
.bento { display:grid; grid-template-columns:repeat(6,1fr);
|
|
167
|
+
grid-auto-rows:var(--bento-row); gap:var(--bento-gap); grid-auto-flow:dense; }
|
|
168
|
+
/* Separation = whitespace (--section-y) + panel color + tile surfaces; never <hr>/dividers. */
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
## tokens.json shape (excerpt)
|
|
172
|
+
```json
|
|
173
|
+
{
|
|
174
|
+
"color": { "bg": {"canvas":"#f6f7f9","white":"#ffffff","muted":"#eef0f4"},
|
|
175
|
+
"tile": {"base":"#ffffff","alt":"#f3f5f8","dark":"#0e1116"},
|
|
176
|
+
"text": {"primary":"#0c0e14","secondary":"#3b4250","muted":"#6a7283"},
|
|
177
|
+
"accent": {"base":"#6d5efc","2":"#18b4c9"} },
|
|
178
|
+
"space": { "4":"16px","6":"24px","8":"32px","16":"64px" },
|
|
179
|
+
"radius": { "md":"14px","lg":"18px","tile":"22px","pill":"999px" },
|
|
180
|
+
"bento": { "gap":"clamp(12px,1.4vw,20px)", "row":"clamp(150px,18vw,210px)" },
|
|
181
|
+
"type": { "display":"clamp(2.5rem,1.5rem + 4.8vw,4.5rem)", "body":"1rem" }
|
|
182
|
+
}
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
## Definition of done
|
|
186
|
+
**15+ pages (≈20), each with ≥10 sections (≈12), most as bento grids (anchor tile +
|
|
187
|
+
varied spans, one idea per tile, real content), no borders/dividers between sections.**
|
|
188
|
+
Pure HTML/CSS/vanilla JS (no frameworks/libraries; bento is CSS Grid); clean extensionless
|
|
189
|
+
URLs with `vercel.json` (refresh + deep links work); desktop dropdown + mobile + breadcrumb
|
|
190
|
+
nav; per-page SEO + sitemap; tokens centralized; fully responsive (graceful bento reflow);
|
|
191
|
+
AA accessible (sensible reading order, link-tiles, focus); quiet tile motion with
|
|
192
|
+
reduced-motion fallback; high Lighthouse; zero anti-patterns; could sit next to Apple/
|
|
193
|
+
Linear/Raycast without looking out of place.
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# brutalist-tech-design-system
|
|
2
|
+
|
|
3
|
+
A world-class, **brutalist tech design system** for building raw, bold, high-contrast websites
|
|
4
|
+
— stark full-bleed **color blocks**, oversized **monospace/grotesk** type, exposed grids, thick
|
|
5
|
+
component borders, hard **offset shadows (no blur)**, and snappy mechanical motion. The honest,
|
|
6
|
+
structural "raw HTML turned up to 11" aesthetic — confident and memorable, built **accessibly**
|
|
7
|
+
(brutalism's high contrast is an a11y strength). Distilled from Gumroad, Vercel, brutalist
|
|
8
|
+
Awwwards winners, Read.cv, Bloomberg, Hatch, and modern AI sites (OpenAI, Anthropic, Perplexity,
|
|
9
|
+
Cursor, Replit) for structure.
|
|
10
|
+
|
|
11
|
+
It also ships a **production website-generation framework**: a multipage site (15+ pages, 10+
|
|
12
|
+
sections/page, **no borders/dividers between sections** — sections invert via color blocks) in
|
|
13
|
+
**pure HTML/CSS/vanilla JS** (no React/Vue/Tailwind/Bootstrap/jQuery/any library), with **clean
|
|
14
|
+
Vercel-ready URLs** (no `.html`), navigation, and full SEO.
|
|
15
|
+
|
|
16
|
+
> The full design intelligence is **baked into the companion files** (live research optional, to
|
|
17
|
+
> save tokens). Outputs a generated site/system into a `website/` folder. Sibling skills:
|
|
18
|
+
> `ai-dark-futuristic-design-system`, `apple-premium-minimal-design-system`,
|
|
19
|
+
> `product-demo-first-design-system`, `bento-grid-design-system`, `glassmorphism-design-system`,
|
|
20
|
+
> `editorial-luxury-design-system`, `motion-storytelling-design-system`, `enterprise-data-viz-design-system`.
|
|
21
|
+
|
|
22
|
+
## Install
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npx spirewise install -s brutalist-tech-design-system # pick agents + scope
|
|
26
|
+
npx spirewise install -s brutalist-tech-design-system -a claude,cursor -sc workspace
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Remove
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
npx spirewise remove -s brutalist-tech-design-system # pick agents + scope
|
|
33
|
+
npx spirewise remove -s brutalist-tech-design-system -a claude,cursor -sc both
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
(No Node? `./install.sh -s brutalist-tech-design-system` and `./install.sh remove -s brutalist-tech-design-system`.)
|
|
37
|
+
|
|
38
|
+
## Use
|
|
39
|
+
|
|
40
|
+
After installing, ask your agent:
|
|
41
|
+
|
|
42
|
+
> "Build a brutalist / neo-brutalist website for our product"
|
|
43
|
+
> "Raw blocks, bold monospace, thick borders, hard shadows — like Gumroad"
|
|
44
|
+
|
|
45
|
+
It reads the companion files, locks the tokens, blocks out the page (inverted color blocks +
|
|
46
|
+
exposed grid), composes the brutalist components (thick-border boxes, press buttons, marquees,
|
|
47
|
+
oversized type), applies snappy motion + accessibility, and emits **pure HTML + CSS + vanilla JS
|
|
48
|
+
+ tokens + `vercel.json` + `sitemap.xml`** into a `website/` folder.
|
|
49
|
+
|
|
50
|
+
## What's inside
|
|
51
|
+
|
|
52
|
+
| File | What it gives you |
|
|
53
|
+
|---|---|
|
|
54
|
+
| `SKILL.md` | Orchestrator: brutalist philosophy, mandates, workflow, output, checklist |
|
|
55
|
+
| `design-principles.md` | Raw/structural philosophy, brutalist devices, do/don'ts |
|
|
56
|
+
| `color-system.md` | Stark black/white + raw accent **blocks** + status (+ inverted dark) |
|
|
57
|
+
| `typography-system.md` | Mono + bold grotesk, oversized fluid scale, UPPERCASE roles |
|
|
58
|
+
| `spacing-system.md` | 4/8-pt scale, **thick-border + hard-shadow** tokens, blocky rhythm |
|
|
59
|
+
| `layout-system.md` | The **exposed grid** + canonical block layouts |
|
|
60
|
+
| `component-library.md` | 17 components as brutalist blocks (`.box`/`.btn` press) |
|
|
61
|
+
| `motion-system.md` | Snappy mechanical press/hover, marquees, stepped typewriter, reveals |
|
|
62
|
+
| `accessibility-system.md` | Contrast (incl. accent fills), thick focus, all-caps, reduced motion |
|
|
63
|
+
| `website-generation-rules.md` | Pure-vanilla build: pages, clean URLs + `vercel.json`, nav, SEO |
|
|
64
|
+
| `example-page-structures.md` | Brutalist block page blueprints per site type |
|
|
65
|
+
|
|
66
|
+
## The look
|
|
67
|
+
|
|
68
|
+
Raw paper-white (or inverted black) full-bleed blocks, **pure black** text + thick black
|
|
69
|
+
borders, **one loud accent** (default electric blue; yellow/red/lime/pink options), oversized
|
|
70
|
+
mono + bold grotesk type (often UPPERCASE), hard **offset shadows (no blur)**, exposed grid
|
|
71
|
+
lines, blocky buttons that **press**, and the occasional marquee. Confident, structural, flat —
|
|
72
|
+
never soft, gradient-y, or glassy.
|
|
73
|
+
|
|
74
|
+
## Components (17, brutalist)
|
|
75
|
+
|
|
76
|
+
Bordered Navbar · Block Hero · Bordered Feature Grid / Exposed Grid · Blocky Bento · Quote boxes
|
|
77
|
+
· Logo Marquee · Bordered Pricing · Bordered FAQ · Accent CTA block · Ink Footer · Bordered
|
|
78
|
+
Dashboard box · Numbered Agent Workflow · Code box · Terminal box · Stat boxes · Security tags ·
|
|
79
|
+
Enterprise block.
|
|
80
|
+
|
|
81
|
+
## Rules it enforces
|
|
82
|
+
|
|
83
|
+
- **Brutalist craft** — stark inverted color blocks; oversized mono/grotesk type; thick component
|
|
84
|
+
borders + **hard offset shadows (no blur)**; exposed grid; one loud accent; **flat** (no
|
|
85
|
+
gradients/glass/soft shadows/pillowy radii).
|
|
86
|
+
- **Multipage scale (mandatory)** — **15+ pages (≈20)**, **≥10 sections/page (≈12)**, and **no
|
|
87
|
+
borders/dividers between sections** — sections separate by **inverted full-bleed color blocks**,
|
|
88
|
+
not divider lines.
|
|
89
|
+
- **Pure vanilla stack** — HTML5 + CSS3 + vanilla JS only; **no React/Vue/Angular/Svelte/Bootstrap/
|
|
90
|
+
Tailwind/jQuery/any library**; no build step (raw HTML/CSS/JS is the brand).
|
|
91
|
+
- **Clean Vercel-ready URLs** — extensionless routes (`/pricing`), `vercel.json` (`cleanUrls`),
|
|
92
|
+
`sitemap.xml`, `robots.txt`; refresh + deep links work.
|
|
93
|
+
- **Full navigation + SEO** — blocky desktop nav/menu, mobile overlay, breadcrumbs; per-page
|
|
94
|
+
title/description, Open Graph, Twitter card, canonical, JSON-LD.
|
|
95
|
+
- **Accessible high contrast** — verify accent fills (yellow/lime → black text), **thick focus
|
|
96
|
+
that survives the press**, all-caps only for labels/headings, reduced motion (marquees/
|
|
97
|
+
typewriters stop), centralized tokens, mobile-first responsive. **Zero anti-patterns** — no
|
|
98
|
+
gradients/glass/soft shadows, no borders between sections, no template look, no libraries.
|
|
99
|
+
|
|
100
|
+
See `SKILL.md` for the full workflow and the companion files for every token and spec.
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: brutalist-tech-design-system
|
|
3
|
+
description: >-
|
|
4
|
+
A world-class, BRUTALIST TECH design system for building raw, bold, high-contrast
|
|
5
|
+
websites — stark black/white blocks, oversized monospace/grotesk type, exposed grids,
|
|
6
|
+
thick component borders, hard offset shadows (no blur), and snappy mechanical motion.
|
|
7
|
+
Distilled from neo-brutalist/raw references (Gumroad, Vercel, Figma community brutalist,
|
|
8
|
+
Bloomberg, Read.cv, Hatch, Awwwards brutalist winners) and modern AI sites (OpenAI,
|
|
9
|
+
Anthropic, Perplexity, Cursor, Replit) for structure. It gives coding/design/UI/
|
|
10
|
+
branding/website-generation agents a complete, reusable system: design philosophy,
|
|
11
|
+
a stark high-contrast color system, mono + grotesk typography, spacing, exposed grid,
|
|
12
|
+
a 17-component library re-cast as brutalist blocks, a motion system, accessibility, and
|
|
13
|
+
a production website-generation framework. The framework builds a multipage site (15+
|
|
14
|
+
pages, 10+ sections/page, NO borders/dividers between sections) in PURE HTML/CSS/vanilla
|
|
15
|
+
JS (no React/Vue/Tailwind/Bootstrap/jQuery/any library), with clean Vercel-ready URLs
|
|
16
|
+
(no `.html`), navigation, and full SEO. Use when the user asks for a "brutalist / neo-
|
|
17
|
+
brutalist / raw website", "bold monospace design", "high-contrast blocks", "make it like
|
|
18
|
+
Gumroad/brutalist web", or "a brutalist design system / tokens". The full system is baked
|
|
19
|
+
into the companion files (live research optional). Outputs a generated site/system into a
|
|
20
|
+
`website/` folder.
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Brutalist Tech Design System
|
|
24
|
+
|
|
25
|
+
A complete, agent-ready design system for **raw, bold, high-contrast "brutalist tech"
|
|
26
|
+
websites** — stark color blocks, oversized monospace/grotesk type, exposed grids, thick
|
|
27
|
+
component borders, hard **offset shadows (no blur)**, and snappy mechanical motion. The
|
|
28
|
+
honest, structural, "raw HTML turned up to 11" aesthetic — confident and memorable, but
|
|
29
|
+
built **accessibly** (brutalism's high contrast is an a11y strength when done right).
|
|
30
|
+
Distilled from Gumroad, Vercel, brutalist Awwwards winners, Read.cv, Bloomberg, Hatch, and
|
|
31
|
+
modern AI sites (OpenAI, Anthropic, Perplexity, Cursor, Replit) for structure.
|
|
32
|
+
|
|
33
|
+
This skill is the **single source of truth**. The detailed system lives in the companion
|
|
34
|
+
files in this folder — read the ones relevant to the task, then generate.
|
|
35
|
+
|
|
36
|
+
## The core idea — raw, structural, unapologetic
|
|
37
|
+
|
|
38
|
+
- **Stark blocks, not gradients.** The page is built from flat, full-bleed **color blocks**
|
|
39
|
+
(black, white, one loud accent) that invert against each other.
|
|
40
|
+
- **Type is loud.** Oversized **monospace** and **bold grotesk** headlines, often UPPERCASE,
|
|
41
|
+
tight, set big and confident. Type *is* the graphic.
|
|
42
|
+
- **Exposed structure.** A visible grid, hard edges, thick component borders, and hard
|
|
43
|
+
**offset shadows** (e.g., `6px 6px 0 #000`, never blurred) that show the construction.
|
|
44
|
+
- **Honest + functional.** No decorative gradients, no glassmorphism, no soft shadows. Form
|
|
45
|
+
follows function; the rawness is the style.
|
|
46
|
+
- **Memorable interaction.** Buttons "press" (translate + shadow collapse); hovers snap;
|
|
47
|
+
motion is mechanical, not silky.
|
|
48
|
+
|
|
49
|
+
## Hard structural requirements (MANDATORY — never skip)
|
|
50
|
+
|
|
51
|
+
These are non-negotiable and override any conflicting guidance elsewhere:
|
|
52
|
+
|
|
53
|
+
1. **Multipage — 15+ pages (≈20).** Always generate a **full multipage website with
|
|
54
|
+
more than 15 distinct pages** (not a single landing page) — a real site map.
|
|
55
|
+
2. **10+ sections per page (≈12).** Every page contains **at least 10 full sections**,
|
|
56
|
+
composed from the layout + component library.
|
|
57
|
+
3. **No borders/dividers between sections.** **Zero border widths, lines, rules, or
|
|
58
|
+
`<hr>` between sections.** Brutalism is heavy on borders — but those belong **inside
|
|
59
|
+
components** (cards, buttons, tables, blocks). Between **page sections**, separate with
|
|
60
|
+
**full-bleed inverted color blocks** (black → accent → white) + whitespace + type — never
|
|
61
|
+
a single border/divider line between two sections.
|
|
62
|
+
4. **Pure HTML + CSS + vanilla JS — no frameworks/libraries.** The generated site uses
|
|
63
|
+
**only HTML5, CSS3, and vanilla JavaScript**. No React/Vue/Angular/Svelte/Next, no
|
|
64
|
+
Bootstrap/Tailwind/any CSS framework, no jQuery/any UI or JS library, no build step.
|
|
65
|
+
(Exporting `tokens.json` for other agents is fine — that's data, not a framework.)
|
|
66
|
+
5. **Clean, Vercel-ready URLs.** All routes are **extensionless** (`/pricing`, not
|
|
67
|
+
`/pricing.html`); ship a `vercel.json` (`cleanUrls: true`) plus `sitemap.xml` /
|
|
68
|
+
`robots.txt` so production refresh and deep links work.
|
|
69
|
+
6. **Full navigation + SEO.** Desktop nav (a blocky dropdown/menu) + mobile menu +
|
|
70
|
+
breadcrumbs; per-page SEO (unique title/description, Open Graph, Twitter card, canonical,
|
|
71
|
+
JSON-LD). Every component: responsive, accessible, reusable, production-ready.
|
|
72
|
+
|
|
73
|
+
See `website-generation-rules.md` for the required page list, required sections, the
|
|
74
|
+
`vercel.json`, navigation, and SEO specifics. Enforce in code: between sections use color
|
|
75
|
+
blocks (`.section{border:0}`), and never place `<hr>`/divider elements between sections.
|
|
76
|
+
|
|
77
|
+
## When to use
|
|
78
|
+
|
|
79
|
+
Building or designing any landing page, marketing site, or product site that should feel
|
|
80
|
+
**raw, bold, brutalist / neo-brutalist** (Gumroad/Vercel-blocky/Awwwards-brutalist energy) —
|
|
81
|
+
for a confident product, AI startup, dev tool, or studio — or producing **design tokens / a
|
|
82
|
+
brutalist design system** for other agents.
|
|
83
|
+
|
|
84
|
+
## The companion files (read what you need)
|
|
85
|
+
|
|
86
|
+
| File | What it gives you |
|
|
87
|
+
|---|---|
|
|
88
|
+
| `design-principles.md` | The brutalist philosophy, hierarchy laws, restraint, do/don'ts |
|
|
89
|
+
| `color-system.md` | Stark black/white + raw accent blocks + status, as CSS variables |
|
|
90
|
+
| `typography-system.md` | Mono + bold grotesk, oversized fluid scale, uppercase roles |
|
|
91
|
+
| `spacing-system.md` | 4/8-pt scale, blocky rhythm, container widths, thick-border tokens |
|
|
92
|
+
| `layout-system.md` | The exposed grid + canonical block layouts |
|
|
93
|
+
| `component-library.md` | 17 components re-cast as brutalist blocks (hard borders/shadows) |
|
|
94
|
+
| `motion-system.md` | Snappy/mechanical hovers, press effects, marquees, reveals |
|
|
95
|
+
| `accessibility-system.md` | Contrast (a strength), focus, motion, semantics, keyboard |
|
|
96
|
+
| `website-generation-rules.md` | Pure-vanilla build: pages, clean URLs + `vercel.json`, nav, SEO |
|
|
97
|
+
| `example-page-structures.md` | Ready brutalist page blueprints |
|
|
98
|
+
|
|
99
|
+
All tokens use the same names across files, so they compose into one stylesheet.
|
|
100
|
+
|
|
101
|
+
## Phase 1 — Research is baked in (live analysis OPTIONAL)
|
|
102
|
+
|
|
103
|
+
The design intelligence extracted from the reference sites is **already encoded in the
|
|
104
|
+
companion files** — patterns, palettes, type, spacing, the exposed grid, components, motion.
|
|
105
|
+
**Do NOT re-scrape the references for the basics; use the baked-in system** (saves tokens).
|
|
106
|
+
Only browse live when the user wants a *current* look from a specific site, a brand-new
|
|
107
|
+
pattern not covered here, or to verify a font/feature.
|
|
108
|
+
|
|
109
|
+
What the baked-in system already captures (the Phase-1 extraction): design patterns, visual
|
|
110
|
+
hierarchy, typography/spacing/grid/layout systems, color + gradient systems, animation/
|
|
111
|
+
motion, navigation, CTA + hero patterns, trust/enterprise/social-proof components, footer/
|
|
112
|
+
pricing/feature structures, interactive + micro-interactions, glassmorphism usage,
|
|
113
|
+
accessibility, mobile responsiveness, developer-experience patterns, and AI-startup
|
|
114
|
+
conversion patterns — expressed in a raw, brutalist idiom.
|
|
115
|
+
|
|
116
|
+
## Phase 2 — Generate (the workflow)
|
|
117
|
+
|
|
118
|
+
1. **Clarify intent:** site type, the loud **accent color** (electric blue / safety yellow /
|
|
119
|
+
hot red / lime), default theme (raw paper-light or inverted black), and page set.
|
|
120
|
+
2. **Lock the tokens:** start from `color-system.md` + `typography-system.md` +
|
|
121
|
+
`spacing-system.md`. Emit them once as `:root` CSS variables (and `tokens.json`).
|
|
122
|
+
3. **Block out the page:** plan the sequence of **color blocks** (invert black/white/accent)
|
|
123
|
+
and the exposed grid; brutalism is composed in big flat blocks.
|
|
124
|
+
4. **Compose layouts + components:** thick-border cards, hard-offset-shadow buttons, blocky
|
|
125
|
+
tables/marquees, oversized type — from the component library.
|
|
126
|
+
5. **Apply motion + a11y:** snappy press/hover per `motion-system.md`, gated by
|
|
127
|
+
`prefers-reduced-motion`; meet every rule in `accessibility-system.md` (contrast + focus).
|
|
128
|
+
6. **Emit code:** follow `website-generation-rules.md` to produce clean, semantic, responsive
|
|
129
|
+
**pure HTML + CSS + vanilla JS** plus tokens, `vercel.json`, `sitemap.xml`, `robots.txt`.
|
|
130
|
+
7. **Self-check** against the anti-patterns and the verification checklist below.
|
|
131
|
+
|
|
132
|
+
## Output
|
|
133
|
+
|
|
134
|
+
Unless the user specifies otherwise, write the generated **multipage site (15+ pages, ~20)**
|
|
135
|
+
into a `website/` folder in the project root:
|
|
136
|
+
- `website/index.html` **plus 15+ additional pages** (≥10 sections each, color-block
|
|
137
|
+
sections, no inter-section borders), linked with **extensionless URLs** (`/pricing`)
|
|
138
|
+
- `website/css/tokens.css` + `website/css/styles.css`
|
|
139
|
+
- `website/js/main.js` (vanilla nav, marquees, snappy interactions — progressively enhanced)
|
|
140
|
+
- `website/vercel.json`, `website/sitemap.xml`, `website/robots.txt`
|
|
141
|
+
- `website/assets/` (icons, og images)
|
|
142
|
+
- `website/tokens.json` (machine-readable tokens for other agents)
|
|
143
|
+
|
|
144
|
+
When the user only wants the **system** (not a site), emit the tokens + component specs.
|
|
145
|
+
|
|
146
|
+
## Default look (baked-in identity)
|
|
147
|
+
|
|
148
|
+
Raw paper-white (or inverted black) full-bleed blocks, **pure black** text and thick black
|
|
149
|
+
borders, **one loud accent** (default electric blue), oversized mono + bold grotesk type
|
|
150
|
+
(often UPPERCASE), hard **offset shadows (no blur)**, exposed grid lines, blocky buttons that
|
|
151
|
+
press, and the occasional scrolling marquee. Confident, memorable, structural — never soft,
|
|
152
|
+
gradient-y, or glassy. (Default raw light; an inverted dark mode is included. Siblings: the
|
|
153
|
+
other `*-design-system` skills.)
|
|
154
|
+
|
|
155
|
+
## Anti-patterns (never ship these)
|
|
156
|
+
|
|
157
|
+
Outdated startup designs · Bootstrap/template look · generic soft SaaS layouts · poor
|
|
158
|
+
typography · weak visual hierarchy · **gradients/overloaded gradients · glassmorphism · soft
|
|
159
|
+
blurred drop shadows · rounded "friendly" everything (brutalism is flat/hard-edged)** · poor
|
|
160
|
+
accessibility · inconsistent spacing · **borders or dividers BETWEEN sections (use inverted
|
|
161
|
+
color blocks instead) · low-contrast accent text · single-page sites or thin pages with fewer
|
|
162
|
+
than 10 sections · any framework/library in the shipped site · `.html` in URLs**. The result
|
|
163
|
+
must feel like confident neo-brutalist tech — raw, bold, legible — never a soft generic template.
|
|
164
|
+
|
|
165
|
+
## Verification checklist (run before finishing)
|
|
166
|
+
|
|
167
|
+
0. **Multipage scale met:** the site has **> 15 pages** (≈20), each page has **≥ 10
|
|
168
|
+
sections** (≈12), and there are **no borders/dividers between sections** (sections are
|
|
169
|
+
separated by inverted full-bleed color blocks, not divider lines).
|
|
170
|
+
0b. **Brutalist craft met:** stark color blocks; oversized mono/grotesk type; thick component
|
|
171
|
+
borders + hard **offset (un-blurred) shadows**; exposed grid; one loud accent; flat (no
|
|
172
|
+
gradients/glass).
|
|
173
|
+
0c. **Pure vanilla + clean URLs:** zero frameworks/libraries; routes extensionless with a
|
|
174
|
+
working `vercel.json` (`cleanUrls`), `sitemap.xml`, `robots.txt`.
|
|
175
|
+
0d. **Nav + SEO:** blocky desktop nav/menu + mobile menu + breadcrumbs; per-page SEO + JSON-LD.
|
|
176
|
+
1. Tokens emitted once (`:root`/`tokens.css`) and reused — no scattered one-off hex.
|
|
177
|
+
2. Type uses the fluid scale; spacing uses the 4/8-pt scale; layout uses the exposed grid +
|
|
178
|
+
container widths — all from the companion files.
|
|
179
|
+
3. Every section is a recognized layout; every component matches `component-library.md`.
|
|
180
|
+
4. **Contrast is high** (a brutalist strength): body ≥ 4.5:1, large ≥ 3:1; accent text/fills
|
|
181
|
+
verified AA; visible (thick) focus; motion respects `prefers-reduced-motion`; semantics + alt.
|
|
182
|
+
5. Fully responsive (360 → 1440+): blocks stack; oversized type clamps down; no horizontal
|
|
183
|
+
page scroll (except intentional marquees); tap targets ≥ 44px.
|
|
184
|
+
6. Trips **zero** anti-patterns; no gradients/glass/soft-shadows; sections are color blocks, not borders.
|
|
185
|
+
7. Output feels like confident neo-brutalist tech — raw, bold, structural, and legible.
|