Frontend Design
Use this skill when implementing or redesigning user-facing web UI.
Context Protocol
Do not start visual design work without design context.
Check in this order:
- Loaded instructions for a
## Design Context section
.impeccable.md at the project root
- If neither exists, run
teach-impeccable first or ask the user for the missing context
Minimum required context:
- target audience
- primary use cases or jobs to be done
- desired tone or brand personality
Do not infer these only from code. Existing code shows implementation history, not design intent.
When To Apply
Apply for:
- React or web frontend implementation
- landing pages, dashboards, settings pages, flows, posters, or visual artifacts
- redesign requests where polish, distinctiveness, or product feel matters
Do not use this skill as a substitute for repo-specific design systems. If the repository already has tokens, primitives, or brand rules, follow them first and use this skill to improve execution quality.
Working Principles
Commit to a clear visual direction before editing code:
- define the purpose of the surface
- choose an intentional tone, not a default template
- identify one memorable differentiator
Then implement working code that is:
- production-grade and functional
- visually coherent
- responsive on desktop and mobile
- accessible and maintainable
Design Rules
Typography
- Prefer distinctive, intentional type pairings over default stacks.
- Use fluid sizing with
clamp() when appropriate.
- Build a clear hierarchy with weight, size, spacing, and rhythm.
- Avoid overused defaults such as Inter, Roboto, Arial, and system stacks unless the repo already standardizes on them.
Color
- Use a deliberate palette with clear hierarchy.
- Prefer CSS variables and modern color functions when the stack allows it.
- Tint neutrals toward the brand hue rather than relying on flat grayscale.
- Avoid the generic AI palette: purple-to-blue gradients, cyan on dark, neon accents, or gray text on colored backgrounds.
Layout
- Create rhythm with varied spacing, not repeated identical blocks.
- Use asymmetry intentionally where it improves hierarchy.
- Prefer strong sections and spacing systems over wrapping everything in cards.
- Avoid nested cards, templated hero metrics, or repetitive icon-card grids.
Motion
- Use a small number of meaningful transitions and reveals.
- Prefer transform and opacity animations.
- Respect
prefers-reduced-motion.
- Avoid bounce or elastic easing unless the product explicitly calls for it.
Interaction
- Make primary actions obvious within seconds.
- Use progressive disclosure for advanced detail.
- Design empty, loading, error, and success states intentionally.
- Keep keyboard focus visible and touch targets usable.
Responsive Behavior
- Design for mobile and desktop as different contexts, not just smaller and larger boxes.
- Prefer fluid spacing and container-aware layouts where available.
- Do not hide critical functionality on mobile without a replacement interaction.
UX Writing
- Make every word earn its place.
- Avoid repeating information users can already see.
- Keep labels direct and specific.
Anti-Patterns
Treat these as warning signs:
- obvious AI-looking gradients and glow-heavy dark mode
- gray text on colored surfaces
- glassmorphism used decoratively
- nested cards and repeated safe component grids
- decorative charts or metrics with no real meaning
- generic rounded rectangles with default shadows everywhere
Coordination
- Use this skill before or during implementation when visual direction is part of the task.
- Use
vercel-react-best-practices later for React/Next.js runtime and performance refinement.
- Use
audit, normalize, and polish as focused follow-up skills when needed.
1---2name: frontend-design3description: Create distinctive, production-grade frontend interfaces with high design quality. Use for React/web UI implementation and redesign work where visual direction matters.4license: Apache 2.0. Adapted from pbakaus/impeccable.5---67# Frontend Design89Use this skill when implementing or redesigning user-facing web UI.1011## Context Protocol1213Do not start visual design work without design context.1415Check in this order:161. Loaded instructions for a `## Design Context` section172. `.impeccable.md` at the project root183. If neither exists, run `teach-impeccable` first or ask the user for the missing context1920Minimum required context:21- target audience22- primary use cases or jobs to be done23- desired tone or brand personality2425Do not infer these only from code. Existing code shows implementation history, not design intent.2627## When To Apply2829Apply for:30- React or web frontend implementation31- landing pages, dashboards, settings pages, flows, posters, or visual artifacts32- redesign requests where polish, distinctiveness, or product feel matters3334Do not use this skill as a substitute for repo-specific design systems. If the repository already has tokens, primitives, or brand rules, follow them first and use this skill to improve execution quality.3536## Working Principles3738Commit to a clear visual direction before editing code:39- define the purpose of the surface40- choose an intentional tone, not a default template41- identify one memorable differentiator4243Then implement working code that is:44- production-grade and functional45- visually coherent46- responsive on desktop and mobile47- accessible and maintainable4849## Design Rules5051### Typography5253- Prefer distinctive, intentional type pairings over default stacks.54- Use fluid sizing with `clamp()` when appropriate.55- Build a clear hierarchy with weight, size, spacing, and rhythm.56- Avoid overused defaults such as Inter, Roboto, Arial, and system stacks unless the repo already standardizes on them.5758### Color5960- Use a deliberate palette with clear hierarchy.61- Prefer CSS variables and modern color functions when the stack allows it.62- Tint neutrals toward the brand hue rather than relying on flat grayscale.63- Avoid the generic AI palette: purple-to-blue gradients, cyan on dark, neon accents, or gray text on colored backgrounds.6465### Layout6667- Create rhythm with varied spacing, not repeated identical blocks.68- Use asymmetry intentionally where it improves hierarchy.69- Prefer strong sections and spacing systems over wrapping everything in cards.70- Avoid nested cards, templated hero metrics, or repetitive icon-card grids.7172### Motion7374- Use a small number of meaningful transitions and reveals.75- Prefer transform and opacity animations.76- Respect `prefers-reduced-motion`.77- Avoid bounce or elastic easing unless the product explicitly calls for it.7879### Interaction8081- Make primary actions obvious within seconds.82- Use progressive disclosure for advanced detail.83- Design empty, loading, error, and success states intentionally.84- Keep keyboard focus visible and touch targets usable.8586### Responsive Behavior8788- Design for mobile and desktop as different contexts, not just smaller and larger boxes.89- Prefer fluid spacing and container-aware layouts where available.90- Do not hide critical functionality on mobile without a replacement interaction.9192### UX Writing9394- Make every word earn its place.95- Avoid repeating information users can already see.96- Keep labels direct and specific.9798## Anti-Patterns99100Treat these as warning signs:101- obvious AI-looking gradients and glow-heavy dark mode102- gray text on colored surfaces103- glassmorphism used decoratively104- nested cards and repeated safe component grids105- decorative charts or metrics with no real meaning106- generic rounded rectangles with default shadows everywhere107108## Coordination109110- Use this skill before or during implementation when visual direction is part of the task.111- Use `vercel-react-best-practices` later for React/Next.js runtime and performance refinement.112- Use `audit`, `normalize`, and `polish` as focused follow-up skills when needed.