About riverpod-migration
A Riverpod migration guidance skill that directs developers to scenario-specific reference guides. It covers migrations from StateNotifier and ChangeNotifier, plus selected version upgrades, with common implementation themes and CLI guidance.
Key features
- 01Routes scenarios to migration guides
- 02Covers StateNotifier to Notifier migrations
- 03Covers ChangeNotifier to AsyncNotifier
- 04Includes 0.13-to-0.14 and 0.14-to-1.0 upgrades
- 05Provides Riverpod CLI migration guidance
Use cases
- 01Migrating a StateNotifier-based application
- 02Moving ChangeNotifier logic to AsyncNotifier
- 03Upgrading projects across documented versions
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ serverpod/ skills-registry --skill riverpod-migrationAfter installing, type/riverpod-migrationin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
reference/migration_0_13_0_14.mdmigration_0_14_1_0.mdmigration_from_change_notifier.mdmigration_from_state_notifier.mdDetails
From the project READMERiverpod — Migration guides
Instructions
This skill points to detailed migration guides for different scenarios. Use the reference file that matches your case.
When to use which guide
| Scenario | Reference |
|---|---|
| From StateNotifier to Notifier / AsyncNotifier | migration_from_state_notifier.md |
| From ChangeNotifier to AsyncNotifier | migration_from_change_notifier.md |
| Upgrade 0.13.x → 0.14.x (StateNotifierProvider syntax, watch(provider) vs provider.state) | migration_0_13_0_14.md |
| Upgrade 0.14.x → 1.0 (ScopedReader → WidgetRef, useProvider → ref.watch, StateProvider) | migration_0_14_1_0.md |
For Riverpod 2.0 → 3.0 see the riverpod-3-0-migration skill.
Common themes
- StateNotifier → Notifier/AsyncNotifier: Put init logic in
build; useref.onDisposeinstead of overloadingdispose; nomounted—use cancellation (e.g. Completer or HTTP cancel token). Consumers stay the same (ref.watch, methods on notifier). - ChangeNotifier → AsyncNotifier: Replace
isLoading/hasError/manual try-catch withAsyncValue; singlestate; mutations by reassigningstate. - CLI: For 0.14 and 1.0 upgrades you can run
dart pub global activate riverpod_clithenriverpod migratein the project (do not upgrade Riverpod manually first; the tool will suggest version and changes).
Open the relevant reference file for step-by-step instructions and code examples.
Comments
Markdown supported