Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
pixel-process-ug avatar

Frontend Ui Design

  • 96 installs
  • 1 repo stars
  • Updated March 16, 2026
  • pixel-process-ug/superkit-agents

Helps with frontend development tasks.

About

frontend-ui-design is a Claude Code skill for frontend development. It helps solo builders move faster with AI-assisted development.

  • frontend-ui-design
  • Frontend Development
  • AI-coding skill

Frontend Ui Design by the numbers

  • 96 all-time installs (skills.sh)
  • +7 installs in the week ending Aug 4, 2026 (Skillselion tracking)
  • Ranked #1,067 of 2,245 Frontend Development skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/pixel-process-ug/superkit-agents --skill frontend-ui-design

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs96
repo stars1
Last updatedMarch 16, 2026
Repositorypixel-process-ug/superkit-agents

What it does

Helps with frontend development tasks.

Files

SKILL.mdMarkdownGitHub ↗

Frontend UI Design

Overview

Guide the design and implementation of frontend user interfaces with consistent architecture, accessibility, responsive behavior, and performance. This skill covers component patterns, design system integration, state management selection, and WCAG compliance — producing components that are testable, accessible, and performant.

Announce at start: "I'm using the frontend-ui-design skill to design the UI."

Phase 1: Discovery

Ask these questions to understand the UI requirements:

#QuestionWhat It Determines
1What component or page are we building?Scope and complexity
2What framework/library? (React, Vue, Svelte, etc.)Code patterns
3Is there an existing design system or component library?Constraints
4What devices must be supported? (mobile, tablet, desktop)Responsive strategy
5Accessibility requirements? (WCAG level)A11y standards
6What data does this component need?State management approach

STOP after discovery — present a summary of constraints and approach before designing.

Phase 2: Component Architecture Selection

Architecture Pattern Decision Table

PatternWhen to UseWhen NOT to Use
Atomic DesignBuilding a component library from scratchAdding one component to existing system
Compound ComponentsMulti-part component needing layout flexibilitySimple single-purpose component
Hooks PatternSame logic reused across different UIsLogic tied to one specific component
Container/PresenterComponents need isolated testing or multiple data sourcesSimple components with minimal logic

Atomic Design Levels

LevelDescriptionExamples
AtomsSmallest building blocks, single purposeButton, Input, Label, Icon
MoleculesGroups of atoms functioning togetherSearchBar (Input + Button), FormField (Label + Input + Error)
OrganismsComplex sections composed of moleculesHeader (Logo + Nav + SearchBar), ProductCard
TemplatesPage layouts with placeholder contentDashboardLayout, AuthLayout
PagesTemplates populated with real dataHomePage, SettingsPage

Compound Components Example

<Select value={selected} onChange={setSelected}>
  <Select.Trigger />
  <Select.Options>
    <Select.Option value="a">Option A</Select.Option>
    <Select.Option value="b">Option B</Select.Option>
  </Select.Options>
</Select>

Use when: a component has multiple sub-parts that must coordinate but consumers need layout flexibility.

Hooks Pattern Example

function useDialog() {
  const [isOpen, setIsOpen] = useState(false);
  const open = () => setIsOpen(true);
  const close = () => setIsOpen(false);
  return { isOpen, open, close };
}

Use when: the same logic is needed across multiple components with different UI.

STOP after architecture selection — confirm the pattern choice before proceeding.

Phase 3: Responsive Design

Mobile-First Breakpoints

BreakpointTargetMin-Width
smMobile landscape640px
mdTablet768px
lgDesktop1024px
xlLarge desktop1280px
2xlWide desktop1536px

Responsive Strategy Decision Table

NeedUseNot
Layout changes based on viewport sizeMedia queriesContainer queries
Component adapts to parent container sizeContainer queriesMedia queries
Text scales smoothly between breakpointsclamp() fluid typographyFixed font sizes
Images adapt to viewportsrcset + sizesSingle fixed image

Fluid Typography

font-size: clamp(1rem, 0.5rem + 1.5vw, 1.5rem);

Phase 4: Accessibility (WCAG 2.1 AA)

Semantic HTML Decision Table

NeedUseNOT
Navigation<nav><div class="nav">
Button action<button><div onClick>
Page sections<main>, <section>, <aside><div>
Headings<h1>-<h6> in order<div class="heading">
List of items<ul>, <ol>Nested <div>s
Form labels<label for="...">Placeholder text only

ARIA Usage Rules

RuleWhen
Use semantic HTML firstAlways — ARIA is a fallback
aria-labelLabels for elements without visible text
aria-describedbyAssociates descriptive text with an element
aria-liveAnnounces dynamic content changes
aria-expandedToggleable sections (accordions, menus)
roleOnly when no semantic element exists

