agentleFS
dotnetdotnet/maui-labs/.github/skills/maui-devflow-onboard/SKILL.md

maui-devflow-onboard

Skill228 starsChanged 54 days agoMITView on GitHub

Add MAUI DevFlow to a .NET MAUI project with agent package references, MauiProgram.cs registration, Blazor WebView support, GTK variants, Central Package Management guidance, and verification commands. USE FOR: first-time DevFlow setup, reviewing what files to edit, choosing DevFlow packages, or continuing after `maui devflow init` installs skills. DO NOT USE FOR: troubleshooting an already-integrated app that cannot connect, iterative app debugging, UI inspection, or generic MAUI build failures (use maui-devflow-debug). INVOKES: maui devflow CLI and dotnet CLI.

We split this skill into the rules it gives an agent

14 rules. About 0 are common, 4 are distinctive, and 10 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 10

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Use this skill to add MAUI DevFlow to a project after maui devflow init has installed the DevFlow skills.

    line 16
  2. Very specific:

    If package references and AddMauiDevFlowAgent() are already present but the CLI cannot connect, use maui-devflow-debug.

    line 28
  3. Very specific:

    If an agent is reachable and the user wants to inspect, tap, screenshot, or debug UI, use maui-devflow-debug.

    line 29
  4. Very specific:

    Add the correct DevFlow package references.

    line 36
  5. Very specific:

    If verification fails after integration, switch to maui-devflow-debug for connectivity recovery.

    line 47
  6. Distinctive:

    Stop before editing if multiple MAUI app projects exist and the user has not indicated which one to onboard.

    line 51
  7. Distinctive:

    Stop and ask before enabling DevFlow outside Debug builds.

    line 52
  8. Distinctive:

    Stop after package/registration edits and verify with a build before doing runtime debugging.

    line 53
  9. Very specific:

    Do not add versions to project PackageReference items when Directory.Packages.props is managing package versions.

    line 57
  10. Distinctive:

    Do not add Blazor DevFlow packages unless the app uses Blazor WebView.

    line 58
  11. Very specific:

    Do not register DevFlow outside #if DEBUG unless the user explicitly asks.

    line 59
  12. Very specific:

    Do not use the old builder.Services.AddMauiDevFlowAgent() pattern.

    line 60
  13. Very specific:

    If the repo uses Directory.Packages.props, put versions there and leave project PackageReference entries versionless.

    line 77
  14. Very specific:

    If the repo does not use Central Package Management, put the version on the PackageReference.

    line 89

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 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

DevFlow Onboard

Use this skill to add MAUI DevFlow to a project after maui devflow init has installed the DevFlow skills.

When to Use

  • The project has no Microsoft.Maui.DevFlow.* package references yet.
  • The user asks how to onboard, initialize, install, integrate, or set up DevFlow.
  • The agent needs to choose between standard, Blazor, GTK, or GTK + Blazor DevFlow packages.
  • The repo uses Central Package Management and package edits need to be split correctly.
  • maui devflow init has installed skills and the user asks for the next project edits.

Route Elsewhere

  • If package references and AddMauiDevFlowAgent() are already present but the CLI cannot connect, use maui-devflow-debug.
  • If an agent is reachable and the user wants to inspect, tap, screenshot, or debug UI, use maui-devflow-debug.

Workflow

  1. Optionally run maui devflow skills check and update bundled skills before editing if it reports update-available-from-current-cli.
  2. Find MAUI app projects in the workspace. Prefer app projects with UseMaui, platform TFMs such as net*-android/net*-ios/net*-maccatalyst/net*-windows, or GTK MAUI package references.
  3. Determine whether each target project is standard MAUI, MAUI + Blazor WebView, GTK, or GTK + Blazor.
  4. Add the correct DevFlow package references. Respect Central Package Management if Directory.Packages.props is present.
  5. Register DevFlow in MauiProgram.cs inside #if DEBUG.
  6. Build and run the app.
  7. Verify with:

    maui devflow diagnose
    maui devflow wait
    maui devflow ui tree --depth 1

