Claude-skill-registry comprehensive-frontend-dev
Complete frontend development skill combining distinctive design aesthetics with technical excellence. Creates production-grade web applications using React, Next.js, TypeScript, and modern tooling. Use when building web components, pages, or applications that require both exceptional design quality and robust technical implementation. Handles everything from creative UI design to performance optimization, component scaffolding, bundle analysis, and deployment.
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/comprehensive-frontend-dev" ~/.claude/skills/majiayu000-claude-skill-registry-comprehensive-frontend-dev && rm -rf "$T"
skills/data/comprehensive-frontend-dev/SKILL.mdComprehensive Frontend Development
Complete toolkit for building exceptional frontend applications that combine distinctive design with technical excellence.
Design-First Philosophy
Before any technical implementation, establish a strong design foundation:
Design Thinking Process
1. Context Understanding
- Purpose: What problem does this interface solve? Who are the users?
- Constraints: Technical requirements (framework, performance, accessibility)
- Goals: User experience objectives and business outcomes
2. Aesthetic Direction Choose a BOLD, intentional aesthetic direction. Avoid generic AI aesthetics:
- Brutally minimal: Clean lines, abundant whitespace, precise typography
- Maximalist: Rich textures, layered elements, complex compositions
- Retro-futuristic: Geometric forms, neon accents, space-age typography
- Organic/natural: Curved forms, earth tones, natural textures
- Editorial: Magazine-style layouts, bold typography hierarchies
- Industrial: Raw materials, exposed structure, utilitarian design
3. Visual System Design
- Typography: Choose distinctive font pairings. Avoid generic fonts (Inter, Roboto, Arial). Use characterful choices that elevate the aesthetic.
- Color Palette: Commit to cohesive themes. Dominant colors with sharp accents outperform distributed palettes.
- Spatial Composition: Embrace asymmetry, overlap, diagonal flow, grid-breaking elements.
- Motion Strategy: Plan high-impact moments with staggered reveals rather than scattered micro-interactions.
Visual Excellence Guidelines
Typography Hierarchy
/* Distinctive font system */ :root { --font-display: 'Playfair Display', 'Crimson Text', 'Abril Fatface'; --font-body: 'Source Sans Pro', 'IBM Plex Sans', 'Nunito Sans'; --font-mono: 'JetBrains Mono', 'Fira Code', 'Source Code Pro'; }
Color & Theme System
:root { /* Theme-specific color variables */ --color-primary: hsl(var(--primary-h) var(--primary-s) var(--primary-l)); --color-accent: hsl(var(--accent-h) var(--accent-s) var(--accent-l)); --color-surface: hsl(var(--surface-h) var(--surface-s) var(--surface-l)); --color-text: hsl(var(--text-h) var(--text-s) var(--text-l)); }
Animation Framework
/* Orchestrated motion system */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .stagger-animation > * { animation: fadeInUp 0.6s ease-out forwards; } .stagger-animation > *:nth-child(1) { animation-delay: 0ms; } .stagger-animation > *:nth-child(2) { animation-delay: 100ms; } .stagger-animation > *:nth-child(3) { animation-delay: 200ms; }
Technical Implementation
Tech Stack & Architecture
Core Technologies
- Frontend: React 18+, Next.js 14+, TypeScript
- Styling: Tailwind CSS, CSS Modules, Styled Components
- State: Zustand, Redux Toolkit, React Query/TanStack Query
- Animation: Framer Motion, CSS animations
- Testing: Vitest, React Testing Library, Playwright
- Build: Vite, Webpack, Turbopack
Project Structure
src/ ├── components/ # Reusable UI components │ ├── ui/ # Base design system components │ ├── forms/ # Form-specific components │ └── layout/ # Layout components ├── pages/ # Page components ├── hooks/ # Custom React hooks ├── lib/ # Utilities and configurations ├── styles/ # Global styles and themes ├── types/ # TypeScript type definitions └── utils/ # Helper functions
Development Workflow
1. Component Development
# Generate new component with scaffolding python scripts/component_generator.py ComponentName --type=ui
2. Performance Analysis
# Analyze bundle size and performance python scripts/bundle_analyzer.py ./build --detailed
3. Quality Assurance
# Run comprehensive checks npm run lint # ESLint + Prettier npm run type-check # TypeScript compilation npm run test # Unit tests npm run test:e2e # End-to-end tests
Component Architecture
Design System Components
// Base component with design system integration interface BaseComponentProps { variant?: 'primary' | 'secondary' | 'accent'; size?: 'sm' | 'md' | 'lg' | 'xl'; className?: string; children?: React.ReactNode; } const Button: React.FC<BaseComponentProps & ButtonHTMLAttributes<HTMLButtonElement>> = ({ variant = 'primary', size = 'md', className, children, ...props }) => { return ( <button className={cn( 'rounded-lg font-semibold transition-all duration-200', variants[variant], sizes[size], className )} {...props} > {children} </button> ); };
Performance Optimizations
// Lazy loading with Suspense const LazyComponent = lazy(() => import('./HeavyComponent')); // Memoized expensive computations const expensiveValue = useMemo(() => { return heavyCalculation(data); }, [data]); // Optimized re-renders const MemoizedComponent = memo(({ items }: { items: Item[] }) => { return ( <ul> {items.map(item => ( <li key={item.id}>{item.name}</li> ))} </ul> ); });
Advanced Patterns
State Management
// Zustand store with TypeScript interface AppState { user: User | null; theme: 'light' | 'dark'; setUser: (user: User | null) => void; toggleTheme: () => void; } const useAppStore = create<AppState>((set) => ({ user: null, theme: 'light', setUser: (user) => set({ user }), toggleTheme: () => set((state) => ({ theme: state.theme === 'light' ? 'dark' : 'light' })), }));
Error Boundaries & Loading States
class ErrorBoundary extends Component< { children: ReactNode; fallback: ReactNode }, { hasError: boolean } > { constructor(props: any) { super(props); this.state = { hasError: false }; } static getDerivedStateFromError(_: Error) { return { hasError: true }; } render() { if (this.state.hasError) { return this.props.fallback; } return this.props.children; } }
Reference Documentation
React Patterns
Comprehensive patterns and practices in
references/react_patterns.md:
- Component composition patterns
- Hook design patterns
- State management strategies
- Performance optimization techniques
- Testing approaches
Next.js Optimization
Complete optimization guide in
references/nextjs_optimization.md:
- App Router best practices
- Server-side rendering strategies
- Static generation optimization
- Image and asset optimization
- Core Web Vitals improvement
Design System Standards
Design system guidelines in
references/design_system.md:
- Color theory and palette generation
- Typography scale and pairing
- Spacing and layout systems
- Animation and motion principles
- Accessibility compliance (WCAG 2.1)
Frontend Best Practices
Technical standards in
references/frontend_best_practices.md:
- Code organization and architecture
- Security considerations
- Performance monitoring
- Deployment strategies
- Maintenance and refactoring
Automated Tools
Component Generator
python scripts/component_generator.py ButtonCard --type=ui --props="title,subtitle,onClick"
- Generates component file with TypeScript interface
- Creates accompanying test file
- Includes Storybook story template
- Applies design system patterns
Bundle Analyzer
python scripts/bundle_analyzer.py ./build --optimize --report
- Analyzes bundle size and composition
- Identifies optimization opportunities
- Generates performance recommendations
- Creates visual dependency graphs
Project Scaffolder
python scripts/frontend_scaffolder.py --template=dashboard --features="auth,charts,forms"
- Scaffolds complete project structures
- Applies architectural best practices
- Integrates design system foundations
- Sets up development tooling
Quality Standards
Design Quality
- Every interface must have a clear, intentional aesthetic direction
- No generic AI aesthetics (avoid Inter, purple gradients, predictable layouts)
- Typography must be carefully considered and distinctive
- Color palettes should be cohesive and purposeful
- Animations should enhance UX, not distract
Technical Quality
- TypeScript for all production code
- 90%+ test coverage for critical paths
- Core Web Vitals scores: LCP < 2.5s, FID < 100ms, CLS < 0.1
- Accessibility compliance (WCAG 2.1 AA)
- Mobile-first responsive design
Code Standards
- ESLint + Prettier for consistency
- Semantic HTML and proper ARIA labels
- Error boundaries for graceful failures
- Performance monitoring and optimization
- Security best practices (CSP, sanitization)
Common Commands
# Development npm run dev # Start development server npm run build # Production build npm run preview # Preview build locally npm run analyze # Bundle analysis # Quality npm run lint # Lint and format code npm run type-check # TypeScript validation npm run test # Unit tests npm run test:e2e # End-to-end tests npm run lighthouse # Performance audit # Tools python scripts/component_generator.py <name> [options] python scripts/bundle_analyzer.py <path> [options] python scripts/frontend_scaffolder.py [options]
Integration Examples
Complete Feature Implementation
// Feature: User Profile Dashboard // 1. Design Direction: Minimal editorial with bold typography // 2. Technical Implementation: React + TypeScript + Zustand // 3. Performance: Lazy loading + memoization // 4. Testing: Unit + integration + E2E coverage const UserDashboard: React.FC = () => { const { user, updateUser } = useAppStore(); const { data: metrics, isLoading } = useQuery(['user-metrics'], fetchMetrics); return ( <ErrorBoundary fallback={<ErrorFallback />}> <Suspense fallback={<DashboardSkeleton />}> <div className="dashboard-container stagger-animation"> <ProfileHeader user={user} /> <MetricsGrid metrics={metrics} loading={isLoading} /> <ActivityFeed userId={user.id} /> </div> </Suspense> </ErrorBoundary> ); };
Remember: Exceptional frontend development requires both creative vision and technical excellence. Never compromise on either aesthetic quality or technical implementation.