This skill guides creation of distinctive, production-grade frontend interfaces that avoid generic "AI slop" aesthetics. Implement real working code with exceptional attention to aesthetic details and creative choices.
The user provides frontend requirements: a component, page, application, or interface to build. They may include context about the purpose, audience, or technical constraints.
Design Thinking
Before coding, understand the context and commit to a BOLD aesthetic direction:
- Purpose: What problem does this interface solve? Who uses it?
- Tone: Pick an extreme: brutally minimal, maximalist chaos, retro-futuristic, organic/natural, luxury/refined, playful/toy-like, editorial/magazine, brutalist/raw, art deco/geometric, soft/pastel, industrial/utilitarian, etc. There are so many flavors to choose from. Use these for inspiration but design one that is true to the aesthetic direction.
- Constraints: Technical requirements (framework, performance, accessibility).
- Differentiation: What makes this UNFORGETTABLE? What's the one thing someone will remember?
CRITICAL: Choose a clear conceptual direction and execute it with precision. Bold maximalism and refined minimalism both work - the key is intentionality, not intensity.
Then implement working code (HTML/CSS/JS, React, Vue, etc.) that is:
- Production-grade and functional
- Visually striking and memorable
- Cohesive with a clear aesthetic point-of-view
- Meticulously refined in every detail
Frontend Aesthetics Guidelines
Focus on:
- Typography: Choose fonts that are beautiful, unique, and interesting. Avoid generic fonts like Arial and Inter; opt instead for distinctive choices that elevate the frontend's aesthetics; unexpected, characterful font choices. Pair a distinctive display font with a refined body font.
- Color & Theme: Commit to a cohesive aesthetic. Use CSS variables for consistency. Dominant colors with sharp accents outperform timid, evenly-distributed palettes.
- Motion: Use animations for effects and micro-interactions. Prioritize CSS-only solutions for HTML. Use Motion library for React when available. Focus on high-impact moments: one well-orchestrated page load with staggered reveals (animation-delay) creates more delight than scattered micro-interactions. Use scroll-triggering and hover states that surprise.
- Spatial Composition: Unexpected layouts. Asymmetry. Overlap. Diagonal flow. Grid-breaking elements. Generous negative space OR controlled density.
- Backgrounds & Visual Details: Create atmosphere and depth rather than defaulting to solid colors. Add contextual effects and textures that match the overall aesthetic. Apply creative forms like gradient meshes, noise textures, geometric patterns, layered transparencies, dramatic shadows, decorative borders, custom cursors, and grain overlays.
NEVER use generic AI-generated aesthetics like overused font families (Inter, Roboto, Arial, system fonts), cliched color schemes (particularly purple gradients on white backgrounds), predictable layouts and component patterns, and cookie-cutter design that lacks context-specific character.
Interpret creatively and make unexpected choices that feel genuinely designed for the context. No design should be the same. Vary between light and dark themes, different fonts, different aesthetics. NEVER converge on common choices (Space Grotesk, for example) across generations.
IMPORTANT: Match implementation complexity to the aesthetic vision. Maximalist designs need elaborate code with extensive animations and effects. Minimalist or refined designs need restraint, precision, and careful attention to spacing, typography, and subtle details. Elegance comes from executing the vision well.
Remember: Claude is capable of extraordinary creative work. Don't hold back, show what can truly be created when thinking outside the box and committing fully to a distinctive vision.
Project-Specific Guidelines (portfolio-v2)
This project is a backend-focused portfolio showcasing system design, cloud infrastructure, and scalable APIs. The audience is technical power users: recruiters, senior leads, and fellow engineers who value clarity, density, and precision.
Design Direction
Emotional Goal: Trust + Efficiency + Focus
Visual Feel: Terminal-modern + GitHub dark — clean, technical, precise
Personality: Precision & Density — tight spacing, monochrome, information-forward
Color Foundation: Cool foundations (slate, blue-gray) — professional, trustworthy
Theme: Dark mode default (feels technical, focused, premium)
Typography: Humanist sans (SF Pro) — warmer than cold system fonts
What makes it memorable: Subtle delight for nerds — terminal vibes, optimization focus, hands-on Linux energy without being overdone.
Core Craft Principles
The 4px Grid
All spacing uses a 4px base grid:
4px — micro spacing (icon gaps)
8px — tight spacing (within components)
12px — standard spacing (between related elements)
16px — comfortable spacing (section padding)
24px — generous spacing (between sections)
32px — major separation
Symmetrical Padding
TLBR must match. If top padding is 16px, left/bottom/right must also be 16px. Exception: when content naturally creates visual balance.
Border Radius Consistency
Use 2px, 4px, 6px (minimal system). Sharper corners feel technical. Pick a system and commit — don't mix.
Depth & Elevation Strategy
Use borders-only (flat) approach:
- Clean, technical, dense. Works for utility-focused tools where information density matters.
- Minimal shadows (
0 1px 3px rgba(0,0,0,0.08) maximum for subtle lift).
- Lean on borders for definition (not shadows).
- Borders at 10-15% opacity for dark backgrounds.
Example CSS:
--border: rgba(0, 0, 0, 0.08);
--border-subtle: rgba(0, 0, 0, 0.05);
border: 0.5px solid var(--border);
Card Design
- Varied internal layouts based on content.
- Consistent surface treatment: same border weight, shadow depth, corner radius, padding scale.
- No decorative gradients or excessive effects.
Typography Hierarchy
- Headlines: 600 weight, tight letter-spacing (-0.02em)
- Body: 400-500 weight, standard tracking
- Labels: 500 weight, slight positive tracking
- Scale: 11px, 12px, 13px, 14px (base), 16px, 18px, 24px, 32px
- Monospace for data: numbers, IDs, codes, timestamps (use
tabular-nums for alignment)
Animation & Motion
- 150ms for micro-interactions, 200-250ms for larger transitions
- Easing:
cubic-bezier(0.25, 1, 0.5, 1)
- No spring/bouncy effects in enterprise UI
- Page load: one well-orchestrated moment with staggered reveals
Contrast Hierarchy
Build a four-level system: foreground (primary) → secondary → muted → faint. Use consistently.
Color for Meaning Only
- Gray builds structure. Color communicates: status, action, error, success.
- Decorative color is noise.
- Almost monochrome with color reserved for actionable elements (like GitHub).
Navigation Context
- Include sidebar or top nav showing location.
- Use same background for sidebar and content (separate with subtle border).
- Add breadcrumbs, page title, or active nav state for grounding.
Anti-Patterns (Never Do)
- Dramatic drop shadows (
box-shadow: 0 25px 50px...)
- Large border radius (16px+) on small elements
- Asymmetric padding without clear reason
- Thick borders (2px+) for decoration
- Excessive spacing (margins > 48px between sections)
- Spring/bouncy animations
- Gradients for decoration
- Multiple accent colors in one interface
Tech Stack
- Framework: Next.js (App Router)
- Runtime: Bun
- Styling: Tailwind CSS
- UI Components: shadcn/ui
- Linter/Formatter: Biome
Key UI Components Available:
- Button, Card, Input, Badge, Separator, Typography (H1-H4, P, Label, Code, MonoText)
- ButtonLink (Next.js Link styled as Button using asChild pattern)
- Always use
cn() helper for className merging
- Use CSS variables for colors (
bg-background, text-foreground)
- Memoize components with
memo() and set displayName
Import Pattern:
import { Button, Card, H1, P } from '@/components/ui'
Component File Organization:
- API Routes:
app/api/**/*.ts
- Components:
app/components/**/*.tsx
ui/ — shadcn/ui primitives + typography
layout/ — Header, Footer, Navigation
common/ — Section, SectionHeader, shared
home/, projects/, blog/, about/ — feature-specific
mdx/ — MDX/Markdown rendering
- Lib:
app/lib/**/*.ts
- Types:
app/types/**/*.ts
Biome Settings:
- 2-space indentation
- Single quotes
- Semicolons always
- Trailing commas in multi-line
- Line width: 100 characters
The Standard
Every interface should look designed by a team that obsesses over 1-pixel differences. Not stripped — crafted. Designed for the specific context of a technical portfolio for power users who value precision, clarity, and density of information without fluff.
The goal: intricate minimalism with subtle technical personality. No generic AI aesthetics. Precision meets nerd delight.
1---2name: frontend-design-163description: Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML/CSS layouts, or when styling/beautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.4license: Complete terms in LICENSE.txt5---6
7This skill guides creation of distinctive, production-grade frontend interfaces that avoid generic "AI slop" aesthetics. Implement real working code with exceptional attention to aesthetic details and creative choices.
8
9The user provides frontend requirements: a component, page, application, or interface to build. They may include context about the purpose, audience, or technical constraints.
10
11## Design Thinking
12
13Before coding, understand the context and commit to a BOLD aesthetic direction:
14- **Purpose**: What problem does this interface solve? Who uses it?
15- **Tone**: Pick an extreme: brutally minimal, maximalist chaos, retro-futuristic, organic/natural, luxury/refined, playful/toy-like, editorial/magazine, brutalist/raw, art deco/geometric, soft/pastel, industrial/utilitarian, etc. There are so many flavors to choose from. Use these for inspiration but design one that is true to the aesthetic direction.
16- **Constraints**: Technical requirements (framework, performance, accessibility).
17- **Differentiation**: What makes this UNFORGETTABLE? What's the one thing someone will remember?
18
19**CRITICAL**: Choose a clear conceptual direction and execute it with precision. Bold maximalism and refined minimalism both work - the key is intentionality, not intensity.
20
21Then implement working code (HTML/CSS/JS, React, Vue, etc.) that is:
22- Production-grade and functional
23- Visually striking and memorable
24- Cohesive with a clear aesthetic point-of-view
25- Meticulously refined in every detail
26
27## Frontend Aesthetics Guidelines
28
29Focus on:
30- **Typography**: Choose fonts that are beautiful, unique, and interesting. Avoid generic fonts like Arial and Inter; opt instead for distinctive choices that elevate the frontend's aesthetics; unexpected, characterful font choices. Pair a distinctive display font with a refined body font.
31- **Color & Theme**: Commit to a cohesive aesthetic. Use CSS variables for consistency. Dominant colors with sharp accents outperform timid, evenly-distributed palettes.
32- **Motion**: Use animations for effects and micro-interactions. Prioritize CSS-only solutions for HTML. Use Motion library for React when available. Focus on high-impact moments: one well-orchestrated page load with staggered reveals (animation-delay) creates more delight than scattered micro-interactions. Use scroll-triggering and hover states that surprise.
33- **Spatial Composition**: Unexpected layouts. Asymmetry. Overlap. Diagonal flow. Grid-breaking elements. Generous negative space OR controlled density.
34- **Backgrounds & Visual Details**: Create atmosphere and depth rather than defaulting to solid colors. Add contextual effects and textures that match the overall aesthetic. Apply creative forms like gradient meshes, noise textures, geometric patterns, layered transparencies, dramatic shadows, decorative borders, custom cursors, and grain overlays.
35
36NEVER use generic AI-generated aesthetics like overused font families (Inter, Roboto, Arial, system fonts), cliched color schemes (particularly purple gradients on white backgrounds), predictable layouts and component patterns, and cookie-cutter design that lacks context-specific character.
37
38Interpret creatively and make unexpected choices that feel genuinely designed for the context. No design should be the same. Vary between light and dark themes, different fonts, different aesthetics. NEVER converge on common choices (Space Grotesk, for example) across generations.
39
40**IMPORTANT**: Match implementation complexity to the aesthetic vision. Maximalist designs need elaborate code with extensive animations and effects. Minimalist or refined designs need restraint, precision, and careful attention to spacing, typography, and subtle details. Elegance comes from executing the vision well.
41
42Remember: Claude is capable of extraordinary creative work. Don't hold back, show what can truly be created when thinking outside the box and committing fully to a distinctive vision.
43
44---
45
46## Project-Specific Guidelines (portfolio-v2)
47
48This project is a **backend-focused portfolio** showcasing system design, cloud infrastructure, and scalable APIs. The audience is technical power users: recruiters, senior leads, and fellow engineers who value clarity, density, and precision.
49
50### Design Direction
51
52**Emotional Goal**: Trust + Efficiency + Focus
53**Visual Feel**: Terminal-modern + GitHub dark — clean, technical, precise
54**Personality**: **Precision & Density** — tight spacing, monochrome, information-forward
55**Color Foundation**: Cool foundations (slate, blue-gray) — professional, trustworthy
56**Theme**: Dark mode default (feels technical, focused, premium)
57**Typography**: Humanist sans (SF Pro) — warmer than cold system fonts
58
59**What makes it memorable**: Subtle delight for nerds — terminal vibes, optimization focus, hands-on Linux energy without being overdone.
60
61### Core Craft Principles
62
63#### The 4px Grid
64All spacing uses a 4px base grid:
65- `4px` — micro spacing (icon gaps)
66- `8px` — tight spacing (within components)
67- `12px` — standard spacing (between related elements)
68- `16px` — comfortable spacing (section padding)
69- `24px` — generous spacing (between sections)
70- `32px` — major separation
71
72#### Symmetrical Padding
73**TLBR must match.** If top padding is 16px, left/bottom/right must also be 16px. Exception: when content naturally creates visual balance.
74
75#### Border Radius Consistency
76Use 2px, 4px, 6px (minimal system). Sharper corners feel technical. Pick a system and commit — don't mix.
77
78#### Depth & Elevation Strategy
79
80**Use borders-only (flat) approach:**
81- Clean, technical, dense. Works for utility-focused tools where information density matters.
82- Minimal shadows (`0 1px 3px rgba(0,0,0,0.08)` maximum for subtle lift).
83- Lean on borders for definition (not shadows).
84- Borders at 10-15% opacity for dark backgrounds.
85
86**Example CSS:**
87```css
88--border: rgba(0, 0, 0, 0.08);
89--border-subtle: rgba(0, 0, 0, 0.05);
90border: 0.5px solid var(--border);
91```
92
93#### Card Design
94- Varied internal layouts based on content.
95- **Consistent surface treatment**: same border weight, shadow depth, corner radius, padding scale.
96- No decorative gradients or excessive effects.
97
98#### Typography Hierarchy
99- Headlines: 600 weight, tight letter-spacing (-0.02em)
100- Body: 400-500 weight, standard tracking
101- Labels: 500 weight, slight positive tracking
102- Scale: 11px, 12px, 13px, 14px (base), 16px, 18px, 24px, 32px
103- **Monospace for data**: numbers, IDs, codes, timestamps (use `tabular-nums` for alignment)
104
105#### Animation & Motion
106- 150ms for micro-interactions, 200-250ms for larger transitions
107- Easing: `cubic-bezier(0.25, 1, 0.5, 1)`
108- **No spring/bouncy effects** in enterprise UI
109- Page load: one well-orchestrated moment with staggered reveals
110
111#### Contrast Hierarchy
112Build a four-level system: foreground (primary) → secondary → muted → faint. Use consistently.
113
114#### Color for Meaning Only
115- Gray builds structure. Color communicates: status, action, error, success.
116- Decorative color is noise.
117- Almost monochrome with color reserved for actionable elements (like GitHub).
118
119#### Navigation Context
120- Include sidebar or top nav showing location.
121- Use same background for sidebar and content (separate with subtle border).
122- Add breadcrumbs, page title, or active nav state for grounding.
123
124### Anti-Patterns (Never Do)
125- Dramatic drop shadows (`box-shadow: 0 25px 50px...`)
126- Large border radius (16px+) on small elements
127- Asymmetric padding without clear reason
128- Thick borders (2px+) for decoration
129- Excessive spacing (margins > 48px between sections)
130- Spring/bouncy animations
131- Gradients for decoration
132- Multiple accent colors in one interface
133
134### Tech Stack
135
136- **Framework**: Next.js (App Router)
137- **Runtime**: Bun
138- **Styling**: Tailwind CSS
139- **UI Components**: shadcn/ui
140- **Linter/Formatter**: Biome
141
142**Key UI Components Available:**
143- Button, Card, Input, Badge, Separator, Typography (H1-H4, P, Label, Code, MonoText)
144- ButtonLink (Next.js Link styled as Button using asChild pattern)
145- Always use `cn()` helper for className merging
146- Use CSS variables for colors (`bg-background`, `text-foreground`)
147- Memoize components with `memo()` and set `displayName`
148
149**Import Pattern:**
150```typescript
151import { Button, Card, H1, P } from '@/components/ui'
152```
153
154**Component File Organization:**
155- API Routes: `app/api/**/*.ts`
156- Components: `app/components/**/*.tsx`
157 - `ui/` — shadcn/ui primitives + typography
158 - `layout/` — Header, Footer, Navigation
159 - `common/` — Section, SectionHeader, shared
160 - `home/`, `projects/`, `blog/`, `about/` — feature-specific
161 - `mdx/` — MDX/Markdown rendering
162- Lib: `app/lib/**/*.ts`
163- Types: `app/types/**/*.ts`
164
165**Biome Settings:**
166- 2-space indentation
167- Single quotes
168- Semicolons always
169- Trailing commas in multi-line
170- Line width: 100 characters
171
172### The Standard
173
174Every interface should look designed by a team that obsesses over 1-pixel differences. Not stripped — *crafted*. Designed for the specific context of a technical portfolio for power users who value precision, clarity, and density of information without fluff.
175
176The goal: **intricate minimalism with subtle technical personality**. No generic AI aesthetics. Precision meets nerd delight.