← ClaudeAtlas

empty-stateslisted

Empty, loading, and error-state design. Use for first-run screens, zero results, empty lists/tables/dashboards, loading skeletons, offline/permission errors, retries, layout stability, and state copy.
KyaniteLabs/tastecheck · ★ 8 · Web & Frontend · score 71
Install: claude install-skill KyaniteLabs/tastecheck
# Empty States Every reachable data state needs truthful treatment; absence and failure need different next moves. ## Start with a state contract, not a set of illustrations Name region and transition before copy/illustration. Record: | Question | Decision to record | | --- | --- | | User goal | What they came to find, create, compare, or finish in this region | | Data authority | Network source, local draft, cached result, permission boundary, or user-entered filter | | Entry condition | The observable event that enters loading, zero-result, error, stale, or partial state | | Continuity | What remains visible and editable while the state is active | | Recovery | The action that can change the state, its owner, and whether retry is safe to repeat | | Exit proof | The event that replaces the state and the announcement/visual confirmation the user receives | First-use, zero results, and permission absence need different truth. Trusted cached data is stale content with progress, not a blank reset. ## Model the reachable state set Design loading when work can be in flight, empty when success can contain zero items, and error when the region can fail. Static/local regions need not invent states. Add stale, partial, awaiting-input, or pending-mutation only when their entry condition exists; never merge zero, unavailable, and loading. ## Loading: communicate the wait honestly Use a layout-matching skeleton when final geometry is known and it aids orientation. Use determinat