frontend-design
Frontend Design Skill
This skill guides creation of distinctive, production-grade frontend interfaces. It automatically detects the project's existing design system and frontend framework, respects them first, then channels creativity through composition, layout, and motion.
The user provides frontend requirements: a component, page, application, or interface to build. They may include context about the purpose, audience, or technical constraints.
Step 1: Codebase Context Discovery (MANDATORY)
Before writing any code or choosing any aesthetic direction, scan the codebase. This step is non-negotiable and runs every time.
What to Detect
- Frontend framework — Check
package.json(or equivalent) for:react,vue,angular,svelte,next,nuxt,astro,solid-js - Component library — Check dependencies for: PrimeVue, shadcn/ui, Vuetify, MUI, Chakra UI, Ant Design, Radix, Mantine, Quasar, Element Plus, Headless UI
- CSS framework / methodology — Check for:
- Tailwind:
tailwind.config.*files or@tailwinddirectives - CSS Modules:
*.module.cssfiles - Styled-components / Emotion: imports in component files
- SCSS/SASS:
*.scssfiles, variable files - CSS-in-JS: check imports
- Tailwind:
- Design tokens — Scan for:
- CSS custom properties files (
variables.css,tokens.css,:rootblocks) - Tailwind theme extensions in
tailwind.config.* - SCSS variable files (
_variables.scss,_tokens.scss) - Theme configuration files
- CSS custom properties files (
- Existing typography — Check for font declarations in:
- Entry points (
index.html,_app.tsx,layout.tsx,nuxt.config.*,app.vue) - Global CSS files
- Font import statements (Google Fonts, local fonts)
- Entry points (
- Existing color palette — Look for defined colors in theme files, CSS variables, Tailwind config
- Component patterns — Examine 2-3 existing components to understand:
- Naming conventions (PascalCase, kebab-case)
- Directory structure
- Styling approach used in practice
- Design system rules — Check for design system rules in
CLAUDE.md,.cursor/rules, or other agent configuration files (thecreate-design-system-rulesskill generates these)
Context Summary
After scanning, internally classify the project into one of three tiers:
| Tier | Condition | Behavior |
|---|---|---|
| Tier 1: Greenfield | No framework, no component library, no design tokens (standalone HTML, one-off artifact, new project) | Full creative freedom — proceed to Step 2 Path B |
| Tier 2: Framework present | Framework and/or CSS framework detected, but no established design system or component library | Use framework idioms, express creativity through theming, layout, and composition |
| Tier 3: Design system present | Component library + design tokens + established patterns detected | Strict adherence to existing system; creativity through composition, motion, and micro-interactions only |
State your findings before proceeding. Example: "Detected: Vue 3 + PrimeVue + Tailwind CSS with custom theme. Tier 3 — I will use PrimeVue components and existing design tokens."
Step 2: Design Thinking
Path A: Design Within an Existing System (Tier 2 & 3)
When an existing design system or framework is detected, creative expression is channeled — not suppressed.
Hard constraints (NEVER violate):
- NEVER import fonts that are not already in the project's font stack
- NEVER override existing design tokens (CSS variables, Tailwind theme values, SCSS variables)
- NEVER create components that duplicate existing library components (if the library has a Button, use it)
- NEVER introduce a CSS methodology that differs from the project's approach (if the project uses Tailwind, use Tailwind — not inline styles or CSS Modules)
- NEVER add external CDN links for styling resources not already used
Creative layer (WHERE distinctiveness lives):
- Spatial composition — Unexpected layouts using the existing grid system: asymmetric arrangements, dramatic whitespace, overlapping sections, diagonal flow, grid-breaking hero areas
- Motion and animation — Staggered reveals, scroll-triggered transitions, hover state choreography, page load orchestration. Use the project's animation approach (CSS transitions, Motion library, GSAP — whatever is already installed or appropriate for the framework)
- Content hierarchy — Dramatic size contrasts within the existing type scale, bold use of font weight variations, creative letter-spacing, text-transform as a design tool
- Color accent strategy — Within the existing palette, use dominant/accent relationships intentionally. A design system defines colors; this skill decides how to deploy them for maximum impact
- Component composition — Combine existing primitives in unexpected ways: a DataTable with editorial-quality header treatment, a Card grid with magazine-style layout, a Form with conversational flow
- Micro-interactions — Purposeful feedback on every interactive element: button press effects, input focus animations, loading state choreography, success/error transitions
- Whitespace as design — Generous padding, breathing room between sections, whitespace that creates visual rhythm
Think like a designer at a company with an established brand: you don't replace the brand typeface — you create distinction through how you compose the existing elements.
Path B: Design From Scratch (Tier 1 — Greenfield)
When no existing system is detected, commit to a BOLD aesthetic direction:
-
Purpose: What problem does this interface solve? Who uses it?
-
Tone: Pick a clear aesthetic direction:
- Brutally minimal
- Maximalist chaos
- Retro-futuristic
- Organic/natural
- Luxury/refined
- Playful/toy-like
- Editorial/magazine
- Brutalist/raw
- Art deco/geometric
- Soft/pastel
- Industrial/utilitarian
Use these for inspiration but design one that is true to the aesthetic direction.
-
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.
Implementation Standards
For All Tiers
Implement working code that is:
- Production-grade and functional
- Cohesive with a clear visual point-of-view
- Meticulously refined in every detail
- Accessible (proper contrast ratios, semantic HTML, keyboard navigation)
For Tier 2 & 3 (Existing System)
- Use the project's existing component library as the primary building block
- Follow the project's file naming and directory conventions
- Use the project's CSS methodology exclusively
- Extend, don't replace: if you need a variant, extend the existing token system rather than hardcoding values
- If a component you need doesn't exist in the library, build it following the library's patterns and conventions
For Tier 1 (Greenfield)
- Choose fonts that are beautiful, unique, and interesting
- Define a cohesive color system using CSS variables
- Create a clear spacing scale
- Establish consistent component patterns
- Consider suggesting the
create-design-system-rulesskill to formalize the system
Frontend Aesthetics Guidelines
Typography
Tier 2 & 3: Use the project's established font stack. Create distinction through:
- Dramatic size contrasts (within the existing type scale)
- Variable font weight usage (if the project uses variable fonts)
- Creative letter-spacing and text-transform
- Line-height adjustments for visual rhythm
- If the project uses Inter, make Inter look incredible — font choice is not the only lever
Tier 1 (Greenfield):
- Choose fonts that are beautiful, unique, and interesting
- Avoid generic fonts like Arial and system defaults
- Pair a distinctive display font with a refined body font
- NEVER converge on overused choices (Space Grotesk, Inter, Roboto)
Color & Theme
Tier 2 & 3: Work within the existing palette:
- Use dominant/accent relationships with intention
- Explore the full range of the existing palette (projects often have colors defined but underused)
- Use opacity and transparency variations of existing colors for depth
- Dark/light mode: follow the project's approach
Tier 1 (Greenfield):
- Commit to a cohesive aesthetic
- Use CSS variables for consistency
- Dominant colors with sharp accents outperform timid, evenly-distributed palettes
- Vary between light and dark themes
Motion & Animation
All Tiers (this is where distinctiveness thrives regardless of design system):
- Use animations for effects and micro-interactions
- Focus on high-impact moments: page load reveals with staggered animation-delay
- Scroll-triggered animations and surprising hover states
- Purposeful transitions on state changes (loading, success, error)
- Use the project's preferred animation approach (CSS, Motion, GSAP, or framework-native)
- Prioritize CSS-only solutions for simple transitions
Spatial Composition
All Tiers (composition creativity works within any system):
- Unexpected layouts (even with standard components)
- Asymmetric arrangements of symmetric components
- Overlapping elements for depth
- Grid-breaking hero sections
- Generous negative space OR controlled density — both are valid
- Diagonal flow and visual rhythm
Backgrounds & Visual Details
Tier 2 & 3: Create atmosphere using the existing design language:
- Subtle gradients using existing palette colors
- Background patterns built from the existing token system
- Layered transparencies with existing colors
- Shadows that match the project's elevation system
Tier 1 (Greenfield):
- Gradient meshes
- Noise textures
- Geometric patterns
- Layered transparencies
- Dramatic shadows
- Decorative borders
- Custom cursors
- Grain overlays
What to AVOID
Always Avoid (All Tiers)
- Cookie-cutter layouts with no visual rhythm
- Identical components stacked without variation
- Animations that are purely decorative without purpose
- Accessibility violations (poor contrast, missing labels, no keyboard support)
Tier 2 & 3: Avoid Breaking the System
- Overriding design tokens with hardcoded values
- Importing fonts not in the project's font stack
- Creating one-off components that duplicate library components
- Using a different CSS methodology than the project's
- Introducing external dependencies without checking the project's approach
- Ignoring existing component APIs and patterns
Tier 1 (Greenfield): Avoid Generic AI Aesthetics
- Overused font families (Inter, Roboto, Arial, system fonts, Space Grotesk)
- Cliched color schemes (particularly purple gradients on white backgrounds)
- Predictable layouts and component patterns
- Generic styling that lacks context-specific character
Design Variation
- No two designs should look the same
- Even within a design system, vary how components are composed across different pages
- Apply different spatial compositions to different sections
- Interpret requirements creatively — a dashboard can be editorial, a form can be conversational, a settings page can be elegant
- The constraint of a design system should inspire more creativity, not less
Complementary Skills
- create-design-system-rules — If no design system is detected (Tier 1), suggest running this skill first to establish one. If design system rules already exist, consume and obey them.
- react-best-practices / vue-best-practices — Defer to these for framework idioms and component API patterns. This skill focuses on visual creativity, not framework best practices.
- web-design-guidelines — Use for auditing and reviewing existing interfaces against quality standards.
Remember
First, understand your room. Then, be the most creative person in that room — but do not repaint the walls if someone already chose the color.
In a greenfield project: don't hold back. Create extraordinary, distinctive work. In an existing project: create extraordinary work within the system. A PrimeVue dashboard can be breathtaking. A shadcn/ui page can be unforgettable. The design system is not a prison — it is a creative brief.
More from dedalus-erp-pas/foundation-skills
react-best-practices
Guide complet des bonnes pratiques React et Next.js couvrant l'optimisation des performances, l'architecture des composants, les patrons shadcn/ui, les animations Motion et les patrons modernes React 19+. À utiliser lors de l'écriture, la revue ou le refactoring de code React/Next.js. Se déclenche sur les tâches impliquant des composants React, des pages Next.js, du data fetching, des composants UI, des animations ou de l'amélioration de la qualité du code.
208changelog-generator
Crée automatiquement des changelogs orientés utilisateur à partir des commits git en analysant l'historique, catégorisant les changements et transformant les commits techniques en notes de version claires et compréhensibles. Transforme des heures de rédaction manuelle en minutes de génération automatisée.
147postgres
Exécute des requêtes SQL en lecture seule sur plusieurs bases de données PostgreSQL. À utiliser pour : (1) interroger des bases PostgreSQL, (2) explorer les schémas/tables, (3) exécuter des requêtes SELECT pour l'analyse de données, (4) vérifier le contenu des bases. Supporte plusieurs connexions avec descriptions pour une sélection automatique intelligente. Bloque toutes les opérations d'écriture (INSERT, UPDATE, DELETE, DROP, etc.) par sécurité.
147article-extractor
Extraire le contenu propre d'articles depuis des URLs (billets de blog, articles, tutoriels) et sauvegarder en texte lisible. À utiliser quand l'utilisateur veut télécharger, extraire ou sauvegarder un article/billet de blog depuis une URL sans publicités, navigation ou encombrement.
146pptx
Création, édition et analyse de présentations. Quand Claude doit travailler avec des présentations (.pptx) pour : (1) Créer de nouvelles présentations, (2) Modifier ou éditer du contenu, (3) Travailler avec les mises en page, (4) Ajouter des commentaires ou notes du présentateur, ou toute autre tâche de présentation.
144pdf
Boîte à outils complète pour la manipulation de PDF : extraction de texte et tableaux, création de nouveaux PDF, fusion/découpage de documents et gestion de formulaires. Quand Claude doit remplir un formulaire PDF ou traiter, générer ou analyser des documents PDF de manière programmatique et à grande échelle.
135