What problem does it solve? Flutter screens often mishandle non-happy paths: bool triples create impossible states, spinners flash on fast loads, raw exceptions leak into the UI, and snackbars carry information users must act on. This Skill defines how every screen resolves and renders loading, empty, error, and content states, and which feedback surface each message is allowed to use. ## Core Features & Use Cases - Single state resolution: One switch over an AsyncValue or sealed view state decides loading/empty/error/content, with empty, filtered-empty, and error as three distinct views. - Surface ladder: Routes feedback to inline, snackbar, banner, or dialog based on severity, with soft-delete plus Undo preferred over confirmation dialogs and dialog dismissal handled as its own outcome. - Async-safe feedback: Captures ScaffoldMessenger before awaits, guards mounted after, maps typed Failure codes to localized ARB messages, and announces state changes for screen readers. - Use Case: When building a notes list screen with Riverpod, use this Skill to render a delayed skeleton while loading, keep stale content during refresh, show a retryable error view on failure, and offer Undo after a soft delete. ## Quick Start Review my Flutter screen's AsyncValue.when handling and fix its loading, empty, error, and snackbar feedback to follow these rules.