Skip to content
frontend-design-fix-vue logo

Frontend Design Fix - Vue

frontend-design-fix-vue

Fix generic Vue component designs by applying aesthetic upgrades across the 5 design dimensions (typography, color, motion, spatial composition, backgrounds)

SKILL.md

Full skill instructions

Frontend Design Fix - Vue

Overview

Transform bland, generic Vue 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 Vue component files (.vue, CSS modules, styles)
  • 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 scoped styles with CSS-in-JS (styled-components, emotion) or Tailwind
Color & Theme
  • Remove default purple gradients on white backgrounds
  • Introduce CSS custom properties or Vue provide/​inject for theming
  • 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 v-transition or Vue Transition Group
  • Add hover state surprises and micro-interactions
  • Include scroll-triggered animations via vue-observe-visibility
  • Use vue-motion or @vue/​composable for complex 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 with Vue slots
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 templates and styles
  • Maintain accessibility standards (WCAG 2.1 AA)
  • Preserve all existing functionality and component props
  • 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 Vue 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 CSS custom properties or provide/​inject for theming
  • 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 or v-enter/​v-leave transitions
  • No staggered reveals for lists with TransitionGroup
  • 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

Vue 3 + Composition API + Tailwind

<template>
  <div class="
    bg-gradient-to-br from-slate-900 via-slate-800 to-slate-900
    min-h-screen
    font-body
  ">
    <h1 class="
      font-display
      text-6xl font-black
      animate-fade-in-up
    ">
      Distinctive Title
    </​h1>
  </​div>
</​template>

<script setup>
import { ref } from 'vue';

const isVisible = ref(false);
</​script>

<style scoped>
:root {
  --font-display: 'Playfair Display', serif;
  --font-body: 'Inter', sans-serif;
  --font-mono: 'IBM Plex Mono', monospace;
  --primary: #1a1a1a;
  --accent: #ff6b35;
}

.font-display {
  font-family: var(--font-display);
}

.font-body {
  font-family: var(--font-body);
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-fade-in-up {
  animation: fadeInUp 0.6s ease-out;
}
</​style>

Vue Transition Group for Staggered Lists

<template>
  <TransitionGroup
    tag="div"
    class="grid gap-4"
    name="stagger"
  >
    <div
      v-for="(item, index) in items"
      :key="item.id"
      :style="{ '--stagger-index': index }"
    >
      {{ item.content }}
    </​div>
  </​TransitionGroup>
</​template>

<script setup>
import { TransitionGroup } from 'vue';

defineProps({
  items: Array,
});
</​script>

<style scoped>
.stagger-enter-active,
.stagger-leave-active {
  transition: all 0.4s ease-out;
  transition-delay: calc(var(--stagger-index, 0) * 100ms);
}

.stagger-enter-from {
  opacity: 0;
  transform: translateY(20px);
}

.stagger-leave-to {
  opacity: 0;
  transform: translateY(-20px);
}
</​style>

Vue Provide/​Inject for Theme

<!-- ThemeProvider.vue -->
<template>
  <div :style="themeStyles">
    <slot />
  </​div>
</​template>

<script setup>
import { provide, computed } from 'vue';

const theme = {
  colors: {
    primary: '#1a1a1a',
    accent: '#ff6b35',
    surface: '#fafafa',
  },
  fonts: {
    display: "'Playfair Display', serif",
    body: "'Inter', sans-serif",
  },
};

const themeStyles = computed(() => ({
  '--primary': theme.colors.primary,
  '--accent': theme.colors.accent,
  '--surface': theme.colors.surface,
}));

provide('theme', theme);
</​script>

Accessibility Maintenance

  • Keep WCAG AA color contrast minimum 4.5:1 for text
  • Maintain focus visible outlines in interactive elements
  • Use semantic HTML with Vue components
  • Test with Vue 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 Vue Transitions
  • 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

More Design skills

brandkit logo
Design

brandkit

Premium brand-kit image generation for high-end identity systems, logo concepts, and visual-world presentations.

92.7K 345.8K
View

Premium website design-to-code skill that generates visual references first, then builds faithful frontend implementations.

92.7K 341.7K
View

Premium frontend image direction for landing pages and marketing sites, generating one distinct horizontal image per section.

92.7K 337.8K
View

Premium mobile app screen concepts and flows with clean hierarchy, strong imagery, and distinctive art direction.

92.7K 331.8K
View

Emil Kowalski's philosophy on UI polish, component design, and the invisible details that make software feel good.

43.5K 323.4K
View

Frontend design and iteration for production-grade interfaces, from concept to ship.

76.8K 313.3K
View

Reverse-engineer design tokens from public websites into starter token files for your project.

232 129.9K
View
Animate logo
Design

Animate

Builds an animation from scratch by making the decisions in the order that determines whether it feels right.

43.5K 117.9K
View

Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.

179.7K 114.2K
View

Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.

179.7K 100.1K
View

Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors/fonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.

179.7K 89.5K
View

Design AI tools

Maze Guru logo
Images

Maze Guru

Chat-to-edit AI studio for product photos, portraits, branding, and video.

Freemium
View
R
Design

RoomGPT

Generate your dream room in seconds.

Paid
View

Redesign your interior in seconds using AI

Paid
View
Reroom logo
Design

Reroom

Transform rooms with AI-generated designs.

Freemium
View
Jife logo
Design

Jife

Transform Your Space with AI-Powered Japanese Interior Designs by Jife

Paid
View
Visily logo
Design

Visily

AI-powered wireframes for non-designers.

Free
View

Revolutionize Property Viewing with AI-Generated Floor Plans and Virtual Tours

Paid
View
Archsynth logo
Design

Archsynth

Transform sketches into stunning architectural renders with AI.

Paid
View