Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[Skill idea] flutter-scaffold-mvvm-feature — generate a complete MVVM feature in one shot

Open
#108 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
45/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Quiet
Tech stack
dart, flutter

Research direction

Start by reviewing the existing flutter-apply-architecture-best-practices skill and how skills are structured in this repository. Define the generation flow around the listed inputs and outputs, then verify that a generated feature includes the Page, ViewModel, Status, optional Effect, route export, DI registration, and ViewModel unit-test stub consistently.

Written by the indexing model from the issue text.

Description

P2 Skill

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.

Dominant language
Dart
Stars
3k
Forks
180
Avg merge
5d 29m
Merged PRs (30d)
6

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from flutter/agent-plugins

All issues in flutter/agent-plugins

Similar issues

More Dart issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.