@jaimevalasek/aioson 1.4.0 → 1.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +31 -1
- package/LICENSE +661 -21
- package/README.md +3 -1
- package/docs/en/squad-dashboard.md +372 -0
- package/docs/openclaw-bridge.md +308 -0
- package/docs/pt/agentes.md +124 -10
- package/docs/pt/cenarios.md +46 -2
- package/docs/pt/comandos-cli.md +60 -1
- package/docs/pt/inicio-rapido.md +18 -2
- package/docs/pt/squad-dashboard.md +373 -0
- package/docs/testing/genome-2.0-matrix.md +5 -5
- package/docs/testing/genome-2.0-rollout.md +9 -9
- package/package.json +2 -2
- package/src/backup-local.js +74 -0
- package/src/cli.js +98 -0
- package/src/commands/backup-local-cmd.js +25 -0
- package/src/commands/runtime.js +242 -0
- package/src/commands/setup-context.js +7 -2
- package/src/commands/squad-daemon.js +209 -0
- package/src/commands/squad-dashboard.js +39 -0
- package/src/commands/squad-deploy.js +64 -0
- package/src/commands/squad-doctor.js +52 -0
- package/src/commands/squad-mcp.js +270 -0
- package/src/commands/squad-processes.js +56 -0
- package/src/commands/squad-recovery.js +42 -0
- package/src/commands/squad-roi.js +291 -0
- package/src/commands/squad-score.js +250 -0
- package/src/commands/squad-status.js +37 -1
- package/src/commands/squad-validate.js +62 -1
- package/src/commands/squad-webhook.js +160 -0
- package/src/commands/squad-worker.js +191 -0
- package/src/commands/squad-worktrees.js +75 -0
- package/src/commands/web-map.js +70 -0
- package/src/commands/web-scrape.js +71 -0
- package/src/constants.js +8 -0
- package/src/context-writer.js +45 -1
- package/src/i18n/messages/en.js +127 -1
- package/src/i18n/messages/es.js +117 -0
- package/src/i18n/messages/fr.js +117 -0
- package/src/i18n/messages/pt-BR.js +126 -1
- package/src/lib/webhook-server.js +328 -0
- package/src/mcp-connectors/registry.js +602 -0
- package/src/runtime-store.js +259 -2
- package/src/squad/external-session.js +180 -0
- package/src/squad/inter-squad.js +74 -0
- package/src/squad/recovery-context.js +201 -0
- package/src/squad/worktree-manager.js +114 -0
- package/src/squad-daemon.js +490 -0
- package/src/squad-dashboard/api.js +223 -0
- package/src/squad-dashboard/attachment-handler.js +93 -0
- package/src/squad-dashboard/context-monitor.js +157 -0
- package/src/squad-dashboard/execution-logs.js +115 -0
- package/src/squad-dashboard/hunk-review.js +209 -0
- package/src/squad-dashboard/metrics.js +133 -0
- package/src/squad-dashboard/process-monitor.js +125 -0
- package/src/squad-dashboard/renderer.js +858 -0
- package/src/squad-dashboard/server.js +232 -0
- package/src/squad-dashboard/styles.js +525 -0
- package/src/squad-dashboard/token-tracker.js +99 -0
- package/src/web.js +284 -0
- package/src/worker-runner.js +339 -0
- package/template/.aioson/agents/analyst.md +4 -0
- package/template/.aioson/agents/architect.md +4 -0
- package/template/.aioson/agents/dev.md +120 -11
- package/template/.aioson/agents/deyvin.md +8 -0
- package/template/.aioson/agents/neo.md +152 -0
- package/template/.aioson/agents/orache.md +17 -0
- package/template/.aioson/agents/orchestrator.md +26 -0
- package/template/.aioson/agents/product.md +60 -12
- package/template/.aioson/agents/qa.md +1 -0
- package/template/.aioson/agents/setup.md +63 -19
- package/template/.aioson/agents/sheldon.md +603 -0
- package/template/.aioson/agents/squad.md +191 -0
- package/template/.aioson/agents/tester.md +254 -0
- package/template/.aioson/agents/ux-ui.md +12 -0
- package/template/.aioson/config.md +6 -0
- package/template/.aioson/locales/en/agents/analyst.md +8 -0
- package/template/.aioson/locales/en/agents/architect.md +8 -0
- package/template/.aioson/locales/en/agents/dev.md +66 -7
- package/template/.aioson/locales/en/agents/deyvin.md +8 -0
- package/template/.aioson/locales/en/agents/neo.md +8 -0
- package/template/.aioson/locales/en/agents/orchestrator.md +26 -0
- package/template/.aioson/locales/en/agents/qa.md +49 -0
- package/template/.aioson/locales/en/agents/setup.md +2 -1
- package/template/.aioson/locales/en/agents/sheldon.md +340 -0
- package/template/.aioson/locales/en/agents/ux-ui.md +8 -0
- package/template/.aioson/locales/es/agents/analyst.md +8 -0
- package/template/.aioson/locales/es/agents/architect.md +8 -0
- package/template/.aioson/locales/es/agents/dev.md +66 -7
- package/template/.aioson/locales/es/agents/deyvin.md +8 -0
- package/template/.aioson/locales/es/agents/neo.md +48 -0
- package/template/.aioson/locales/es/agents/orchestrator.md +26 -0
- package/template/.aioson/locales/es/agents/qa.md +26 -0
- package/template/.aioson/locales/es/agents/setup.md +2 -1
- package/template/.aioson/locales/es/agents/sheldon.md +192 -0
- package/template/.aioson/locales/es/agents/squad.md +63 -0
- package/template/.aioson/locales/es/agents/ux-ui.md +8 -0
- package/template/.aioson/locales/fr/agents/analyst.md +8 -0
- package/template/.aioson/locales/fr/agents/architect.md +8 -0
- package/template/.aioson/locales/fr/agents/dev.md +66 -7
- package/template/.aioson/locales/fr/agents/deyvin.md +8 -0
- package/template/.aioson/locales/fr/agents/neo.md +48 -0
- package/template/.aioson/locales/fr/agents/orchestrator.md +26 -0
- package/template/.aioson/locales/fr/agents/qa.md +26 -0
- package/template/.aioson/locales/fr/agents/setup.md +2 -1
- package/template/.aioson/locales/fr/agents/sheldon.md +192 -0
- package/template/.aioson/locales/fr/agents/squad.md +63 -0
- package/template/.aioson/locales/fr/agents/ux-ui.md +8 -0
- package/template/.aioson/locales/pt-BR/agents/analyst.md +19 -0
- package/template/.aioson/locales/pt-BR/agents/architect.md +19 -0
- package/template/.aioson/locales/pt-BR/agents/dev.md +75 -12
- package/template/.aioson/locales/pt-BR/agents/deyvin.md +8 -0
- package/template/.aioson/locales/pt-BR/agents/neo.md +147 -0
- package/template/.aioson/locales/pt-BR/agents/orchestrator.md +26 -0
- package/template/.aioson/locales/pt-BR/agents/product.md +8 -3
- package/template/.aioson/locales/pt-BR/agents/qa.md +60 -0
- package/template/.aioson/locales/pt-BR/agents/setup.md +2 -1
- package/template/.aioson/locales/pt-BR/agents/sheldon.md +192 -0
- package/template/.aioson/locales/pt-BR/agents/squad.md +105 -0
- package/template/.aioson/locales/pt-BR/agents/ux-ui.md +8 -0
- package/template/.aioson/schemas/squad-blueprint.schema.json +21 -0
- package/template/.aioson/schemas/squad-manifest.schema.json +178 -1
- package/template/.aioson/skills/design/bold-editorial-ui/SKILL.md +205 -0
- package/template/.aioson/skills/design/bold-editorial-ui/references/art-direction.md +338 -0
- package/template/.aioson/skills/design/bold-editorial-ui/references/components.md +977 -0
- package/template/.aioson/skills/design/bold-editorial-ui/references/dashboards.md +218 -0
- package/template/.aioson/skills/design/bold-editorial-ui/references/design-tokens.md +326 -0
- package/template/.aioson/skills/design/bold-editorial-ui/references/motion.md +461 -0
- package/template/.aioson/skills/design/bold-editorial-ui/references/patterns.md +293 -0
- package/template/.aioson/skills/design/bold-editorial-ui/references/websites.md +352 -0
- package/template/.aioson/skills/design/clean-saas-ui/SKILL.md +210 -0
- package/template/.aioson/skills/design/clean-saas-ui/references/art-direction.md +319 -0
- package/template/.aioson/skills/design/clean-saas-ui/references/components.md +365 -0
- package/template/.aioson/skills/design/clean-saas-ui/references/dashboards.md +196 -0
- package/template/.aioson/skills/design/clean-saas-ui/references/design-tokens.md +244 -0
- package/template/.aioson/skills/design/clean-saas-ui/references/motion.md +235 -0
- package/template/.aioson/skills/design/clean-saas-ui/references/patterns.md +215 -0
- package/template/.aioson/skills/design/clean-saas-ui/references/websites.md +295 -0
- package/template/.aioson/skills/design/cognitive-core-ui/SKILL.md +55 -9
- package/template/.aioson/skills/design/cognitive-core-ui/references/art-direction.md +339 -0
- package/template/.aioson/skills/design/cognitive-core-ui/references/components.md +1 -1
- package/template/.aioson/skills/design/cognitive-core-ui/references/dashboards.md +100 -0
- package/template/.aioson/skills/design/cognitive-core-ui/references/design-tokens.md +43 -9
- package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +40 -0
- package/template/.aioson/skills/design/cognitive-core-ui/references/patterns.md +1 -1
- package/template/.aioson/skills/design/cognitive-core-ui/references/websites.md +99 -12
- package/template/.aioson/skills/design/warm-craft-ui/SKILL.md +209 -0
- package/template/.aioson/skills/design/warm-craft-ui/references/art-direction.md +324 -0
- package/template/.aioson/skills/design/warm-craft-ui/references/components.md +508 -0
- package/template/.aioson/skills/design/warm-craft-ui/references/dashboards.md +223 -0
- package/template/.aioson/skills/design/warm-craft-ui/references/design-tokens.md +374 -0
- package/template/.aioson/skills/design/warm-craft-ui/references/motion.md +356 -0
- package/template/.aioson/skills/design/warm-craft-ui/references/patterns.md +288 -0
- package/template/.aioson/skills/design/warm-craft-ui/references/websites.md +289 -0
- package/template/.aioson/skills/premium-visual-design/SKILL.md +83 -0
- package/template/.aioson/skills/premium-visual-design/components/agent-badge.md +92 -0
- package/template/.aioson/skills/premium-visual-design/components/dependency-node.md +102 -0
- package/template/.aioson/skills/premium-visual-design/components/mention-autocomplete.md +136 -0
- package/template/.aioson/skills/premium-visual-design/components/notification-center.md +136 -0
- package/template/.aioson/skills/premium-visual-design/components/review-action-bar.md +188 -0
- package/template/.aioson/skills/premium-visual-design/components/team-switcher.md +131 -0
- package/template/.aioson/skills/premium-visual-design/patterns/agent-message-thread.md +198 -0
- package/template/.aioson/skills/premium-visual-design/patterns/notification-panel.md +275 -0
- package/template/.aioson/skills/premium-visual-design/patterns/review-workflow-ui.md +234 -0
- package/template/.aioson/skills/premium-visual-design/patterns/task-dependency-graph.md +147 -0
- package/template/.aioson/skills/premium-visual-design/tokens/status-extended.md +142 -0
- package/template/.aioson/skills/squad/formats/catalog.json +15 -0
- package/template/.aioson/skills/squad/formats/content/blog-post.md +47 -0
- package/template/.aioson/skills/squad/formats/content/newsletter.md +47 -0
- package/template/.aioson/skills/squad/formats/creative/podcast-script.md +43 -0
- package/template/.aioson/skills/squad/formats/creative/video-script.md +41 -0
- package/template/.aioson/skills/squad/formats/social/instagram-feed.md +42 -0
- package/template/.aioson/skills/squad/formats/social/linkedin-post.md +42 -0
- package/template/.aioson/skills/squad/formats/social/tiktok.md +39 -0
- package/template/.aioson/skills/squad/formats/social/twitter-thread.md +39 -0
- package/template/.aioson/skills/squad/formats/social/youtube-long.md +47 -0
- package/template/.aioson/skills/squad/formats/social/youtube-shorts.md +39 -0
- package/template/.aioson/skills/squad/patterns/multi-platform-pattern.md +108 -0
- package/template/.aioson/skills/squad/patterns/persona-based-pattern.md +98 -0
- package/template/.aioson/skills/squad/patterns/pipeline-pattern.md +106 -0
- package/template/.aioson/skills/squad/patterns/review-loop-pattern.md +81 -0
- package/template/.aioson/skills/squad/references/checklist-templates.md +122 -0
- package/template/.aioson/skills/squad/references/executor-archetypes.md +123 -0
- package/template/.aioson/skills/squad/references/workflow-templates.md +169 -0
- package/template/.aioson/skills/static/debugging-protocol.md +42 -0
- package/template/.aioson/skills/static/git-worktrees.md +36 -0
- package/template/.aioson/tasks/implementation-plan.md +19 -0
- package/template/.aioson/tasks/squad-design.md +28 -0
- package/template/.aioson/tasks/squad-profile.md +48 -0
- package/template/.aioson/tasks/squad-review.md +61 -0
- package/template/.aioson/tasks/squad-task-decompose.md +66 -0
- package/template/.claude/commands/aioson/agent/neo.md +5 -0
- package/template/.claude/commands/aioson/agent/tester.md +5 -0
- package/template/.gemini/GEMINI.md +1 -0
- package/template/.gemini/commands/aios-neo.toml +4 -0
- package/template/.gemini/commands/aios-tester.toml +6 -0
- package/template/AGENTS.md +3 -0
- package/template/CLAUDE.md +5 -2
- package/template/OPENCODE.md +2 -0
|
@@ -35,6 +35,65 @@ A commercial page using this skill should feel **premium and technical, but stil
|
|
|
35
35
|
|
|
36
36
|
---
|
|
37
37
|
|
|
38
|
+
## Website Composition Library
|
|
39
|
+
|
|
40
|
+
Choose one primary composition before building sections. Do not default to the same centered hero every time.
|
|
41
|
+
|
|
42
|
+
### 1. Split Narrative
|
|
43
|
+
|
|
44
|
+
Use when:
|
|
45
|
+
- the product needs both message and visual proof above the fold
|
|
46
|
+
|
|
47
|
+
Composition:
|
|
48
|
+
- headline and CTA on one side
|
|
49
|
+
- product frame, screenshot, or visual artifact on the other
|
|
50
|
+
- secondary proof rail below
|
|
51
|
+
|
|
52
|
+
### 2. Editorial Stack
|
|
53
|
+
|
|
54
|
+
Use when:
|
|
55
|
+
- the brand needs intelligence, depth, or cultural weight
|
|
56
|
+
|
|
57
|
+
Composition:
|
|
58
|
+
- offset headline
|
|
59
|
+
- side notes, quote blocks, or pull metrics
|
|
60
|
+
- more asymmetry, more narrative rhythm
|
|
61
|
+
|
|
62
|
+
### 3. Proof-First
|
|
63
|
+
|
|
64
|
+
Use when:
|
|
65
|
+
- credibility matters more than storytelling flourish
|
|
66
|
+
|
|
67
|
+
Composition:
|
|
68
|
+
- immediate outcomes, metrics, logos, or customer proof near the hero
|
|
69
|
+
- product explanation follows
|
|
70
|
+
|
|
71
|
+
### 4. Product Theater
|
|
72
|
+
|
|
73
|
+
Use when:
|
|
74
|
+
- the interface itself is the main differentiator
|
|
75
|
+
|
|
76
|
+
Composition:
|
|
77
|
+
- immersive product frame
|
|
78
|
+
- layered caption rails
|
|
79
|
+
- supporting sections explain workflows and advantages
|
|
80
|
+
|
|
81
|
+
### 5. Institutional Precision
|
|
82
|
+
|
|
83
|
+
Use when:
|
|
84
|
+
- the site must feel trustworthy, executive, and polished
|
|
85
|
+
|
|
86
|
+
Composition:
|
|
87
|
+
- concise hero
|
|
88
|
+
- structured value blocks
|
|
89
|
+
- case study or trust strip
|
|
90
|
+
- elegant CTA instead of hype-heavy spectacle
|
|
91
|
+
|
|
92
|
+
Rule:
|
|
93
|
+
- pick one composition and one signature move from `references/art-direction.md`, then propagate them intentionally
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
38
97
|
## Default theme for websites
|
|
39
98
|
|
|
40
99
|
- **Light theme**: Institutional sites, corporate, marketing pages, client-facing products
|
|
@@ -55,7 +114,7 @@ If the user does not specify, use **dark with a light option toggle** for tech/S
|
|
|
55
114
|
│ HERO SECTION (padding: space-24 top, space-20 bottom) │
|
|
56
115
|
│ ┌──────────────────────────────────────────────────┐ │
|
|
57
116
|
│ │ MONO LABEL: tagline (centered) │ │
|
|
58
|
-
│ │ DISPLAY HEADING text-5xl, weight-
|
|
117
|
+
│ │ DISPLAY HEADING text-5xl, weight-bold (centered) │ │
|
|
59
118
|
│ │ Subtitle: text-lg, text-secondary (centered) │ │
|
|
60
119
|
│ │ [CTA Primary Button] [Secondary Button] │ │
|
|
61
120
|
│ └──────────────────────────────────────────────────┘ │
|
|
@@ -85,12 +144,15 @@ If the user does not specify, use **dark with a light option toggle** for tech/S
|
|
|
85
144
|
|
|
86
145
|
### Hero section (required elements)
|
|
87
146
|
|
|
88
|
-
1. **Mono label** above heading — category / tagline in monospace uppercase
|
|
89
|
-
2. **Display heading** — `text-5xl`, `weight-black
|
|
147
|
+
1. **Mono label** above heading — category / tagline in monospace uppercase, used sparingly
|
|
148
|
+
2. **Display heading** — `text-5xl`, `weight-bold` or `weight-black` only when the hero truly needs extra emphasis, `tracking-tight`, `line-height: 1.1`
|
|
90
149
|
3. **Subtitle** — 1–2 sentences, `text-lg`, `text-secondary`
|
|
91
150
|
4. **Two CTAs** — primary (solid accent) + secondary (outline or ghost)
|
|
92
151
|
5. **Optional**: hero visual (screenshot, illustration, or abstract mesh)
|
|
93
152
|
|
|
153
|
+
Hero rule:
|
|
154
|
+
- If the page would benefit from split, editorial, or proof-first composition, do not force all five elements into a centered stack.
|
|
155
|
+
|
|
94
156
|
```css
|
|
95
157
|
.hero {
|
|
96
158
|
min-height: 90vh; display: flex; align-items: center; justify-content: center;
|
|
@@ -108,7 +170,7 @@ If the user does not specify, use **dark with a light option toggle** for tech/S
|
|
|
108
170
|
}
|
|
109
171
|
.hero-heading {
|
|
110
172
|
font-family: var(--font-display); font-size: var(--text-5xl);
|
|
111
|
-
font-weight: var(--weight-
|
|
173
|
+
font-weight: var(--weight-bold); color: var(--text-heading);
|
|
112
174
|
letter-spacing: var(--tracking-tight); line-height: 1.05;
|
|
113
175
|
margin-bottom: var(--space-5);
|
|
114
176
|
}
|
|
@@ -142,7 +204,7 @@ If the user does not specify, use **dark with a light option toggle** for tech/S
|
|
|
142
204
|
}
|
|
143
205
|
.section-heading {
|
|
144
206
|
font-family: var(--font-display); font-size: var(--text-3xl);
|
|
145
|
-
font-weight: var(--weight-
|
|
207
|
+
font-weight: var(--weight-bold); color: var(--text-heading);
|
|
146
208
|
letter-spacing: var(--tracking-tight); line-height: var(--leading-tight);
|
|
147
209
|
}
|
|
148
210
|
```
|
|
@@ -303,12 +365,13 @@ Two columns: [Left: contact info cards] [Right: form card]
|
|
|
303
365
|
Primary CTA button:
|
|
304
366
|
```css
|
|
305
367
|
.btn-primary {
|
|
306
|
-
background: var(--accent); color: var(--
|
|
307
|
-
font-family: var(--font-
|
|
368
|
+
background: var(--accent); color: var(--accent-contrast);
|
|
369
|
+
font-family: var(--font-body); font-size: var(--text-sm);
|
|
308
370
|
font-weight: var(--weight-semibold); letter-spacing: var(--tracking-wide);
|
|
309
|
-
text-transform:
|
|
371
|
+
text-transform: none; padding: var(--space-3) var(--space-6);
|
|
372
|
+
min-height: var(--control-md);
|
|
310
373
|
border-radius: var(--radius-md); border: none; cursor: pointer;
|
|
311
|
-
transition: var(--transition-base);
|
|
374
|
+
transition: var(--transition-base), transform 150ms ease, box-shadow 150ms ease;
|
|
312
375
|
box-shadow: 0 0 20px var(--accent-glow);
|
|
313
376
|
}
|
|
314
377
|
.btn-primary:hover {
|
|
@@ -316,6 +379,10 @@ Primary CTA button:
|
|
|
316
379
|
box-shadow: 0 0 32px var(--accent-glow), 0 4px 12px rgba(0,0,0,0.2);
|
|
317
380
|
transform: translateY(-1px);
|
|
318
381
|
}
|
|
382
|
+
.btn-primary:focus-visible {
|
|
383
|
+
outline: var(--focus-ring-width) solid var(--accent);
|
|
384
|
+
outline-offset: var(--focus-ring-offset);
|
|
385
|
+
}
|
|
319
386
|
```
|
|
320
387
|
|
|
321
388
|
Secondary button:
|
|
@@ -323,18 +390,29 @@ Secondary button:
|
|
|
323
390
|
.btn-secondary {
|
|
324
391
|
background: transparent; color: var(--text-primary);
|
|
325
392
|
border: 1px solid var(--border-medium);
|
|
326
|
-
font-family: var(--font-
|
|
393
|
+
font-family: var(--font-body); font-size: var(--text-sm);
|
|
327
394
|
font-weight: var(--weight-semibold); letter-spacing: var(--tracking-wide);
|
|
328
|
-
text-transform:
|
|
395
|
+
text-transform: none; padding: var(--space-3) var(--space-6);
|
|
396
|
+
min-height: var(--control-md);
|
|
329
397
|
border-radius: var(--radius-md); cursor: pointer;
|
|
330
|
-
transition: var(--transition-base);
|
|
398
|
+
transition: var(--transition-base), transform 150ms ease;
|
|
331
399
|
}
|
|
332
400
|
.btn-secondary:hover {
|
|
401
|
+
background: var(--accent-subtle);
|
|
333
402
|
border-color: var(--border-accent);
|
|
334
403
|
color: var(--accent);
|
|
335
404
|
}
|
|
405
|
+
.btn-secondary:focus-visible {
|
|
406
|
+
outline: var(--focus-ring-width) solid var(--accent);
|
|
407
|
+
outline-offset: var(--focus-ring-offset);
|
|
408
|
+
}
|
|
336
409
|
```
|
|
337
410
|
|
|
411
|
+
Guardrails:
|
|
412
|
+
- Do not use `color: var(--bg-base)` for accent buttons in light theme.
|
|
413
|
+
- Default website CTAs should read like polished product buttons, not terminal labels.
|
|
414
|
+
- If uppercase mono is desired for branding reasons, keep the label very short and re-check contrast in hover/focus states.
|
|
415
|
+
|
|
338
416
|
---
|
|
339
417
|
|
|
340
418
|
## Key differences: dashboard vs website
|
|
@@ -348,3 +426,12 @@ Secondary button:
|
|
|
348
426
|
| Cards | Dense, compact | Spacious, feature-oriented |
|
|
349
427
|
| Navigation | Tab-heavy, sidebar | Linear anchors, single bar |
|
|
350
428
|
| Background alternation | Same bg-base | Alternates `bg-base` / `bg-surface` |
|
|
429
|
+
|
|
430
|
+
---
|
|
431
|
+
|
|
432
|
+
## Anti-Generic Website Rules
|
|
433
|
+
|
|
434
|
+
- Do not repeat the same section rhythm from top to bottom.
|
|
435
|
+
- Do not rely on centered text alone to create impact.
|
|
436
|
+
- Use at least one memorable section transition, composition break, or proof rail.
|
|
437
|
+
- If the page looks like "SaaS template with nicer colors", it is not finished.
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: warm-craft-ui
|
|
3
|
+
description: Warm Craft UI is a design system for approachable, human-centered interfaces with light backgrounds, rounded forms, warm accents, generous whitespace, and humanist typography. Use it when `design_skill: warm-craft-ui` is set in project.context.md OR when the user explicitly asks for "warm", "friendly UI", "clean light", "soft modern", "human-centered", "Notion-like", "Linear-like", "calm interface", or similar. Ideal for productivity apps, SaaS B2C, health, education, personal finance, and any product where trust, clarity, and approachability matter more than density or authority. Supports apps, dashboards, landing pages, and websites — light by default with an optional dark theme. Do NOT use this skill unless explicitly selected.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Warm Craft UI
|
|
7
|
+
|
|
8
|
+
A design system where **clarity is generosity and whitespace is confidence**. Warm Craft sits at the intersection of humanist typography and disciplined spacing — interfaces that feel handcrafted, breathable, and immediately trustworthy.
|
|
9
|
+
|
|
10
|
+
**This is one visual system.** Never combine it with another design skill.
|
|
11
|
+
|
|
12
|
+
## Package structure
|
|
13
|
+
|
|
14
|
+
```text
|
|
15
|
+
.aioson/skills/design/warm-craft-ui/
|
|
16
|
+
SKILL.md <- you are here (load this first)
|
|
17
|
+
references/
|
|
18
|
+
art-direction.md <- intent, domain exploration, expression modes, signature moves, anti-generic tests
|
|
19
|
+
design-tokens.md <- CSS variables light + dark, typography, token scope guardrails
|
|
20
|
+
components.md <- All reusable components (nav, cards, forms, tables, badges, modals, etc.)
|
|
21
|
+
patterns.md <- Page layouts: app shell, detail, settings, onboarding, list-detail
|
|
22
|
+
dashboards.md <- Dashboard presets: overview, analytics, activity feed, project board, admin
|
|
23
|
+
websites.md <- Landing page, product page, institutional layouts + anti-patterns
|
|
24
|
+
motion.md <- Animations: entrances, micro-interactions, scroll, loading states
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Activation rules
|
|
28
|
+
|
|
29
|
+
- Apply this package **only** when `project.context.md` contains `design_skill: "warm-craft-ui"` or the user explicitly chooses it.
|
|
30
|
+
- If another design skill is selected, do **not** load this package.
|
|
31
|
+
- Never auto-select this skill — always require explicit confirmation.
|
|
32
|
+
- If no skill is set yet, the active agent must ask or confirm before applying.
|
|
33
|
+
|
|
34
|
+
## Responsibility boundary
|
|
35
|
+
|
|
36
|
+
This skill defines:
|
|
37
|
+
- Visual direction and aesthetic DNA
|
|
38
|
+
- Design tokens (colors, typography, spacing, radius, shadows)
|
|
39
|
+
- Component vocabulary and anatomy
|
|
40
|
+
- Page composition patterns
|
|
41
|
+
- Theme switching behavior (light/dark)
|
|
42
|
+
|
|
43
|
+
This skill does **not** decide:
|
|
44
|
+
- Stack (React, Vue, Blade, HTML, etc.)
|
|
45
|
+
- Output format (single file, multi-file, CSS modules, Tailwind, etc.)
|
|
46
|
+
- Icon library choice
|
|
47
|
+
- Whether a theme toggle exists in the product (the agent decides)
|
|
48
|
+
|
|
49
|
+
## Loading guide
|
|
50
|
+
|
|
51
|
+
Always load only what the current task needs:
|
|
52
|
+
|
|
53
|
+
| Task | Load |
|
|
54
|
+
|---|---|
|
|
55
|
+
| Any UI work | `references/design-tokens.md` |
|
|
56
|
+
| Reusable components | `references/design-tokens.md` + `references/components.md` |
|
|
57
|
+
| Dashboard or admin panel | `references/art-direction.md` + `references/design-tokens.md` + `references/components.md` + `references/patterns.md` + `references/dashboards.md` |
|
|
58
|
+
| Detail / settings page | `references/art-direction.md` + `references/design-tokens.md` + `references/components.md` + `references/patterns.md` |
|
|
59
|
+
| Landing page or website | `references/art-direction.md` + `references/design-tokens.md` + `references/components.md` + `references/websites.md` |
|
|
60
|
+
| Motion / animation | add `references/motion.md` when animation materially improves the result |
|
|
61
|
+
| Full UI build | all seven reference files |
|
|
62
|
+
|
|
63
|
+
## Visual signature — three pillars
|
|
64
|
+
|
|
65
|
+
1. **Approachable warmth** — Light surfaces with subtle warm undertones. Rounded corners on everything. Colors that feel like sunlight through linen, not clinical LED panels. The interface should feel like a well-designed physical notebook, not a control room.
|
|
66
|
+
2. **Typographic humanity** — Humanist sans-serif with visible character. Generous line-heights. Text that breathes. Headings that feel handwritten in their weight and tracking, even though they are perfectly set. Body text that is genuinely pleasant to read for long sessions.
|
|
67
|
+
3. **Disciplined calm** — Generous whitespace that signals confidence, not emptiness. One accent color used sparingly. Subtle depth through soft shadows, not hard borders. Every element has room to exist without competing for attention.
|
|
68
|
+
|
|
69
|
+
## Theme system
|
|
70
|
+
|
|
71
|
+
```html
|
|
72
|
+
<div data-theme="light"> <!-- or data-theme="dark" -->
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
- **Light (default)**: Productivity apps, content platforms, B2C SaaS, health, education, personal tools, most use cases
|
|
76
|
+
- **Dark**: Optional — for users who prefer it, night modes, media-heavy contexts
|
|
77
|
+
- **Both with toggle**: When the user asks, or when the product serves diverse contexts
|
|
78
|
+
|
|
79
|
+
If the user does not specify: default to **light with a theme toggle** available.
|
|
80
|
+
|
|
81
|
+
## Visual DNA
|
|
82
|
+
|
|
83
|
+
### Colors — light theme
|
|
84
|
+
- Background void: `#F8F6F3` (warm off-white, never pure #FFF)
|
|
85
|
+
- Background base: `#FDFCFA` (main app background)
|
|
86
|
+
- Surface: `#FFFFFF` (cards, elevated panels)
|
|
87
|
+
- Elevated: `#F3F1ED` (hover, nested, sidebar backgrounds)
|
|
88
|
+
- Primary accent: `#E07A5F` (terracotta/warm coral) — CTAs, active states, key highlights
|
|
89
|
+
- Text heading: `#2D3436` (warm charcoal, never pure black)
|
|
90
|
+
- Text primary: `#4A5568` (readable warm gray)
|
|
91
|
+
- Text secondary: `#8896A6` (muted)
|
|
92
|
+
- Text muted: `#B0BCC7` (hints, placeholders)
|
|
93
|
+
|
|
94
|
+
### Colors — dark theme
|
|
95
|
+
- Background void: `#1A1814` (warm dark, not navy)
|
|
96
|
+
- Background base: `#211F1B` (main app background)
|
|
97
|
+
- Surface: `#2A2824` (cards)
|
|
98
|
+
- Elevated: `#353330` (hover, nested)
|
|
99
|
+
- Primary accent: `#F0967D` (lighter terracotta for dark backgrounds)
|
|
100
|
+
- Text heading: `#F5F0EB`
|
|
101
|
+
- Text primary: `#D4CBC2`
|
|
102
|
+
- Text secondary: `#9A9088`
|
|
103
|
+
- Text muted: `#6B6460`
|
|
104
|
+
|
|
105
|
+
### Typography
|
|
106
|
+
- Headings: `Source Serif 4`, `weight-semibold (600)` or `weight-bold (700)` for page titles, `letter-spacing: -0.02em`
|
|
107
|
+
- Body: `Inter`, `weight-normal (400)`, `line-height: 1.7`
|
|
108
|
+
- Labels and metadata: `Inter`, `weight-medium (500)`, `font-size: 0.8rem`, `letter-spacing: 0.02em`
|
|
109
|
+
- Stats: `Source Serif 4`, `weight-bold (700)`, `font-size: 2.5rem`
|
|
110
|
+
|
|
111
|
+
### Layout structure (apps)
|
|
112
|
+
```
|
|
113
|
+
+----------------------------------------------------------+
|
|
114
|
+
| TOP BAR: [Logo] [Search (center, rounded)] [Avatar] |
|
|
115
|
+
+----------------------------------------------------------+
|
|
116
|
+
| | |
|
|
117
|
+
| SIDEBAR | CONTENT |
|
|
118
|
+
| 200px | PAGE HEADER (serif title + subtitle) |
|
|
119
|
+
| soft bg | |
|
|
120
|
+
| rounded | CONTENT SECTIONS |
|
|
121
|
+
| items | (generous padding, card groups) |
|
|
122
|
+
| | |
|
|
123
|
+
| [nav | SECTION: title + description |
|
|
124
|
+
| items | CARD GROUP (2-3 col, gap-6) |
|
|
125
|
+
| with | |
|
|
126
|
+
| icons] | SECTION: title + description |
|
|
127
|
+
| | CARD GROUP or TABLE |
|
|
128
|
+
+-----------+-----------------------------------------------+
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Signature details
|
|
132
|
+
- Rounded corners on everything: cards `radius-xl` (16px), buttons `radius-lg` (12px), inputs `radius-md` (8px)
|
|
133
|
+
- Soft shadows: `box-shadow` with warm tones, never harsh black drops
|
|
134
|
+
- Accent used sparingly: primary buttons, active nav, key badges — never borders, never backgrounds of sections
|
|
135
|
+
- Serif headings mixed with sans-serif body — the primary differentiator from every other UI
|
|
136
|
+
- Subtle background patterns: very faint dot grid or warm gradient wash on hero sections
|
|
137
|
+
- Illustrations and empty states: warm, hand-drawn style — never cold geometric
|
|
138
|
+
- Input fields: visible but soft borders, generous padding, rounded
|
|
139
|
+
- Active sidebar item: `background: var(--bg-elevated)` + `border-radius: var(--radius-lg)` + accent text — no hard left border
|
|
140
|
+
- Theme transition: `200ms ease` on background, color, border-color, box-shadow
|
|
141
|
+
|
|
142
|
+
## Application rules
|
|
143
|
+
|
|
144
|
+
- Treat `references/design-tokens.md` as the source of truth for ALL tokens.
|
|
145
|
+
- Treat `references/art-direction.md` as the source of truth for expression, signature moves, and anti-generic decisions.
|
|
146
|
+
- Resolve the page variant before composing: apps use structured navigation rhythm; websites/landing pages use more narrative flow, larger typography, and editorial pacing.
|
|
147
|
+
- Never combine this package with `cognitive-core-ui`, `interface-design`, `premium-command-center-ui`, or any other design skill in the same task.
|
|
148
|
+
- Reuse the project's component library if one exists — map Warm Craft tokens onto it instead of rebuilding primitives.
|
|
149
|
+
- Adapt code examples to the active stack. Reference snippets are design specifications, not copy-paste code.
|
|
150
|
+
- Accessibility, responsiveness, and production semantics are the agent's responsibility (not this skill).
|
|
151
|
+
|
|
152
|
+
## Intent before visuals
|
|
153
|
+
|
|
154
|
+
Before choosing layout, answer all three:
|
|
155
|
+
|
|
156
|
+
1. Who is the human using this page right now?
|
|
157
|
+
2. What is the main action or decision they must complete?
|
|
158
|
+
3. How should this interface feel in concrete words, not generic labels?
|
|
159
|
+
|
|
160
|
+
Bad answers:
|
|
161
|
+
- "for users"
|
|
162
|
+
- "manage content"
|
|
163
|
+
- "clean and modern"
|
|
164
|
+
|
|
165
|
+
Good answers:
|
|
166
|
+
- "freelancer reviewing today's tasks over morning coffee"
|
|
167
|
+
- "parent checking their child's learning progress after dinner"
|
|
168
|
+
- "calm, warm, spacious, like a well-organized desk with natural light"
|
|
169
|
+
|
|
170
|
+
## Workflow discipline
|
|
171
|
+
|
|
172
|
+
1. Audit the current page or existing UI before changing visuals.
|
|
173
|
+
2. Explore the product domain and choose one expression mode from `references/art-direction.md`.
|
|
174
|
+
3. Name one signature move and repeat it intentionally across the page.
|
|
175
|
+
4. Consolidate repeating patterns instead of inventing new card/button/table variants for each screen.
|
|
176
|
+
5. Build from tokens first, then components, then page composition.
|
|
177
|
+
6. Validate state parity before finishing: default, hover, active, focus, disabled.
|
|
178
|
+
7. Validate contrast before shipping: body text must meet WCAG AA, controls must stay legible in all themes and states.
|
|
179
|
+
|
|
180
|
+
## Non-negotiable quality gates
|
|
181
|
+
|
|
182
|
+
- Never use pure white (#FFFFFF) as the app background — always use warm off-whites.
|
|
183
|
+
- Never use pure black (#000000) for text — always warm charcoals.
|
|
184
|
+
- Never crowd elements — when in doubt, add more whitespace, not more content.
|
|
185
|
+
- Serif headings are the signature — never replace them with sans-serif across the board.
|
|
186
|
+
- Accent must feel warm, never clinical or cold (no blues, no purples as primary).
|
|
187
|
+
- Rounded corners are structural, not decorative — everything is rounded, consistently.
|
|
188
|
+
- Soft shadows must use warm-tinted RGBA, not generic `rgba(0,0,0,...)`.
|
|
189
|
+
- Forms must feel inviting: generous padding, visible labels above fields, helpful placeholders — never cramped.
|
|
190
|
+
- Hardcoded colors, arbitrary sharp corners, and one-off font choices are design-system failures.
|
|
191
|
+
- Sameness is failure. If the result could be mistaken for a default Notion clone or a generic SaaS template, iterate before presenting.
|
|
192
|
+
- Every full page must have one memorable structural or visual signature, not just "good spacing and cards".
|
|
193
|
+
- Do not reuse the same hero, card layout, or dashboard grid across unrelated products without a domain reason.
|
|
194
|
+
|
|
195
|
+
## Delivery modes
|
|
196
|
+
|
|
197
|
+
### Greenfield
|
|
198
|
+
1. Choose page variant (app, detail, settings, landing, institutional)
|
|
199
|
+
2. Load relevant references
|
|
200
|
+
3. Apply token scope from `design-tokens.md`
|
|
201
|
+
4. Compose layout from `patterns.md` or `websites.md`
|
|
202
|
+
5. Build components from `components.md`
|
|
203
|
+
|
|
204
|
+
### Brownfield
|
|
205
|
+
1. Audit existing UI before rewriting
|
|
206
|
+
2. Map Warm Craft tokens onto the existing component library
|
|
207
|
+
3. Fix token scope issues (font/color variables must be on the correct container)
|
|
208
|
+
4. Consolidate duplicate variants before introducing new ones
|
|
209
|
+
5. Prefer targeted upgrades over full rewrites unless the user asks for a redesign
|