Skip to main content

maui-devflow-debug

Run DevFlow inspect-and-fix loops for MAUI apps. USE FOR: launch, device selection, agent recovery, broker/port/adb, tree/screenshot, Blazor CDP, and iterative UI debugging. DO NOT USE FOR: first-time setup or non-MAUI automation. INVOKES: DevFlow `maui_*` MCP tools when available; `maui devflow` CLI as fallback; `dotnet`, `adb`, and `simctl` for build, deployment, and connectivity work.

소스 정보

저장소
dotnet/maui-labs
최근 소스 활동
2026년 10월 2일 11:55
감지된 SKILL.md 언어
영어
스타
225
포크
36

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
9 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
maui-devflow-debug
description
Run DevFlow inspect-and-fix loops for MAUI apps. USE FOR: launch, device selection, agent recovery, broker/port/adb, tree/screenshot, Blazor CDP, and iterative UI debugging. DO NOT USE FOR: first-time setup or non-MAUI automation. INVOKES: DevFlow `maui_*` MCP tools when available; `maui devflow` CLI as fallback; `dotnet`, `adb`, and `simctl` for build, deployment, and connectivity work.
# 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. ## Core Loop 1. Confirm the app is already integrated: ```bash grep -rl "Microsoft.Maui.DevFlow" --include="*.csproj" . ``` If no project has DevFlow package references, stop and switch to `maui-devflow-onboard`. 2. Pick the target framework and launch target. Do not assume `net10.0`; inspect the project first. ```bash grep -i "TargetFramework" *.csproj Directory.Build.props 2>/dev/null ``` 3. Start or select the device/emulator. For Android and iOS, avoid reusing a simulator/emulator that is already running another app under investigation. 4. 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. 5. Wait for the DevFlow agent before inspecting UI: ```bash 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. 6. Prefer AutomationId-first validation for UI flows: ```bash maui devflow ui query --automationId save-button maui devflow ui tap <element-id-from-query> ``` If important controls do not have stable `AutomationId`s, add them before relying on text, coordinates, screenshots, or brittle tree positions. 7. Inspect, interact, capture evidence, then edit the app and repeat from launch. ## Critical Anti-patterns - Do not treat an empty `maui devflow list` as proof the project is not integrated. `list` is runtime state; project files are source of truth. - Do not use arbitrary sleeps after launch. Use `maui devflow wait` to gate on the actual agent connection. - Do not kill an async `dotnet build -t:Run` or `dotnet run` shell while you still need the app; that often kills the app. - Do not reuse a busy simulator/emulator when multiple MAUI apps or agents may be running. - Do not debug Blazor WebView DOM issues through the native visual tree alone; use the WebView/CDP commands. - Do not drive key app flows by coordinates when AutomationIds are available or can be added. ## Stop Signals - Stop and switch to `maui-devflow-onboard` when package references or `AddMauiDevFlowAgent()` are absent. - Stop and ask which project, device, or agent to target when multiple candidates match. - Stop rebuilding after two identical failures until you inspect the first meaningful build/runtime error. - Stop using screenshots for exact property values; query the visual tree or properties instead. ## Reference Map Load these only when needed: - `references/setup.md` - detailed integration, package, entitlement, and update notes. - `references/connectivity.md` - broker, agent, port, Android forwarding, and "no agents connected" recovery. - `references/android.md` - Android SDK, emulator, adb, build, deploy, and port forwarding details. - `references/ios-and-mac.md` - iOS simulator, Mac Catalyst, permissions, entitlements, and Apple tooling. - `references/macos.md` - macOS AppKit project shape, launch model, and troubleshooting. - `references/linux.md` - GTK/Linux launch, packages, and WebKitGTK notes. - `references/batch.md` - batching multiple DevFlow UI/WebView operations. - `references/troubleshooting.md` - build, connection, CDP, and platform-specific failure recovery.
GitHub에서 보기