一键导入
riverpod
// Riverpod reactive caching and state management for Dart/Flutter — providers, refs, consumers, auto-dispose, family, mutations, offline persistence, testing, and code generation
// Riverpod reactive caching and state management for Dart/Flutter — providers, refs, consumers, auto-dispose, family, mutations, offline persistence, testing, and code generation
| name | riverpod |
| description | Riverpod reactive caching and state management for Dart/Flutter — providers, refs, consumers, auto-dispose, family, mutations, offline persistence, testing, and code generation |
| metadata | {"author":"Minsu Lee","version":"2026.3.30","source":"Generated from https://github.com/rrousselGit/riverpod, scripts located at https://github.com/amondnet/skills"} |
The skill is based on Riverpod v3.3.1 (flutter_riverpod), generated at 2026-03-30.
Riverpod is a reactive caching and data-binding framework for Dart and Flutter. It provides compile-safe providers that are testable, composable, and support automatic disposal. Riverpod 3.0 introduces automatic retry, mutations, offline persistence, pause/resume, and a simplified unified API.
| Topic | Description | Reference |
|---|---|---|
| Providers | 6 provider types, creation syntax (codegen & manual), functional vs notifier | core-providers |
| Refs | watch, listen, read, invalidate, refresh, mounted, lifecycle hooks | core-refs |
| Consumers | Consumer, ConsumerWidget, ConsumerStatefulWidget, HookConsumerWidget | core-consumers |
| Containers | ProviderContainer, ProviderScope, testing containers, state storage | core-containers |
| Topic | Description | Reference |
|---|---|---|
| Auto-Dispose | Automatic disposal, keepAlive, cacheFor extension pattern | features-auto-dispose |
| Family | Parameterized providers, independent state per parameter combination | features-family |
| Mutations | Experimental: track side-effect state (loading/error/success) in UI | features-mutations |
| Offline Persistence | Experimental: persist provider state to local database | features-offline |
| Automatic Retry | Exponential backoff retry for failing providers | features-retry |
| Topic | Description | Reference |
|---|---|---|
| Overrides | Provider mocking for testing, DI, and environment configuration | features-overrides |
| Scoping | Change provider behavior for widget subtrees | features-scoping |
| Observers | ProviderObserver for logging, analytics, and debugging | features-observers |
| Code Generation | @riverpod annotation, codegen syntax, auto-picked provider types | features-codegen |
| Topic | Description | Reference |
|---|---|---|
| DO/DON'T | Official guidelines — avoid widget init, ephemeral state, dynamic providers | best-practices-do-dont |
| Testing | Unit/widget tests, mocking, spying, async testing, notifier mocks | best-practices-testing |
| Topic | Description | Reference |
|---|---|---|
| Cancel & Debounce | Cancel/debounce network requests with onDispose | howto-cancel-debounce |
| Select | Reduce rebuilds by watching specific properties | howto-select |
| Pull-to-Refresh | RefreshIndicator with ref.refresh and AsyncValue | howto-pull-to-refresh |
| Eager Initialization | Force lazy providers to initialize at app startup | howto-eager-init |
| Topic | Description | Reference |
|---|---|---|
| flutter_hooks | Hooks integration for local widget state | advanced-hooks |
| Migration to 3.0 | Breaking changes, unified API, new features in Riverpod 3.0 | advanced-migration-v3 |
Type-safe API development with oRPC — end-to-end typesafe procedures, OpenAPI support, streaming, and multi-framework integrations
Generate agent skills from OSS project documentation in this repository. Reads source docs from sources/{project}/docs/, synthesizes them into skill reference files under skills/{project}/. Use when the user asks to generate skills, create skills from docs, update existing skills, add a new project for skill generation, or mentions skill generation workflow. Also use when working with the skills/ or sources/ directories in this repo.
MobX.dart reactive state management for Dart/Flutter — observables, actions, reactions, Observer widget, store patterns, and code generation with mobx_codegen