Nothing to hand? Load the — a StatefulWidget sharing its cart through a global variable — the , where the wiring is right but the rebuilds are not, or the , which should come back sound.
Paste the Dart
A widget, a screen, a State class, a ChangeNotifier, or all of it. The instant prescan reads it for free while you type and lists what it mechanically found: shared state trapped in setState, a notifier that mutates without notifyListeners, controllers created with no dispose(), watch inside an onPressed, awaits in build(), top-level mutable state, plus the widget classes and the setState / notifyListeners / Consumer counts in your paste.
The AI reviews it
A sound/refactor/rework verdict; severity-ranked findings, each quoting the code it concerns and carrying corrected Dart; a twelve-item checklist scored pass, fail or not-observable against your paste; and an honest health check across state classification, data flow, rebuild efficiency, lifecycle and architecture. Every prescan hit is confirmed or explicitly set aside — including the false positives.
Take the refactor and go
Your own code refactored — same screens, same intent, ephemeral state in setState, shared state in a ChangeNotifier view model, providers scoped low, controllers disposed. See exactly what changed as a line diff, take it as a .dart file or a unified .patch, and read the free re-scan that says which detected smells the refactor actually clears. Then press Re-review the refactor: the second run is compared against the first, item by item — what got fixed, what broke, which findings survived. Reviews are saved to your SkillSafe account, so they follow you to your next device; signed out they stay on this one until you sign in.
Derived from the @flutter/flutter-managing-state skill (flutter/skills, BSD-3-Clause).