Scaffold a Flutter project from docs/proposal.md with architectural blueprints. Use when starting a new Flutter app, kickoff a project, or going from proposal to code. Creates a clean Flutter project with deps installed and docs/architecture.md that guides /feature-dev to write production-grade code.
How this skill is triggered — by the user, by Claude, or both
Slash command
/nextc-project-kickoff:flutter-kickoffThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Reads `docs/proposal.md` (from `/product-explore`) and scaffolds a production-grade
Reads docs/proposal.md (from /product-explore) and scaffolds a production-grade
Flutter project seeded with real product context — not generic boilerplate.
Four components:
flutter-kickoff-agent: orchestrator — decisions, phase sequencing, summaryflutter-scaffolder: Phase 2 — flutter create + deps + build config (no code generation)flutter-doc-seeder: Phase 3 — architectural blueprints + docs seeded from proposalParse $ARGUMENTS to determine mode:
| Argument | Mode | Phases | Description |
|---|---|---|---|
| (none) | Default | 0-3 | Standard kickoff: preflight, decisions, create, docs |
--auto | Autopilot | 0-3 (zero questions) | All decisions from proposal |
--full | Full | 0-8 | Default + l10n, design, routes, collision, git |
--auto --full | Full autopilot | 0-8 (zero questions) | Full with no interaction |
--minimal | Minimal | 0-2 | Bare project + deps, no docs |
--resume | Resume | From last checkpoint | Continue from where it stopped |
Additional flags (combinable with modes):
--proposal /path/to/file.md — use proposal from specified path--dir /path/to/create — create project at specified locationBefore spawning the agent, validate ALL dependencies. Run ALL checks before reporting — never fail one-at-a-time.
Check that these plugin agents/skills are accessible. For each, check if the plugin cache directory exists:
everything-claude-code (primary dependency):
~/.claude/plugins/cache/everything-claude-code/
Provides: planner, architect, code-reviewer, security-reviewer agents.
These are not used by kickoff directly, but /feature-dev (the next step after kickoff)
requires them. Warn now so the user doesn't hit a wall after scaffolding.
Check for cached plugin directories:
ls ~/.claude/plugins/cache/everything-claude-code/ 2>/dev/null
1. Flutter SDK:
flutter --version
Extract version. Fail if not installed. Warn if < 3.7 (needed for --empty flag).
2. Platform tools: Quick parse of proposal for target platforms, then verify:
flutter doctor3. proposal.md exists:
Determine proposal path:
--proposal /path argument: use that pathdocs/proposal.md in current directoryIf not found:
No proposal.md found.
Options:
1. Run /product-explore first to generate a proposal
2. Provide a path: /flutter-kickoff --proposal /path/to/proposal.md
3. Start without a proposal (manual setup — no product context seeding)
4. Proposal quality scan:
Quick-read the proposal and classify:
[run /product-explore for full analysis] →
warn: "This is a fast-mode proposal. Many sections are incomplete. I can work
with it but you'll need more manual decisions. --auto not recommended."5. Target directory:
Derive project dir name from proposal product name (kebab-case). Check it doesn't already exist. If it does: offer rename, delete (confirm), or abort.
6. Git context:
Check if cwd is inside a git repo. If yes, Phase 8 skips git init.
fvm is detected on PATH, offer: "FVM detected. Use it for Flutter
version management? (creates .fvmrc)"If --resume flag: look for .flutter-kickoff/decisions.json in cwd. If found,
read completed_phases and report which phases are done. If not found, error.
Report ALL missing items at once with exact install commands:
Preflight FAILED. Missing dependencies:
PLUGINS:
- everything-claude-code — Required for /feature-dev (your next step after kickoff).
Install:
/plugin marketplace add affaan-m/everything-claude-code
/plugin install everything-claude-code@everything-claude-code
TOOLS:
- Flutter SDK not found
Install: https://docs.flutter.dev/get-started/install
- Android SDK not configured
Run: flutter doctor --android-licenses
Install missing dependencies and run /flutter-kickoff again.
STOP here. Do NOT proceed to the agent until all required items are resolved.
Preflight passed.
Plugins: everything-claude-code ✓
Flutter: 3.x.x (channel stable)
Platforms: android ✓, ios ✓, web ✓
Proposal: docs/proposal.md (full)
FVM: detected / not detected
Git: new repo / inside existing repo
Target: [name]/ (clean)
After preflight passes, spawn the flutter-kickoff-agent with mode and context:
Agent(
subagent_type: "nextc-project-kickoff:flutter-kickoff-agent",
model: "sonnet",
prompt: """
Mode: [default/auto/full/auto-full/minimal/resume]
Arguments: $ARGUMENTS
Working directory: [cwd]
Proposal path: [path to proposal.md]
Proposal quality: [full/fast/non-standard]
FVM: [yes/no]
Git context: [new/existing]
Target dir: [derived name]
[For resume mode:]
Existing state: .flutter-kickoff/decisions.json exists
Completed phases: [list]
"""
)
| Mode | Precondition | On Failure |
|---|---|---|
| Default / Full | proposal.md found | Offer 3 options (above) |
--auto | proposal.md found AND quality is "full" | "Auto mode needs a full proposal. Run /product-explore first." |
--minimal | proposal.md found | Offer 3 options |
--resume | .flutter-kickoff/decisions.json exists | "No previous session found. Run /flutter-kickoff first." |
npx claudepluginhub nextc/nextc-claude --plugin nextc-project-kickoffScaffolds Dart or Flutter projects from Very Good CLI templates (flutter_app, dart_package, flutter_package, flutter_plugin, dart_cli, flame_game, docs_site).
Guides Flutter development for cross-platform iOS, Android, Web apps. Covers non-interactive CLI, project setup, state management, widgets, GoRouter navigation, platform channels, testing, CI/CD.
Provides expert Flutter/Dart patterns for cross-platform mobile apps including feature-first project structure, const widget best practices, and Riverpod/Bloc state management.