mcpField
R
riverpod-migration

riverpod-migration

github.com/serverpodDevelopment1071 installsUpdated 34w ago
Repository

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

  1. 01Routes scenarios to migration guides
  2. 02Covers StateNotifier to Notifier migrations
  3. 03Covers ChangeNotifier to AsyncNotifier
  4. 04Includes 0.13-to-0.14 and 0.14-to-1.0 upgrades
  5. 05Provides Riverpod CLI migration guidance

Use cases

  1. 01Migrating a StateNotifier-based application
  2. 02Moving ChangeNotifier logic to AsyncNotifier
  3. 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-migration

After 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.md
migration_0_14_1_0.md
migration_from_change_notifier.md
migration_from_state_notifier.md

Details

From the project README

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
ScenarioReference
From StateNotifier to Notifier / AsyncNotifiermigration_from_state_notifier.md
From ChangeNotifier to AsyncNotifiermigration_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; 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.

Comments

Markdown supported