Install
Terminal · npx$
npx skills add https://github.com/madteacher/mad-agents-skills --skill flutter-architectureWorks with Paperclip
How Flutter Architecture fits into a Paperclip company.
Flutter Architecture drops into any Paperclip agent that handles this kind of work. Assign it to a specialist inside a pre-configured PaperclipOrg company and the skill becomes available on every heartbeat — no prompt engineering, no tool wiring.
S
SaaS FactoryPaired
Pre-configured AI company — 18 agents, 18 skills, one-time purchase.
$27$59
Explore packSource file
SKILL.md169 linesExpandCollapse
---name: flutter-architecturedescription: Comprehensive guide for architecting Flutter applications following MVVM pattern and best practices with feature-first project organization. Use when working with Flutter projects to structure code properly, implement clean architecture layers (UI, Data, Domain), apply recommended design patterns, and organize projects using feature-first approach for scalable, maintainable apps.metadata: author: Stanislav [MADTeacher] Chernyshev version: "1.0"--- # Flutter Architecture ## Overview Provides architectural guidance and best practices for building scalable Flutter applications using MVVM pattern, layered architecture, and recommended design patterns from the Flutter team. ## Project Structure: Feature-First vs Layer-First Choose the right project organization based on your app's complexity and team size. ### Feature-First (Recommended for teams) Organize code by business features: ```lib/├── features/│ ├── auth/│ │ ├── data/│ │ ├── domain/│ │ └── presentation/│ ├── todos/│ │ ├── data/│ │ ├── domain/│ │ └── presentation/│ └── settings/│ ├── data/│ ├── domain/│ └── presentation/├── shared/│ ├── core/│ ├── data/│ └── ui/└── main.dart``` **When to use:**- Medium to large apps (10+ features)- Team development (2+ developers)- Frequently adding/removing features- Complex business logic **Benefits:**- Features are self-contained units- Easy to add/remove entire features- Clear feature boundaries- Reduced merge conflicts- Teams work independently on features See [Feature-First Guide](references/feature-first.md) for complete implementation details. ### Layer-First (Traditional) Organize code by architectural layers: ```lib/├── data/│ ├── repositories/│ ├── services/│ └── models/├── domain/│ ├── use-cases/│ └── entities/├── presentation/│ ├── views/│ └── viewmodels/└── shared/``` **When to use:**- Small to medium apps- Few features (<10)- Solo developers or small teams- Simple business logic **Benefits:**- Clear separation by layer- Easy to find components by type- Less nesting ## Quick Start Start with these core concepts: 1. **Separation of concerns** - Split app into UI and Data layers2. **MVVM pattern** - Use Views, ViewModels, Repositories, and Services3. **Single source of truth** - Repositories hold the authoritative data4. **Unidirectional data flow** - State flows from data → logic → UI For detailed concepts, see [Concepts](references/concepts.md). ## Architecture Layers Flutter apps should be structured in layers: - **UI Layer**: Views (widgets) and ViewModels (UI logic)- **Data Layer**: Repositories (SSOT) and Services (data sources)- **Domain Layer** (optional): Use-cases for complex business logic See [Layers Guide](references/layers.md) for detailed layer responsibilities and interactions. ## Core Components ### Views- Compose widgets for UI presentation- Contain minimal logic (animations, simple conditionals, routing)- Receive data from ViewModels- Pass events via ViewModel commands ### ViewModels- Transform repository data into UI state- Manage UI state and commands- Handle business logic for UI interactions- Expose state as streams or change notifiers ### Repositories- Single source of truth for data types- Aggregate data from services- Handle caching, error handling, retry logic- Expose data as domain models ### Services- Wrap external data sources (APIs, databases, platform APIs)- Stateless data access layer- One service per data source ## Design Patterns Common patterns for robust Flutter apps: - **Command Pattern** - Encapsulate actions with Result handling- **Result Type** - Type-safe error handling- **Repository Pattern** - Abstraction over data sources- **Offline-First** - Optimistic UI updates with sync See [Design Patterns](references/design-patterns.md) for implementation details. ## When to Use This Skill Use this skill when:- Designing or refactoring Flutter app architecture- Choosing between feature-first and layer-first project structure- Implementing MVVM pattern in Flutter- Creating scalable app structure for teams- Adding new features to existing architecture- Applying best practices and design patterns ## Resources ### references/- [concepts.md](references/concepts.md) - Core architectural principles (separation of concerns, SSOT, UDF)- [feature-first.md](references/feature-first.md) - Feature-first project organization and best practices- [mvvm.md](references/mvvm.md) - MVVM pattern implementation in Flutter- [layers.md](references/layers.md) - Detailed layer responsibilities and interactions- [design-patterns.md](references/design-patterns.md) - Common patterns and implementations ### assets/- [command.dart](assets/command.dart) - Command pattern template for encapsulating actions- [result.dart](assets/result.dart) - Result type for safe error handling- [examples/](assets/examples/) - Code examples showing architecture in practiceRelated skills
Flutter Adaptive Ui
Install Flutter Adaptive Ui skill for Claude Code from madteacher/mad-agents-skills.
Flutter Animations
flutter-animations provides Flutter developers with a comprehensive guide for implementing animations across multiple techniques, including implicit animations,
Flutter Testing
Install Flutter Testing skill for Claude Code from madteacher/mad-agents-skills.