frontend-design-fix-react
About
This Claude Skill automatically improves generic React component designs by applying aesthetic upgrades across typography, color, motion, spatial composition, and backgrounds. It analyzes existing components to identify bland patterns, then systematically enhances them using Anthropic's design framework. Use this skill when you need to quickly transform basic React UIs into visually distinctive interfaces without manual design work.
Documentation
Frontend Design Fix - React
Overview
Transform bland, generic React component designs into visually distinctive interfaces by systematically applying the 5 design dimensions from Anthropic's design framework.
Core Workflow
1. Analysis Phase
- Read existing React component files and CSS/CSS-in-JS
- Identify generic elements (Inter/Roboto fonts, purple gradients, centered layouts, no animations, solid backgrounds)
- Score current design against anti-patterns checklist
- Generate "before" snapshot with metrics
2. Assessment Phase
- Understand brand/context from existing content and component props
- Identify target audience and purpose
- Determine appropriate aesthetic direction based on component usage
3. Dimension-Based Fixes
Typography
- Replace generic system fonts (Inter, Roboto, Arial) with distinctive typeface pairs
- Apply extreme weight ranges (100-200 for thin, 800-900 for bold)
- Increase size jumps (3x+ progression instead of 1.5x)
- Create high-contrast pairings (Display + Mono, Serif + Sans)
- Use CSS-in-JS (Tailwind, styled-components, emotion) for responsive typography
Color & Theme
- Remove default purple gradients on white backgrounds
- Introduce CSS custom properties or theme provider context
- Establish dominant colors with sharp accent colors
- Avoid evenly-distributed palettes (use 70-20-10 rule)
- Create theme variants (light/dark) with consistent color tokens
Motion
- Add orchestrated page load animations (fade, scale, slide)
- Implement staggered reveals with
animation-delayor Framer Motion - Add hover state surprises and micro-interactions
- Include scroll-triggered animations via
react-intersection-observer - Use Framer Motion for complex animation sequences
Spatial Composition
- Break centered, predictable layouts
- Add asymmetry or intentional overlap
- Introduce diagonal flow or grid-breaking elements
- Adjust spacing (generous negative space OR controlled density)
- Use CSS Grid and Flexbox creatively
Backgrounds
- Replace solid colors with layered gradients
- Add geometric patterns or subtle noise textures
- Create atmospheric depth with multiple background layers
- Add contextual effects (blur, blend modes)
- Use pseudo-elements for background layering
4. Implementation
- Apply fixes systematically per dimension
- Update component props and styling
- Maintain accessibility standards (WCAG 2.1 AA)
- Preserve all existing functionality and component APIs
- Test with responsive design
5. Validation
- Re-score against anti-patterns checklist
- Generate "after" snapshot with improved metrics
- Create before/after comparison report
- Verify accessibility compliance with React testing library
Design Audit Checklist
Typography Audit
- Current font stack is generic (Inter, Roboto, Arial, system stack)
- Font weights are limited (only regular and bold)
- Size progression is minimal (1.25-1.5x multiplier)
- No distinctive pairing strategy
- Poor readability on colored backgrounds
- No responsive typography scaling
Color & Theme Audit
- Purple/blue gradient on white background (cliché)
- No theme provider or CSS custom properties
- Evenly distributed color palette (5+ primary colors)
- No accent color for emphasis
- Insufficient contrast in interactive elements
- No dark mode support
Motion Audit
- No page load animations
- No staggered reveals for lists
- Hover states missing or uninspired
- No scroll interactions
- Abrupt transitions between states
- Missing micro-interactions on buttons/forms
Spatial Composition Audit
- Centered, symmetrical layouts throughout
- Predictable margins and padding
- No intentional asymmetry in component layouts
- Grid-aligned everything (no breaking)
- Single-column or evenly-spaced multi-column layouts
Background Audit
- Solid white or light gray backgrounds
- No layering or depth in backgrounds
- No texture or pattern application
- Generic or missing hero sections
- No atmospheric or contextual effects in components
Implementation Tips
React + Tailwind Example
// Use CSS custom properties with Tailwind
const theme = {
colors: {
display: "'Playfair Display', serif",
body: "'Inter', sans-serif",
mono: "'IBM Plex Mono', monospace",
}
};
export function DesignedComponent() {
return (
<div className="
bg-gradient-to-br from-slate-900 via-slate-800 to-slate-900
min-h-screen
font-[family-name:var(--font-body)]
">
<h1 className="
font-[family-name:var(--font-display)]
text-6xl font-black
animate-fade-in-up
">
Distinctive Title
</h1>
</div>
);
}
Framer Motion for Orchestration
import { motion } from 'framer-motion';
const containerVariants = {
hidden: { opacity: 0 },
visible: {
opacity: 1,
transition: {
staggerChildren: 0.1,
delayChildren: 0.2,
},
},
};
const itemVariants = {
hidden: { opacity: 0, y: 20 },
visible: { opacity: 1, y: 0 },
};
export function StaggeredList({ items }) {
return (
<motion.div
variants={containerVariants}
initial="hidden"
animate="visible"
>
{items.map((item) => (
<motion.div key={item.id} variants={itemVariants}>
{item.content}
</motion.div>
))}
</motion.div>
);
}
Theme Provider Pattern
import { createContext, useContext } from 'react';
const ThemeContext = createContext({});
export function ThemeProvider({ children }) {
const theme = {
colors: {
primary: '#1a1a1a',
accent: '#ff6b35',
surface: '#fafafa',
},
fonts: {
display: "'Playfair Display', serif",
body: "'Inter', sans-serif",
},
};
return (
<ThemeContext.Provider value={theme}>
{children}
</ThemeContext.Provider>
);
}
export function useTheme() {
return useContext(ThemeContext);
}
Accessibility Maintenance
- Keep WCAG AA color contrast minimum 4.5:1 for text
- Maintain focus visible outlines in interactive elements
- Use semantic React components (Button, Link, etc.)
- Test with React Testing Library
- Preserve ARIA attributes
Examples
See /examples/showcase.md for before/after comparisons:
- Generic landing page → Distinctive landing page
- Boring dashboard → Visually striking dashboard
- Plain form → Aesthetically enhanced form
Success Metrics
After applying fixes, the design should:
- Score 0-2 items remaining on the anti-patterns checklist
- Have distinctive typography choices in components
- Include motion and micro-interactions with Framer Motion
- Feature asymmetric or broken-grid layouts
- Use layered/textured backgrounds via pseudo-elements or gradients
- Maintain or improve accessibility scores
- Support light/dark theme variants
Quick Install
/plugin add https://github.com/matteocervelli/llms/tree/main/frontend-design-fix-reactCopy and paste this command in Claude Code to install this skill
GitHub 仓库
Related Skills
langchain
MetaLangChain is a framework for building LLM applications using agents, chains, and RAG pipelines. It supports multiple LLM providers, offers 500+ integrations, and includes features like tool calling and memory management. Use it for rapid prototyping and deploying production systems like chatbots, autonomous agents, and question-answering services.
webapp-testing
TestingThis Claude Skill provides a Playwright-based toolkit for testing local web applications through Python scripts. It enables frontend verification, UI debugging, screenshot capture, and log viewing while managing server lifecycles. Use it for browser automation tasks but run scripts directly rather than reading their source code to avoid context pollution.
business-rule-documentation
MetaThis skill provides standardized templates for systematically documenting business logic and domain knowledge following Domain-Driven Design principles. It helps developers capture business rules, process flows, decision trees, and terminology glossaries to maintain consistency between requirements and implementation. Use it when documenting domain models, creating business rule repositories, or bridging communication between business and technical teams.
csv-data-summarizer
MetaThis skill automatically analyzes CSV files to generate comprehensive statistical summaries and visualizations using Python's pandas and matplotlib/seaborn. It should be triggered whenever a user uploads or references CSV data without prompting for analysis preferences. The tool provides immediate insights into data structure, quality, and patterns through automated analysis and visualization.
