Railway's official agent skill: create projects, provision databases and buckets, deploy, manage variables and domains, and read build failures back — from the CLI, API or MCP server.
Flutter Architecture Best PracticesSkill
Summary
The Flutter team's official skill for structuring an app in the recommended UI / Logic / Data layers, with MVVM view-models and the repository pattern.
Features
- Enforces UI / Logic / Data layer separation
- MVVM view-models on ChangeNotifier with immutable state snapshots
- Repository pattern with stateless services and clean domain models
- Constructor injection of repositories into view-models
- Project structure plus an end-to-end new-feature workflow
- Applies to greenfield scaffolding and refactoring alike
Install This Skill
Add this skill to your favorite AI agent in a few steps.
Skill Content
Usage Instructions
Learn how to use this skill with different AI agents.
Description
Agents left to their own devices tend to write Flutter code that fetches data inside a widget's build method. It works, and then it does not scale. This skill, maintained by the Flutter team, gives the agent the architecture the framework's own guidance recommends and holds it to a strict separation of concerns.
The layers
UI layer. MVVM. Views stay lean and reusable, with logic limited to genuinely UI-level concerns — animation, layout constraints, simple routing — and all data passed in from the view-model. View-models extend ChangeNotifier (or another Listenable), expose immutable state snapshots, handle user interactions, and receive repositories through constructor injection.
Data layer. The repository pattern, so data access is isolated and there is a single source of truth. Services are stateless wrappers over HTTP clients, local databases and platform plugins, returning raw API models or Result wrappers. Repositories consume services, transform raw models into clean domain models, and own caching, offline synchronisation and retry logic.
Logic layer. Optional use cases for behaviour that spans repositories or would otherwise bloat a view-model.
Alongside the layer definitions it carries the project structure to lay out, a workflow for implementing a new feature end to end through the layers, and worked examples — useful either when scaffolding a new project or when refactoring an existing one that has outgrown its structure.
Part of the Flutter team's agent-plugins repository, which also covers integration tests, widget tests, widget previews, responsive layouts, layout debugging, JSON serialisation, declarative routing, localisation and the http package. BSD-3-Clause licensed; the Dart team maintains a companion collection for Dart-level tasks.
Related Skills
Diagnoses wrong gradients in differentiable NVIDIA Warp programs by measuring first — comparing autodiff against finite differences on a shrunk reproduction before proposing any fix.
Google's official skill for the gws CLI — drive Gmail, Drive, Calendar, Sheets, Docs, Chat and Admin APIs from an agent, with Model Armor screening.
Netlify's official skill for zero-config managed Postgres — querying from Functions, Drizzle setup, migrations and per-preview database branches.