For Flutter developers moving a theme to Material 3
Theme LensuseMaterial3: false, accentColor, RaisedButton, CardTheme in ThemeData - find what is holding your theme back, then migrate it.
Paste your theme and the widgets that use it. Your browser finds deprecated APIs, Material 2 leftovers, component themes on the wrong class, buttons that no longer compile, role colours under 4.5:1 (with a colour that passes), widgets that bypass the theme and a missing dark theme - and writes a starter theme from your seed. Then the review, and the migrated file.
The theme free
The scan free
What the scan found
Role contrast the page could measure
The skill's Material 3 migration
A starter theme and the checklist free
The theme the skill would write from your seed: ColorScheme.fromSeed for light and dark, and the normalized *ThemeData component classes.
lib/app_theme.dart
The review metered
Pricing as soon as the session is ready...
Sign inThe reply could not be read. Here it is as it came back:
Caveats
Caveats
The page's check of this reply
Saved themes
How it works - and what it cannot see
The scan reads the Dart itself: comments and strings are masked, every call is matched to its closing bracket and its named arguments are read at their own depth. It follows the skill: Material 3 by default, ColorScheme.fromSeed, no accent properties or AppBarTheme color, the *ThemeData component classes, TextButton, ElevatedButton and OutlinedButton instead of the removed buttons, NavigationBar, NavigationDrawer and SegmentedButton, a dark theme from the same seed, and the desktop idioms.
It measures only literal colours: a ColorScheme that spells out a role and its on-colour gets a ratio, and a failing pair gets a passing colour the page computes - the run is told to use it, never to pick its own. Colours held in variables and state-dependent styles are for the review. The page re-scans the migrated file, so a fix that did not land is flagged rather than trusted.