What problem does it solve? Flutter codebases drift into two failure modes: under-structure (widgets touching databases) and over-structure (use-case wrappers around single repository calls). This Skill gives you a right-sized, feature-first layered MVVM architecture with a strict downward-only dependency DAG, so you can always answer "where does this code belong?" in one second. ## Core Features & Use Cases - Layered MVVM rules: Dumb Views over one Notifier/AsyncNotifier ViewModel per feature, repositories as the single source of truth and single write path, and immutable domain values mapped at boundaries. - Right-sizing guidance: Reject over-engineering with concrete criteria — abstract only what cannot run in a test, add a domain layer only when logic spans repositories, and split into packages only when a compile wall is load-bearing. - Riverpod 3.x DI discipline: One context-free DI mechanism with placeholder-override composition roots, keepAlive vs autoDispose rules, and ProviderContainer-based tests — no get_it, injectable, or package:provider containers. - Use Case: When creating a new Flutter feature, deciding folder-vs-package placement, naming a Screen/Notifier/Repository, or reviewing whether a change respects layer boundaries, apply this Skill and run the included architecture check script before opening a PR. ## Quick Start Ask the AI to create a new Flutter feature following the flutter-architecture rules and verify the result with the architecture check script.