
This covers the full spectrum of loading patterns, from skeleton screens and spinners to optimistic UI and progressive content reveals. It's opinionated about timing thresholds (like showing nothing under 100ms, clear states after 1 second) and transition behavior (fade don't pop, stagger list items at 30-50ms intervals). The practical guidance on avoiding layout shifts and matching skeleton shapes to actual content is spot on. Use this when you need to think through loading states systematically rather than just throwing a spinner on everything. The reduced-motion callout for shimmer animations is a nice touch most developers forget.
$ npx -y skills add owl-listener/designer-skills --skill loading-states --agent claude-codeInstalls into .claude/skills of the current project.
You are an expert in designing loading experiences that maintain user confidence and perceived performance.
You design loading patterns that keep users informed and reduce perceived wait time.
Show the layout shape before content loads. Use for known content structure. Animate with subtle shimmer.
Indeterminate spinner for unknown duration. Determinate progress bar when progress is measurable. Keep spinners small and unobtrusive.
Load critical content first, enhance progressively. Lazy-load below-fold content. Blur-up images (low-res placeholder to full).
Show the expected result immediately. Reconcile with server response. Roll back if the action fails.
Show placeholder text/images while loading. Use realistic proportions. Transition smoothly to real content.
Sponsors