flutter-mcp-toolkit-guide
Entry point for inspecting or driving a running Flutter app from your AI assistant — routes to the right task skill (inspect / control / debug / custom app surfaces) and runs preflight.
Works with
---
name: flutter-mcp-toolkit-guide
description: Entry point for inspecting or driving a running Flutter app from your AI assistant — routes to the right task skill (inspect / control / debug / custom app surfaces) and runs preflight.
license: MIT
---
<!-- @FMT_MODE_PRELUDE -->
## When to use
Use this skill when the user wants to inspect or drive a running Flutter app
from this conversation. Examples:
- "Tap the login button in my app"
- "Why is the home screen blank?"
- "Take a screenshot and tell me what's broken"
- "Expose my cart / flags / internal state to the agent via MCP"
If the user is asking about Flutter concepts unrelated to a running app
(architecture questions, package selection), this skill does not apply.
## Step 1: Preflight
Always run `flutter-mcp-toolkit doctor --json` first. Parse the output:
- `status: "ok"` — proceed to Step 2.
- `status: "error"` and `error.code: "binary_not_found"` — load
`flutter-mcp-toolkit-setup` and follow its install instructions.
- `status: "error"` and `error.code: "vm_not_connected"` — load
`flutter-mcp-toolkit-setup` and follow its troubleshooting section.
- Any other error — load `flutter-mcp-toolkit-debug` and read the error
envelope playbook.
## Step 2: Pick the right skill for the user's intent
| User intent | Load skill |
|---|---|
| Read state ("what's on screen?", "show me errors", "screenshot") | `flutter-mcp-toolkit-inspect` |
| Drive UI ("tap X", "type into Y", "scroll to Z", "hot reload") | `flutter-mcp-toolkit-control` |
| Diagnose ("why is X failing?", "show recent logs", "evaluate expression") | `flutter-mcp-toolkit-debug` |
| Register app-specific MCP tools/resources (`AgentCallEntry`, `bootstrapFlutter` `additionalEntries`) | `flutter-mcp-toolkit-custom-tools` |
| Upgrade from removed legacy call-entry APIs | `flutter-mcp-toolkit-intentcall-migration` |
| Audit CLI/MCP/schema/dynamic-registry parity before changing tool surfaces | `flutter-mcp-boundary-audit` |
| Maintain `flutter_test_app` web / WebMCP showcase hooks | `flutter-mcp-toolkit-maintain-web` |
| Maintain `flutter_test_app` macOS / native IntentCall hooks | `flutter-mcp-toolkit-maintain-macos` |
| Score dogfood iterations or route dogfood evidence | `flutter-mcp-toolkit-dogfood-iterations` |
| Release, version, or plugin skill bundle maintenance | `flutter-mcp-toolkit-repo-maintainer` |
Harness Script lint/run/Maestro and promo/video capture live in their owner
repositories. Do not look for `flutter-mcp-semantic-test`,
`flutter-mcp-capture`, or `hyperframes-video` in this plugin.
If the task spans more than one (e.g. "tap the button and show me what
changed"), load `inspect` AND `control`. Skills are additive.
## Step 3: Execute
Each task skill has the tool list, parameter shapes, and example calls. Follow
the prelude at the top of the skill — it tells you whether you're calling MCP
tools or shelling out to the CLI.
## Tool taxonomy reference
The core toolkit tools fall into these categories. The full list with
parameter shapes lives in the task skills.
- **Inspection (read-only):** `discover_debug_apps`, `get_app_errors`,
`get_screenshots`, `get_view_details`, `get_vm`, `get_extension_rpcs`,
`semantic_snapshot`, `inspect_widget_at_point`, `capture_ui_snapshot`,
`connect_debug_app`. → `flutter-mcp-toolkit-inspect`.
- **Interaction (mutating):** `tap_widget`, `long_press`, `enter_text`,
`reveal_search`, `fill_form`, `scroll`, `swipe`, `drag`, `hover`,
`press_key`, `wait_for`, `navigate`, `handle_dialog`,
`hot_reload_flutter`, `hot_restart_flutter`, `hot_reload_and_capture`. →
`flutter-mcp-toolkit-control`.
- **Debug:** `get_recent_logs`, `evaluate_dart_expression`. →
`flutter-mcp-toolkit-debug`.
- **Dynamic registry (app-defined):** after registration in the Flutter app,
MCP calls use `fmt_list_client_tools_and_resources`, then
`fmt_client_tool` / `fmt_client_resource`. When shelling out to the CLI,
command names appear only as `exec --name <name>` values; do not call bare
`list_client_tools_and_resources`, `client_tool`, or `client_resource` as
MCP tools. → `flutter-mcp-toolkit-custom-tools`.
- **Boundary/proof maintenance:** use `flutter-mcp-boundary-audit` before
changing catalog/schema/registry surfaces; use `flutter-mcp-toolkit-maintain-web`
or `flutter-mcp-toolkit-maintain-macos` for showcase platform hooks; use
`flutter-mcp-toolkit-repo-maintainer` for release, version, and generated
skill-bundle work.
## When in doubt
If `doctor` is green but a tool call fails, read the returned `error.code`
and `error.recovery` fields. The full code → recovery table is in
`flutter-mcp-toolkit-debug`.More Debugging skills
diagnosing-bugs
mattpocock/skills
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.
explore-code
lllllllama/rigorpilot-skills
Rigor Improve implementation leaf skill for auditable candidate implementation in deep learning research repositories. Use when the researcher explicitly authorizes exploratory work on an isolated branch or worktree to transplant modules, adapt a backbone, add LoRA or adapter layers, replace a head, or stitch together meaningful low-risk migration ideas with rollback-aware records in `explore_outputs/`. Do not use for end-to-end exploration orchestration on top of `current_research`, trusted baseline reproduction, conservative debugging, environment setup, verified contribution claims, or default repository analysis.
safe-debug
lllllllama/rigorpilot-skills
Rigor Debug / Rigor Audit skill for deep learning research work. Use when the user pastes a traceback, terminal error, CUDA OOM, checkpoint load failure, shape mismatch, NaN loss symptom, or training failure and wants conservative diagnosis before any patching, with debug fixes clearly separated from research contributions. Do not use for broad refactoring, speculative adaptation, automatic exploratory patching, or general repository familiarization.

