What problem does it solve? Angular developers often ship components that flash stale spinners over existing data, silently swallow errors, or leave buttons clickable during submissions, producing confusing user experiences. This Skill provides decision trees, code patterns, and anti-patterns so every component handles loading, error, and empty states correctly. ## Core Features & Use Cases - Loading State Patterns: Decision trees and skeleton-vs-spinner guidance so loading indicators appear only when no data exists. - Error Handling Hierarchy: Inline errors, toasts, banners, and full error screens with a strict rule to never swallow errors silently. - Control Flow & Progressive Disclosure: Correct usage of @if, @for with track, @empty blocks, and @defer for lazy rendering of non-critical content. - Use Case: When building an item list page, apply the template pattern that shows an error state with retry, a skeleton only on first load, an empty state with a create action, and the data list otherwise. ## Quick Start Use the angular-ui-patterns skill to review my item list component and fix its loading, error, and empty state handling.