Frontend Design Skill
Purpose: Create production-grade, distinctive UI that stands out from generic AI-generated designs
Quick Start
When to Use
- Building web UI components, pages, or applications
- Creating dashboard interfaces, landing pages, or marketing sites
- Styling React components, HTML/CSS layouts, or design systems
Quick Reference
| Category |
Key Principle |
Action |
| Fonts |
Avoid defaults |
Never use Inter as default |
| Colors |
Avoid gradients |
No purple-to-blue gradients |
| Layout |
Embrace asymmetry |
Break from rigid grids |
| Details |
Add texture |
Use noise, patterns, borders |
Core Principles
1. Choose an Aesthetic Direction
| Direction |
Characteristics |
Examples |
| Minimalist |
Clean, sparse, purposeful |
Stripe, Linear |
| Maximalist |
Bold, expressive, layered |
Brutalist sites |
| Warm/Human |
Organic textures, soft edges |
Notion, Gumroad |
| Technical/Precise |
Sharp edges, monospace |
Vercel, GitHub |
| Playful |
Bright colors, rounded |
Discord, Slack |
Action: Start with "I'll use a [direction] aesthetic for this."
2. Make Every Detail Intentional
- Default fonts → Never accept Inter as the default
- Gradients → Purple-to-blue is the most overused gradient
- Center alignment → Explore asymmetry and interesting layouts
- Flat colors → Add texture, noise, patterns, or subtle borders
3. Be Specific, Not Generic
Bad: "Use a nice color scheme" | Good: "Use a warm palette with coral (#FF6B6B) as primary, cream (#FFF8F0) background"
Typography & Color
Font Selection
⚠️ NEVER use Inter as the default font
| Category |
Font Families |
When to Use |
| Serif |
GT Super, Charter, Georgia |
Editorial, premium |
| Sans-Serif |
Geist, Satoshi, System UI |
Clean, modern (not Inter!) |
| Monospace |
Geist Mono, JetBrains Mono |
Technical, code |
| Display |
Clash Display, Syne |
Headlines, personality |
Typography Hierarchy: Headlines: 40-72px, tight tracking (-1% to -3%) | Body: 16-18px, loose tracking (0% to +2%)
Color Strategy
⚠️ Anti-Pattern: background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); (purple-to-blue is everywhere)
Moods: Warm (coral, peach, cream) | Cool (teal, sage, slate) | Bold (red, yellow, black) | Muted (olive, rust, navy)
Palette example:
:root {
--primary: #FF6B6B; /* Coral */
--background: #FFF8F0; /* Cream */
--text: #2D3436;
--border: #E8E8E8;
}
Usage rules:
- Backgrounds: Off-white, cream, or dark (never pure #FFF)
- Borders: Subtle (opacity 0.1-0.2) or sharp black/white
- Gradients: Subtle, same-hue shifts (no purple-to-blue!)
Motion & Layout
Animation Principles
- Duration: 200-300ms for micro-interactions
- Easing:
ease-out for entry, ease-in for exit
- Spring physics:
cubic-bezier(0.34, 1.56, 0.64, 1)
- Examples: Hover: Scale up (1.02) | Click: Scale down (0.98) | Entry: Fade in + slide up (20px)
⚠️ Anti-Pattern: Over-Animation
Avoid: Spinning loaders, bounce effects, slow fade-ins (>500ms)
Layout Strategy
- Explore asymmetric layouts
- Use grid systems creatively
- Generous padding = premium feel
Component Spacing: Section (80-120px) | Component (24-32px) | Element (8-16px)
Anti-Patterns: The "AI Slop" Checklist
Implementation Tips
Tailwind CSS
/* Good: Specific values */
className="text-[17px] leading-[1.6] text-[#2D3436]"
/* Bad: Generic defaults */
className="text-base leading-normal text-gray-900"
React Components
const theme = { colors: { primary: '#FF6B6B' } };
<button style={{ backgroundColor: theme.colors.primary }} />
Further Reading
Internal: @.claude/skills/frontend-design/REFERENCE.md - Detailed examples, patterns, case studies
External: Refactoring UI
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: frontend-design-693description: Production-grade frontend design skill for distinctive, non-generic UI development. Avoids "AI slop" aesthetics through specific aesthetic direction guidelines. Use when this capability is needed.4---56# Frontend Design Skill78> **Purpose**: Create production-grade, distinctive UI that stands out from generic AI-generated designs910---1112## Quick Start1314### When to Use1516- Building web UI components, pages, or applications17- Creating dashboard interfaces, landing pages, or marketing sites18- Styling React components, HTML/CSS layouts, or design systems1920### Quick Reference2122| Category | Key Principle | Action |23|----------|---------------|--------|24| **Fonts** | Avoid defaults | Never use Inter as default |25| **Colors** | Avoid gradients | No purple-to-blue gradients |26| **Layout** | Embrace asymmetry | Break from rigid grids |27| **Details** | Add texture | Use noise, patterns, borders |2829## Core Principles3031### 1. Choose an Aesthetic Direction3233| Direction | Characteristics | Examples |34|-----------|----------------|----------|35| **Minimalist** | Clean, sparse, purposeful | Stripe, Linear |36| **Maximalist** | Bold, expressive, layered | Brutalist sites |37| **Warm/Human** | Organic textures, soft edges | Notion, Gumroad |38| **Technical/Precise** | Sharp edges, monospace | Vercel, GitHub |39| **Playful** | Bright colors, rounded | Discord, Slack |4041**Action**: Start with "I'll use a **[direction]** aesthetic for this."4243### 2. Make Every Detail Intentional4445- **Default fonts** → Never accept Inter as the default46- **Gradients** → Purple-to-blue is the most overused gradient47- **Center alignment** → Explore asymmetry and interesting layouts48- **Flat colors** → Add texture, noise, patterns, or subtle borders4950### 3. Be Specific, Not Generic5152**Bad**: "Use a nice color scheme" | **Good**: "Use a warm palette with coral (#FF6B6B) as primary, cream (#FFF8F0) background"5354## Typography & Color5556### Font Selection5758**⚠️ NEVER use Inter as the default font**5960| Category | Font Families | When to Use |61|----------|---------------|-------------|62| **Serif** | GT Super, Charter, Georgia | Editorial, premium |63| **Sans-Serif** | Geist, Satoshi, System UI | Clean, modern (not Inter!) |64| **Monospace** | Geist Mono, JetBrains Mono | Technical, code |65| **Display** | Clash Display, Syne | Headlines, personality |6667**Typography Hierarchy**: Headlines: 40-72px, tight tracking (-1% to -3%) | Body: 16-18px, loose tracking (0% to +2%)6869### Color Strategy7071**⚠️ Anti-Pattern**: `background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);` (purple-to-blue is everywhere)7273**Moods**: Warm (coral, peach, cream) | Cool (teal, sage, slate) | Bold (red, yellow, black) | Muted (olive, rust, navy)7475**Palette example**:76```css77:root {78 --primary: #FF6B6B; /* Coral */79 --background: #FFF8F0; /* Cream */80 --text: #2D3436;81 --border: #E8E8E8;82}83```8485**Usage rules**:86- Backgrounds: Off-white, cream, or dark (never pure #FFF)87- Borders: Subtle (opacity 0.1-0.2) or sharp black/white88- Gradients: Subtle, same-hue shifts (no purple-to-blue!)8990## Motion & Layout9192### Animation Principles9394- **Duration**: 200-300ms for micro-interactions95- **Easing**: `ease-out` for entry, `ease-in` for exit96- **Spring physics**: `cubic-bezier(0.34, 1.56, 0.64, 1)`97- **Examples**: Hover: Scale up (1.02) | Click: Scale down (0.98) | Entry: Fade in + slide up (20px)9899### ⚠️ Anti-Pattern: Over-Animation100101**Avoid**: Spinning loaders, bounce effects, slow fade-ins (>500ms)102103### Layout Strategy104105- Explore asymmetric layouts106- Use grid systems creatively107- Generous padding = premium feel108109**Component Spacing**: Section (80-120px) | Component (24-32px) | Element (8-16px)110111## Anti-Patterns: The "AI Slop" Checklist112113- [ ] **Inter font** default → Change114- [ ] **Purple-to-blue gradient** → Different scheme115- [ ] **Perfectly centered** → Explore asymmetry116- [ ] **Pure white (#FFF)** → Add texture117- [ ] **Generic shadows** → Use subtle118- [ ] **No borders** → Add separation119- [ ] **Rounded-xl everywhere** → Vary radius120- [ ] **No texture/noise** → Add interest121122## Implementation Tips123124### Tailwind CSS125126```jsx127/* Good: Specific values */128className="text-[17px] leading-[1.6] text-[#2D3436]"129130/* Bad: Generic defaults */131className="text-base leading-normal text-gray-900"132```133134### React Components135136```jsx137const theme = { colors: { primary: '#FF6B6B' } };138<button style={{ backgroundColor: theme.colors.primary }} />139```140141## Further Reading142143**Internal**: @.claude/skills/frontend-design/REFERENCE.md - Detailed examples, patterns, case studies144145**External**: [Refactoring UI](https://www.refactoringui.com/)146147---148> Converted and distributed by [TomeVault](https://tomevault.io/claim/changoo89) — claim your Tome and manage your conversions.149<!-- tomevault:4.0:skill_md:2026-04-13 -->