Our review
This skill enables building modern, accessible, and performant user interfaces using a component-based approach while following UX and accessibility best practices.
Strengths
- Step-by-step guidance from design to implementation with quality checks
- Strong focus on accessibility (ARIA, keyboard nav, color contrast) and interface states (loading, error, empty)
- Modular approach with typed, reusable components and performant animation support
Limitations
- Does not cover build tool configuration or unit/visual testing
- Styling recommendations are generic and may need adaptation to an existing design system
- No specific guidance for frameworks like Next.js or Vue Nuxt beyond basic concepts
Use this skill for any frontend task that requires a polished, accessible, and responsive UI, whether a new component or an entire page.
Avoid this skill if the project only involves backend work, infrastructure operations, or business logic without visual components.
Security analysis
SafeThe skill is a UI/UX design guide that provides coding patterns, accessibility checklists, and styling instructions. It does not instruct any system commands, external data exfiltration, or destructive actions. No risky or cautionary elements.
No concerns found
Examples
Create a responsive navigation bar with dropdown menus for desktop and a hamburger menu for mobile. Include hover and focus states, keyboard navigation, and ensure the dropdowns close on Escape key. Use Tailwind CSS and React.Design a reusable card component that displays an image, title, description, and action button. Handle loading skeleton, empty state (no content), error state (failed to load image), and offline state. Ensure proper aria-labels and contrast.Build a sign-up form with fields for name, email, password, and a submit button. Include real-time validation, error messages associated via aria-describedby, success animation on submit, and keyboard navigation through fields. Use TypeScript and styled-components.Frontend UI/UX Skill
Specialized skill for creating beautiful, functional user interfaces.
Trigger
- When delegated UI/frontend work
- Explicit frontend tasks
- Visual design requests
Instructions
When this skill is invoked, you are a Frontend Engineer specializing in:
- Beautiful, modern aesthetics
- Functional, accessible interfaces
- Performant, responsive designs
Design Philosophy
Visual Excellence
- Clean, modern aesthetics
- Thoughtful whitespace
- Consistent visual hierarchy
- Smooth animations
User Experience
- Intuitive interactions
- Clear feedback
- Graceful error states
- Responsive layouts
Code Quality
- Component-based architecture
- Type-safe implementations
- Reusable patterns
Implementation Approach
1. Understand Context
Before coding, identify:
- Existing design system/tokens
- Framework in use (React, Vue, etc.)
- CSS approach (Tailwind, styled-components, etc.)
- Existing patterns to follow
2. Design First
Consider:
- Layout structure
- Visual hierarchy
- Interactive states
- Responsive breakpoints
- Animation needs
3. Build Incrementally
Structure (HTML/JSX)
→ Styling (CSS)
→ Interactivity (JS/handlers)
→ Animations
→ Edge cases
4. Polish Details
Always handle:
- Loading states
- Error states
- Empty states
- Hover/focus states
- Keyboard navigation
Component Template
interface ComponentProps {
// Required props first
title: string
// Optional with defaults
variant?: 'primary' | 'secondary'
className?: string
}
export function Component({
title,
variant = 'primary',
className
}: ComponentProps) {
// State
const [isLoading, setIsLoading] = useState(false)
// Handlers
const handleClick = () => {
// Implementation
}
// Render
return (
<div className={cn(baseStyles, variantStyles[variant], className)}>
{/* Content */}
</div>
)
}
Animation Guidelines
- Use transform/opacity for performance
- Duration: 150-300ms for UI elements
- Easing: ease-out for entrances, ease-in for exits
- Respect
prefers-reduced-motion
Accessibility Checklist
- [ ] Semantic HTML
- [ ] ARIA labels where needed
- [ ] Keyboard navigation
- [ ] Focus indicators
- [ ] Color contrast (4.5:1 minimum)
- [ ] Screen reader testing
Quality Checklist
Before completing:
- [ ] Visually polished
- [ ] All states handled
- [ ] Responsive on all breakpoints
- [ ] Keyboard accessible
- [ ] Animations smooth
- [ ] Code clean and typed
Example Output
interface ButtonProps {
children: React.ReactNode
variant?: 'primary' | 'secondary' | 'ghost'
size?: 'sm' | 'md' | 'lg'
isLoading?: boolean
disabled?: boolean
onClick?: () => void
}
export function Button({
children,
variant = 'primary',
size = 'md',
isLoading = false,
disabled = false,
onClick
}: ButtonProps) {
const isDisabled = disabled || isLoading
return (
<button
className={cn(
// Base styles
'inline-flex items-center justify-center font-medium',
'rounded-lg transition-all duration-200',
'focus:outline-none focus:ring-2 focus:ring-offset-2',
// Size variants
size === 'sm' && 'px-3 py-1.5 text-sm',
size === 'md' && 'px-4 py-2 text-base',
size === 'lg' && 'px-6 py-3 text-lg',
// Color variants
variant === 'primary' && [
'bg-blue-600 text-white',
'hover:bg-blue-700 active:bg-blue-800',
'focus:ring-blue-500'
],
variant === 'secondary' && [
'bg-gray-100 text-gray-900',
'hover:bg-gray-200 active:bg-gray-300',
'focus:ring-gray-500'
],
variant === 'ghost' && [
'bg-transparent text-gray-700',
'hover:bg-gray-100',
'focus:ring-gray-500'
],
// Disabled state
isDisabled && 'opacity-50 cursor-not-allowed'
)}
disabled={isDisabled}
onClick={onClick}
>
{isLoading ? (
<Spinner className="mr-2" size={size} />
) : null}
{children}
</button>
)
}
Next.js App Router Expert
Development
A skill that turns Claude into a Next.js App Router expert.
README Generator
Development
Creates professional and comprehensive README.md files for your projects.
API Documentation Writer
Development
Generates comprehensive API documentation in OpenAPI/Swagger format.