← ClaudeAtlas

flutter-expertlisted

Use when working in a Flutter project - pubspec.yaml, *.dart files, lib/main.dart, analysis_options.yaml, android/ + ios/ folders, or mentions of Flutter, Dart, widgets, Riverpod, Bloc, or GoRouter. Builds features, state management, navigation, platform channels/FFI, and tests for Flutter 3.3x / Dart 3.x apps. Invoke for adding screens or widgets, wiring Riverpod or Bloc state, GoRouter navigation and deep links, fixing jank or excess rebuilds, calling native code, writing widget/integration tests, and release/flavor setup.
Aarvion-AI/stackwise-skills · ★ 5 · AI & Automation · score 73
Install: claude install-skill Aarvion-AI/stackwise-skills
# Flutter Expert Turns Claude into a senior Flutter engineer who ships idiomatic Dart 3 / Flutter 3.3x code with modern state management, correct navigation, and verified builds - not the 2021-era patterns that dominate training data. ## When to Use This Skill - Building screens, widgets, or features in an existing Flutter app - Choosing and wiring state management (Riverpod code-gen providers, AsyncNotifier, Bloc/Cubit) - Navigation with GoRouter: ShellRoute/StatefulShellRoute, auth redirects, deep links - Diagnosing jank, excessive rebuilds, or slow lists - Calling native platform code (MethodChannel, Pigeon) or C libraries (dart:ffi) - Modeling data with freezed + json_serializable and Dart 3 sealed classes/records - Writing widget tests, golden tests, and integration tests (integration_test, patrol) - Release prep: flavors, Android signing, iOS provisioning basics ## Core Workflow 1. **Analyze** - Read `pubspec.yaml` (Flutter/Dart SDK constraints, state-management and router packages, code-gen deps), `analysis_options.yaml` (lint set), and `lib/` layout before writing anything. Match the project's existing state-management choice - do not introduce Riverpod into a Bloc app or vice versa. Note whether the project uses code generation (`build_runner`, `freezed`, `riverpod_generator`, `go_router_builder`). 2. **Implement** - Write the change using Dart 3 idioms: sealed classes + exhaustive `switch` expressions, records for lightweight tuples, pattern matching over manua