What problem does it solve?
It prevents list and results pages from looking broken when data loads successfully but returns nothing, or when the request fails, by ensuring both empty and error states are explicitly designed and implemented.
Core Features & Use Cases
- Find data-fetch entry points: locates TanStack Query surfaces (
useQuery, useSuspenseQuery), route loaders, and related render sites in the relevant route/component.
- Validate all three branches: confirms Loading is handled elsewhere (skeletons), and that Empty and Error render correctly in the component or via route-level boundaries.
- Reuse existing UI primitives: prefers the project’s shadcn-style
<EmptyState /> (or equivalent) and proposes the smallest consistent fallback when a primitive is missing.
- Implement correct UX guardrails: uses specific, user-friendly copy (no raw error messages), includes retry where safe, and ensures empty is not confused with loading.
Quick Start
Use the skill to audit a named route/component and then implement missing empty and error UI by reusing the existing empty/error primitives and adding retry affordances for retry-safe failures.