agentleFS
HeyEddi-comHeyEddi-com/heyeddi-skills/skills/flutter-engineering/SKILL.md

flutter-engineering

Skill0 starsChanged 3 months agoMITView on GitHub

Ensures HeyEddi Flutter projects have the right engineering stack: Flutter (Riverpod, go_router, Material 3), FastAPI backend, or Firebase tooling. Audits gaps, scaffolds as needed, runs flutter test/analyze, documents local dev servers. Use when frontend is Flutter or before design/feature work on a HeyEddi mobile/web app.

The file

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    When you have finished the user's request for this skill (not after every tool call or subagent phase), suggest what to run next:

    line 84
  2. Very specific:

    Add --route /path if you worked a specific route.

    line 92

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Flutter Engineering

Baseline Flutter engineering for HeyEddi apps. Detects which stacks apply and adds the correct tooling: Vue projects should use @project-engineering instead.

Subagents (default)

Delegate scaffold/audit/test scripts to Task shell; repo discovery to explore. Main chat picks stack from audit JSON. See reference/subagents.md.

Stacks

StackWhenTooling added
FlutterMobile / web frontendpubspec.yaml, Riverpod, go_router, Material 3, widget tests
FastAPIREST API backendbackend/, pytest, openapi.json, uvicorn on 8090
FirebaseFirestore / Authfirebase.json, rules, emulators

Declare intent in .heyeddi/stack.json:

{
  "frontend": "flutter",
  "backends": ["fastapi"],
  "web_port": 8085,
  "api_port": 8090
}

Or "backends": ["firebase"] or ["fastapi", "firebase"].

Workflow

  1. Prefs gate (always-on hard): @heyeddi-setup verify_setup --check before git/CI/commit assumptions; incomplete → run setup until pass.
  2. audit_scaffold: per-layer JSON (flutter / fastapi / firebase).
  3. scaffold_stack --stack auto: fills gaps (flutter, fastapi, firebase, or full).
  4. ensure_flutter + ensure_python (via @project-engineering) as needed.
  5. dev_server_info: Flutter web :8085, API :8090, Firebase emulators :4000.
  6. Plan gate (always-on): @engineering-excellence check_engineering_plan --check before feature code.
  7. Implement features (@design-handoff-flutter, @flutter-patterns, @dart-type-bridger).
  8. run_tests + run_backend_tests + verify_build.
  9. Change gate (always-on): audit_engineering --check (errors fail; warns advisory).

Local dev servers

StackCommandURL
Flutter webflutter run -d web-server --web-port=8085 --web-hostname=127.0.0.1http://127.0.0.1:8085
Flutter mobileflutter rundevice / emulator
FastAPIcd backend && poetry run uvicorn app.main:app --reload --port 8090http://127.0.0.1:8090/docs
Firebasefirebase emulators:starthttp://localhost:4000

Set FLUTTER_WEB_URL (or DEV_SERVER_URL) for @visual-auditor when auditing Flutter web.

References

  • reference/dev-server.md: Flutter web + mobile
  • reference/fastapi-client.md: Dio + OpenAPI types
  • reference/firebase-client.md: firebase_core + Firestore
  • reference/heyeddi-handoff.md: chain @design-handoff-flutter

Related skills

  • @dart-type-bridger: OpenAPI / Firestore → Dart models
  • @flutter-patterns: repositories, Riverpod providers, auth
  • @design-handoff-flutter: screenshot → Material widgets
  • @project-engineering: shared FastAPI/Firebase scaffolds (invoked by scaffold_stack)

When the task is complete: suggest next skills

When you have finished the user's request for this skill (not after every tool call or subagent phase), suggest what to run next:

  1. Run:

    python .agents/skills/heyeddi/scripts/suggest_next_skill.py --current-skill flutter-engineering --project-root .

    Add --route /path if you worked a specific route.

  2. Include the script's ### Next step block in your final reply. The user copies the Prompt line into chat (e.g. @heyeddi-design craft /settings).

Pass --mode shape (or craft, audit, etc.) when you know which sub-command just finished.

See @heyeddi → reference/next-skill-handoff.md.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.