# Flutter Developer

> 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>

- Skill: `majiayu000/flutter-developer` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add majiayu000/flutter-developer`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/flutter-developer/raw
- Safety review: pending (external: skill-scanner PASS, skillspector CAUTION)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/flutter-developer

---


# 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

```bash
flutter test                          # All tests
flutter test test/path/to/test.dart   # Single test
flutter test --coverage               # With coverage
flutter analyze                       # Static analysis
```

