Run DevFlow inspect-and-fix loops for MAUI apps. USE FOR: launch, device selection, agent recovery, broker/port/adb, tree/screenshot, Blazor CDP, iterative UI debugging. DO NOT USE FOR: first-time setup or non-MAUI automation. INVOKES: `maui devflow`, `dotnet`, `adb`, `simctl`.
Installation
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Run DevFlow inspect-and-fix loops for MAUI apps. USE FOR: launch, device selection, agent recovery, broker/port/adb, tree/screenshot, Blazor CDP, iterative UI debugging. DO NOT USE FOR: first-time setup or non-MAUI automation. INVOKES: `maui devflow`, `dotnet`, `adb`, `simctl`.
DevFlow Debug
Use this skill for the active debugging loop after a MAUI app has DevFlow
packages and builder.AddMauiDevFlowAgent() registered.
When to Use
Build and run a MAUI app on Android, iOS, Mac Catalyst, macOS, Windows, or GTK.
Choose or create a simulator/emulator for a project.
Wait for a DevFlow agent, inspect the visual tree, tap/fill UI, or capture screenshots.
Recover from DevFlow connection failures after the app is integrated, including broker, port, and Android adb forwarding issues.
Debug Blazor Hybrid content through DevFlow WebView/CDP commands.
Read app logs, network captures, preferences, device info, or recordings through DevFlow.
Iterate on an app bug with a build -> deploy -> inspect -> fix loop.
Route Elsewhere
If DevFlow packages or MauiProgram.cs registration are missing, use maui-devflow-onboard.
If the failure is a generic build or SDK issue with no DevFlow angle, use normal .NET/MAUI diagnostics.
Optional Session Feedback Nudge
If you have retried the same MAUI DevFlow workflow several times, tried multiple
workarounds, or are ending a long DevFlow-assisted debugging session, ask
whether the user wants to run maui-devflow-session-review to summarize friction
for MAUI DevFlow product feedback. Do not run it automatically.
Start or select the device/emulator. For Android and iOS, avoid reusing a simulator/emulator that is already running another app under investigation.
Launch the app and keep the launch process alive when required.
iOS, Android, and Mac Catalyst dotnet build -t:Run usually block for the app lifetime.
GTK dotnet run blocks for the app lifetime.
macOS AppKit builds can exit after compiling; launch the .app separately.
Wait for the DevFlow agent before inspecting UI:
maui devflow wait
maui devflow agent status
maui devflow ui tree --depth 3 --fields "id,type,text,automationId"
Treat agent status as the runtime truth for reachability and app identity.
diagnose is broader environment state; it can report broker/project details
without proving the current app is reachable.
If wait, list, or ui tree cannot connect after the app is running, load references/connectivity.md and recover the broker/agent connection before continuing.
Prefer AutomationId-first validation for UI flows: