flutter-dev

|

INSTALLATION
npx skills add https://github.com/minimax-ai/skills --skill flutter-dev
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

Flutter Development Guide

A practical guide for building cross-platform applications with Flutter 3 and Dart. Focuses on proven patterns, state management, and performance optimization.

Quick Reference

Widget Patterns

Purpose

Component

State management (simple)

StateProvider + ConsumerWidget

State management (complex)

NotifierProvider / Bloc

Async data

FutureProvider / AsyncNotifierProvider

Real-time streams

StreamProvider

Navigation

GoRouter + context.go/push

Responsive layout

LayoutBuilder + breakpoints

List display

ListView.builder

Complex scrolling

CustomScrollView + Slivers

Hooks

HookWidget + useState/useEffect

Forms

Form + TextFormField + validation

Performance Patterns

Purpose

Solution

Prevent rebuilds

const constructors

Selective updates

ref.watch(provider.select(...))

Isolate repaints

RepaintBoundary

Lazy lists

ListView.builder

Heavy computation

compute() isolate

Image caching

cached_network_image

Core Principles

Widget Optimization

  • Use const constructors wherever possible
  • Extract static widgets to separate const classes
  • Use Key for list items (ValueKey, ObjectKey)
  • Prefer ConsumerWidget over StatefulWidget for state

State Management

  • Riverpod for dependency injection and simple state
  • Bloc/Cubit for event-driven workflows and complex logic
  • Never mutate state directly (create new instances)
  • Use select() to minimize rebuilds

Layout

  • 8pt spacing increments (8, 16, 24, 32, 48)
  • Responsive breakpoints: mobile (<650), tablet (650-1100), desktop (>1100)
  • Support all screen sizes with flexible layouts
  • Follow Material 3 / Cupertino design guidelines

Performance

  • Profile with DevTools before optimizing
  • Target <16ms frame time for 60fps
  • Use RepaintBoundary for complex animations
  • Offload heavy work with compute()

Checklist

Widget Best Practices

  • const constructors on all static widgets
  • Proper Key on list items
  • ConsumerWidget for state-dependent widgets
  • No widget building inside build() method
  • Extract reusable widgets to separate files

State Management

  • Immutable state objects
  • select() for granular rebuilds
  • Proper provider scoping
  • Dispose controllers and subscriptions
  • Handle loading/error states

Navigation

  • GoRouter with typed routes
  • Auth guards via redirect
  • Deep linking support
  • State preservation across routes

Performance

  • Profile mode testing (flutter run --profile)
  • <16ms frame rendering time
  • No unnecessary rebuilds (DevTools check)
  • Images cached and resized
  • Heavy computation in isolates

Testing

  • Widget tests for UI components
  • Unit tests for business logic
  • Integration tests for user flows
  • Bloc tests with blocTest()

References

Topic

Reference

Widget patterns, const optimization, responsive layout

Widget Patterns

Riverpod providers, notifiers, async state

Riverpod State Management

Bloc, Cubit, event-driven state

Bloc State Management

GoRouter setup, routes, deep linking

GoRouter Navigation

Feature-based structure, dependencies

Project Structure

Profiling, const optimization, DevTools

Performance Optimization

Widget tests, integration tests, mocking

Testing Strategies

iOS/Android/Web specific implementations

Platform Integration

Implicit/explicit animations, Hero, transitions

Animations

Dio, interceptors, error handling, caching

Networking

Form validation, FormField, input formatters

Forms

i18n, flutter_localizations, intl

Localization

Flutter, Dart, Material Design, and Cupertino are trademarks of Google LLC and Apple Inc. respectively. Riverpod, Bloc, and GoRouter are open-source packages by their respective maintainers.

BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card