Use when building cross-platform applications with Flutter 3+ and Dart. Invoke for widget development, Riverpod/Bloc state management, GoRouter navigation, platform-specific implementations, performance optimization.
96
100%
Does it follow best practices?
Impact
92%
1.19xAverage score across 6 eval scenarios
Passed
No known issues
Riverpod state management patterns
ConsumerWidget usage
100%
100%
No setState for state
100%
100%
Notifier pattern
0%
50%
Immutable state updates
100%
100%
Const constructors
100%
100%
List item keys
0%
100%
ListView.builder for list
87%
100%
Selective rebuild with select
40%
100%
ref.read in callbacks
100%
100%
No widget helpers in build()
100%
100%
AsyncValue.when handling
100%
100%
GoRouter navigation and Bloc auth flow
GoRouter used
100%
100%
MaterialApp.router
50%
50%
ShellRoute for bottom nav
100%
100%
GoRouter redirect auth guard
100%
100%
context.go() for auth transitions
75%
62%
Bloc for auth state
100%
100%
Sealed event classes
0%
100%
Immutable auth states
100%
100%
BlocProvider wrapping
50%
50%
BlocListener for side effects
50%
30%
No context in Bloc
100%
100%
Flutter project structure and performance
Feature-based lib/ structure
70%
100%
Feature layer directories
62%
100%
ProviderScope wrapping
0%
100%
WidgetsFlutterBinding init
100%
100%
compute() for heavy work
100%
100%
CachedNetworkImage used
100%
100%
RepaintBoundary on animated widgets
0%
100%
Correct package versions
0%
100%
app_router.dart in routes/
50%
100%
MaterialApp.router with themes
100%
100%
const constructors on static widgets
100%
100%
ListView.builder for data list
100%
100%
Widget and Bloc testing patterns
blocTest for Bloc
100%
100%
blocTest act/expect pattern
100%
100%
pumpAndSettle after state change
100%
100%
BlocProvider in widget test
100%
100%
Immutable CartState
100%
100%
BlocBuilder in CartScreen
100%
100%
Sealed event classes
0%
100%
flutter test --coverage in plan
100%
100%
flutter analyze in plan
0%
0%
const on static widgets
100%
100%
No context in Bloc
100%
100%
bloc_test in pubspec
100%
100%
Responsive layout and platform-adaptive UI
LayoutBuilder for responsiveness
100%
100%
Desktop breakpoint at 1100
0%
100%
Tablet breakpoint at 650
0%
100%
CupertinoSwitch on iOS
100%
100%
Platform-adaptive form inputs
100%
100%
Controller disposal
100%
100%
CachedNetworkImage for avatar
0%
0%
Separate widget classes
100%
100%
Const on static elements
100%
100%
Breakpoints documented
50%
100%
Disposal documented
100%
100%
Platform detection documented
100%
100%
Sliver scroll UI and async Cubit state
CustomScrollView used
100%
100%
SliverAppBar for header
100%
100%
SliverList for articles
100%
100%
Cubit not Bloc
100%
100%
No setState for state
100%
100%
BlocBuilder for UI
100%
100%
Loading state handled
100%
100%
Error state with retry
100%
100%
List item keys
100%
100%
CachedNetworkImage in hero
0%
0%
Cubit approach in ARCHITECTURE
100%
100%
Const on static widgets
100%
100%
Immutable state updates
100%
100%
5b76101
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.