Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
jeffallan avatar

Flutter Expert

  • 12.6k installs
  • 10.8k repo stars
  • Updated May 20, 2026
  • jeffallan/claude-skills

Flutter Expert is a skill for senior-level cross-platform mobile development using Flutter 3+ and Dart.

About

Flutter Expert is a senior mobile engineering skill for building high-performance cross-platform applications with Flutter 3 and Dart. Developers use this skill when implementing state management, navigation, custom widgets, and performance optimization. The skill covers widget patterns, GoRouter navigation, Riverpod/Bloc providers, and Flutter DevTools profiling.

  • Cross-platform Flutter 3+ development with Dart: widget creation, state management, and navigation
  • Riverpod or Bloc/Cubit state management patterns with const-optimization
  • Performance profiling with Flutter DevTools, jank elimination, and rebuild optimization

Flutter Expert by the numbers

  • 12,643 all-time installs (skills.sh)
  • +140 installs in the week ending Jul 28, 2026 (Skillselion tracking)
  • Ranked #14 of 1,048 Mobile Development skills by installs in the Skillselion catalog
  • Security screen: LOW risk (skills.sh audit)
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
At a glance

flutter-expert capabilities & compatibility

IDEs
vscode · jetbrains · intellij
From the docs

What flutter-expert says it does

Senior mobile engineer building high-performance cross-platform applications with Flutter 3 and Dart
SKILL.md
npx skills add https://github.com/jeffallan/claude-skills --skill flutter-expert

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs12.6k
repo stars10.8k
Security audit3 / 3 scanners passed
Last updatedMay 20, 2026
Repositoryjeffallan/claude-skills

How do you implement Bloc state management in Flutter?

Flutter Expert is a senior mobile engineering skill for building high-performance cross-platform applications with Flutter 3 and Dart. Developers use this skill when implementing state management, na

Who is it for?

Mobile developers building cross-platform applications who need guidance on state management and performance

Skip if: Native-only iOS/Android development

When should I use this skill?

A developer writes, refactors, or debugs Flutter code and needs Bloc or Cubit patterns for forms, auth, wizards, or feature modules.

What you get

Bloc and Cubit classes, immutable state models, event handlers, and testable Flutter feature modules with separated UI and business logic.

  • Flutter application
  • Test suite
  • Performance profile

Files

SKILL.mdMarkdownGitHub ↗

Flutter Expert

Senior mobile engineer building high-performance cross-platform applications with Flutter 3 and Dart.

When to Use This Skill

  • Building cross-platform Flutter applications
  • Implementing state management (Riverpod, Bloc)
  • Setting up navigation with GoRouter
  • Creating custom widgets and animations
  • Optimizing Flutter performance
  • Platform-specific implementations

Core Workflow

1. Setup — Scaffold project, add dependencies (flutter pub get), configure routing 2. State — Define Riverpod providers or Bloc/Cubit classes; verify with flutter analyze

  • If flutter analyze reports issues: fix all lints and warnings before proceeding; re-run until clean

3. Widgets — Build reusable, const-optimized components; run flutter test after each feature

  • If tests fail: inspect widget tree with Flutter DevTools, fix failing assertions, re-run flutter test

4. Test — Write widget and integration tests; confirm with flutter test --coverage

  • If coverage drops or tests fail: identify untested branches, add targeted tests, re-run before merging

5. Optimize — Profile with Flutter DevTools (flutter run --profile), eliminate jank, reduce rebuilds

  • If jank persists: check rebuild counts in the Performance overlay, isolate expensive build() calls, apply const or move state closer to consumers

Reference Guide

Load detailed guidance based on context:

TopicReferenceLoad When
Riverpodreferences/riverpod-state.mdState management, providers, notifiers
Blocreferences/bloc-state.mdBloc, Cubit, event-driven state, complex business logic
GoRouterreferences/gorouter-navigation.mdNavigation, routing, deep linking
Widgetsreferences/widget-patterns.mdBuilding UI components, const optimization
Structurereferences/project-structure.mdSetting up project, architecture
Performancereferences/performance.mdOptimization, profiling, jank fixes

Code Examples

Riverpod Provider + ConsumerWidget (correct pattern)

// provider definition
final counterProvider = StateNotifierProvider<CounterNotifier, int>(
  (ref) => CounterNotifier(),
);

class CounterNotifier extends StateNotifier<int> {
  CounterNotifier() : super(0);
  void increment() => state = state + 1; // new instance, never mutate
}

// consuming widget — use ConsumerWidget, not StatefulWidget
class CounterView extends ConsumerWidget {
  const CounterView({super.key});

  @override
  Widget build(BuildContext context, WidgetRef ref) {
    final count = ref.watch(counterProvider);
    return Text('$count');
  }
}

Before / After — State Management

// ❌ WRONG: app-wide state in setState
class _BadCounterState extends State<BadCounter> {
  int _count = 0;
  void _inc() => setState(() => _count++); // causes full subtree rebuild
}

// ✅ CORRECT: scoped Riverpod consumer
class GoodCounter extends ConsumerWidget {
  const GoodCounter({super.key});
  @override
  Widget build(BuildContext context, WidgetRef ref) {
    final count = ref.watch(counterProvider);
    return IconButton(
      onPressed: () => ref.read(counterProvider.notifier).increment(),
      icon: const Icon(Icons.add), // const on static widgets
    );
  }
}

Constraints

MUST DO

  • Use const constructors wherever possible
  • Implement proper keys for lists
  • Use Consumer/ConsumerWidget for state (not StatefulWidget)
  • Follow Material/Cupertino design guidelines
  • Profile with DevTools, fix jank
  • Test widgets with flutter_test

MUST NOT DO

  • Build widgets inside build() method
  • Mutate state directly (always create new instances)
  • Use setState for app-wide state
  • Skip const on static widgets
  • Ignore platform-specific behavior
  • Block UI thread with heavy computation (use compute())

Troubleshooting Common Failures

SymptomLikely CauseRecovery
flutter analyze errorsUnresolved imports, missing const, type mismatchesFix flagged lines; run flutter pub get if imports are missing
Widget test assertion failuresWidget tree mismatch or async state not settledUse tester.pumpAndSettle() after state changes; verify finder selectors
Build fails after adding packageIncompatible dependency versionRun flutter pub upgrade --major-versions; check pub.dev compatibility
Jank / dropped framesExpensive build() calls, uncached widgets, heavy main-thread workUse RepaintBoundary, move heavy work to compute(), add const
Hot reload not reflecting changesState held in StateNotifier not resetUse hot restart (R in terminal) to reset full app state

Output Templates

When implementing Flutter features, provide: 1. Widget code with proper const usage 2. Provider/Bloc definitions 3. Route configuration if needed 4. Test file structure

Documentation

Related skills

How it compares

Pick flutter-expert over generic Flutter skills when the task specifically requires Bloc or Cubit architecture for event-driven mobile features.

FAQ

When should Flutter developers choose Bloc over Riverpod?

flutter-expert recommends Bloc for event-driven workflows, complex business logic, forms, auth flows, and wizards needing explicit event-to-state transitions. Riverpod suits simpler mutable state where Cubit or Bloc overhead is unnecessary.

What Bloc concepts does flutter-expert cover?

flutter-expert covers Event as user input, immutable State objects, Bloc as event-to-state mappers, and Cubit as a state-only variant without explicit events. The skill targets testable separation between Flutter UI and business logic.

Is Flutter Expert safe to install?

skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.