Keyboard Navigation Requirements

  • All interactive elements focusable (naturally or tabindex="0")
  • Operable via keyboard (Enter, Space, Escape, Arrow keys)
  • Visible focus indicator (never outline: none without replacement)
  • Logical tab order matching visual order
  • Focus traps for modals and dialogs

Color Contrast Requirements

ElementMinimum Ratio
Normal text4.5:1
Large text (18px+ or 14px+ bold)3:1
UI components3:1 against adjacent colors
Information conveyed by colorMust also use icons, patterns, or text

Screen Reader Testing

Test with at least one screen reader:

  • macOS: VoiceOver (built-in)
  • Windows: NVDA (free) or JAWS
  • Verify: content announced in logical order, form errors associated with inputs, dynamic updates announced

Phase 5: State Management & Performance

State Management Decision Table

State TypeSolutionWhen
LocaluseState, useReducerState used by one component or direct children
SharedContext, Zustand, JotaiState shared across multiple unrelated components
ServerTanStack Query, SWRData fetched from API, needs caching/revalidation
FormReact Hook Form, FormikComplex forms with validation and submission
URLSearch params, router stateState that should be bookmarkable/shareable

Selection Heuristic

1. Start with useState — only escalate when you hit a real limitation 2. If prop drilling exceeds 2 levels, consider Context or state library 3. If caching API responses, use a server state library (not Redux for server state) 4. For forms with >3 fields and validation, use a form library

Performance Optimization Checklist

TechniqueWhen to Apply
React.lazy() + SuspenseRoute-level code splitting
loading="lazy" on imagesBelow-the-fold images
VirtualizationLists with >50 items
useMemoExpensive computations
useCallbackCallbacks passed to memoized children
Dynamic import()Conditionally loaded heavy libraries
WebP/AVIF imagesAll image assets
Explicit width/height on imagesPrevent layout shift

Design System Integration

Design Tokens — define foundational values, not hard-coded:

const tokens = {
  color: { primary: '#2563eb', secondary: '#64748b', error: '#dc2626' },
  spacing: { xs: '0.25rem', sm: '0.5rem', md: '1rem', lg: '1.5rem', xl: '2rem' },
  typography: { fontFamily: { sans: 'Inter, system-ui, sans-serif' } },
};

Component Variants — consistent variant API:

<Button variant="primary" size="md">Save</Button>
<Button variant="outline" size="sm">Cancel</Button>

Theme Support:

  • CSS custom properties for runtime theme switching
  • Support light + dark themes at minimum
  • Respect prefers-color-scheme as default
  • Allow user override stored in localStorage

STOP after design — present the full component specification for review.

Anti-Patterns / Common Mistakes

MistakeWhy It Is WrongWhat To Do Instead
<div onClick> instead of <button>Not keyboard accessible, no screen reader semanticsUse semantic HTML elements
outline: none without replacementKeyboard users cannot see focusReplace with visible focus style
Fixed font sizes (px)Cannot scale with user preferencesUse rem and clamp()
Prop drilling through 4+ levelsMaintenance nightmareUse Context or state library
Fetching in useEffect + useStateNo caching, no dedup, race conditionsUse TanStack Query or SWR
Premature memoizationAdds complexity without measured benefitProfile first, optimize measured bottlenecks
Desktop-first responsive designMobile experience is an afterthoughtStart mobile-first, add complexity up
Color as sole information carrierInaccessible to colorblind usersAdd icons, patterns, or text labels
No loading/error statesUsers see blank screens or cryptic errorsDesign loading, error, and empty states

Anti-Rationalization Guards

  • Do NOT skip accessibility — WCAG 2.1 AA is the minimum, not optional
  • Do NOT use <div> with onClick instead of semantic elements
  • Do NOT skip keyboard navigation testing
  • Do NOT choose state management before understanding the actual need
  • Do NOT skip the discovery phase — understand constraints first
  • Do NOT optimize performance without measuring first

Integration Points

SkillRelationship
api-designUpstream: API response shapes inform component data needs
spec-writingUpstream: specs define component behavioral requirements
planningDownstream: component designs become implementation tasks
test-driven-developmentDownstream: component spec drives test-first implementation
senior-frontendParallel: specialist knowledge for React/Next.js specifics
ui-ux-pro-maxUpstream: UX design informs component requirements
ui-design-systemParallel: design system tokens feed component styling
performance-optimizationDownstream: profile and optimize after implementation

Verification Gate

Before claiming the UI design is complete:

1. VERIFY component architecture pattern is explicitly chosen with rationale 2. VERIFY responsive behavior is defined for all target breakpoints 3. VERIFY accessibility requirements are specified (WCAG level, keyboard, color contrast) 4. VERIFY state management approach is selected based on actual needs 5. VERIFY loading, error, and empty states are designed 6. VERIFY the user has approved the component specification

Skill Type

Flexible — Adapt component patterns, responsive strategy, and state management to project framework and constraints while preserving accessibility requirements and the discovery-first approach.

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.