If verification fails after integration, switch to maui-devflow-debug for connectivity recovery.

Stop Signals

  • Stop before editing if multiple MAUI app projects exist and the user has not indicated which one to onboard.
  • Stop and ask before enabling DevFlow outside Debug builds.
  • Stop after package/registration edits and verify with a build before doing runtime debugging.

Critical Anti-patterns

  • Do not add versions to project PackageReference items when Directory.Packages.props is managing package versions.
  • Do not add Blazor DevFlow packages unless the app uses Blazor WebView.
  • Do not register DevFlow outside #if DEBUG unless the user explicitly asks.
  • Do not use the old builder.Services.AddMauiDevFlowAgent() pattern; use builder.AddMauiDevFlowAgent().

Package Selection

Project flavorRequired packages
Standard MAUIMicrosoft.Maui.DevFlow.Agent
MAUI + Blazor WebViewMicrosoft.Maui.DevFlow.Agent, Microsoft.Maui.DevFlow.Blazor
GTK MAUIMicrosoft.Maui.DevFlow.Agent.Gtk
GTK MAUI + Blazor WebViewMicrosoft.Maui.DevFlow.Agent.Gtk, Microsoft.Maui.DevFlow.Blazor.Gtk

Blazor WebView indicators include a Microsoft.AspNetCore.Components.WebView.Maui package reference or AddMauiBlazorWebView() in MauiProgram.cs.

GTK indicators include Microsoft.Maui.Platforms.Linux.Gtk4 or Microsoft.Maui.Platforms.Linux.Gtk4.BlazorWebView. Migrate superseded Platform.Maui.Linux.Gtk4* references before adding the current GTK DevFlow packages; do not mix the two backends.

Central Package Management

If the repo uses Directory.Packages.props, put versions there and leave project PackageReference entries versionless.

<!-- Directory.Packages.props -->
<PackageVersion Include="Microsoft.Maui.DevFlow.Agent" Version="<current-version>" />
<!-- App.csproj -->
<PackageReference Include="Microsoft.Maui.DevFlow.Agent" />

If the repo does not use Central Package Management, put the version on the PackageReference.

MauiProgram.cs Registration

For standard MAUI:

using Microsoft.Maui.DevFlow.Agent;

// inside CreateMauiApp(), before return builder.Build();
#if DEBUG
builder.AddMauiDevFlowAgent();
#endif

For MAUI + Blazor WebView:

using Microsoft.Maui.DevFlow.Agent;
using Microsoft.Maui.DevFlow.Blazor;

// inside CreateMauiApp(), before return builder.Build();
#if DEBUG
builder.AddMauiDevFlowAgent();
builder.AddMauiBlazorDevFlowTools();
#endif

For GTK, use the .Gtk namespaces and packages. AddMauiDevFlowAgent() starts automatically when GtkMauiApplication creates its first window. An explicit this.StartDevFlowAgent() hook is also available inside a GtkMauiApplication.OnStarted() override; builder registration is still required.

For Mac Catalyst, ensure the Debug entitlements allow the in-app HTTP server:

<key>com.apple.security.network.server</key>
<true/>

Validation Checklist

  • MauiProgram.cs registers DevFlow only in Debug builds.
  • The app project references the package flavor that matches the target platform.
  • Blazor DevFlow tools are added only when the app uses Blazor WebView.
  • GTK apps use the current backend and start the DevFlow agent automatically after the first window is created.
  • Mac Catalyst Debug entitlements include com.apple.security.network.server.
  • dotnet build succeeds.
  • A running app appears in maui devflow list.
  • maui devflow ui tree --depth 1 returns a visual tree.

References

  • See references/package-selection.md for package/flavor details.
  • See references/mauiprogram-registration.md for registration patterns.

Download now (ZIP)

  • Other versions1 project uses a version of this.

    Word for word · 0

    None found.

    Edited · 1

    1. Redth/MAUI.Sherpa★ 19977% same

    Wrote their own version · 0

    None found.

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository5 other files it gives its agents.

Does it work?

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

Reviews can't be read right now.

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.