Design Style
Recommend and apply design styles from a curated library of 67 visual aesthetics โ from Brutalism to Glassmorphism, Cyberpunk to Japandi.
When This Skill Activates
- User asks "what style should I use for my project?"
- User says "recommend a design style"
- User mentions a specific style name ("use glassmorphism", "apply brutalist style")
- User wants to apply colors, fonts, or CSS from a design aesthetic
- User asks "ๅธฎๆ้่ฎพ่ฎก้ฃๆ ผ" / "ๆจ่่ฎพ่ฎก้ฃๆ ผ" / "้ไธช่ฎพ่ฎก้ฃๆ ผ"
Core Principles
- Show, don't lecture โ Lead with concrete CSS, colors, and prompt templates. Not theory.
- Context-aware โ A fintech dashboard needs different styles than an indie game landing page.
- Opinionated โ Recommend 3 styles, not 15. Explain why each fits.
- Immediately actionable โ Every run ends with a browsable comparison HTML the user can pick from, plus paste-ready CSS variables.
- No middle stops โ After the user provides purpose + basic info, run straight through to a generated preview. Don't stop to ask "which one do you prefer?" โ let the visual do the choosing.
Phase 0: Detect Mode
- Mode A: Recommend (default) โ User wants styles picked for their project. Go to Phase 1.
- Mode B: Lookup โ User names a specific style ("tell me about glassmorphism"). Skip Phase 1/2, go straight to Phase 3 for that style.
- Mode C: Apply โ User picks a style and wants it applied to existing code ("apply cyberpunk to this file"). Skip Phase 1/2/3, go straight to Phase 4.
Phase 1: Two Questions โ Purpose + Basic Info
Combine both into a single AskUserQuestion call. Do NOT ask them one at a time.
Question 1 โ Purpose (็ฎ็)
Header: Purpose
Question: "What are you building, and what's the goal? / ไฝ ๅจๅไปไน๏ผๆณ่พพๆไปไน็ฎ็๏ผ"
Options (with freeform allowed):
- SaaS / ๅทฅๅ ทไบงๅ
- ไฝๅ้ / ไธชไบบ็ซ
- ็ตๅ / ๅ็ๅบ
- ๅๅฎข / ๅ ๅฎน็ซ
- Landing Page / ่ฅ้่ฝๅฐ้กต
- App / ็งปๅจ็ซฏ
- ๆผ็คบ / Slides / ๆผ่ฎฒ
- ๅ ถไป (freeform)
Question 2 โ Basic Info (ๅบๆฌไฟกๆฏ)
Header: Basics
Question: "Tell me a bit more โ brand vibe, audience, must-have/avoid colors, any constraints. / ่ฏดๅ ๅฅ้กน็ฎๅบๆฌไฟกๆฏ๏ผๅ็่ฐๆงใ็ฎๆ ็จๆทใๅฟ
้กปไฟ็ๆ่ง้ฟ็้ข่ฒใไปปไฝ้ๅถใ"
No fixed options โ freeform text answer.
Example acceptable answers:
- "AI dev tool, targeting engineers, must feel technical, no baby pastels"
- "็ฌ็ซๆๅฝฑๅธไฝๅ้๏ผๆณ่ฆๆ่ฒ้ซ็บงๆ๏ผๅๅท่ฒ่ฐ"
- "ๅฟ็ซฅๆ่ฒ App๏ผๅฎถ้ฟๆ้ฑ๏ผๅพ่ฎฉๅฎถ้ฟๆพๅฟๅ่ฎฉๅญฉๅญ่งๅพๆ่ถฃ"
Skip Phase 1 entirely if the user's initial message already covers both (e.g., "ๅธฎๆ็ปๆ็ AI dev SaaS ๆพ 3 ไธชๅคง่ไฝๅฏไฟก็้ฃๆ ผ" โ that answers Purpose + Basics inline).
Phase 2: Pick 3 Styles + Auto-Generate Preview
No middle stop. After Phase 1, immediately do all of the following in one turn:
Step 2.1 โ Read the reference
Read styles-reference.md โ the "Use Case Recommendations" section for the user's Purpose category, and the full detail blocks (### N. id โ Name / ไธญๆๅ) for candidate styles.
Step 2.2 โ Infer innovation level from Basic Info
Parse the free-text answer for signals:
| Signal words in Basics | Innovation level |
|---|---|
| trustworthy, professional, safe, financial, enterprise, ็จณ้, ๅฏไฟก, ไธไธ | Level 1 |
| clean, modern, standard SaaS, ็ฐไปฃ, ๅนฒๅ | Level 2 |
| bold, distinctive, signature, memorable, ๅคง่, ๆ่พจ่ฏๅบฆ, ๆ่ฎฐๅฟ็น | Level 3 |
| experimental, rule-breaking, avant-garde, portfolio-grade, ๅ ้, ๅฎ้ช, ๅ้ฉ, ไฝๅ้็บง | Level 4 |
If ambiguous, default to Level 2โ3 (the sweet spot for most projects).
Step 2.3 โ Choose 3 styles with real spread
Pick 3 styles that span the axis โ not 3 flavors of the same thing. Rules of thumb:
- One "safest" pick that clearly matches the level.
- One "signature" pick that leans one level bolder.
- One "wildcard" from an adjacent Purpose category that could reframe the project (e.g., for a SaaS pick, throw in an Editorial or Kinetic option).
Avoid recommending 3 styles that share the same DNA quadrant (e.g., three dark-neon styles). The 3 should feel visually distinct.
Step 2.4 โ Print the recommendation card (3 blocks)
## Style Recommendations
### 1. [Name] ยท [ไธญๆๅ] โ [one-line reason it fits this project]
Colors: โ #hex โ #hex โ #hex โ #hex
DNA: Roundness X | Contrast X | Warmth X
Why: [2 sentences tied to the user's Purpose + Basics โ not generic style copy]
### 2. [Name] ยท [ไธญๆๅ] โ [one-line reason]
...
### 3. [Name] ยท [ไธญๆๅ] โ [one-line reason]
...
Step 2.5 โ Generate a side-by-side comparison HTML
Immediately (in the same turn โ do NOT ask the user "which one do you prefer?"), create a single-file HTML that renders the same sample content in all 3 chosen styles side-by-side:
- Save path:
~/Desktop/Claude skills/design-style-preview-<project-slug>.html - Sample content: a hero card the user can imagine as their landing page โ brand name (from Basics if given, else "Your Project"), a tagline, a primary CTA button, 3 feature chips. Same content in each of the 3 style renders.
- Layout: 3 columns on desktop (
grid-template-columns: repeat(3, 1fr)), stacked on mobile. - Each column displays: style number & name at top, then the rendered card using that style's CSS from styles-reference.md.
- Include a "Pick this one" button under each render that copies the style ID to clipboard.
- Open the file with
open <path>at the end of the turn.
Step 2.6 โ Print the follow-up prompt
End the turn with:
"Preview opened. Tell me which one clicks โ or say 'wildcard 3 more' and I'll pull a different trio."
Phase 3: Show Style Details (Lookup Mode)
Only used when the user names a specific style directly (Mode B) or after they pick one from the Phase 2 preview.
Read the style's full entry in styles-reference.md and present:
- Overview โ Name, difficulty, DNA scores
- Color Palette โ All colors with their roles, as a visual table
- CSS Snippet โ The core CSS that defines this style
- Font Recommendations โ Extract from the CSS/prompts what fonts work best
- Prompt Templates โ All 3 prompt templates (Basic, Advanced, Keywords)
- Do's and Don'ts โ Quick reference for staying on-style
- Related Styles โ 3 similar styles for exploration
Then offer: "Want me to apply this to your project? (Phase 4)"
Phase 4: Apply to Project
Triggered when the user picks a favorite from the Phase 2 preview OR explicitly asks to apply a style.
4.1 Generate CSS Variables
:root {
/* [Style Name] Theme */
--color-primary: #...;
--color-secondary: #...;
--color-accent: #...;
--color-background: #...;
--color-surface: #...;
--color-text: #...;
--color-text-secondary: #...;
--font-heading: '...', ...;
--font-body: '...', ...;
--radius-sm: ...;
--radius-md: ...;
--radius-lg: ...;
--shadow: ...;
}
4.2 Scan the user's project
Read existing CSS/HTML/framework files to detect: Tailwind, vanilla CSS variables, CSS Modules, styled-components, and any existing theme tokens.
4.3 Apply in the project's own idiom
- Tailwind โ
theme.extendconfig with the palette, fonts, shadows. - CSS Variables โ a
:rootblock (or update existing tokens). - Styled-components / CSS Modules โ a theme object.
- Raw HTML โ inject a
<style>block or inline styles.
Also provide:
- Google Fonts / Fontshare
<link>for recommended fonts - A sample component (card, button, nav) styled in the chosen aesthetic
- The 3 prompt templates for generating more UI with AI tools
4.4 Verify
- WCAG AA contrast on primary/text combos
- Font links properly included
- No overrides that break existing components
Data Source
All style data comes from styles-reference.md:
- Quick index of all 67 styles with colors, difficulty, and tags
- Use case recommendations by project type and innovation level
- Full details per style: colors, CSS, prompts, do's/don'ts, DNA scores
The authoritative interactive reference: https://design-lab-yanliu.vercel.app/
Guardrails
- Never recommend more than 3 styles at once โ too many options paralyze.
- Never stop between Phase 1 and Phase 2's HTML output โ the point of this skill is to let the user see the preview before they decide, not to interview them further.
- Always ground recommendations in the user's Purpose + Basics โ no generic "these are popular styles."
- When applying styles, preserve existing code structure โ don't rewrite files.
- If the user's project has an established design system, integrate with it rather than override.
- Font recommendations must use Google Fonts or Fontshare (free, no licensing issues).
- Check color contrast when applying dark or low-contrast styles.