spirewise 1.7.0 → 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 -37
- package/skills/nvidia-product-inventor/SKILL.md +265 -227
- 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,98 @@
|
|
|
1
|
+
# enterprise-data-viz-design-system
|
|
2
|
+
|
|
3
|
+
A world-class, **enterprise data-visualization design system** for building precise, data-dense
|
|
4
|
+
product and marketing sites — **dashboards, charts, KPI tiles, metrics, and tables** rendered
|
|
5
|
+
with clarity and trust. The polish of Stripe/Linear with the data fluency of Datadog/Grafana/
|
|
6
|
+
Vercel Analytics — built **accessibly in pure vanilla** (charts as inline SVG/Canvas, every
|
|
7
|
+
visualization paired with a real data table). Distilled from Stripe, Linear, Vercel, Datadog,
|
|
8
|
+
Grafana, Retool, Mixpanel, Notion, and modern AI sites (OpenAI, Anthropic, Perplexity, Cursor,
|
|
9
|
+
Scale AI).
|
|
10
|
+
|
|
11
|
+
It also ships a **production website-generation framework**: a multipage site (15+ pages, 10+
|
|
12
|
+
sections/page, **no borders/dividers between sections**) in **pure HTML/CSS/vanilla JS** — charts
|
|
13
|
+
hand-built in inline SVG/Canvas (**no Chart.js/D3/any charting library**; no React/Vue/Tailwind/
|
|
14
|
+
Bootstrap/jQuery) — with **clean 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`.
|
|
21
|
+
|
|
22
|
+
## Install
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npx spirewise install -s enterprise-data-viz-design-system # pick agents + scope
|
|
26
|
+
npx spirewise install -s enterprise-data-viz-design-system -a claude,cursor -sc workspace
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Remove
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
npx spirewise remove -s enterprise-data-viz-design-system # pick agents + scope
|
|
33
|
+
npx spirewise remove -s enterprise-data-viz-design-system -a claude,cursor -sc both
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
(No Node? `./install.sh -s enterprise-data-viz-design-system` and `./install.sh remove -s enterprise-data-viz-design-system`.)
|
|
37
|
+
|
|
38
|
+
## Use
|
|
39
|
+
|
|
40
|
+
After installing, ask your agent:
|
|
41
|
+
|
|
42
|
+
> "Build a data/analytics product site with dashboards and charts"
|
|
43
|
+
> "Make it like Datadog/Stripe — KPIs, trends, tables, all honest and accessible"
|
|
44
|
+
|
|
45
|
+
It reads the companion files, locks the tokens (incl. categorical/sequential/diverging data
|
|
46
|
+
scales), designs the data story, builds charts in vanilla SVG/Canvas with data-table equivalents,
|
|
47
|
+
applies restrained motion + accessibility, and emits **pure HTML + CSS + vanilla JS + tokens +
|
|
48
|
+
`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: data-viz philosophy, mandates, workflow, output, checklist |
|
|
55
|
+
| `design-principles.md` | Clarity/honesty/data-ink philosophy, chart-craft, do/don'ts |
|
|
56
|
+
| `color-system.md` | UI palette + **categorical/sequential/diverging** data scales + deltas |
|
|
57
|
+
| `typography-system.md` | Fonts, **tabular numerals**, fluid scale, metric/table roles |
|
|
58
|
+
| `spacing-system.md` | 4/8-pt scale, **two densities** (marketing + dashboard), containers |
|
|
59
|
+
| `layout-system.md` | Grid + dashboard layouts (KPI rows, chart grids, tables) + marketing |
|
|
60
|
+
| `component-library.md` | 17 components + Charts, KPI Tile, Data Table, Dashboard Preview |
|
|
61
|
+
| `motion-system.md` | Chart draw-in, value count-up, tooltips, sort/filter transitions |
|
|
62
|
+
| `accessibility-system.md` | **Chart a11y (data-table equivalents)**, color-blind-safe, focus |
|
|
63
|
+
| `website-generation-rules.md` | Pure-vanilla build (SVG/Canvas charts), clean URLs, nav, SEO |
|
|
64
|
+
| `example-page-structures.md` | Data-led page blueprints per site type |
|
|
65
|
+
|
|
66
|
+
## The look
|
|
67
|
+
|
|
68
|
+
A precise, calm enterprise canvas (default dark slate; light included) with crisp cards, thin
|
|
69
|
+
gridlines, restrained color **reserved for data** (neutral UI so charts pop), tabular numerals,
|
|
70
|
+
clean sortable tables, and KPI tiles with sparklines + deltas. Trustworthy and dense-but-legible
|
|
71
|
+
— Datadog/Stripe precision, never chart-junky.
|
|
72
|
+
|
|
73
|
+
## Components (17 + data toolkit)
|
|
74
|
+
|
|
75
|
+
Navbar · Dashboard/Metric Hero · Feature Grid · Data Bento · Testimonials · Logos · Pricing ·
|
|
76
|
+
FAQ · CTA · Footer · Dashboard Preview · Agent Workflow · Code Preview · Terminal Preview · Trust
|
|
77
|
+
(KPI row) · Security · Enterprise — **plus** Charts (SVG/Canvas) · KPI Tile · Data Table ·
|
|
78
|
+
Sparkline · Legend · Filter Bar.
|
|
79
|
+
|
|
80
|
+
## Rules it enforces
|
|
81
|
+
|
|
82
|
+
- **Data-led + honest** — lead with dashboards/KPIs/charts; right chart for the message; sensible
|
|
83
|
+
baselines (no truncated/misleading axes); maximize data-ink; **no chart-junk**.
|
|
84
|
+
- **Chart accessibility (critical)** — **every chart ships a data-table equivalent** + `aria`
|
|
85
|
+
summary, is **color-blind-safe** (never color-only), keyboard-reachable, with tooltips on focus.
|
|
86
|
+
- **Multipage scale (mandatory)** — **15+ pages (≈20)**, **≥10 sections/page (≈12)**, and **no
|
|
87
|
+
borders/dividers between sections** (separation by whitespace + surface elevation + tone).
|
|
88
|
+
- **Pure vanilla stack** — HTML5 + CSS3 + vanilla JS; **charts are inline SVG/Canvas — no Chart.js/
|
|
89
|
+
D3/any charting library**; no React/Vue/Tailwind/Bootstrap/jQuery; no build step.
|
|
90
|
+
- **Clean Vercel-ready URLs** — extensionless routes (`/pricing`), `vercel.json` (`cleanUrls`),
|
|
91
|
+
`sitemap.xml`, `robots.txt`; refresh + deep links work.
|
|
92
|
+
- **Full navigation + SEO** — desktop dropdowns, mobile overlay, breadcrumbs; per-page title/
|
|
93
|
+
description, Open Graph, Twitter card, canonical, JSON-LD (Dataset for data pages).
|
|
94
|
+
- **Tabular numerals, centralized tokens (incl. data scales), mobile-first responsive** (dashboards/
|
|
95
|
+
tables reflow), **restrained functional motion**, reduced-motion fallback. **Zero anti-patterns**
|
|
96
|
+
— no chart-junk, misleading charts, color-only encoding, charting libraries, or template look.
|
|
97
|
+
|
|
98
|
+
See `SKILL.md` for the full workflow and the companion files for every token and spec.
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: enterprise-data-viz-design-system
|
|
3
|
+
description: >-
|
|
4
|
+
A world-class, ENTERPRISE DATA VISUALIZATION design system for building precise,
|
|
5
|
+
data-dense product and marketing sites — dashboards, charts, KPI tiles, metrics,
|
|
6
|
+
tables, and observability UI rendered with clarity and trust. Distilled from
|
|
7
|
+
data-led references (Stripe, Linear, Vercel/Analytics, Datadog, Grafana, Retool,
|
|
8
|
+
Mixpanel, Notion) and modern AI sites (OpenAI, Anthropic, Perplexity, Cursor,
|
|
9
|
+
Scale AI) for structure. It gives coding/design/UI/branding/website-generation
|
|
10
|
+
agents a complete, reusable system: design philosophy, a data-aware color system
|
|
11
|
+
(categorical/sequential/diverging palettes + semantic deltas), typography (tabular
|
|
12
|
+
numerals), spacing, grid, a 17+ -component library (charts, KPI tiles, data tables,
|
|
13
|
+
dashboard previews), a motion system, accessibility (every chart has a data-table
|
|
14
|
+
equivalent), and a production website-generation framework. The framework builds a
|
|
15
|
+
multipage site (15+ pages, 10+ sections/page, NO borders/dividers between sections)
|
|
16
|
+
in PURE HTML/CSS/vanilla JS (charts via inline SVG/Canvas — no Chart.js/D3/any
|
|
17
|
+
library; no React/Vue/Tailwind/Bootstrap/jQuery), with clean Vercel-ready URLs (no
|
|
18
|
+
`.html`), navigation, and full SEO. Use when the user asks for an "analytics /
|
|
19
|
+
dashboard / data-viz website", "charts and metrics", "observability product site",
|
|
20
|
+
"make it like Datadog/Stripe/Linear", or "a data design system / tokens". The full
|
|
21
|
+
system is baked into the companion files (live research optional). Outputs a
|
|
22
|
+
generated site/system into a `website/` folder.
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# Enterprise Data Visualization Design System
|
|
26
|
+
|
|
27
|
+
A complete, agent-ready design system for **data-dense, enterprise-grade websites** —
|
|
28
|
+
where dashboards, charts, KPI tiles, metrics, and tables are first-class citizens,
|
|
29
|
+
rendered with **precision, clarity, and trust**. The polish of Stripe/Linear with the
|
|
30
|
+
data fluency of Datadog/Grafana/Vercel Analytics — built **accessibly in pure vanilla**
|
|
31
|
+
(charts as inline SVG/Canvas, every visualization paired with a real data table).
|
|
32
|
+
Distilled from Stripe, Linear, Vercel, Datadog, Grafana, Retool, Mixpanel, Notion, and
|
|
33
|
+
modern AI sites (OpenAI, Anthropic, Perplexity, Cursor, Scale AI).
|
|
34
|
+
|
|
35
|
+
This skill is the **single source of truth**. The detailed system lives in the companion
|
|
36
|
+
files in this folder — read the ones relevant to the task, then generate.
|
|
37
|
+
|
|
38
|
+
## The core idea — data as the hero, rendered honestly
|
|
39
|
+
|
|
40
|
+
- **Show the numbers.** Heroes and feature sections lead with **real-looking dashboards,
|
|
41
|
+
KPI tiles, charts, and metrics**, not abstract illustration.
|
|
42
|
+
- **Clarity over chart-junk.** Maximize data-ink: thin gridlines, direct labels, no 3D, no
|
|
43
|
+
gratuitous gradients, honest axes (don't truncate to exaggerate).
|
|
44
|
+
- **A disciplined data palette.** Distinct **categorical** hues, ordered **sequential** and
|
|
45
|
+
**diverging** scales, and **semantic deltas** (up/good, down/bad — never color-only).
|
|
46
|
+
- **Tabular everything.** Numerals are tabular and aligned; tables are crisp, scannable,
|
|
47
|
+
and sortable; deltas show direction + value.
|
|
48
|
+
- **Every chart is accessible.** Each visualization ships a **data-table equivalent** (or
|
|
49
|
+
`<table>` source), `aria` summary, and works without color alone.
|
|
50
|
+
|
|
51
|
+
## Hard structural requirements (MANDATORY — never skip)
|
|
52
|
+
|
|
53
|
+
These are non-negotiable and override any conflicting guidance elsewhere:
|
|
54
|
+
|
|
55
|
+
1. **Multipage — 15+ pages (≈20).** Always generate a **full multipage website with
|
|
56
|
+
more than 15 distinct pages** (not a single landing page) — a real site map.
|
|
57
|
+
2. **10+ sections per page (≈12).** Every page contains **at least 10 full sections**,
|
|
58
|
+
composed from the layout + component library.
|
|
59
|
+
3. **No borders/dividers between sections.** **Zero border widths, lines, rules, or
|
|
60
|
+
`<hr>` between sections.** Separate sections with **whitespace, surface elevation
|
|
61
|
+
(cards/panels), background tone, and type hierarchy** — never a section border. (A
|
|
62
|
+
chart's gridlines, a card's edge, or a table's row rules are *inside* a component, not a
|
|
63
|
+
divider between page sections.)
|
|
64
|
+
4. **Pure HTML + CSS + vanilla JS — no frameworks/libraries.** The generated site uses
|
|
65
|
+
**only HTML5, CSS3, and vanilla JavaScript**. **Charts are hand-built with inline SVG or
|
|
66
|
+
`<canvas>` — no Chart.js, D3, ECharts, Highcharts, Plotly, or any charting/UI library.**
|
|
67
|
+
No React/Vue/Angular/Svelte/Next, no Bootstrap/Tailwind/any CSS framework, no jQuery, no
|
|
68
|
+
build step. (Exporting `tokens.json` for other agents is fine — that's data, not a framework.)
|
|
69
|
+
5. **Clean, Vercel-ready URLs.** All routes are **extensionless** (`/pricing`, not
|
|
70
|
+
`/pricing.html`); ship a `vercel.json` (`cleanUrls: true`) plus `sitemap.xml` /
|
|
71
|
+
`robots.txt` so production refresh and deep links work.
|
|
72
|
+
6. **Full navigation + SEO.** Desktop nav (dropdown/mega-menu where useful) + mobile menu +
|
|
73
|
+
breadcrumbs; per-page SEO (unique title/description, Open Graph, Twitter card, canonical,
|
|
74
|
+
JSON-LD). Every component: responsive, accessible, reusable, production-ready.
|
|
75
|
+
|
|
76
|
+
See `website-generation-rules.md` for the required page list, required sections, the
|
|
77
|
+
`vercel.json`, navigation, and SEO specifics. Enforce in code: `.section { border: 0 }` and
|
|
78
|
+
never place `<hr>`/divider elements between sections.
|
|
79
|
+
|
|
80
|
+
## When to use
|
|
81
|
+
|
|
82
|
+
Building or designing any landing page, marketing site, or product site that should feel
|
|
83
|
+
**data-rich and enterprise-grade** (analytics, observability, BI, fintech, infra, AI
|
|
84
|
+
platforms with dashboards) — Datadog/Stripe/Linear/Vercel energy — or producing **design
|
|
85
|
+
tokens / a data design system** for other agents.
|
|
86
|
+
|
|
87
|
+
## The companion files (read what you need)
|
|
88
|
+
|
|
89
|
+
| File | What it gives you |
|
|
90
|
+
|---|---|
|
|
91
|
+
| `design-principles.md` | The data-viz philosophy (clarity, honesty, data-ink), do/don'ts |
|
|
92
|
+
| `color-system.md` | UI palette + **categorical/sequential/diverging** data scales + deltas |
|
|
93
|
+
| `typography-system.md` | Fonts, **tabular numerals**, fluid scale, metric/table roles |
|
|
94
|
+
| `spacing-system.md` | 4/8-pt scale, dashboard density, container widths, grid gaps |
|
|
95
|
+
| `layout-system.md` | Grid + dashboard/marketing layouts (KPI rows, chart grids) |
|
|
96
|
+
| `component-library.md` | 17 components + charts, KPI tiles, data tables, dashboard preview |
|
|
97
|
+
| `motion-system.md` | Chart draw-in, value transitions, tooltip/hover, reveals |
|
|
98
|
+
| `accessibility-system.md` | Chart a11y (data-table equivalents), color-blind-safe, focus |
|
|
99
|
+
| `website-generation-rules.md` | Pure-vanilla build (SVG/Canvas charts), clean URLs, nav, SEO |
|
|
100
|
+
| `example-page-structures.md` | Ready data-led page blueprints |
|
|
101
|
+
|
|
102
|
+
All tokens use the same names across files, so they compose into one stylesheet.
|
|
103
|
+
|
|
104
|
+
## Phase 1 — Research is baked in (live analysis OPTIONAL)
|
|
105
|
+
|
|
106
|
+
The design intelligence extracted from the reference sites is **already encoded in the
|
|
107
|
+
companion files** — patterns, palettes (incl. data scales), type, spacing, the chart/table
|
|
108
|
+
components, motion. **Do NOT re-scrape the references for the basics; use the baked-in
|
|
109
|
+
system** (saves tokens). Only browse live when the user wants a *current* look from a
|
|
110
|
+
specific site, a brand-new pattern not covered here, or to verify a font/feature.
|
|
111
|
+
|
|
112
|
+
What the baked-in system already captures (the Phase-1 extraction): design patterns, visual
|
|
113
|
+
hierarchy, typography/spacing/grid/layout systems, color + gradient systems, animation/
|
|
114
|
+
motion, navigation, CTA + hero patterns, trust/enterprise/social-proof components, footer/
|
|
115
|
+
pricing/feature structures, interactive + micro-interactions, glassmorphism usage,
|
|
116
|
+
accessibility, mobile responsiveness, developer-experience patterns, and AI-startup
|
|
117
|
+
conversion patterns — expressed through dashboards, charts, and metrics.
|
|
118
|
+
|
|
119
|
+
## Phase 2 — Generate (the workflow)
|
|
120
|
+
|
|
121
|
+
1. **Clarify intent:** site type (analytics / observability / BI / fintech / infra / AI),
|
|
122
|
+
the key **metrics & charts** to show, theme (default dark, or light), accent, page set.
|
|
123
|
+
2. **Lock the tokens:** start from `color-system.md` + `typography-system.md` +
|
|
124
|
+
`spacing-system.md`. Emit them once as `:root` CSS variables (and `tokens.json`),
|
|
125
|
+
including the categorical/sequential/diverging data scales.
|
|
126
|
+
3. **Design the data story:** choose chart types that fit each message (trend → line/area;
|
|
127
|
+
comparison → bar; composition → stacked/donut; distribution → histogram; relationship →
|
|
128
|
+
scatter). Use real-looking, plausible data.
|
|
129
|
+
4. **Compose layouts + components:** KPI rows, chart grids, dashboard previews, data tables,
|
|
130
|
+
plus the standard marketing components.
|
|
131
|
+
5. **Build charts in vanilla + pair with data tables:** inline SVG/Canvas; every chart has a
|
|
132
|
+
`<table>`/`aria` equivalent; color-blind-safe; honest axes.
|
|
133
|
+
6. **Apply motion + a11y:** chart draw-in / value transitions per `motion-system.md`, gated
|
|
134
|
+
by `prefers-reduced-motion`; meet every rule in `accessibility-system.md`.
|
|
135
|
+
7. **Emit code:** follow `website-generation-rules.md` to produce clean, semantic, responsive
|
|
136
|
+
**pure HTML + CSS + vanilla JS** plus tokens, `vercel.json`, `sitemap.xml`, `robots.txt`.
|
|
137
|
+
8. **Self-check** against the anti-patterns and the verification checklist below.
|
|
138
|
+
|
|
139
|
+
## Output
|
|
140
|
+
|
|
141
|
+
Unless the user specifies otherwise, write the generated **multipage site (15+ pages, ~20)**
|
|
142
|
+
into a `website/` folder in the project root:
|
|
143
|
+
- `website/index.html` **plus 15+ additional pages** (≥10 sections each, data-led, no
|
|
144
|
+
inter-section borders), linked with **extensionless URLs** (`/pricing`)
|
|
145
|
+
- `website/css/tokens.css` + `website/css/styles.css`
|
|
146
|
+
- `website/js/main.js` (vanilla nav + the chart/table engine: SVG/Canvas renderers)
|
|
147
|
+
- `website/vercel.json`, `website/sitemap.xml`, `website/robots.txt`
|
|
148
|
+
- `website/assets/` + optional `website/data/*.json` (sample datasets for charts)
|
|
149
|
+
- `website/tokens.json` (machine-readable tokens for other agents)
|
|
150
|
+
|
|
151
|
+
When the user only wants the **system** (not a site), emit the tokens + component specs.
|
|
152
|
+
|
|
153
|
+
## Default look (baked-in identity)
|
|
154
|
+
|
|
155
|
+
A precise, calm enterprise canvas (default dark slate; light included) with crisp cards,
|
|
156
|
+
thin gridlines, restrained color reserved for **data** (the UI is mostly neutral so the
|
|
157
|
+
charts pop), tabular numerals, clean tables, and KPI tiles with sparklines and deltas.
|
|
158
|
+
Trustworthy and dense-but-legible — Datadog/Stripe precision, never cluttered or chart-junky.
|
|
159
|
+
(Siblings: `ai-dark-futuristic-design-system`, `apple-premium-minimal-design-system`,
|
|
160
|
+
`product-demo-first-design-system`, `bento-grid-design-system`, `glassmorphism-design-system`,
|
|
161
|
+
`editorial-luxury-design-system`, `motion-storytelling-design-system`.)
|
|
162
|
+
|
|
163
|
+
## Anti-patterns (never ship these)
|
|
164
|
+
|
|
165
|
+
Outdated startup designs · Bootstrap/template look · generic SaaS layouts · poor typography ·
|
|
166
|
+
weak visual hierarchy · overloaded gradients · excessive glassmorphism · poor accessibility ·
|
|
167
|
+
inconsistent spacing · **chart-junk (3D, heavy gradients, drop shadows on data, gratuitous
|
|
168
|
+
animation) · misleading charts (truncated/inverted axes, cherry-picked scales) · rainbow/
|
|
169
|
+
non-ordered scales for ordered data · color-only encoding (no labels/patterns) · charts with
|
|
170
|
+
no data-table equivalent · unreadable dense tables · borders or dividers between sections ·
|
|
171
|
+
single-page sites or thin pages with fewer than 10 sections · any framework/charting library
|
|
172
|
+
in the shipped site · `.html` in URLs**. The result must feel like Datadog/Stripe/Linear —
|
|
173
|
+
precise, honest, enterprise — never cluttered or template-like.
|
|
174
|
+
|
|
175
|
+
## Verification checklist (run before finishing)
|
|
176
|
+
|
|
177
|
+
0. **Multipage scale met:** the site has **> 15 pages** (≈20), each page has **≥ 10
|
|
178
|
+
sections** (≈12), and there are **no borders/dividers between sections**.
|
|
179
|
+
0b. **Data-led + honest met:** heroes/features lead with dashboards/charts/KPIs; chart types
|
|
180
|
+
fit the message; axes are honest (no truncation to exaggerate); data-ink maximized.
|
|
181
|
+
0c. **Chart a11y met:** every chart has a **data-table equivalent** + `aria` summary, is
|
|
182
|
+
**color-blind-safe** (not color-only), and is keyboard-reachable.
|
|
183
|
+
0d. **Pure vanilla + clean URLs:** charts are inline SVG/Canvas (no charting/UI library);
|
|
184
|
+
routes extensionless with a working `vercel.json` (`cleanUrls`), `sitemap.xml`, `robots.txt`.
|
|
185
|
+
0e. **Nav + SEO:** desktop nav/dropdowns + mobile menu + breadcrumbs; per-page SEO + JSON-LD.
|
|
186
|
+
1. Tokens emitted once (`:root`/`tokens.css`) and reused (incl. data scales) — no scattered hex.
|
|
187
|
+
2. Type uses the fluid scale + **tabular numerals** for all metrics/tables; spacing uses the
|
|
188
|
+
4/8-pt scale; layout uses the grid + container widths — all from the companion files.
|
|
189
|
+
3. Every section is a recognized layout; every chart/component matches `component-library.md`.
|
|
190
|
+
4. Body text ≥ 4.5:1, large text ≥ 3:1; chart elements ≥ 3:1 from background and adjacent
|
|
191
|
+
series distinguishable for color-blind users; visible focus; semantic landmarks + alt text.
|
|
192
|
+
5. Fully responsive (360 → 1440+): dashboards/charts reflow; tables scroll/stack gracefully;
|
|
193
|
+
no horizontal page scroll; tap targets ≥ 44px.
|
|
194
|
+
6. Trips **zero** anti-patterns; charts are honest and clutter-free; tables legible.
|
|
195
|
+
7. Output feels like Datadog/Stripe/Linear — precise, data-rich, enterprise, and trustworthy.
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Accessibility System — Enterprise Data Visualization
|
|
2
|
+
|
|
3
|
+
Data visualization is **uniquely demanding** for accessibility: charts can hide data behind
|
|
4
|
+
color and pixels, tables can become unreadable, and numbers must be perceivable by screen
|
|
5
|
+
readers. This system bakes WCAG 2.1 AA into the data craft.
|
|
6
|
+
|
|
7
|
+
## Charts (the critical area)
|
|
8
|
+
- **Every chart has a data-table equivalent.** Pair each visualization with a real `<table>`
|
|
9
|
+
of its data (visually hidden or behind a "View data" toggle), linked via `aria-describedby`,
|
|
10
|
+
plus a concise `aria-label`/`<figcaption>` summarizing the takeaway (e.g., "Revenue up 18%
|
|
11
|
+
YoY, peaking in Q4"). Screen-reader users get the numbers, not "chart".
|
|
12
|
+
- **Never encode by color alone.** Distinguish series additionally by **direct labels,
|
|
13
|
+
markers, dash patterns, or position**. A grayscale/printed version must still be readable.
|
|
14
|
+
- **Color-blind-safe palettes.** Use the provided categorical ordering and verify under
|
|
15
|
+
deuteranopia/protanopia/tritanopia; avoid red/green as the *only* distinction (pair with
|
|
16
|
+
shape/label). Sequential/diverging scales keep perceptual order.
|
|
17
|
+
- **Contrast:** data marks, lines, and text ≥ 3:1 against the background and adjacent marks;
|
|
18
|
+
axis/value text ≥ 4.5:1 where it's essential reading.
|
|
19
|
+
- **Honest + labeled:** axes labeled with units and ranges; sensible baselines (no truncation
|
|
20
|
+
to exaggerate); annotate notable points in text too.
|
|
21
|
+
- **Interactive charts keyboard-accessible:** data points/series reachable by keyboard; tooltip
|
|
22
|
+
content available on **focus** (not hover only); legend toggles are buttons with `aria-pressed`.
|
|
23
|
+
|
|
24
|
+
## Data tables
|
|
25
|
+
- Semantic `<table>` with `<caption>`, `<thead>`, `<th scope="col|row">`; **sortable headers**
|
|
26
|
+
use `aria-sort` and are keyboard-operable (Enter/Space). Numeric columns right-aligned with
|
|
27
|
+
tabular figures. Provide a way to read large tables (pagination/scroll with a labelled region).
|
|
28
|
+
- Don't rely on zebra color alone for row association; keep `<th>` scope correct.
|
|
29
|
+
|
|
30
|
+
## Numbers & content
|
|
31
|
+
- Metrics/deltas are **real text** (not images); deltas convey direction with an arrow/sign +
|
|
32
|
+
word/value, not color alone (e.g., `<span>▲ +12.4% increase</span>`).
|
|
33
|
+
- Format consistently; include units; avoid conveying meaning only via sparkline shape.
|
|
34
|
+
|
|
35
|
+
## Color & contrast (UI)
|
|
36
|
+
- Body ≥ 4.5:1, large/UI ≥ 3:1 on the neutral surfaces. Status colors (good/bad/warn) pair with
|
|
37
|
+
icon + text. The brand accent is for actions, not data, reducing ambiguity.
|
|
38
|
+
|
|
39
|
+
## Focus & keyboard
|
|
40
|
+
- **Always-visible focus:** `:focus-visible { outline:2px solid var(--ring); outline-offset:2px }`
|
|
41
|
+
on every control (sort headers, legend toggles, range picker, tabs, pagination). No bare
|
|
42
|
+
`outline:none`. Logical tab order; no traps (except modal focus-trap, ESC). **Skip link** to `#main`.
|
|
43
|
+
|
|
44
|
+
## Semantics & structure
|
|
45
|
+
- One `<h1>` per page; ordered headings. Landmarks `<header><nav><main id="main"><section><footer>`.
|
|
46
|
+
Charts in `<figure>/<figcaption>`; pipelines `<ol>`; code `<pre><code>`. Native over ARIA.
|
|
47
|
+
|
|
48
|
+
## Motion
|
|
49
|
+
- Honor `prefers-reduced-motion`: charts render final-drawn, KPIs at final value, sort instant.
|
|
50
|
+
No essential data conveyed only by animation.
|
|
51
|
+
|
|
52
|
+
## Forms & controls
|
|
53
|
+
- Range pickers, filters, and search have programmatic `<label>`s; errors in text +
|
|
54
|
+
`aria-describedby`; results announced (`aria-live="polite"`) when filters update the data.
|
|
55
|
+
|
|
56
|
+
## Touch & responsive
|
|
57
|
+
- **Tap targets ≥ 44×44px** (incl. legend/sort/range controls); dashboards reflow; tables get a
|
|
58
|
+
labelled horizontal-scroll region or stack into key/value cards; 200% zoom OK; pinch-zoom not disabled.
|
|
59
|
+
|
|
60
|
+
## Checklist (run before finishing)
|
|
61
|
+
1. Every chart: data-table equivalent + `aria` summary; not color-only; color-blind-safe;
|
|
62
|
+
keyboard-reachable; tooltip on focus; honest labeled axes.
|
|
63
|
+
2. Tables: semantic, captioned, scoped headers, `aria-sort`, keyboard-sortable, readable density.
|
|
64
|
+
3. Metrics/deltas are text with direction/sign (not color-only); units + consistent formatting.
|
|
65
|
+
4. AA contrast for text; ≥3:1 for chart marks vs background and neighbors.
|
|
66
|
+
5. Visible focus on all controls; skip link; logical order; live-region for filter updates.
|
|
67
|
+
6. Reduced motion → final-state charts/values; semantics correct (figure/table/ol/landmarks).
|
|
68
|
+
7. 44px targets; dashboards/tables reflow; 200% zoom; zoom not disabled.
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# Color System — Enterprise Data Visualization
|
|
2
|
+
|
|
3
|
+
Two layers: a **neutral, precise UI palette** (so data pops) and a disciplined **data-viz
|
|
4
|
+
palette** — color-blind-safe **categorical** hues, ordered **sequential** and **diverging**
|
|
5
|
+
scales, and **semantic deltas**. Ships **dark slate by default**; a light theme is included.
|
|
6
|
+
Sections separate via surface elevation + whitespace — **never borders**. Override `--accent-*`
|
|
7
|
+
to rebrand. Contrast: text ≥ 4.5:1, chart marks ≥ 3:1 from background.
|
|
8
|
+
|
|
9
|
+
## UI tokens (`:root`) — dark slate (default)
|
|
10
|
+
|
|
11
|
+
```css
|
|
12
|
+
:root {
|
|
13
|
+
/* ---- Background / surfaces (neutral so data pops) ---- */
|
|
14
|
+
--bg-base: #0b0e14; /* page */
|
|
15
|
+
--bg-900: #0f131b; /* section */
|
|
16
|
+
--bg-800: #141923; /* alt section */
|
|
17
|
+
--surface-1: #161c27; /* card / panel */
|
|
18
|
+
--surface-2: #1c2330; /* raised / hover / table header */
|
|
19
|
+
--surface-3: #232b3a; /* popover / input */
|
|
20
|
+
|
|
21
|
+
/* ---- Text ---- */
|
|
22
|
+
--text-primary: #eef1f6;
|
|
23
|
+
--text-secondary: #b3bccb;
|
|
24
|
+
--text-muted: #8893a5; /* labels, axis ticks */
|
|
25
|
+
--text-faint: #5e6779; /* gridline labels — non-essential */
|
|
26
|
+
--text-on-accent: #06121f;
|
|
27
|
+
|
|
28
|
+
/* ---- Borders / gridlines (component edges + chart grid — NOT between sections) ---- */
|
|
29
|
+
--border-subtle: rgba(255,255,255,0.06);
|
|
30
|
+
--border-default: rgba(255,255,255,0.10); /* card/table edges */
|
|
31
|
+
--grid-line: rgba(255,255,255,0.07); /* chart gridlines (thin, few) */
|
|
32
|
+
--axis-line: rgba(255,255,255,0.18); /* chart axes */
|
|
33
|
+
--ring: #5b9dff; /* focus ring */
|
|
34
|
+
|
|
35
|
+
/* ---- Accent (ACTIONS/links only — kept OUT of the data series) ---- */
|
|
36
|
+
--accent: #3b82f6; /* blue */
|
|
37
|
+
--accent-hover: #4f8ef7;
|
|
38
|
+
--accent-press: #2f6fe0;
|
|
39
|
+
--accent-soft: rgba(59,130,246,0.14);
|
|
40
|
+
|
|
41
|
+
/* ---- Semantic / status (KPIs, deltas, alerts) ---- */
|
|
42
|
+
--good: #22c55e; --good-soft: rgba(34,197,94,0.14); /* up & positive */
|
|
43
|
+
--bad: #ef4444; --bad-soft: rgba(239,68,68,0.14); /* down & negative */
|
|
44
|
+
--warn: #f59e0b; --warn-soft: rgba(245,158,11,0.14);
|
|
45
|
+
--info: #38bdf8; --info-soft: rgba(56,189,248,0.14);
|
|
46
|
+
--neutral: #94a3b8; --neutral-soft:rgba(148,163,184,0.14); /* no-change */
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Data-viz palettes (`:root`)
|
|
51
|
+
|
|
52
|
+
```css
|
|
53
|
+
:root {
|
|
54
|
+
/* ---- Categorical (distinct series; color-blind-aware ordering) ---- */
|
|
55
|
+
--cat-1: #5b9dff; /* blue */ --cat-2: #f59e0b; /* amber */
|
|
56
|
+
--cat-3: #22c55e; /* green */ --cat-4: #c084fc; /* purple */
|
|
57
|
+
--cat-5: #f472b6; /* pink */ --cat-6: #2dd4bf; /* teal */
|
|
58
|
+
--cat-7: #fb923c; /* orange */ --cat-8: #94a3b8; /* slate */
|
|
59
|
+
/* Order by hue+lightness so adjacent series stay distinguishable for color-blind users;
|
|
60
|
+
always ALSO differentiate by direct label / dash / marker — never color alone. */
|
|
61
|
+
|
|
62
|
+
/* ---- Sequential (single hue, low→high for ordered magnitude, e.g. heatmaps) ---- */
|
|
63
|
+
--seq-1:#0b2545; --seq-2:#13386b; --seq-3:#1d4f93; --seq-4:#2f6fbd;
|
|
64
|
+
--seq-5:#4f8ee0; --seq-6:#7db0f0; --seq-7:#b6d4f7;
|
|
65
|
+
|
|
66
|
+
/* ---- Diverging (below ↔ midpoint ↔ above; e.g. variance vs target) ---- */
|
|
67
|
+
--div-neg-2:#ef4444; --div-neg-1:#f59e0b; --div-mid:#94a3b8;
|
|
68
|
+
--div-pos-1:#34d399; --div-pos-2:#22c55e;
|
|
69
|
+
|
|
70
|
+
/* ---- Series fills (faint area under lines) ---- */
|
|
71
|
+
--fill-1: rgba(91,157,255,0.14);
|
|
72
|
+
--fill-grid: var(--grid-line);
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Palette roles
|
|
77
|
+
|
|
78
|
+
- **Background / surfaces** (`--bg-*`, `--surface-*`): neutral, layered. Cards/panels are the
|
|
79
|
+
primary "container"; alternate `--bg-900`/`--bg-800` between sections to separate by tone —
|
|
80
|
+
**never a border**. The neutral UI lets data color stand out.
|
|
81
|
+
- **Text** (`--text-*`): primary metrics/headings, secondary body, muted axis/labels, faint
|
|
82
|
+
gridline labels. Never `--text-faint` for essential content.
|
|
83
|
+
- **Borders / gridlines** (`--border-*`, `--grid-line`, `--axis-line`): component edges + chart
|
|
84
|
+
grid/axes only — these are *inside* components, **not** dividers between page sections.
|
|
85
|
+
- **Accent** (`--accent*`): actions, links, focus — **kept out of the categorical series** so
|
|
86
|
+
brand color is never confused with a data series.
|
|
87
|
+
- **Semantic** (`--good/bad/warn/info/neutral`): KPI states and **deltas** (up=good green,
|
|
88
|
+
down=bad red) — always paired with an arrow/sign/label, never color alone.
|
|
89
|
+
- **Categorical** (`--cat-1..8`): distinct chart series; cap at ~6–8; differentiate also by
|
|
90
|
+
label/marker/dash for accessibility.
|
|
91
|
+
- **Sequential** (`--seq-*`): ordered magnitude (heatmaps, choropleths, intensity).
|
|
92
|
+
- **Diverging** (`--div-*`): values relative to a midpoint/target (variance, sentiment).
|
|
93
|
+
- **Fills** (`--fill-*`): faint area fills under line charts (keep subtle — data-ink).
|
|
94
|
+
|
|
95
|
+
## Usage rules
|
|
96
|
+
|
|
97
|
+
1. **Neutral UI, colorful data.** Reserve saturated color for charts/KPIs; keep chrome neutral.
|
|
98
|
+
2. **Right scale for the data type:** categorical for groups, sequential for ordered magnitude,
|
|
99
|
+
diverging around a midpoint. Never a rainbow for ordered data.
|
|
100
|
+
3. **Never color-only.** Pair every color encoding with a label, marker, pattern, or value.
|
|
101
|
+
4. **Deltas are semantic + signed:** `--good` ▲ for up, `--bad` ▼ for down, `--neutral` for flat.
|
|
102
|
+
5. **Separate sections with surface/tone + space, not lines.** Mandatory.
|
|
103
|
+
6. **Verify contrast:** text AA; chart marks ≥ 3:1 from background and distinguishable for the
|
|
104
|
+
common color-vision deficiencies (test deuteranopia/protanopia).
|
|
105
|
+
|
|
106
|
+
## Optional light theme
|
|
107
|
+
|
|
108
|
+
`[data-theme="light"]`: `--bg-base:#f7f9fc; --bg-900:#ffffff; --bg-800:#f1f4f9;
|
|
109
|
+
--surface-1:#ffffff; --surface-2:#f4f6fb; --text-primary:#0b0e14; --text-secondary:#3a4356;
|
|
110
|
+
--text-muted:#5d6678; --grid-line:rgba(11,14,20,0.08); --axis-line:rgba(11,14,20,0.22);
|
|
111
|
+
--accent:#2563eb;` plus light-tuned categorical hues; re-verify contrast. **Dark slate is the
|
|
112
|
+
default identity.**
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
# Component Library — Enterprise Data Visualization
|
|
2
|
+
|
|
3
|
+
Specs for the 17 required components **plus the data components** (Charts, KPI Tile, Data
|
|
4
|
+
Table, Dashboard Preview, Sparkline, Legend, Filter Bar). Charts are **hand-built inline SVG/
|
|
5
|
+
Canvas — no charting library** — and **every chart ships a data-table equivalent**. Each:
|
|
6
|
+
purpose, anatomy, tokens, states, responsive + a11y. **No borders between sections.**
|
|
7
|
+
|
|
8
|
+
Shared primitives:
|
|
9
|
+
|
|
10
|
+
```css
|
|
11
|
+
.btn { display:inline-flex; align-items:center; gap: var(--space-2); font-weight:600;
|
|
12
|
+
font-size:.9375rem; padding: var(--space-2) var(--space-5); border-radius: var(--radius-md);
|
|
13
|
+
border:1px solid transparent; cursor:pointer; transition: background .15s ease, border-color .15s ease; }
|
|
14
|
+
.btn-primary { background: var(--accent); color: var(--text-on-accent); }
|
|
15
|
+
.btn-primary:hover { background: var(--accent-hover); }
|
|
16
|
+
.btn-secondary { background: var(--surface-2); color: var(--text-primary); border-color: var(--border-default); }
|
|
17
|
+
.card { background: var(--surface-1); border:1px solid var(--border-default);
|
|
18
|
+
border-radius: var(--radius-lg); padding: var(--card-pad); }
|
|
19
|
+
:where(a,button,input,[tabindex]):focus-visible { outline:2px solid var(--ring); outline-offset:2px; }
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## ★ Charts (inline SVG/Canvas — no library) + REQUIRED data-table equivalent
|
|
23
|
+
Build line, area, bar/stacked-bar, sparkline, donut (sparingly), scatter, and heatmap charts
|
|
24
|
+
in **inline SVG** (preferred — crisp, stylable, accessible) or `<canvas>` (for thousands of
|
|
25
|
+
points). Anatomy: title + unit · plot area (thin `--grid-line` gridlines, `--axis-line` axes)
|
|
26
|
+
· series (categorical/sequential/diverging tokens, **direct-labeled** or via Legend) · faint
|
|
27
|
+
`--fill-*` area · ticks (tabular `--font-num`) · optional tooltip on hover/focus. **Honest
|
|
28
|
+
axes** (sensible baseline, no truncation). **Every chart includes a `<table>` source** (the
|
|
29
|
+
data), visually hidden or in a "View data" toggle, referenced with `aria-describedby`, plus an
|
|
30
|
+
`aria-label`/summary describing the trend. Color-blind-safe: also distinguish series by
|
|
31
|
+
marker/dash/label.
|
|
32
|
+
|
|
33
|
+
```html
|
|
34
|
+
<figure class="chart" aria-label="Revenue by month, 2025 — up 18% YoY">
|
|
35
|
+
<svg viewBox="0 0 640 240" role="img" aria-describedby="rev-tbl"><!-- gridlines, path, labels --></svg>
|
|
36
|
+
<figcaption>Monthly revenue (USD), 2025</figcaption>
|
|
37
|
+
<table id="rev-tbl" class="visually-hidden"><!-- month/value rows --></table>
|
|
38
|
+
<button class="btn-secondary" data-toggle="rev-tbl">View data</button>
|
|
39
|
+
</figure>
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## ★ KPI Tile
|
|
43
|
+
`.card` with: label (small caps) · **value** (`--fs-kpi`, `--font-num`, tabular) · **delta**
|
|
44
|
+
(▲/▼ + signed %, `--good`/`--bad`/`--neutral`) · a **Sparkline** (tiny inline SVG trend) ·
|
|
45
|
+
optional comparison ("vs last 30d"). Keep it scannable; one metric per tile.
|
|
46
|
+
|
|
47
|
+
## ★ Data Table
|
|
48
|
+
Semantic `<table>`: `<thead>` sticky on scroll; numeric columns `.num` right-aligned with
|
|
49
|
+
tabular figures; text left-aligned; zebra/hover via background (not borders between every row);
|
|
50
|
+
sortable headers (`aria-sort`, click + keyboard); optional pagination/density toggle; inline
|
|
51
|
+
mini-bars or deltas in cells. Horizontal scroll container on mobile (or stack to key/value
|
|
52
|
+
cards). a11y: `<caption>`, `<th scope>`, `aria-sort`, keyboard-sortable.
|
|
53
|
+
|
|
54
|
+
## ★ Dashboard Preview
|
|
55
|
+
A realistic in-product **dashboard** (Layout APP shell or a framed card): range picker, a KPI
|
|
56
|
+
row, a primary chart, a breakdown + a small table — with **plausible real data**. Used in the
|
|
57
|
+
hero and feature sections. Decorative chrome `aria-hidden`; informative charts keep their
|
|
58
|
+
data-table equivalents.
|
|
59
|
+
|
|
60
|
+
## ★ Filter Bar / Legend
|
|
61
|
+
- **Filter bar:** date-range picker, segment dropdowns, search — real controls (vanilla),
|
|
62
|
+
labelled, keyboard-operable.
|
|
63
|
+
- **Legend:** swatch + label per series; clickable to toggle a series (with `aria-pressed`);
|
|
64
|
+
prefer **direct labels** on the chart where possible to reduce legend round-trips.
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## 1. Navbar
|
|
69
|
+
Sticky, neutral bar; gains a subtle background on scroll. Logo · nav links · primary CTA +
|
|
70
|
+
"Sign in" · mobile hamburger. **Extensionless hrefs**. Optional product mega-menu. Mobile:
|
|
71
|
+
overlay, focus-trap, ESC. a11y: `aria-current`, `aria-expanded`.
|
|
72
|
+
|
|
73
|
+
## 2. Hero
|
|
74
|
+
Layout DH-A/DH-B/DH-C — copy + CTAs + a **Dashboard Preview** / giant **KPI** / primary chart.
|
|
75
|
+
One H1, one primary CTA (distinct from data color). Lead with real-looking data.
|
|
76
|
+
|
|
77
|
+
## 3. Feature Grid
|
|
78
|
+
`.grid.cols-3` of `.card`s (icon · H3 · body), or **F-C** feature + a live mini chart per
|
|
79
|
+
feature. Hover lift. Keep icons consistent.
|
|
80
|
+
|
|
81
|
+
## 4. Bento Grid
|
|
82
|
+
A data bento (BN): chart tile + KPI tiles + small table tile, varied spans, one anchor.
|
|
83
|
+
|
|
84
|
+
## 5. Testimonials
|
|
85
|
+
Quote cards, optionally paired with a customer's **result KPI/chart** (e.g., "−42% latency").
|
|
86
|
+
`<blockquote>` + `<cite>`.
|
|
87
|
+
|
|
88
|
+
## 6. Logos Section
|
|
89
|
+
"Trusted by" + logo row (monochrome), generous spacing. `<img alt>`.
|
|
90
|
+
|
|
91
|
+
## 7. Pricing
|
|
92
|
+
Layout P-A/P-B. Tier cards (price `--font-num` tabular, feature list, CTA); usage/seat tiers
|
|
93
|
+
may show a small usage chart; highlighted tier + "Most popular"; monthly/annual + usage toggle.
|
|
94
|
+
a11y: real switch/radio.
|
|
95
|
+
|
|
96
|
+
## 8. FAQ
|
|
97
|
+
Accordion; `<button>` + collapsible answer. a11y: `aria-expanded`/`aria-controls`.
|
|
98
|
+
|
|
99
|
+
## 9. CTA
|
|
100
|
+
Centered band, big H2, primary CTA (accent, not data color) + secondary. `--section-y-lg`, no border.
|
|
101
|
+
|
|
102
|
+
## 10. Footer
|
|
103
|
+
Mega footer: brand · columns · status link · legal · social. `<footer>`, `<nav>` lists.
|
|
104
|
+
|
|
105
|
+
## 11. Dashboard Preview
|
|
106
|
+
(See ★ above) — the centerpiece product visual.
|
|
107
|
+
|
|
108
|
+
## 12. Agent Workflow Section
|
|
109
|
+
Pipeline (Plan → Retrieve → Act → Verify) as connected cards, optionally with a metrics tile
|
|
110
|
+
per step (latency, success rate). a11y: `<ol>` text equivalent.
|
|
111
|
+
|
|
112
|
+
## 13. Code Preview
|
|
113
|
+
Mono code (e.g., the analytics SDK / query) in a window-framed card with copy. `<pre><code>`;
|
|
114
|
+
copy `aria-label`. Pair with the chart it produces where apt.
|
|
115
|
+
|
|
116
|
+
## 14. Terminal Preview
|
|
117
|
+
CLI querying metrics; mono prompt lines; optional typewriter (reduced motion → final). Real text.
|
|
118
|
+
|
|
119
|
+
## 15. Trust Section
|
|
120
|
+
A **KPI row** of headline platform metrics (uptime, events/day, p99 latency, customers) with
|
|
121
|
+
deltas + sparklines; count-up on reveal (final value in DOM). The quintessential data trust beat.
|
|
122
|
+
|
|
123
|
+
## 16. Security Section
|
|
124
|
+
Compliance badges (SOC 2/ISO 27001/GDPR/HIPAA) + assurances (encryption, SSO/SAML, audit logs,
|
|
125
|
+
data residency) as a clean list + "Security docs" link. Badges alt text.
|
|
126
|
+
|
|
127
|
+
## 17. Enterprise Section
|
|
128
|
+
"Built for enterprise" panel: SSO/RBAC/SLAs/VPC/usage-based + "Talk to sales" CTA + a small SLA/
|
|
129
|
+
usage chart. No border.
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Component rules
|
|
134
|
+
- **Charts are inline SVG/Canvas, library-free, honest, and each has a data-table equivalent**
|
|
135
|
+
+ `aria` summary; color-blind-safe (not color-only); tabular axes.
|
|
136
|
+
- Compose from shared `.btn`/`.card`/tokens + the data scales — no chart libraries, no bespoke hex.
|
|
137
|
+
- Every interactive element (sort headers, legend toggles, range picker, tabs) has hover **and**
|
|
138
|
+
`:focus-visible` and is keyboard-operable.
|
|
139
|
+
- Every component reflows: dashboards collapse columns; tables scroll/stack by `md`/`sm`.
|
|
140
|
+
- Decorative chrome `aria-hidden`; informative charts/images keep alt/table equivalents.
|
|
141
|
+
- Restraint: data carries the color; UI stays neutral; gridlines thin; **no chart-junk**;
|
|
142
|
+
hairlines belong inside components — **never between page sections**.
|