flutter-3listed
Install: claude install-skill Claudient/Claudient
# Flutter 3+
## When to activate
- Building Flutter applications for iOS, Android, web, or desktop
- Architecting state management with Riverpod 2
- Configuring navigation with go_router
- Implementing platform channels for native code integration
- Optimizing widget rebuild performance
- Running `flutter build` for production artifacts
## When NOT to use
- React Native, Expo, or other non-Flutter mobile frameworks
- Dart-only CLI tools or server-side Dart with no Flutter widgets
- When the question is about Xcode/Android Studio configuration unrelated to Flutter build tooling
## Instructions
### Widget Rebuild Optimization
Every `setState`, provider change, or inherited widget notification rebuilds the widget subtree. Minimize the blast radius:
**Lift state down.** Keep stateful widgets as close as possible to the UI that depends on them. A single top-level `StatefulWidget` rebuilds the entire tree.
**Use `const` constructors.** Widgets constructed with `const` are skipped during rebuild if their configuration hasn't changed.
```dart
// Good — these don't rebuild when parent rebuilds
const Text('Static label'),
const SizedBox(height: 16),
const Icon(Icons.star),
```
**Extract heavy subtrees.** Pull stable subtrees into their own widget class. Flutter skips unchanged widgets when their `==` returns true (automatic for `const` instances).
**Use `RepaintBoundary` for animations.** Wrap animated subtrees to isolate their GPU layer from the rest of the tree.
```dart
Re