frontend-ui-engineering

Build accessible, responsive React components and pages following design system standards.

Updated Apr 28, 2026
One-click install
npx skills add https://github.com/visdomtech/skills --skill frontend-ui-engineering-visdomtech
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: frontend-ui-engineering
Source: https://github.com/visdomtech/skills/tree/main/frontend-ui-engineering
Command: npx skills add https://github.com/visdomtech/skills --skill frontend-ui-engineering-visdomtech

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? AI-generated interfaces often look generic, ignore accessibility requirements, and break on different screen sizes. This Skill provides concrete engineering standards for building user-facing UIs that meet WCAG 2.1 AA accessibility, follow a real design system, and handle loading, empty, and error states properly. ## Core Features & Use Cases - Component Architecture Patterns: Enforces composition over configuration, colocated file structure, and separation of data fetching from presentation in React/TypeScript components. - Accessibility & Responsive Standards: Provides keyboard navigation, ARIA labeling, focus management, and mobile-first responsive patterns tested at 320px through 1440px breakpoints. - Design System Adherence: Defines rules for spacing scales, typography hierarchy, semantic color tokens, and a checklist of AI-aesthetic anti-patterns to avoid. - Use Case: When asked to build a task management page, the Skill guides creation of a TaskList with skeleton loading, meaningful empty states, keyboard-accessible controls, and responsive grid layout using the project's design tokens. ## Quick Start Build an accessible, responsive task list page with loading, empty, and error states following our design system.

Frequently Asked Questions about frontend-ui-engineering

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I make React components accessible for keyboard users?▼

Use native interactive elements like <button> instead of <div onClick>, since they are focusable by default. If a custom element is unavoidable, add role="button", tabIndex={0}, and handle Enter and Space key events. Always test by tabbing through the page.

What state management approach should I use in React?▼

Choose the simplest option that fits: useState for local UI state, lifted state for 2-3 siblings, Context for read-heavy values like theme or auth, URL search params for shareable filters, React Query or SWR for server data, and Zustand or Redux for complex app-wide state.

How do I avoid the generic AI-generated UI look?▼

Use the project's actual color palette instead of purple gradients, apply consistent border-radius and spacing from the design system, write realistic content instead of lorem ipsum, and build purpose-driven layouts rather than uniform stock card grids.

What breakpoints should I test for responsive design?▼

Test at 320px, 768px, 1024px, and 1440px. Design mobile-first, then expand layouts at larger breakpoints, for example moving from a single-column grid on mobile to two or three columns on larger screens.

Why should I use skeleton loaders instead of spinners?▼

Skeleton loaders preserve the page layout during loading, reducing layout shift and setting content expectations. Mark them with aria-busy="true" and an aria-label so screen reader users know content is loading.

When should I split a React component into smaller pieces?▼

Split components that exceed roughly 200 lines, handle multiple responsibilities, or require prop drilling deeper than three levels. Separate data-fetching container components from presentational components to keep each focused on one job.