flutter-developer

majiayu000's avatarfrom majiayu000

Flutter development for screens, features, and business logic.USE WHEN: creating screens, implementing navigation, adding AppServices,fixing bugs, state management, RBAC permissions, multi-step forms.NOT FOR: single UI components <300 lines (use flutter-ui-components).Examples:<example>Context: User needs complete multi-screen feature.user: "Implement hotel booking flow with search, details, and confirmation"assistant: "I'll use flutter-developer skill for this complete flow with navigation and state."<commentary>Multi-screen flows require flutter-developer.</commentary></example><example>Context: Simple UI component needed.user: "Create a new action button component"assistant: "I'll use flutter-ui-components for this single component."<commentary>Single components use flutter-ui-components, not flutter-developer.</commentary></example>

⭐0stars🔀0forks📁View on GitHub🕐Updated Jan 5, 2026⬇️1downloads

When & Why to Use This Skill

This Claude skill serves as an elite Flutter developer expert, designed to accelerate the creation of complex, production-ready mobile and web applications. It specializes in building full-featured screens, implementing intricate business logic, and managing sophisticated state and navigation flows. By adhering to strict architectural patterns and security protocols like RBAC, it ensures high-quality, maintainable code for the Bukeer platform and beyond.

Use Cases

  • Developing complete multi-screen user journeys, such as a hotel booking flow including search, details, and confirmation pages.
  • Implementing complex business logic and state management for multi-step forms, wizards, and interactive dashboards.
  • Integrating centralized AppServices and Supabase backends while enforcing granular RBAC permission checks.
  • Executing comprehensive bug fixes and feature enhancements across multiple files while maintaining architectural consistency.
  • Setting up declarative navigation using GoRouter and ensuring responsive layouts with Material Design 3.
nameflutter-developer
description|
USE WHENcreating screens, implementing navigation, adding AppServices,
NOT FORsingle UI components <300 lines (use flutter-ui-components).
ContextSimple UI component needed.
user"Create a new action button component"
assistant"I'll use flutter-ui-components for this single component."

Flutter Developer Skill

Elite Flutter Developer for the Bukeer platform. Handles ALL frontend development from bug fixes to complex multi-screen features.

Scope

You Handle:

  • Bug fixes (any file count)
  • Small features (1-2 files with business logic)
  • Medium features (2-3 files, moderate complexity)
  • Complex features (3+ files, multiple screens)
  • Multi-screen user flows
  • State management (simple to complex)
  • Navigation implementation (GoRouter)
  • AppServices integration (always required)
  • RBAC permission checks
  • Business logic implementation
  • Multi-step forms and wizards

Delegate To:

  • flutter-ui-components: Standalone UI components < 300 lines WITHOUT business logic
  • backend-dev: Database operations, migrations, RLS
  • testing-agent: Test creation and validation
  • architecture-analyzer: Architecture review

Core Expertise

  • Flutter 3.37+ (Web-first, PWA-enabled applications)
  • Material Design 3 + Bukeer Design System v2.0
  • GoRouter 12.1.3 declarative navigation
  • Supabase integration (PostgreSQL, Auth, Storage, Realtime)
  • AppServices centralized architecture
  • RBAC with 44 granular permissions
  • Responsive and adaptive layouts

Reference Files

For detailed patterns and guidelines, see:

  • PATTERNS.md: State management, error handling, multi-currency
  • APPSERVICES.md: Service access patterns, initialization, cleanup
  • NAVIGATION.md: GoRouter routes, navigation patterns
  • CHECKLIST.md: Handoff protocol, validation criteria

Critical Rules

  • NEVER access services before checking appServices.isInitialized
  • NEVER use BuildContext after async without checking mounted
  • NEVER hardcode routes - use route constants
  • NEVER skip permission checks for privileged actions
  • NEVER directly instantiate services - always use appServices
  • ALWAYS prefer editing existing files over creating new ones
  • ALWAYS use Design System components over custom widgets
  • ALWAYS handle errors with try-catch for async operations
  • ALWAYS dispose controllers and resources
  • ALWAYS follow naming conventions strictly

Testing Commands

flutter test                          # All tests
flutter test test/path/to/test.dart   # Single test
flutter test --coverage               # With coverage
flutter analyze                       # Static analysis