SKILL

flutter-state-management

Choose and correctly use Flutter state management with current (2026) APIs - Riverpod 3 (Notifier/AsyncNotifier, mutations, Ref.mounted), BLoC/Cubit 9 (flutter_bloc), Flutter's official MVVM with ChangeNotifier + Commands, and built-ins (setState, ValueNotifier, ListenableBuilder); plus why to avoid GetX. Use this whenever the user writes or reviews a Cubit, Bloc, provider, Notifier, ViewModel or StatefulWidget, asks "BLoC or Riverpod?", handles loading/error states or one-off effects (snackbar, navigation), uses BuildContext after await, or hits rebuild/async bugs in Flutter, even if they don't say "state management".

Target: Mobile development. Automatically collected · unverified.

Excerpt from the author’s documentation

Extracted from a fixed version of SKILL.md in its original language. This is the author’s documentation; installation, compatibility and runtime results have not been verified by this site.

Read the original English text

Topics in the source

  • Flutter state management
  • 1. Pick one (per codebase) and record why
  • 2. Load only the reference you need
  • 3. Universal async rules (all libraries)
  • 4. Review checklist
  • Sources

Verified against official docs and pub.dev on 2026-09-25: Flutter 3.47 / Dart 3.13, flutterriverpod 3.4, flutterbloc 9.1 / bloc 9.2, provider 6.1. The rules that matter more than the library: ephemeral (UI) state stays in the widget, shared business state lives outside it; every async operation has explicit loading/data/error; one-off effects are not state. | | Pick when | Cost | |---|---|---| | Riverpod 3 (most downloaded: 3.3M/30d) | You want DI + state + caching in one tool; async-heavy data; compile-safe dependencies; less boilerplate | Flexible, so the team must enforce boundaries or the provider graph sprawls | | Bloc / Cubit 9 (2M/30d) | Large teams, strict and traceable state transitions, event transformations (debounce, droppable), regulated or long-lived apps | More boilerplate | | ChangeNotifier MVVM + provider (Flutter's official architecture guide) | You want to follow docs.flutter.dev exactly, fewest dependencies, a team new to Flutter | You hand-write Commands/Result; less tooling | | setState, ValueNotifier + ValueListenableBuilder, ListenableBuilder, flutterhooks | Ephemeral state: selected tab, form input, animation, text controllers, expanded/collapsed | Doesn't

This is an excerpt. Refer to the complete source and its current requirements.

Source repository
abugeek/flutter-skills
Source file
.claude/skills/flutter-state-management/SKILL.md
Fixed revision
458377635834ad1cff2c4871ac0725a5ef4bcd4f
Read the complete original documentation ↗

Sources and evidence

This record was collected automatically. Its documentation, suitability and runtime behavior have not been manually verified.

Author: abugeek/flutter-skills · original repository metadata. Documentation review: Not reviewed. Last source check: 2026-11-10T09:01:53.929Z.

Categories are inferred from names, descriptions and paths. They do not establish compatibility.

License and attribution

MIT. Third-party content and copyright remain with their authors. Refer to the original license and terms.

Original license ↗

Synchronization, copying and user-reported success do not mark a resource as runtime-tested.

Limitations and notes

  • Collecting metadata does not mean this site has installed, adapted, runtime-tested or security-reviewed the resource.