Installable skillMIT

Riverpod — Migration guides

Migrate Riverpod from StateNotifier to Notifier/AsyncNotifier, from ChangeNotifier to AsyncNotifier, or upgrade from 0.13/0.14/1.0; ref.onDispose, family, lifecycle, riverpod migrate CLI. Use when the user asks about migrating from StateNotifier, from ChangeNotifier, upgrading Riverpod 0.13 to 0....

BY dangdungvnUPDATED Oct 28, 2026
INTENDED FOR◈OpenClawInstall in a listed agent.

instructions.md

---
name: riverpod-migration-030b24e34a47
description: Migrate Riverpod from StateNotifier to Notifier/AsyncNotifier, from ChangeNotifier to AsyncNotifier, or upgrade from 0.13/0.14/1.0; ref.onDispose, family, lifecycle, riverpod migrate CLI. Use when the user asks about migrating from StateNotifier, from ChangeNotifier, upgrading Riverpod 0.13 to 0.14, 0.14 to 1.0, or Riverpod migration guides.
---

# Riverpod — 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](reference/migration_from_state_notifier.md) |
| **From ChangeNotifier** to AsyncNotifier | [migration_from_change_notifier.md](reference/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](reference/migration_0_13_0_14.md) |
| **Upgrade 0.14.x → 1.0** (ScopedReader → WidgetRef, useProvider → ref.watch, StateProvider) | [migration_0_14_1_0.md](reference/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`; use `ref.onDispose` instead of overloading `dispose`; no `mounted`—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 with `AsyncValue`; single `state`; mutations by reassigning `state`.
- **CLI:** For 0.14 and 1.0 upgrades you can run `dart pub global activate riverpod_cli` then `riverpod migrate` in 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.
COMPATIBILITY & REFERENCES

Platform guidance

Imported from the listed AgentSkill.sh category. Complete supplied package files and notices are retained. Required external tools and credentials are not installed. No bundled code was executed during import. Individual agent task behavior has not been tested.