loading-states

Design loading states and empty data prompts for asynchronous user interfaces.

29|6|Updated Jan 16, 2026
One-click install
npx skills add https://github.com/sanky369/vibe-building-skills --skill loading-states
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: loading-states
Source: https://github.com/sanky369/vibe-building-skills/tree/main/skills/frontend-design/loading-states
Command: npx skills add https://github.com/sanky369/vibe-building-skills --skill loading-states

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Designing loading states, skeleton screens, and empty states that preserve user confidence when content takes time to load or when data is missing.

Core Features & Use Cases

  • Skeleton screens that match the actual layout (with avatar, list items, and actions)
  • Subtle indicators and spinners for short waits
  • Progress bars and estimated timelines for long operations
  • Helpful empty-state messaging and actionable next steps
  • Accessibility considerations (aria-busy, reduced motion)

Quick Start

Use the loading-states skill to generate a skeleton screen and spinner set for a user list page that loads asynchronously.

Frequently Asked Questions about loading-states

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

FAQPage Schema
How do I design skeleton screens that match my page layout?

Skeleton screens are placeholder layouts that mirror your actual content structure—avatars, list items, and action buttons in their final positions. Design them to match dimensions and spacing of real content, then replace with actual data when loading completes. This reduces perceived load time and keeps users confident content is coming.

What's the best way to indicate loading progress for long operations?

Use progress bars with estimated timelines for operations exceeding a few seconds, and subtle spinners for shorter waits. Progress bars show users how much time remains; spinners work for indeterminate delays. Combine with accessible labels so screen readers announce the loading state.

How do I handle empty states when no data is available?

Design empty-state messaging that explains why content is missing and provides actionable next steps—like a prompt to create the first item or adjust filters. Pair clear messaging with relevant imagery or icons so users understand the state is intentional, not an error.

Can I use loading states across different UI themes?

Yes. Loading states enforce consistent patterns—skeleton screens, spinners, progress bars, and empty-state messaging—that adapt across themes. The Skill applies accessibility considerations like aria-busy attributes and reduced-motion support so loading states work universally.

What accessibility features should loading states include?

Use aria-busy to announce loading status to screen readers, respect prefers-reduced-motion to remove animations for users sensitive to motion, and pair spinners with descriptive text. These ensure users relying on assistive technology understand when content is loading or unavailable.