MCP HubMCP Hub
スキル一覧に戻る

frontend-design-fix-react

matteocervelli
更新日 Yesterday
110 閲覧
10
10
GitHubで表示
その他reactdesign

について

このClaudeスキルは、タイポグラフィ、カラー、モーション、空間構成、背景にわたる美的アップグレードを適用することで、汎用的なReactコンポーネントのデザインを自動的に改善します。既存のコンポーネントを分析して無個性なパターンを特定し、Anthropicのデザインフレームワークを使用して体系的に強化します。手動でのデザイン作業なしに、基本的なReact UIを視覚的に特徴的なインターフェースに素早く変換する必要がある場合に、このスキルをご利用ください。

クイックインストール

Claude Code

推奨
プラグインコマンド推奨
/plugin add https://github.com/matteocervelli/llms
Git クローン代替
git clone https://github.com/matteocervelli/llms.git ~/.claude/skills/frontend-design-fix-react

このコマンドをClaude Codeにコピー&ペーストしてスキルをインストールします

ドキュメント

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-delay or 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

GitHub リポジトリ

matteocervelli/llms
パス: frontend-design-system/skills/_archive/frontend-design-fix-react

関連スキル

content-collections

メタ

This skill provides a production-tested setup for Content Collections, a TypeScript-first tool that transforms Markdown/MDX files into type-safe data collections with Zod validation. Use it when building blogs, documentation sites, or content-heavy Vite + React applications to ensure type safety and automatic content validation. It covers everything from Vite plugin configuration and MDX compilation to deployment optimization and schema validation.

スキルを見る

creating-opencode-plugins

メタ

This skill provides the structure and API specifications for creating OpenCode plugins that hook into 25+ event types like commands, files, and LSP operations. It offers implementation patterns for JavaScript/TypeScript modules that intercept and extend the AI assistant's lifecycle. Use it when you need to build event-driven plugins for monitoring, custom handling, or extending OpenCode's capabilities.

スキルを見る

polymarket

メタ

This skill enables developers to build applications with the Polymarket prediction markets platform, including API integration for trading and market data. It also provides real-time data streaming via WebSocket to monitor live trades and market activity. Use it for implementing trading strategies or creating tools that process live market updates.

スキルを見る

cloudflare-turnstile

メタ

This skill provides comprehensive guidance for implementing Cloudflare Turnstile as a CAPTCHA-alternative bot protection system. It covers integration for forms, login pages, API endpoints, and frameworks like React/Next.js/Hono, while handling invisible challenges that maintain user experience. Use it when migrating from reCAPTCHA, debugging error codes, or implementing token validation and E2E tests.

スキルを見る