Claude Code Plugins

Community-maintained marketplace

Feedback
0
0

Enhance frontend UI/UX design with better typography, color systems, animations, and visual hierarchy. Use when creating or improving UI components, layouts, dashboards, forms, or any visual elements.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name frontend-design
description Enhance frontend UI/UX design with better typography, color systems, animations, and visual hierarchy. Use when creating or improving UI components, layouts, dashboards, forms, or any visual elements.
allowed-tools Read, Grep, Glob, Edit, Write

Frontend Design Skill

This skill provides guidance for creating polished, professional frontend designs that avoid the generic "AI aesthetic."

Typography System

Font Selection

  • AVOID: Inter, Roboto, Open Sans (overused, generic)
  • PREFER:
    • Headers: Figtree, Plus Jakarta Sans, Outfit, Manrope
    • Body: Source Sans 3, IBM Plex Sans, Nunito Sans
    • Monospace: JetBrains Mono, Fira Code, IBM Plex Mono

Font Sizing Scale

/* Use consistent scale */
--text-xs: 0.75rem;    /* 12px - captions, badges */
--text-sm: 0.875rem;   /* 14px - secondary text */
--text-base: 1rem;     /* 16px - body text */
--text-lg: 1.125rem;   /* 18px - lead text */
--text-xl: 1.25rem;    /* 20px - card titles */
--text-2xl: 1.5rem;    /* 24px - section headers */
--text-3xl: 1.875rem;  /* 30px - page titles */
--text-4xl: 2.25rem;   /* 36px - hero text */

Font Weight Usage

  • 300 Light: Large display text only
  • 400 Regular: Body text, descriptions
  • 500 Medium: Labels, buttons, navigation
  • 600 Semibold: Card titles, emphasis
  • 700 Bold: Page titles, key metrics

Color System

Avoid Generic Colors

  • ❌ Purple gradients (#8B5CF6 → #6366F1)
  • ❌ Default blue (#3B82F6)
  • ❌ Plain gray backgrounds

Create Cohesive Palettes

/* Warm Professional Theme */
--primary: #0F766E;      /* Teal - professional, calm */
--primary-light: #14B8A6;
--accent: #F59E0B;       /* Amber - energy, attention */
--success: #059669;      /* Emerald */
--warning: #D97706;      /* Amber dark */
--error: #DC2626;        /* Red */
--surface: #FAFAF9;      /* Stone 50 */
--surface-alt: #F5F5F4;  /* Stone 100 */

/* Cool Modern Theme */
--primary: #0EA5E9;      /* Sky - fresh, modern */
--primary-light: #38BDF8;
--accent: #8B5CF6;       /* Violet */
--surface: #F8FAFC;      /* Slate 50 */

Dark Mode Considerations

  • Don't just invert colors
  • Use slate/zinc grays, not pure black
  • Reduce contrast slightly for comfort
  • Keep accent colors slightly desaturated

Visual Hierarchy

Spacing System (8px base)

--space-1: 0.25rem;  /* 4px */
--space-2: 0.5rem;   /* 8px */
--space-3: 0.75rem;  /* 12px */
--space-4: 1rem;     /* 16px */
--space-5: 1.25rem;  /* 20px */
--space-6: 1.5rem;   /* 24px */
--space-8: 2rem;     /* 32px */
--space-10: 2.5rem;  /* 40px */
--space-12: 3rem;    /* 48px */

Card Design

<!-- Good card structure -->
<div class="bg-white dark:bg-gray-800 rounded-xl shadow-sm
            border border-gray-100 dark:border-gray-700
            hover:shadow-md transition-shadow duration-200">
  <div class="p-6">
    <!-- Content with consistent padding -->
  </div>
</div>

Z-Index Scale

--z-dropdown: 10;
--z-sticky: 20;
--z-fixed: 30;
--z-modal-backdrop: 40;
--z-modal: 50;
--z-popover: 60;
--z-tooltip: 70;

Animations & Micro-interactions

Timing Functions

/* Smooth, natural motion */
--ease-out: cubic-bezier(0.16, 1, 0.3, 1);
--ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
--ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);

Duration Guidelines

  • Instant feedback: 100-150ms (hovers, toggles)
  • Quick transitions: 200-300ms (dropdowns, tabs)
  • Smooth animations: 300-500ms (modals, page transitions)
  • Elaborate effects: 500-800ms (onboarding, celebrations)

Meaningful Animations

/* Button hover - subtle lift */
.btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

/* Card hover - gentle rise */
.card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}

/* Loading state - pulse */
.loading {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

Component Patterns

Buttons

<!-- Primary action -->
<button class="px-4 py-2.5 bg-primary-600 hover:bg-primary-700
               text-white font-medium rounded-lg
               shadow-sm hover:shadow-md
               transition-all duration-200
               focus:ring-2 focus:ring-primary-500 focus:ring-offset-2">
  Save Changes
</button>

<!-- Secondary action -->
<button class="px-4 py-2.5 bg-white hover:bg-gray-50
               text-gray-700 font-medium rounded-lg
               border border-gray-300
               transition-colors duration-200">
  Cancel
</button>

Form Inputs

<div class="space-y-1.5">
  <label class="block text-sm font-medium text-gray-700 dark:text-gray-300">
    Email Address
  </label>
  <input type="email"
         class="w-full px-4 py-2.5 rounded-lg border border-gray-300
                bg-white dark:bg-gray-800 dark:border-gray-600
                focus:ring-2 focus:ring-primary-500 focus:border-primary-500
                placeholder:text-gray-400
                transition-colors duration-200"
         placeholder="you@example.com">
  <p class="text-sm text-gray-500">We'll never share your email.</p>
</div>

Status Badges

<!-- Success -->
<span class="inline-flex items-center px-2.5 py-1 rounded-full
             text-xs font-medium
             bg-emerald-50 text-emerald-700
             dark:bg-emerald-900/30 dark:text-emerald-400">
  <span class="w-1.5 h-1.5 rounded-full bg-emerald-500 mr-1.5"></span>
  Active
</span>

Atmospheric Backgrounds

Gradient Meshes

.bg-mesh {
  background-color: #fafafa;
  background-image:
    radial-gradient(at 40% 20%, rgba(20, 184, 166, 0.1) 0px, transparent 50%),
    radial-gradient(at 80% 0%, rgba(59, 130, 246, 0.08) 0px, transparent 50%),
    radial-gradient(at 0% 50%, rgba(245, 158, 11, 0.06) 0px, transparent 50%);
}

Subtle Patterns

.bg-dots {
  background-image: radial-gradient(#e5e7eb 1px, transparent 1px);
  background-size: 20px 20px;
}

.bg-grid {
  background-image:
    linear-gradient(to right, #f1f5f9 1px, transparent 1px),
    linear-gradient(to bottom, #f1f5f9 1px, transparent 1px);
  background-size: 24px 24px;
}

Dashboard Specific

Metric Cards

  • Use icons with colored backgrounds (not bare icons)
  • Show trend indicators (↑ +12% in green)
  • Include sparkline charts for context
  • Group related metrics visually

Data Tables

  • Sticky headers for long tables
  • Zebra striping OR hover highlight (not both)
  • Action buttons visible on hover
  • Pagination with page size options

Charts

  • Use brand colors consistently
  • Include legends when >2 data series
  • Add tooltips with formatted values
  • Animate on first load only

Accessibility Checklist

  • Color contrast ratio ≥ 4.5:1 for text
  • Focus states visible and consistent
  • Touch targets ≥ 44x44px on mobile
  • Animations respect prefers-reduced-motion
  • Form labels properly associated
  • Error messages descriptive and visible