ai-developer-skill-os 7.0.2 → 7.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/.agents/AGENTS.md +44 -88
- package/.agents/CHANGELOG.md +70 -0
- package/.agents/LICENSE +21 -0
- package/.agents/README.md +100 -0
- package/.agents/docs/CHI_TIET_SKILLS.md +126 -0
- package/.agents/docs/GOVERNANCE.md +40 -0
- package/.agents/docs/HUONG_DAN_SU_DUNG.md +120 -0
- package/.agents/docs/SPEC.md +87 -0
- package/.agents/docs/adr/0001-intent-based-architecture.md +19 -0
- package/.agents/docs/adr/0002-kernel-freeze.md +21 -0
- package/.agents/docs/adr/0003-risk-based-verification.md +20 -0
- package/.agents/docs/adr/0004-progressive-evidence.md +19 -0
- package/.agents/docs/skill-classification.md +25 -0
- package/.agents/skills/qk-access-policy/SKILL.md +179 -0
- package/.agents/skills/qk-ai-builder/SKILL.md +215 -0
- package/.agents/skills/qk-api-lifecycle/SKILL.md +176 -0
- package/.agents/skills/qk-bug-resolution/SKILL.md +307 -0
- package/.agents/skills/qk-context-loader/SKILL.md +218 -0
- package/.agents/skills/qk-data-lifecycle/SKILL.md +192 -0
- package/.agents/skills/qk-db-optimizer/SKILL.md +196 -0
- package/.agents/skills/qk-docs/SKILL.md +198 -0
- package/.agents/skills/qk-engineering-standard/SKILL.md +351 -0
- package/.agents/skills/qk-engineering-standard/rules/backend.md +122 -0
- package/.agents/skills/qk-engineering-standard/rules/database.md +3 -0
- package/.agents/skills/qk-engineering-standard/rules/frontend.md +152 -0
- package/.agents/skills/qk-engineering-standard/rules/security.md +3 -0
- package/.agents/skills/qk-engineering-standard/rules/testing.md +3 -0
- package/.agents/skills/qk-fe-api-integration/SKILL.md +326 -0
- package/.agents/skills/qk-feature-delivery/SKILL.md +305 -0
- package/.agents/skills/qk-help/SKILL.md +193 -0
- package/.agents/skills/qk-orchestrator/SKILL.md +278 -0
- package/.agents/skills/qk-orchestrator/references/routing-table.md +78 -0
- package/.agents/skills/qk-production-release/SKILL.md +284 -0
- package/.agents/skills/qk-project-bootstrap/SKILL.md +235 -0
- package/.agents/skills/qk-project-health/SKILL.md +199 -0
- package/.agents/skills/qk-project-memory/SKILL.md +218 -0
- package/.agents/skills/qk-system-evolution/SKILL.md +281 -0
- package/.agents/skills/qk-ui-audit/SKILL.md +315 -0
- package/.agents/skills/qk-ui-audit/references/anti-slop-checklist.md +136 -0
- package/.agents/skills/qk-ui-builder/SKILL.md +446 -0
- package/.agents/skills/qk-ui-builder/references/anti-patterns.md +295 -0
- package/.agents/skills/qk-ui-builder/references/color.md +115 -0
- package/.agents/skills/qk-ui-builder/references/component-cookbook.md +1194 -0
- package/.agents/skills/qk-ui-builder/references/copy.md +250 -0
- package/.agents/skills/qk-ui-builder/references/interaction-and-states.md +115 -0
- package/.agents/skills/qk-ui-builder/references/layout-and-space.md +111 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/01-bento-grid.md +48 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/02-long-document.md +50 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/03-marquee-hero.md +51 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/04-stat-led.md +49 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/05-workbench.md +44 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/06-conversational-faq.md +50 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/07-manifesto.md +51 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/08-photographic.md +50 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/09-quote-led.md +50 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/11-catalogue.md +49 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/12-letter.md +49 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/13-index-first.md +49 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/14-narrative-workflow.md +48 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/15-split-studio.md +48 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/16-feature-stack.md +51 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/17-type-specimen.md +48 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/18-portfolio-grid.md +48 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/19-map-diagram.md +50 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/20-ecosystem-index.md +48 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/21-component-playground.md +45 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures.md +38 -0
- package/.agents/skills/qk-ui-builder/references/motion.md +95 -0
- package/.agents/skills/qk-ui-builder/references/responsive.md +115 -0
- package/.agents/skills/qk-ui-builder/references/slop-test.md +135 -0
- package/.agents/skills/qk-ui-builder/references/structure.md +280 -0
- package/.agents/skills/qk-ui-builder/references/themes/atmospheric.md +53 -0
- package/.agents/skills/qk-ui-builder/references/themes/carnival.md +52 -0
- package/.agents/skills/qk-ui-builder/references/themes/cobalt.md +52 -0
- package/.agents/skills/qk-ui-builder/references/themes/editorial.md +52 -0
- package/.agents/skills/qk-ui-builder/references/themes/garden.md +52 -0
- package/.agents/skills/qk-ui-builder/references/themes/hum.md +52 -0
- package/.agents/skills/qk-ui-builder/references/themes/lumen.md +52 -0
- package/.agents/skills/qk-ui-builder/references/themes/midnight.md +52 -0
- package/.agents/skills/qk-ui-builder/references/themes/modern-minimal.md +52 -0
- package/.agents/skills/qk-ui-builder/references/themes/playful.md +52 -0
- package/.agents/skills/qk-ui-builder/references/themes/specimen.md +52 -0
- package/.agents/skills/qk-ui-builder/references/themes/terminal.md +52 -0
- package/.agents/skills/qk-ui-builder/references/typography.md +129 -0
- package/.agents/skills/qk-ui-system-builder/SKILL.md +221 -0
- package/.agents/skills/qk-validation-gate/SKILL.md +359 -0
- package/.agents/skills.json +819 -0
- package/.github/workflows/ci.yml +1 -1
- package/CHANGELOG.md +2 -1
- package/CLAUDE.md +110 -0
- package/README.md +52 -10
- package/add_lang.js +21 -0
- package/add_lang.py +25 -0
- package/add_sections.py +53 -0
- package/bin/install.js +225 -170
- package/bin/lint.js +123 -0
- package/docs/CHI_TIET_SKILLS.md +27 -26
- package/docs/HUONG_DAN_SU_DUNG.md +3 -3
- package/docs/SPEC.md +70 -20
- package/framework/decision-primitives.md +2 -1
- package/framework/skill-schema.md +310 -0
- package/package.json +16 -5
- package/patch.js +15 -0
- package/patch.py +89 -0
- package/patch2.py +83 -0
- package/skills/_archive_old_skills/qk-accessibility-audit/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-agent-orchestrator/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-api-integration/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-auth-security/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-backend-architecture/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-bug-fix/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-component-generator/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-context-manager/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-database-engineer/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-deployment/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-design-system/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-form-builder/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-frontend-architecture/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-frontend-debug/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-frontend-performance/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-frontend-testing/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-git-engineer/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-help/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-migration/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-project-audit/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-refactor/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-state-management/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-table-crud-generator/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-ui-builder/SKILL.md +1 -0
- package/skills/_template/SKILL.md +239 -0
- package/skills/qk-access-policy/SKILL.md +180 -39
- package/skills/qk-ai-builder/SKILL.md +216 -40
- package/skills/qk-api-lifecycle/SKILL.md +177 -46
- package/skills/qk-bug-resolution/SKILL.md +308 -46
- package/skills/qk-context-loader/SKILL.md +219 -43
- package/skills/qk-data-lifecycle/SKILL.md +193 -44
- package/skills/qk-db-optimizer/SKILL.md +197 -41
- package/skills/qk-docs/SKILL.md +199 -40
- package/skills/qk-engineering-standard/SKILL.md +352 -42
- package/skills/qk-fe-api-integration/SKILL.md +327 -55
- package/skills/qk-feature-delivery/SKILL.md +306 -48
- package/skills/qk-help/SKILL.md +179 -23
- package/skills/qk-orchestrator/SKILL.md +279 -42
- package/skills/qk-orchestrator/references/routing-table.md +78 -0
- package/skills/qk-production-release/SKILL.md +285 -41
- package/skills/qk-project-bootstrap/SKILL.md +236 -38
- package/skills/qk-project-health/SKILL.md +200 -40
- package/skills/qk-project-memory/SKILL.md +219 -40
- package/skills/qk-system-evolution/SKILL.md +282 -40
- package/skills/qk-ui-audit/SKILL.md +316 -42
- package/skills/qk-ui-audit/references/anti-slop-checklist.md +136 -0
- package/skills/qk-ui-builder/SKILL.md +447 -0
- package/skills/qk-ui-builder/references/anti-patterns.md +295 -0
- package/skills/qk-ui-builder/references/color.md +115 -0
- package/skills/qk-ui-builder/references/component-cookbook.md +1194 -0
- package/skills/qk-ui-builder/references/copy.md +250 -0
- package/skills/qk-ui-builder/references/interaction-and-states.md +115 -0
- package/skills/qk-ui-builder/references/layout-and-space.md +111 -0
- package/skills/qk-ui-builder/references/macrostructures/01-bento-grid.md +48 -0
- package/skills/qk-ui-builder/references/macrostructures/02-long-document.md +50 -0
- package/skills/qk-ui-builder/references/macrostructures/03-marquee-hero.md +51 -0
- package/skills/qk-ui-builder/references/macrostructures/04-stat-led.md +49 -0
- package/skills/qk-ui-builder/references/macrostructures/05-workbench.md +44 -0
- package/skills/qk-ui-builder/references/macrostructures/06-conversational-faq.md +50 -0
- package/skills/qk-ui-builder/references/macrostructures/07-manifesto.md +51 -0
- package/skills/qk-ui-builder/references/macrostructures/08-photographic.md +50 -0
- package/skills/qk-ui-builder/references/macrostructures/09-quote-led.md +50 -0
- package/skills/qk-ui-builder/references/macrostructures/11-catalogue.md +49 -0
- package/skills/qk-ui-builder/references/macrostructures/12-letter.md +49 -0
- package/skills/qk-ui-builder/references/macrostructures/13-index-first.md +49 -0
- package/skills/qk-ui-builder/references/macrostructures/14-narrative-workflow.md +48 -0
- package/skills/qk-ui-builder/references/macrostructures/15-split-studio.md +48 -0
- package/skills/qk-ui-builder/references/macrostructures/16-feature-stack.md +51 -0
- package/skills/qk-ui-builder/references/macrostructures/17-type-specimen.md +48 -0
- package/skills/qk-ui-builder/references/macrostructures/18-portfolio-grid.md +48 -0
- package/skills/qk-ui-builder/references/macrostructures/19-map-diagram.md +50 -0
- package/skills/qk-ui-builder/references/macrostructures/20-ecosystem-index.md +48 -0
- package/skills/qk-ui-builder/references/macrostructures/21-component-playground.md +45 -0
- package/skills/qk-ui-builder/references/macrostructures.md +38 -0
- package/skills/qk-ui-builder/references/motion.md +95 -0
- package/skills/qk-ui-builder/references/responsive.md +115 -0
- package/skills/qk-ui-builder/references/slop-test.md +135 -0
- package/skills/qk-ui-builder/references/structure.md +280 -0
- package/skills/qk-ui-builder/references/themes/atmospheric.md +53 -0
- package/skills/qk-ui-builder/references/themes/carnival.md +52 -0
- package/skills/qk-ui-builder/references/themes/cobalt.md +52 -0
- package/skills/qk-ui-builder/references/themes/editorial.md +52 -0
- package/skills/qk-ui-builder/references/themes/garden.md +52 -0
- package/skills/qk-ui-builder/references/themes/hum.md +52 -0
- package/skills/qk-ui-builder/references/themes/lumen.md +52 -0
- package/skills/qk-ui-builder/references/themes/midnight.md +52 -0
- package/skills/qk-ui-builder/references/themes/modern-minimal.md +52 -0
- package/skills/qk-ui-builder/references/themes/playful.md +52 -0
- package/skills/qk-ui-builder/references/themes/specimen.md +52 -0
- package/skills/qk-ui-builder/references/themes/terminal.md +52 -0
- package/skills/qk-ui-builder/references/typography.md +129 -0
- package/skills/qk-ui-system-builder/SKILL.md +222 -43
- package/skills/qk-validation-gate/SKILL.md +360 -40
- package/skills.json +815 -825
- package/specs/fixtures/user-payload.json +12 -0
- package/specs/regressions/api-integration-null-fields.yaml +19 -0
- package/temp_fix.js +61 -0
- package/tests/registry.test.js +1 -1
- package/update_template.js +28 -0
- package/skills/qk-design-to-code/SKILL.md +0 -46
- package/skills/qk-policy-engine/SKILL.md +0 -39
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
# Structure: 6-Axis Fingerprint
|
|
2
|
+
|
|
3
|
+
Use this framework to analyze and design page structure systematically. Each axis represents a distinct structural decision that shapes the user's experience.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Axis 1: Section-Heading Placement
|
|
8
|
+
|
|
9
|
+
Where headings sit within their section determines visual hierarchy and reading flow.
|
|
10
|
+
|
|
11
|
+
### Options:
|
|
12
|
+
|
|
13
|
+
**Top-left**
|
|
14
|
+
- Headings aligned to the left, flush with or near the top of the section.
|
|
15
|
+
- Best for: Content-heavy pages, documentation, dashboards.
|
|
16
|
+
- Feels: Structured, professional, scannable.
|
|
17
|
+
|
|
18
|
+
**Centered**
|
|
19
|
+
- Headings centered horizontally within the section.
|
|
20
|
+
- Best for: Landing pages, marketing sections, hero content.
|
|
21
|
+
- Feels: Formal, balanced, editorial.
|
|
22
|
+
|
|
23
|
+
**Inline with content**
|
|
24
|
+
- Headings sit within the content flow, often beside images or at the start of cards.
|
|
25
|
+
- Best for: Card grids, list layouts, feature sections.
|
|
26
|
+
- Feels: Integrated, compact, modern.
|
|
27
|
+
|
|
28
|
+
**Floating/overlapping**
|
|
29
|
+
- Headings positioned over images or backgrounds, often large and semi-transparent.
|
|
30
|
+
- Best for: Hero sections, editorial layouts, portfolio pages.
|
|
31
|
+
- Feels: Bold, immersive, designed.
|
|
32
|
+
|
|
33
|
+
**Staggered/offset**
|
|
34
|
+
- Headings offset from the content grid, creating visual tension.
|
|
35
|
+
- Best for: Creative portfolios, marketing sites, asymmetric layouts.
|
|
36
|
+
- Feels: Dynamic, intentional, breaking the grid.
|
|
37
|
+
|
|
38
|
+
**Hidden/implied**
|
|
39
|
+
- No visible heading; section identity comes from context or content structure.
|
|
40
|
+
- Best for: Card grids with self-explanatory items, tabbed interfaces.
|
|
41
|
+
- Feels: Minimal, relies on content clarity.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Axis 2: Body Composition
|
|
46
|
+
|
|
47
|
+
How content is arranged spatially across the viewport.
|
|
48
|
+
|
|
49
|
+
### Options:
|
|
50
|
+
|
|
51
|
+
**Single column**
|
|
52
|
+
- One narrow column, max-width ~650px, centered or left-aligned.
|
|
53
|
+
- Best for: Long-form reading, articles, documentation.
|
|
54
|
+
- Feels: Focused, readable, traditional.
|
|
55
|
+
|
|
56
|
+
**Two-column**
|
|
57
|
+
- Main content + sidebar, or split content evenly.
|
|
58
|
+
- Best for: Documentation, settings pages, blog layouts.
|
|
59
|
+
- Feels: Balanced, information-dense, efficient.
|
|
60
|
+
|
|
61
|
+
**Three-column**
|
|
62
|
+
- Three equal or near-equal columns.
|
|
63
|
+
- Best for: Feature grids, card layouts, dashboard widgets.
|
|
64
|
+
- Feels: Symmetric, scannable, systematic.
|
|
65
|
+
|
|
66
|
+
**Asymmetric**
|
|
67
|
+
- Uneven column widths (e.g., 2/3 + 1/3).
|
|
68
|
+
- Best for: Marketing pages, case studies, editorial layouts.
|
|
69
|
+
- Feels: Dynamic, hierarchical, designed.
|
|
70
|
+
|
|
71
|
+
**Full-bleed**
|
|
72
|
+
- Content spans the full viewport width.
|
|
73
|
+
- Best for: Hero sections, image galleries, immersive experiences.
|
|
74
|
+
- Feels: Expansive, modern, bold.
|
|
75
|
+
|
|
76
|
+
**Masonry/Pinterest**
|
|
77
|
+
- Varied height cards in a waterfall layout.
|
|
78
|
+
- Best for: Image galleries, blogs, portfolio grids.
|
|
79
|
+
- Feels: Organic, varied, content-adaptive.
|
|
80
|
+
|
|
81
|
+
**Dashboard grid**
|
|
82
|
+
- Structured grid with mixed card sizes (bento box style).
|
|
83
|
+
- Best for: Analytics dashboards, admin panels, data tools.
|
|
84
|
+
- Feels: Organized, data-rich, functional.
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Axis 3: Divider Language
|
|
89
|
+
|
|
90
|
+
How sections and content blocks are visually separated.
|
|
91
|
+
|
|
92
|
+
### Options:
|
|
93
|
+
|
|
94
|
+
**Whitespace**
|
|
95
|
+
- Separation achieved through spacing alone, no lines or borders.
|
|
96
|
+
- Best for: Modern, minimal designs; content-heavy pages.
|
|
97
|
+
- Feels: Clean, breathable, elegant.
|
|
98
|
+
|
|
99
|
+
**Horizontal lines**
|
|
100
|
+
- Thin or thick lines between sections or list items.
|
|
101
|
+
- Best for: Traditional layouts, documents, settings pages.
|
|
102
|
+
- Feels: Structured, formal, clear separation.
|
|
103
|
+
|
|
104
|
+
**Color blocks**
|
|
105
|
+
- Distinct background colors separating sections.
|
|
106
|
+
- Best for: Marketing sites, landing pages, long-scrolling pages.
|
|
107
|
+
- Feels: Bold, sectional, visually distinct.
|
|
108
|
+
|
|
109
|
+
**Cards/containers**
|
|
110
|
+
- Each section or item wrapped in a card with shadow/border.
|
|
111
|
+
- Best for: Dashboards, data grids, feature lists.
|
|
112
|
+
- Feels: Contained, organized, modular.
|
|
113
|
+
|
|
114
|
+
**Gradient dividers**
|
|
115
|
+
- Fading gradients or angled transitions between sections.
|
|
116
|
+
- Best for: Modern marketing, creative portfolios.
|
|
117
|
+
- Feels: Fluid, dynamic, premium.
|
|
118
|
+
|
|
119
|
+
**Border-only**
|
|
120
|
+
- Subtle borders around sections without fill.
|
|
121
|
+
- Best for: Admin interfaces, forms, structured data.
|
|
122
|
+
- Feels: Precise, technical, understated.
|
|
123
|
+
|
|
124
|
+
**No dividers**
|
|
125
|
+
- Content flows continuously without separation.
|
|
126
|
+
- Best for: Single-topic pages, storytelling, immersive experiences.
|
|
127
|
+
- Feels: Unified, narrative, cohesive.
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## Axis 4: Button Voice
|
|
132
|
+
|
|
133
|
+
The visual language of interactive elements within the page.
|
|
134
|
+
|
|
135
|
+
### Options:
|
|
136
|
+
|
|
137
|
+
**Primary/Secondary/Ghost**
|
|
138
|
+
- Clear hierarchy: filled primary, outlined secondary, text-only ghost.
|
|
139
|
+
- Best for: Standard applications, SaaS, forms.
|
|
140
|
+
- Feels: Clear, conventional, accessible.
|
|
141
|
+
|
|
142
|
+
**Primary/Secondary only**
|
|
143
|
+
- No ghost buttons; all actions have visible backgrounds or borders.
|
|
144
|
+
- Best for: Conservative interfaces, enterprise software.
|
|
145
|
+
- Feels: Explicit, safe, traditional.
|
|
146
|
+
|
|
147
|
+
**Outline-heavy**
|
|
148
|
+
- Most buttons are outline/secondary, primary used sparingly.
|
|
149
|
+
- Best for: Design-forward products, luxury brands.
|
|
150
|
+
- Feels: Refined, minimal, sophisticated.
|
|
151
|
+
|
|
152
|
+
**Icon-first**
|
|
153
|
+
- Buttons dominated by icons with optional text labels.
|
|
154
|
+
- Best for: Toolbars, dense interfaces, mobile apps.
|
|
155
|
+
- Feels: Compact, visual, efficient.
|
|
156
|
+
|
|
157
|
+
**Text-only**
|
|
158
|
+
- No filled buttons; all actions are text links or underlined text.
|
|
159
|
+
- Best for: Content sites, blogs, documentation.
|
|
160
|
+
- Feels: Minimal, editorial, understated.
|
|
161
|
+
|
|
162
|
+
**Size hierarchy**
|
|
163
|
+
- Buttons sized by importance: large for primary, small for secondary.
|
|
164
|
+
- Best for: Landing pages, marketing, hero CTAs.
|
|
165
|
+
- Feels: Directed, scannable, purposeful.
|
|
166
|
+
|
|
167
|
+
**Full-width (mobile)**
|
|
168
|
+
- Buttons span full container width on small screens.
|
|
169
|
+
- Best for: Mobile-first designs, checkout flows.
|
|
170
|
+
- Feels: Touch-friendly, accessible, clear.
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## Axis 5: Image Treatment
|
|
175
|
+
|
|
176
|
+
How images and visual media are presented within the layout.
|
|
177
|
+
|
|
178
|
+
### Options:
|
|
179
|
+
|
|
180
|
+
**Full-bleed**
|
|
181
|
+
- Images span the full viewport width, edge to edge.
|
|
182
|
+
- Best for: Hero sections, immersive storytelling, marketing.
|
|
183
|
+
- Feels: Bold, expansive, modern.
|
|
184
|
+
|
|
185
|
+
**Contained/inset**
|
|
186
|
+
- Images within a max-width container, aligned with text.
|
|
187
|
+
- Best for: Articles, documentation, standard layouts.
|
|
188
|
+
- Feels: Contained, readable, traditional.
|
|
189
|
+
|
|
190
|
+
**Rounded corners**
|
|
191
|
+
- Images with border-radius (usually 8px-16px).
|
|
192
|
+
- Best for: Card layouts, avatars, modern SaaS.
|
|
193
|
+
- Feels: Friendly, modern, approachable.
|
|
194
|
+
|
|
195
|
+
**Drop shadow**
|
|
196
|
+
- Images with shadow, appearing to float above background.
|
|
197
|
+
- Best for: Card UIs, product displays, photography portfolios.
|
|
198
|
+
- Feels: Layered, tactile, dimensional.
|
|
199
|
+
|
|
200
|
+
**No treatment**
|
|
201
|
+
- Images with sharp corners, no shadow, flush with background.
|
|
202
|
+
- Best for: Brutalist design, editorial, minimalist layouts.
|
|
203
|
+
- Feels: Raw, direct, intentional.
|
|
204
|
+
|
|
205
|
+
**Blur/overlay**
|
|
206
|
+
- Images with blur, gradient overlay, or darkened treatment.
|
|
207
|
+
- Best for: Hero sections, text-over-image, background media.
|
|
208
|
+
- Feels: Atmospheric, focused, layered.
|
|
209
|
+
|
|
210
|
+
**Masked/cropped**
|
|
211
|
+
- Images clipped to specific shapes (circle, angled edge, blob).
|
|
212
|
+
- Best for: Avatars, logos, creative layouts.
|
|
213
|
+
- Feels: Styled, distinctive, designed.
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## Axis 6: Reveal Pattern
|
|
218
|
+
|
|
219
|
+
How content and elements appear as the user interacts or scrolls.
|
|
220
|
+
|
|
221
|
+
### Options:
|
|
222
|
+
|
|
223
|
+
**Static**
|
|
224
|
+
- All content visible immediately on load. No scroll-based animations.
|
|
225
|
+
- Best for: Documentation, admin panels, content-heavy sites.
|
|
226
|
+
- Feels: Fast, predictable, functional.
|
|
227
|
+
|
|
228
|
+
**Scroll-triggered fade**
|
|
229
|
+
- Elements fade in as they enter the viewport.
|
|
230
|
+
- Best for: Marketing sites, long-form content, storytelling.
|
|
231
|
+
- Feels: Progressive, polished, guided.
|
|
232
|
+
|
|
233
|
+
**Scroll-triggered slide**
|
|
234
|
+
- Elements slide up or in from the side on scroll.
|
|
235
|
+
- Best for: Feature sections, case studies, portfolios.
|
|
236
|
+
- Feels: Dynamic, engaging, modern.
|
|
237
|
+
|
|
238
|
+
**Hover-reveal**
|
|
239
|
+
- Content appears or changes on hover (cards, tooltips, previews).
|
|
240
|
+
- Best for: Data tables, image grids, dense UIs.
|
|
241
|
+
- Feels: Interactive, efficient, responsive.
|
|
242
|
+
|
|
243
|
+
**Click-triggered expand**
|
|
244
|
+
- Content expands on click (accordions, modals, dropdowns).
|
|
245
|
+
- Best for: FAQs, settings, forms, navigation.
|
|
246
|
+
- Feels: Controlled, user-directed, organized.
|
|
247
|
+
|
|
248
|
+
**Staggered entrance**
|
|
249
|
+
- Multiple elements animate in sequence on load or scroll.
|
|
250
|
+
- Best for: Hero sections, onboarding, feature showcases.
|
|
251
|
+
- Feels: Choreographed, premium, intentional.
|
|
252
|
+
|
|
253
|
+
**Parallax**
|
|
254
|
+
- Background moves at different speed than foreground.
|
|
255
|
+
- Best for: Hero sections, marketing, creative portfolios.
|
|
256
|
+
- Feels: Immersive, depth-filled, modern.
|
|
257
|
+
|
|
258
|
+
**Skeleton loading**
|
|
259
|
+
- Placeholder shapes shown while content loads.
|
|
260
|
+
- Best for: Data-heavy apps, dashboards, mobile experiences.
|
|
261
|
+
- Feels: Responsive, professional, prepared.
|
|
262
|
+
|
|
263
|
+
---
|
|
264
|
+
|
|
265
|
+
## Using the Fingerprint
|
|
266
|
+
|
|
267
|
+
To analyze a page, score each axis:
|
|
268
|
+
1. Identify which option best describes the current implementation.
|
|
269
|
+
2. Note inconsistencies (e.g., centered headings but left-aligned CTAs).
|
|
270
|
+
3. Identify tells: if every axis uses the AI-default option, the design is likely generated.
|
|
271
|
+
|
|
272
|
+
**AI-default tendencies:**
|
|
273
|
+
- Section headings: centered or top-left without variation
|
|
274
|
+
- Body composition: three-column card grids
|
|
275
|
+
- Dividers: cards everywhere
|
|
276
|
+
- Button voice: primary/secondary/ghost, no size hierarchy
|
|
277
|
+
- Images: rounded corners with shadow
|
|
278
|
+
- Reveal: scroll-triggered fade on every element
|
|
279
|
+
|
|
280
|
+
**Authentic design** intentionally mixes options across axes to serve content and user needs.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Theme: Atmospheric
|
|
2
|
+
|
|
3
|
+
**Genre:** atmospheric
|
|
4
|
+
**Use case:** music, art, creative
|
|
5
|
+
|
|
6
|
+
## Axes
|
|
7
|
+
|
|
8
|
+
| Axis | Value |
|
|
9
|
+
|------|-------|
|
|
10
|
+
| Paper band | dark (0–30% lightness) |
|
|
11
|
+
| Display style | display-heavy |
|
|
12
|
+
| Accent hue | chromatic-other (multi-hue) |
|
|
13
|
+
|
|
14
|
+
## Token Overrides
|
|
15
|
+
|
|
16
|
+
```css
|
|
17
|
+
:root {
|
|
18
|
+
--color-background: hsl(260, 20%, 5%);
|
|
19
|
+
--color-surface: hsl(260, 20%, 10%);
|
|
20
|
+
--color-text: hsl(260, 10%, 90%);
|
|
21
|
+
--color-text-muted: hsl(260, 5%, 55%);
|
|
22
|
+
--color-accent: hsl(280, 70%, 60%);
|
|
23
|
+
--color-accent-hover: hsl(280, 70%, 52%);
|
|
24
|
+
--color-accent-2: hsl(340, 60%, 55%);
|
|
25
|
+
--font-display: 'Space Grotesk', 'Helvetica Neue', sans-serif;
|
|
26
|
+
--font-body: 'Space Grotesk', 'Helvetica Neue', sans-serif;
|
|
27
|
+
--radius-sm: 8px;
|
|
28
|
+
--radius-md: 12px;
|
|
29
|
+
--shadow-sm: 0 2px 4px hsl(260, 20%, 2%);
|
|
30
|
+
--shadow-md: 0 8px 24px hsl(260, 20%, 2%);
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Macrostructure Affinity
|
|
35
|
+
|
|
36
|
+
- ✅ Photographic
|
|
37
|
+
- ✅ Manifesto
|
|
38
|
+
- ✅ Narrative Workflow
|
|
39
|
+
- ❌ Index-First (too list-based)
|
|
40
|
+
- ❌ Stat-Led (too data-dense)
|
|
41
|
+
|
|
42
|
+
## Anti-Patterns (Atmospheric-specific)
|
|
43
|
+
|
|
44
|
+
- ❌ Rigid grid layouts
|
|
45
|
+
- ❌ System UI fonts
|
|
46
|
+
- ❌ Bright single-accent highlights
|
|
47
|
+
- ❌ Card-in-card structures
|
|
48
|
+
|
|
49
|
+
## Voice
|
|
50
|
+
|
|
51
|
+
- Poetic, abstract language: "Resonance", "Frequency", "Harmony"
|
|
52
|
+
- Short, impactful phrases
|
|
53
|
+
- No bullet points in hero sections
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Theme: Carnival
|
|
2
|
+
|
|
3
|
+
**Genre:** playful
|
|
4
|
+
**Use case:** Consumer apps, events, marketing
|
|
5
|
+
|
|
6
|
+
## Axes
|
|
7
|
+
|
|
8
|
+
| Axis | Value |
|
|
9
|
+
|------|-------|
|
|
10
|
+
| Paper band | light (>85% lightness) |
|
|
11
|
+
| Display style | display-heavy |
|
|
12
|
+
| Accent hue | warm (10–60°) |
|
|
13
|
+
|
|
14
|
+
## Token Overrides
|
|
15
|
+
|
|
16
|
+
```css
|
|
17
|
+
:root {
|
|
18
|
+
--color-background: hsl(0, 0%, 100%);
|
|
19
|
+
--color-surface: hsl(45, 100%, 97%);
|
|
20
|
+
--color-text: hsl(20, 20%, 15%);
|
|
21
|
+
--color-text-muted: hsl(20, 10%, 45%);
|
|
22
|
+
--color-accent: hsl(25, 95%, 55%);
|
|
23
|
+
--color-accent-hover: hsl(25, 95%, 48%);
|
|
24
|
+
--font-display: 'Poppins', sans-serif;
|
|
25
|
+
--font-body: 'Poppins', sans-serif;
|
|
26
|
+
--radius-sm: 8px;
|
|
27
|
+
--radius-md: 16px;
|
|
28
|
+
--shadow-sm: 0 2px 4px hsl(25, 80%, 85%);
|
|
29
|
+
--shadow-md: 0 8px 24px hsl(25, 80%, 85%);
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Macrostructure Affinity
|
|
34
|
+
|
|
35
|
+
- ✅ Bento Grid
|
|
36
|
+
- ✅ Marquee Hero
|
|
37
|
+
- ✅ Feature Stack
|
|
38
|
+
- ❌ Long Document (too formal)
|
|
39
|
+
- ❌ Type Specimen (too restrained)
|
|
40
|
+
|
|
41
|
+
## Anti-Patterns (Carnival-specific)
|
|
42
|
+
|
|
43
|
+
- ❌ Flat backgrounds with no depth
|
|
44
|
+
- ❌ Monochrome palettes
|
|
45
|
+
- ❌ Minimalist whitespace-only layouts
|
|
46
|
+
- ❌ System fonts only
|
|
47
|
+
|
|
48
|
+
## Voice
|
|
49
|
+
|
|
50
|
+
- Energetic, benefit-driven
|
|
51
|
+
- Emoji sparingly (max 1 per section)
|
|
52
|
+
- Questions in CTAs: "Ready to play?"
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Theme: Cobalt
|
|
2
|
+
|
|
3
|
+
**Genre:** modern-minimal
|
|
4
|
+
**Use case:** SaaS, developer tools, B2B products
|
|
5
|
+
|
|
6
|
+
## Axes
|
|
7
|
+
|
|
8
|
+
| Axis | Value |
|
|
9
|
+
|------|-------|
|
|
10
|
+
| Paper band | mid (30–85% lightness) |
|
|
11
|
+
| Display style | geometric-sans |
|
|
12
|
+
| Accent hue | cool (200–300°) |
|
|
13
|
+
|
|
14
|
+
## Token Overrides
|
|
15
|
+
|
|
16
|
+
```css
|
|
17
|
+
:root {
|
|
18
|
+
--color-background: hsl(220, 20%, 98%);
|
|
19
|
+
--color-surface: hsl(220, 20%, 100%);
|
|
20
|
+
--color-text: hsl(220, 15%, 10%);
|
|
21
|
+
--color-text-muted: hsl(220, 10%, 45%);
|
|
22
|
+
--color-accent: hsl(220, 80%, 55%);
|
|
23
|
+
--color-accent-hover: hsl(220, 80%, 48%);
|
|
24
|
+
--font-display: 'Inter', sans-serif;
|
|
25
|
+
--font-body: 'Inter', sans-serif;
|
|
26
|
+
--radius-sm: 6px;
|
|
27
|
+
--radius-md: 8px;
|
|
28
|
+
--shadow-sm: 0 1px 2px hsl(220, 15%, 90%);
|
|
29
|
+
--shadow-md: 0 4px 12px hsl(220, 15%, 90%);
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Macrostructure Affinity
|
|
34
|
+
|
|
35
|
+
- ✅ Workbench
|
|
36
|
+
- ✅ Stat-Led
|
|
37
|
+
- ✅ Index-First
|
|
38
|
+
- ❌ Manifesto (too editorial)
|
|
39
|
+
- ❌ Riso (too analog)
|
|
40
|
+
|
|
41
|
+
## Anti-Patterns (Cobalt-specific)
|
|
42
|
+
|
|
43
|
+
- ❌ Purple gradients (`linear-gradient(135deg, #a855f7, #3b82f6)`)
|
|
44
|
+
- ❌ Rounded-full buttons with gradient text
|
|
45
|
+
- ❌ 3-column icon cards
|
|
46
|
+
- ❌ Hero with centered-everything layout
|
|
47
|
+
|
|
48
|
+
## Voice
|
|
49
|
+
|
|
50
|
+
- Short labels, sentence case
|
|
51
|
+
- Action verbs first: "Get started", "View docs"
|
|
52
|
+
- No exclamation marks in headings
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Theme: Editorial
|
|
2
|
+
|
|
3
|
+
**Genre:** editorial
|
|
4
|
+
**Use case:** magazines, news, blogs
|
|
5
|
+
|
|
6
|
+
## Axes
|
|
7
|
+
|
|
8
|
+
| Axis | Value |
|
|
9
|
+
|------|-------|
|
|
10
|
+
| Paper band | light (85–100% lightness) |
|
|
11
|
+
| Display style | roman-serif |
|
|
12
|
+
| Accent hue | warm (20–50°) |
|
|
13
|
+
|
|
14
|
+
## Token Overrides
|
|
15
|
+
|
|
16
|
+
```css
|
|
17
|
+
:root {
|
|
18
|
+
--color-background: hsl(40, 15%, 97%);
|
|
19
|
+
--color-surface: hsl(40, 15%, 100%);
|
|
20
|
+
--color-text: hsl(40, 15%, 10%);
|
|
21
|
+
--color-text-muted: hsl(40, 5%, 40%);
|
|
22
|
+
--color-accent: hsl(30, 60%, 50%);
|
|
23
|
+
--color-accent-hover: hsl(30, 60%, 42%);
|
|
24
|
+
--font-display: 'Merriweather', 'Georgia', serif;
|
|
25
|
+
--font-body: 'Merriweather', 'Georgia', serif;
|
|
26
|
+
--radius-sm: 4px;
|
|
27
|
+
--radius-md: 4px;
|
|
28
|
+
--shadow-sm: 0 1px 2px hsl(40, 15%, 90%);
|
|
29
|
+
--shadow-md: 0 4px 12px hsl(40, 15%, 90%);
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Macrostructure Affinity
|
|
34
|
+
|
|
35
|
+
- ✅ Long Document
|
|
36
|
+
- ✅ Quote-Led
|
|
37
|
+
- ✅ Letter
|
|
38
|
+
- ❌ Bento Grid (too tech)
|
|
39
|
+
- ❌ Workbench (too dashboard)
|
|
40
|
+
|
|
41
|
+
## Anti-Patterns (Editorial-specific)
|
|
42
|
+
|
|
43
|
+
- ❌ Card-based layouts
|
|
44
|
+
- ❌ Icon grids
|
|
45
|
+
- ❌ Sans-serif headings
|
|
46
|
+
- ❌ Dashboard-style navigation
|
|
47
|
+
|
|
48
|
+
## Voice
|
|
49
|
+
|
|
50
|
+
- Headlines with strong verbs: "Revealed", "Analysis", "Opinion"
|
|
51
|
+
- Byline prominence
|
|
52
|
+
- Timestamps and read-time indicators
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Theme: Garden
|
|
2
|
+
|
|
3
|
+
**Genre:** atmospheric
|
|
4
|
+
**Use case:** organic, eco, sustainability
|
|
5
|
+
|
|
6
|
+
## Axes
|
|
7
|
+
|
|
8
|
+
| Axis | Value |
|
|
9
|
+
|------|-------|
|
|
10
|
+
| Paper band | light (85–100% lightness) |
|
|
11
|
+
| Display style | classical-serif |
|
|
12
|
+
| Accent hue | leaf-green (90–150°) |
|
|
13
|
+
|
|
14
|
+
## Token Overrides
|
|
15
|
+
|
|
16
|
+
```css
|
|
17
|
+
:root {
|
|
18
|
+
--color-background: hsl(90, 20%, 97%);
|
|
19
|
+
--color-surface: hsl(90, 20%, 100%);
|
|
20
|
+
--color-text: hsl(90, 15%, 12%);
|
|
21
|
+
--color-text-muted: hsl(90, 10%, 40%);
|
|
22
|
+
--color-accent: hsl(120, 35%, 40%);
|
|
23
|
+
--color-accent-hover: hsl(120, 35%, 32%);
|
|
24
|
+
--font-display: 'Lora', 'Times New Roman', serif;
|
|
25
|
+
--font-body: 'Lora', 'Times New Roman', serif;
|
|
26
|
+
--radius-sm: 6px;
|
|
27
|
+
--radius-md: 8px;
|
|
28
|
+
--shadow-sm: 0 1px 2px hsl(90, 15%, 90%);
|
|
29
|
+
--shadow-md: 0 4px 12px hsl(90, 15%, 90%);
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Macrostructure Affinity
|
|
34
|
+
|
|
35
|
+
- ✅ Photographic
|
|
36
|
+
- ✅ Long Document
|
|
37
|
+
- ✅ Quote-Led
|
|
38
|
+
- ❌ Stat-Led (too abstract)
|
|
39
|
+
- ❌ Workbench (too technical)
|
|
40
|
+
|
|
41
|
+
## Anti-Patterns (Garden-specific)
|
|
42
|
+
|
|
43
|
+
- ❌ Neon or electric colors
|
|
44
|
+
- ❌ Geometric sans-serif headings
|
|
45
|
+
- ❌ Dark mode only experiences
|
|
46
|
+
- ❌ Sharp industrial corners
|
|
47
|
+
|
|
48
|
+
## Voice
|
|
49
|
+
|
|
50
|
+
- Organic metaphors: "Grow", "Rooted", "Bloom"
|
|
51
|
+
- Conversational, warm tone
|
|
52
|
+
- Long-form storytelling
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Theme: Hum
|
|
2
|
+
|
|
3
|
+
**Genre:** atmospheric
|
|
4
|
+
**Use case:** Wellness, food, lifestyle, crafts
|
|
5
|
+
|
|
6
|
+
## Axes
|
|
7
|
+
|
|
8
|
+
| Axis | Value |
|
|
9
|
+
|------|-------|
|
|
10
|
+
| Paper band | dark (<30% lightness) |
|
|
11
|
+
| Display style | classical-serif |
|
|
12
|
+
| Accent hue | warm (10–60°) |
|
|
13
|
+
|
|
14
|
+
## Token Overrides
|
|
15
|
+
|
|
16
|
+
```css
|
|
17
|
+
:root {
|
|
18
|
+
--color-background: hsl(220, 15%, 10%);
|
|
19
|
+
--color-surface: hsl(220, 15%, 14%);
|
|
20
|
+
--color-text: hsl(220, 10%, 90%);
|
|
21
|
+
--color-text-muted: hsl(220, 10%, 65%);
|
|
22
|
+
--color-accent: hsl(35, 60%, 55%);
|
|
23
|
+
--color-accent-hover: hsl(35, 60%, 60%);
|
|
24
|
+
--font-display: 'Playfair Display', serif;
|
|
25
|
+
--font-body: 'Source Serif 4', serif;
|
|
26
|
+
--radius-sm: 4px;
|
|
27
|
+
--radius-md: 8px;
|
|
28
|
+
--shadow-sm: 0 1px 2px hsl(0, 0%, 0%);
|
|
29
|
+
--shadow-md: 0 4px 12px hsl(0, 0%, 0%);
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Macrostructure Affinity
|
|
34
|
+
|
|
35
|
+
- ✅ Narrative Workflow
|
|
36
|
+
- ✅ Photographic
|
|
37
|
+
- ✅ Quote-Led
|
|
38
|
+
- ❌ Component Playground (too technical)
|
|
39
|
+
- ❌ Index-First (too utilitarian)
|
|
40
|
+
|
|
41
|
+
## Anti-Patterns (Hum-specific)
|
|
42
|
+
|
|
43
|
+
- ❌ Pure black on pure white
|
|
44
|
+
- ❌ Geometric sans-serif for headings
|
|
45
|
+
- ❌ Bright neon accents
|
|
46
|
+
- ❌ Card-in-card layouts
|
|
47
|
+
|
|
48
|
+
## Voice
|
|
49
|
+
|
|
50
|
+
- Warm, inviting, sensory words
|
|
51
|
+
- Present tense, active voice
|
|
52
|
+
- Avoid jargon
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Theme: Lumen
|
|
2
|
+
|
|
3
|
+
**Genre:** tech
|
|
4
|
+
**Use case:** AI tools, developer products, dashboards
|
|
5
|
+
|
|
6
|
+
## Axes
|
|
7
|
+
|
|
8
|
+
| Axis | Value |
|
|
9
|
+
|------|-------|
|
|
10
|
+
| Paper band | dark (<30% lightness) |
|
|
11
|
+
| Display style | mono |
|
|
12
|
+
| Accent hue | cool (200–300°) |
|
|
13
|
+
|
|
14
|
+
## Token Overrides
|
|
15
|
+
|
|
16
|
+
```css
|
|
17
|
+
:root {
|
|
18
|
+
--color-background: hsl(220, 20%, 8%);
|
|
19
|
+
--color-surface: hsl(220, 20%, 12%);
|
|
20
|
+
--color-text: hsl(220, 10%, 88%);
|
|
21
|
+
--color-text-muted: hsl(220, 10%, 55%);
|
|
22
|
+
--color-accent: hsl(200, 100%, 60%);
|
|
23
|
+
--color-accent-hover: hsl(200, 100%, 65%);
|
|
24
|
+
--font-display: 'JetBrains Mono', monospace;
|
|
25
|
+
--font-body: 'Inter', sans-serif;
|
|
26
|
+
--radius-sm: 4px;
|
|
27
|
+
--radius-md: 6px;
|
|
28
|
+
--shadow-sm: 0 1px 2px hsl(0, 0%, 0%);
|
|
29
|
+
--shadow-md: 0 4px 12px hsl(0, 0%, 0%);
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Macrostructure Affinity
|
|
34
|
+
|
|
35
|
+
- ✅ Workbench
|
|
36
|
+
- ✅ Component Playground
|
|
37
|
+
- ✅ Stat-Led
|
|
38
|
+
- ❌ Manifesto (too editorial)
|
|
39
|
+
- ❌ Letter (too personal)
|
|
40
|
+
|
|
41
|
+
## Anti-Patterns (Lumen-specific)
|
|
42
|
+
|
|
43
|
+
- ❌ Serif fonts
|
|
44
|
+
- ❌ Warm color accents
|
|
45
|
+
- ❌ Excessive border-radius (> 8px)
|
|
46
|
+
- ❌ Large hero images
|
|
47
|
+
|
|
48
|
+
## Voice
|
|
49
|
+
|
|
50
|
+
- Concise, technical but accessible
|
|
51
|
+
- Action-oriented: "Deploy", "Connect", "Query"
|
|
52
|
+
- Code snippets welcome
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Theme: Midnight
|
|
2
|
+
|
|
3
|
+
**Genre:** atmospheric
|
|
4
|
+
**Use case:** luxury, premium products
|
|
5
|
+
|
|
6
|
+
## Axes
|
|
7
|
+
|
|
8
|
+
| Axis | Value |
|
|
9
|
+
|------|-------|
|
|
10
|
+
| Paper band | dark (0–30% lightness) |
|
|
11
|
+
| Display style | classical-serif |
|
|
12
|
+
| Accent hue | cool (180–260°) |
|
|
13
|
+
|
|
14
|
+
## Token Overrides
|
|
15
|
+
|
|
16
|
+
```css
|
|
17
|
+
:root {
|
|
18
|
+
--color-background: hsl(220, 20%, 6%);
|
|
19
|
+
--color-surface: hsl(220, 20%, 10%);
|
|
20
|
+
--color-text: hsl(220, 10%, 92%);
|
|
21
|
+
--color-text-muted: hsl(220, 5%, 55%);
|
|
22
|
+
--color-accent: hsl(220, 40%, 65%);
|
|
23
|
+
--color-accent-hover: hsl(220, 40%, 58%);
|
|
24
|
+
--font-display: 'Cormorant Garamond', 'Times New Roman', serif;
|
|
25
|
+
--font-body: 'Crimson Text', Georgia, serif;
|
|
26
|
+
--radius-sm: 2px;
|
|
27
|
+
--radius-md: 4px;
|
|
28
|
+
--shadow-sm: 0 1px 2px hsl(220, 20%, 2%);
|
|
29
|
+
--shadow-md: 0 4px 12px hsl(220, 20%, 2%);
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Macrostructure Affinity
|
|
34
|
+
|
|
35
|
+
- ✅ Photographic
|
|
36
|
+
- ✅ Quote-Led
|
|
37
|
+
- ✅ Narrative Workflow
|
|
38
|
+
- ❌ Stat-Led (too data-dense)
|
|
39
|
+
- ❌ Component Playground (too utilitarian)
|
|
40
|
+
|
|
41
|
+
## Anti-Patterns (Midnight-specific)
|
|
42
|
+
|
|
43
|
+
- ❌ Bright saturated colors
|
|
44
|
+
- ❌ Geometric sans-serif fonts
|
|
45
|
+
- ❌ Card-in-card nesting
|
|
46
|
+
- ❌ Grid-based feature lists
|
|
47
|
+
|
|
48
|
+
## Voice
|
|
49
|
+
|
|
50
|
+
- Evocative adjectives: "Timeless", "Curated", "Exceptional"
|
|
51
|
+
- Short declarative sentences
|
|
52
|
+
- No bullet points in hero sections
|