Flutter Dev

v1.0.0

Flutter cross-platform development guide covering widget patterns, Riverpod/Bloc state management, GoRouter navigation, performance optimization, and platfor...

0· 75·1 current·1 all-time
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (Flutter dev guide) match the contents: reference files and SKILL.md provide widget patterns, state management, navigation, performance, testing, and platform notes. No unrelated credentials, binaries, or installs are requested.
Instruction Scope
SKILL.md and the reference files are purely documentation and code examples. They do not instruct the agent to read system files, access environment variables, contact external endpoints beyond illustrative placeholders (e.g., https://api.example.com), or exfiltrate data.
Install Mechanism
No install spec and no code files that would be executed. Being instruction-only means nothing is downloaded or written to disk during install.
Credentials
No required environment variables, credentials, or config paths are declared or referenced. Code samples use placeholder endpoints and typical package names appropriate for Flutter networking/state management.
Persistence & Privilege
Skill is not always-enabled and does not request persistent agent privileges or modify other skills. Autonomous invocation defaults are unchanged and are not combined with any broad access in this skill.
Assessment
This skill is documentation and example code only — it does not require secrets or perform installs. It's safe to read and use as a reference, but before copying examples into production: (1) review networking examples (they use placeholder base URLs like api.example.com) and replace with your real endpoints; (2) avoid leaving verbose logging (the LoggingInterceptor prints request bodies) in production since it can expose sensitive data; and (3) verify package versions and licenses in your own project. If you need the skill to run code or access systems, ask for a version that declares explicit installs and required environment variables so you can review them.

Like a lobster shell, security has layers — review code before you run it.

latestvk978c6c6qtqek979vzzc4te4zx842jr8

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

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

PurposeComponent
State management (simple)StateProvider + ConsumerWidget
State management (complex)NotifierProvider / Bloc
Async dataFutureProvider / AsyncNotifierProvider
Real-time streamsStreamProvider
NavigationGoRouter + context.go/push
Responsive layoutLayoutBuilder + breakpoints
List displayListView.builder
Complex scrollingCustomScrollView + Slivers
HooksHookWidget + useState/useEffect
FormsForm + TextFormField + validation

Performance Patterns

PurposeSolution
Prevent rebuildsconst constructors
Selective updatesref.watch(provider.select(...))
Isolate repaintsRepaintBoundary
Lazy listsListView.builder
Heavy computationcompute() isolate
Image cachingcached_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

TopicReference
Widget patterns, const optimization, responsive layoutWidget Patterns
Riverpod providers, notifiers, async stateRiverpod State Management
Bloc, Cubit, event-driven stateBloc State Management
GoRouter setup, routes, deep linkingGoRouter Navigation
Feature-based structure, dependenciesProject Structure
Profiling, const optimization, DevToolsPerformance Optimization
Widget tests, integration tests, mockingTesting Strategies
iOS/Android/Web specific implementationsPlatform Integration
Implicit/explicit animations, Hero, transitionsAnimations
Dio, interceptors, error handling, cachingNetworking
Form validation, FormField, input formattersForms
i18n, flutter_localizations, intlLocalization

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.

Files

13 total
Select a file
Select a file to preview.

Comments

Loading comments…