flutter / flutter/agent-plugins
[Skill idea] flutter-scaffold-mvvm-feature — generate a complete MVVM feature in one shot
- Dominant language
- Dart
- Stars
- 2.9k
- Forks
- 178
- Avg merge
- 4d 2h
- Merged PRs (30d)
- 9
Description
## Environment
- **Language model:** Claude Opus 4.7
- **Agent harness:** Claude Code
- **Project type:** Production Flutter app (logistics / driver-facing), strict MVVM
The current `flutter-apply-architecture-best-practices` skill is **educational** — it teaches the layered MVVM pattern. What's missing is a **generative** counterpart that scaffolds a full feature end-to-end: Page + ViewModel + Status + (optional) Effect + Route + DI registration + unit test, all wired and consistent.
Today, generating a new feature in a strict-MVVM app is a 10–15 file edit dance that's easy to get inconsistent (route variant wrong, DI not registered, ViewModel imports `flutter/material`, test missing mocks). A single skill that drives this correctly removes a recurring source of drift.
## Proposed skill
**Name:** `flutter-scaffold-mvvm-feature`
**Description (draft):**
> Scaffold a complete MVVM feature (Page, ViewModel, Status, optional Effect, Route, DI registration, and unit test) wired consistently across layers. Use when adding a new screen, sheet, or dialog to an app that already follows the MVVM pattern, to guarantee correct layer separation and DI on first generation.
**Inputs the skill should ask upfront (in a single batch):**
1. Feature name (snake_case)
2. Page type (full-screen / bottom-sheet / dialog)
3. Needs Effects? (snackbars, async navigation events)
4. Needs offline/connectivity awareness?
5. Domain model the page receives (or none)
6. Initial Status fields
**Outputs:**
- `lib/features/{name}/{name}_page.dart`
- `lib/features/{name}/{name}_view_model.dart`
- `lib/features/{name}/{name}_status.dart`
- `lib/features/{name}/{name}_effect.dart` (only if Effects needed)
- Route file + export
- DI factory registration
- Unit test stub for the ViewModel
## Why this is hard for a single-pass skill
Layer-correct generation benefits from **parallel sub-agents** (one per layer: data/VM, UI, tests) so the skill can produce 5–7 files coherently in one turn. We've implemented this pattern internally and it works well — happy to share the orchestration approach if useful.
## Real-world reference
We run an internal version of this in production (Claude Code, ~9k LOC monthly throughput). Generation success rate (no follow-up edit needed) is materially higher than per-file generation.
## Roadmap fit
This complements `flutter-apply-architecture-best-practices` (P1, already published) — that one teaches the pattern, this one applies it.
Contributor guide
Assessment
This issue has not been assessed yet.