Distributable agent skills for .NET MAUI development. Installable via the Copilot CLI, Claude Code, or VS Code plugin system.
| Plugin | Purpose |
|---|---|
| dotnet-maui | Default app-development plugin for building production .NET MAUI apps. |
| dotnet-maui-tooling | Specialist tooling plugin for DevFlow automation, Java/Kotlin and slim bindings, workload discovery, and diagnostics. |
DevFlow runtime skills (maui-devflow-onboard, maui-devflow-debug, maui-devflow-session-review) live in plugins/dotnet-maui-tooling/skills/, are bundled with the maui CLI by maui devflow init, and are exposed through the plugin manifest.
For one skill, use a maui CLI build that exposes maui ai add skill:
maui ai list skill --env CopilotCli --json
maui ai add skill maui-xcode27-migration --env CopilotCli --yesRun these from the app project. Use --env Claude or --env VsCode for those
clients. Restart/reload the agent session if needed, then ask it to
"Prepare this .NET MAUI app for Xcode 27." The CLI installs instructions; the
agent performs the migration. Review the resulting diff and validate lifecycle
behavior with the matching released Apple toolchain.
The skill must exist in the selected public catalog revision before these
commands can discover it. Older published CLI versions may not expose the
ai commands; verify maui ai --help and the skill listing first.
Alternatively, install the complete plugin in an agent that supports marketplaces:
# Add this repo as a marketplace
/plugin marketplace add dotnet/maui-labs
# Install app-development skills
/plugin install dotnet-maui@dotnet-maui-labs
# Install specialist tooling skills
/plugin install dotnet-maui-tooling@dotnet-maui-labs| Area | Skill | Description |
|---|---|---|
| App fundamentals | maui-app-architecture | Structure MAUI apps with DI, MVVM, Shell routing, compiled bindings, and trim-safe navigation. |
| App fundamentals | maui-current-apis | Give target-framework-aware guidance for current MAUI APIs and avoid Xamarin.Forms-era suggestions. |
| App fundamentals | maui-project-structure | Organize single-project resources, app metadata, Central Package Management, fonts, images, and assets. |
| App fundamentals | maui-ui-patterns | Build robust layouts, typed templates, command binding, state handling, and automation-friendly UI. |
| App fundamentals | maui-accessibility | Add semantic labels, hints, headings, focus behavior, screen-reader announcements, and accessibility test hooks. |
| App fundamentals | maui-performance | Improve startup, scrolling, compiled bindings, image sizing, Release-mode measurement, trimming, and NativeAOT safety. |
| App fundamentals | maui-unit-testing | Make ViewModels and services testable with fake platform abstractions and clear device/integration boundaries. |
| App features | maui-app-assets-lifecycle | Manage app icons, splash screens, packaged files, fonts, images, lifecycle events, and state restore. |
| App features | maui-aspire-client | Connect MAUI clients to Aspire-hosted services with service discovery, device fallbacks, certificates, and debug cleartext. |
| App features | maui-auth-secure-storage | Implement WebAuthenticator and MSAL flows, callback URIs, token storage, logout cleanup, and Blazor Hybrid auth handoff. |
| App features | maui-blazor-hybrid | Configure BlazorWebView and HybridWebView, static assets, JS/.NET messaging, trim-safe JSON, and DevFlow CDP debugging. |
| App features | maui-device-capabilities | Use camera, media picker, file picker, geolocation, maps, contacts, permissions, and platform declarations. |
| App features | maui-localization-theming | Implement RESX localization, culture switching, RTL layout, platform metadata, AppThemeBinding, and runtime themes. |
| App features | maui-networking-offline-data | Build typed HttpClient flows, emulator/device networking, retries, cancellation, SQLite/offline sync, and encryption decisions. |
| App features | maui-notifications-deep-links | Add local and push notifications, FCM/APNs/Azure Notification Hubs, app links, universal links, URI schemes, and permission UX. |
| Advanced and migration | maui-ai-tool-bindings | Create source-generated Microsoft.Extensions.AI tool bindings with DI-bound parameters, approvals, and per-session scope. |
| Advanced and migration | maui-controls-deep-dive | Tune CollectionView, SafeAreaEdges, GraphicsView, gestures, animations, and control-specific semantics. |
| Advanced and migration | maui-custom-handlers | Customize handlers with mappers, platform partials, custom handler structure, and renderer-to-handler migration. |
| Advanced and migration | maui-essentials-ai | Use Microsoft.Maui.Essentials.AI, Apple Intelligence chat, local embeddings, local tool invocation, and fallback UX. |
| Advanced and migration | maui-labs-platform-targeting | Target MAUI Labs GTK4, AppKit, and WPF platforms with project setup and conditional guidance. |
| Advanced and migration | maui-platform-invoke | Wrap native platform APIs behind DI services, permissions, platform metadata, partial platform files, and lifecycle hooks. |
| Advanced and migration | maui-release-notes | Convert official .NET/MAUI release notes into app upgrade notes, CI changes, requirements, and validation plans. |
| Advanced and migration | maui-xcode27-migration | Migrate existing iOS/Catalyst apps to Xcode 27.0 scene lifecycle compatibility, preserving custom callbacks and OS-support decisions. |
| Advanced and migration | xamarin-forms-migration | Audit Xamarin.Forms apps, replace namespaces/APIs, migrate DependencyService and MessagingCenter usage, and plan parity work. |
| Skill | Description |
|---|---|
| maui-devflow-onboard | Add MAUI DevFlow packages and app registration to a project. |
| maui-devflow-debug | Run MAUI DevFlow build, deploy, connection recovery, inspect, and fix loops. |
| maui-devflow-session-review | Review opt-in MAUI DevFlow sessions for friction, retries, workarounds, and product feedback. |
| devflow-automation | Automate MAUI app inspection and debugging workflows through DevFlow tools. |
| devflow-connect | Diagnose and fix DevFlow agent connectivity issues between the maui CLI and running .NET MAUI apps. |
| maui-ai-debugging | Legacy compatibility skill for older DevFlow clients. |
| android-java-bindings | Write direct Java/Kotlin C# bindings and diagnose missing APIs, metadata, interface contracts, and generator errors. |
| android-slim-bindings | Create Android slim bindings using the Native Library Interop approach. |
| ios-slim-bindings | Create iOS slim bindings using the Native Library Interop approach. |
| dotnet-workload-info | Discover installed .NET workloads, SDK versions, and dependency requirements. |
See CONTRIBUTING.md for the full guide. Quick summary:
- Create
plugins/<plugin>/skills/<skill-name>/SKILL.mdwith YAML frontmatter - Create
tests/<plugin>/<skill-name>/eval.yamlwith evaluation scenarios - Submit a PR -- the
skill-checkworkflow validates automatically - A maintainer posts
/evaluateto run LLM-based evaluation