flutter / flutter/agent-plugins
[Skill idea] flutter-scaffold-mvvm-feature — generate a complete MVVM feature in one shot
- Lingua principale
- Dart
- Stelle
- 2.9k
- Fork
- 178
- Merge medio
- 4g 2h
- PR unite (30g)
- 9
Descrizione
## 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.
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia esaminando lo skill esistente `flutter-apply-architecture-best-practices` e il modo in cui gli skill sono strutturati in questo repository. Definisci il flusso di generazione in base agli input e agli output elencati, quindi verifica che una feature generata includa in modo coerente Page, ViewModel, Status, l’Effect opzionale, l’esportazione della route, la registrazione DI e uno stub di unit test per ViewModel.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- dart, flutter
- Ambito
- developer-experience, mobile-dev, tooling
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 45/100