Riverpod State Management
SkillAI & modelsImplement reactive state management using Riverpod 3.x with code generation in Flutter. Use when defining providers, building AsyncNotifiers, or overriding providers in tests.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Riverpod State Management skill
What this skill tells your AI
The instructions your AI receives, as published by hoangnguyen0403/agent-skills-standard in skills/flutter/flutter-riverpod-state-management/SKILL.md and read by ahel’s review.
Priority: P0 (CRITICAL)
Targets Riverpod 3.x. Notifier/AsyncNotifier codegen surface is unchanged from 2.x; Riverpod 3 adds automatic retry with backoff and pause/resume for offline — do not hand-roll retry logic that the framework already provides.
Structure
lib/
├── providers/ # Global providers and services
└── features/user/
├── providers/ # Feature-specific providers
└── models/ # @freezed domain models
Provider Definition (Generator-First)
Use @riverpod annotations for all provider definitions. See implementation examples for full provider and consumer patterns.
Consuming Providers
Use ConsumerWidget with ref.watch() and AsyncValue.when() for reactive UI. See implementation examples.
Implementation Guidelines
- Generator First: Use
@riverpodannotations. Avoid manualProviderdefinitions. - Immutability: Use
Freezedfor all state models. - ref.watch(): Inside
build()to rebuild on changes. - ref.listen(): Inside
build()for side-effects (navigation, dialogs). Never in provider init. - ref.read(): ONLY in callbacks (
onPressed). - Testing: Override providers with
ProviderScope(overrides: [provider.overrideWithValue(Mock())]). - Linting: Enable
riverpod_lintandcustom_lintfor cycle detection.
Anti-Patterns
- No side-effects in provider init: Use
ref.listen()in widgets instead. - No BuildContext in Notifiers: Never pass
BuildContextinto Notifier/Provider. - No local provider instantiation: Keep providers global; avoid dynamic creation.
Related Topics
Signals
- GitHub stars
- 565
- Forks
- 164
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
flutter-riverpod-state-management- Source
- github.com/hoangnguyen0403/agent-skills-standard