Maui AI Debugging
Redth/Maui.Gtk
End-to-end workflow for building, deploying, inspecting, and debugging .NET MAUI and MAUI Blazor Hybrid apps as an AI agent.
Builds and runs .NET MAUI device tests locally on iOS simulators, MacCatalyst, Android emulators or Windows, with optional category filtering.
$ npx skills add dotnet/maui --skill run-device-tests -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install dotnet/maui run-device-tests --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/dotnet/maui.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/run-device-tests .claude/skills/run-device-tests && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "run-device-tests" agent skill from https://github.com/dotnet/maui/tree/main/.github/skills/run-device-tests into .claude/skills/run-device-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "run-device-tests", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/dotnet/maui/tree/main/.github/skills/run-device-testsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add dotnet/maui --skill run-device-tests -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install dotnet/maui run-device-tests --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dotnet/maui.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.github/skills/run-device-tests .agents/skills/run-device-tests && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "run-device-tests" agent skill from https://github.com/dotnet/maui/tree/main/.github/skills/run-device-tests into .agents/skills/run-device-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "run-device-tests", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add dotnet/maui --skill run-device-tests -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install dotnet/maui run-device-tests --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dotnet/maui.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.github/skills/run-device-tests .cursor/skills/run-device-tests && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "run-device-tests" agent skill from https://github.com/dotnet/maui/tree/main/.github/skills/run-device-tests into .cursor/skills/run-device-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "run-device-tests", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/dotnet/maui.git --path .github/skills/run-device-tests--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add dotnet/maui --skill run-device-tests -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install dotnet/maui run-device-tests --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dotnet/maui.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.github/skills/run-device-tests .gemini/skills/run-device-tests && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "run-device-tests" agent skill from https://github.com/dotnet/maui/tree/main/.github/skills/run-device-tests into .gemini/skills/run-device-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "run-device-tests", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install dotnet/maui run-device-testsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add dotnet/maui --skill run-device-tests -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/dotnet/maui.git skills-src && mkdir -p .github/skills && cp -r skills-src/.github/skills/run-device-tests .github/skills/run-device-tests && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "run-device-tests" agent skill from https://github.com/dotnet/maui/tree/main/.github/skills/run-device-tests into .github/skills/run-device-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "run-device-tests", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add dotnet/maui --skill run-device-tests -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install dotnet/maui run-device-tests --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dotnet/maui.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.github/skills/run-device-tests .opencode/skills/run-device-tests && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "run-device-tests" agent skill from https://github.com/dotnet/maui/tree/main/.github/skills/run-device-tests into .opencode/skills/run-device-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "run-device-tests", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
run-device-testsBuilds and runs .NET MAUI device tests locally on iOS simulators, MacCatalyst, Android emulators or Windows, with optional category filtering.
The skill wraps Run-DeviceTests.ps1, a PowerShell script that builds one of the MAUI device test projects (Controls, Core, Essentials, Graphics or BlazorWebView) and runs it on a chosen platform. On macOS it supports ios, maccatalyst and android, and on Windows android and windows. A TestFilter narrows the run to specific categories, such as only the Button tests, and a shared Start-Emulator.ps1 script boots a simulator or emulator when one is needed.
Other options include building without running and forcing a full rebuild with -Rebuild when sources changed after an earlier build in the same worktree. The tooling it expects is bash alongside PowerShell 7, the xharness global tool, a .NET SDK with platform workloads, Xcode for Apple targets, the Android SDK for Android and the Windows SDK for Windows. The excerpt is cut off before the remaining script options.
2 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 7d38fd0. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 2 files in scripts/ (PowerShell), which the agent can run.
Shell commands in SKILL.md call:
pwshdotnetxcrunFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires xharness CLI (for iOS/MacCatalyst/Android), Xcode (for Apple platforms), Android SDK (for Android), and .NET SDK with platform workloads.
From compatibility in the SKILL.md frontmatter.
MAUI Device Test Runner loads about 3.3k tokens when it runs. Until then it costs about 52 tokens; SKILL.md has 945 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from dotnet/maui at commit 7d38fd0, republished under its MIT licence (© dotnet). 945 words, ~3,345 tokens.
.claude/skills/run-device-tests/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Build and run .NET MAUI device tests locally on iOS simulators, MacCatalyst, Android emulators, or Windows.
| Host OS | Supported Platforms |
|---|---|
| macOS | ios, maccatalyst, android |
| Windows | android, windows |
This skill uses bash together with pwsh (PowerShell 7+) to run the PowerShell scripts. Requires:
xharness - Global dotnet tool for running tests on iOS/MacCatalyst/Androiddotnet - .NET SDK with platform workloads installedThis skill uses shared infrastructure scripts:
.github/scripts/shared/Start-Emulator.ps1 - Detects and boots iOS simulators / Android emulators.github/scripts/shared/shared-utils.ps1 - Common utility functionsThese are automatically loaded by the Run-DeviceTests.ps1 script.
| Project | Path |
|---|---|
| Controls | src/Controls/tests/DeviceTests/Controls.DeviceTests.csproj |
| Core | src/Core/tests/DeviceTests/Core.DeviceTests.csproj |
| Essentials | src/Essentials/test/DeviceTests/Essentials.DeviceTests.csproj |
| Graphics | src/Graphics/tests/DeviceTests/Graphics.DeviceTests.csproj |
| BlazorWebView | src/BlazorWebView/tests/DeviceTests/MauiBlazorWebView.DeviceTests.csproj |
All scripts are in .github/skills/run-device-tests/scripts/
# Run Controls device tests on iOS simulator (default on macOS)
pwsh .github/skills/run-device-tests/scripts/Run-DeviceTests.ps1 -Project Controls -Platform ios
# Run Core device tests on MacCatalyst
pwsh .github/skills/run-device-tests/scripts/Run-DeviceTests.ps1 -Project Core -Platform maccatalyst
# Run Controls device tests on Android emulator
pwsh .github/skills/run-device-tests/scripts/Run-DeviceTests.ps1 -Project Controls -Platform android
# Run Controls device tests on Windows (default on Windows)
pwsh .github/skills/run-device-tests/scripts/Run-DeviceTests.ps1 -Project Controls -Platform windows
# Run on specific iOS version
pwsh .github/skills/run-device-tests/scripts/Run-DeviceTests.ps1 -Project Core -Platform ios -iOSVersion 26
# Run with test filter
pwsh .github/skills/run-device-tests/scripts/Run-DeviceTests.ps1 -Project Controls -Platform ios -TestFilter "Category=Button"
# Run one exact Core test class on Windows
pwsh .github/skills/run-device-tests/scripts/Run-DeviceTests.ps1 -Project Core -Platform windows -IncludeClasses "Microsoft.Maui.DeviceTests.WindowHandlerTests"
# Run other test projects
pwsh .github/skills/run-device-tests/scripts/Run-DeviceTests.ps1 -Project Essentials -Platform android
pwsh .github/skills/run-device-tests/scripts/Run-DeviceTests.ps1 -Project Graphics -Platform maccatalyst
pwsh .github/skills/run-device-tests/scripts/Run-DeviceTests.ps1 -Project BlazorWebView -Platform iospwsh .github/skills/run-device-tests/scripts/Run-DeviceTests.ps1 -Project Controls -Platform ios -BuildOnlyUse -Rebuild when source files changed after an earlier build in the same worktree, such as an A/B verification run:
pwsh .github/skills/run-device-tests/scripts/Run-DeviceTests.ps1 -Project Core -Platform windows -Rebuild# iOS simulators
xcrun simctl list devices available
# Android emulators
emulator -list-avdsscripts/Run-DeviceTests.ps1 -Project <name> -Platform <platform> automatically detects/boots device, builds, and runs testsartifacts/log/ directory for detailed test resultsartifacts/bin/<Project>.DeviceTests/<Configuration>/<tfm>/<rid>/artifacts/log/xharness global tool: dotnet tool install --global Microsoft.DotNet.XHarness.CLI# Quick test run for Controls on iOS (default on macOS)
pwsh .github/skills/run-device-tests/scripts/Run-DeviceTests.ps1 -Project Controls -Platform ios
# Test on MacCatalyst
pwsh .github/skills/run-device-tests/scripts/Run-DeviceTests.ps1 -Project Controls -Platform maccatalyst
# Test on Android emulator (works on both macOS and Windows)
pwsh .github/skills/run-device-tests/scripts/Run-DeviceTests.ps1 -Project Controls -Platform android
# Test on Windows (default on Windows)
pwsh .github/skills/run-device-tests/scripts/Run-DeviceTests.ps1 -Project Controls -Platform windows
# Test on iOS 26 specifically
pwsh .github/skills/run-device-tests/scripts/Run-DeviceTests.ps1 -Project Controls -Platform ios -iOSVersion 26
# Run only Button category tests on iOS
pwsh .github/skills/run-device-tests/scripts/Run-DeviceTests.ps1 -Project Controls -Platform ios -TestFilter "Category=Button"
# Build for Android without running tests
pwsh .github/skills/run-device-tests/scripts/Run-DeviceTests.ps1 -Project Core -Platform android -BuildOnly.github/scripts/shared/Start-Emulator.ps1eng/devices/windows.cakeThe -TestFilter parameter allows running specific test categories instead of all tests. This is useful for quick iteration during development.
| Format | Description | Example |
|---|---|---|
Category=X | Run only category X | Category=Button |
SkipCategories=X,Y,Z | Skip categories X, Y, Z | SkipCategories=Shell,CollectionView |
# Run only Button tests on iOS
pwsh .github/skills/run-device-tests/scripts/Run-DeviceTests.ps1 -Project Controls -Platform ios -TestFilter "Category=Button"
# Run only Button tests on Android
pwsh .github/skills/run-device-tests/scripts/Run-DeviceTests.ps1 -Project Controls -Platform android -TestFilter "Category=Button"
# Skip heavy test categories
pwsh .github/skills/run-device-tests/scripts/Run-DeviceTests.ps1 -Project Controls -Platform ios -TestFilter "SkipCategories=Shell,CollectionView,HybridWebView"Test filtering is implemented in src/Core/tests/DeviceTests.Shared/DeviceTestSharedHelpers.cs:
| Platform | How Filter is Passed | How Filter is Read |
|---|---|---|
| iOS/MacCatalyst | --set-env=TestFilter=... | NSProcessInfo.ProcessInfo.Environment["TestFilter"] |
| Android | --arg TestFilter=... | MauiTestInstrumentation.Current.Arguments.GetString("TestFilter") |
| Windows Controls | App argument selects discovered category index | ControlsHeadlessTestRunner category loop |
| Windows non-Controls class filter | Per-child NUNIT_SKIPPED_CLASSES plus the normal runner | XHarness ApplicationOptions class include |
The Copilot Gate combines -TestFilter with -IncludeClasses when it knows the exact
test class. On Windows, Controls still requires category discovery, while Core,
Essentials, Graphics, and BlazorWebView bypass discovery and use XHarness's native class
include. The result parser rejects output containing any unrelated class. Exact-class
Windows runs, including scoped Controls category runs, are capped at 10 minutes per
attempt; the Gate retries a timeout three times before treating repeated target-only
timeouts as deterministic evidence.
Common categories in Controls.DeviceTests:
Button, Label, Entry, Editor - Individual control testsCollectionView, ListView, CarouselView - Collection controls (heavy)Shell, Navigation, TabbedPage - Navigation tests (heavy)Layout, FlexLayout - Layout testsMemory - Memory leak testsAccessibility - Accessibility testsGesture - Gesture recognition testsTo see all categories, check src/Controls/tests/DeviceTests/TestCategory.cs.
If you see errors about Xcode version mismatch (e.g., "Xcode 26.2 installed but 26.0 required"):
# Use -SkipXcodeVersionCheck to bypass validation
pwsh .github/skills/run-device-tests/scripts/Run-DeviceTests.ps1 -Project Controls -Platform ios -SkipXcodeVersionCheckMacCatalyst apps use display names (e.g., "Controls Tests.app") not assembly names. The script handles this automatically by searching for .app bundles in the output directory.
Android package names must be lowercase (e.g., com.microsoft.maui.controls.devicetests). The script has a mapping of project names to correct package names.
Ensure full rebuild: The test filter code must be compiled into the app. Delete artifacts and rebuild:
rm -rf artifacts/bin/<Project>.DeviceTests
pwsh .github/skills/run-device-tests/scripts/Run-DeviceTests.ps1 -Project Controls -Platform android -TestFilter "Category=Button"Check the console output: Look for TestFilter: Category=Button in the test output to confirm filter was applied.
Verify category exists: Ensure the category name matches exactly (case-sensitive).
The script automatically handles XHarness device targeting for iOS and Android:
xcrun simctl to get iOS version from booted simulator--target ios-simulator-64_VERSION and --device UDID to xharness for explicit targeting--target maccatalystemulator-5554)--device-id to xharness android commandTestResults-*.xmlWhy both --target and --device for iOS?
--target ios-simulator-64 (or ios-simulator-64_VERSION) to specify platform type--device UDID explicitly tells xharness which simulator to useExample xharness invocations:
# iOS with test filter
dotnet xharness apple test \
--app path/to/app \
--target ios-simulator-64_18.5 \
--device 56AE278D-60F7-4892-9DE0-6341357CA068 \
-o artifacts/log \
--timeout 01:00:00 \
-v \
--set-env=TestFilter=Category=Button
# MacCatalyst with test filter
dotnet xharness apple test \
--app path/to/app \
--target maccatalyst \
-o artifacts/log \
--timeout 01:00:00 \
-v \
--set-env=TestFilter=Category=Button
# Android with test filter
dotnet xharness android test \
--app path/to/app.apk \
--package-name com.microsoft.maui.controls.devicetests \
--device-id emulator-5554 \
-o artifacts/log \
--timeout 01:00:00 \
-v \
--arg TestFilter=Category=ButtonThis ensures tests run on the correct device with proper version targeting and filtering.
© dotnet, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (scripts) in .github/skills/run-device-tests of dotnet/maui.
Open the folder on GitHubat commit 7d38fd0
MAUI Device Test Runner next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| MAUI Device Test Runner this skilldotnet/maui | 23k | — | ~3.3k | Automated safety check: Pass | MIT | |
| Maui AI DebuggingRedth/Maui.Gtk | 101 | — | ~4.1k | Automated safety check: Pass | MIT | |
| Mobile App Debuggingsecondsky/claude-skills | 227 | — | ~513 | Automated safety check: Pass | MIT | |
| Apple Crash Log .NET Symbolicationdotnet/skills | 5.6k | 1 repos | ~2.4k | Automated safety check: Pass | MIT | |
| Screenmapaleqsio/screenmap | 239 | — | ~7.2k | Automated safety check: Pass | MIT | |
| Simulator Audio E2Ehyochan/react-native-nitro-sound | 961 | — | ~1.1k | Automated safety check: Pass | MIT |
Redth/Maui.Gtk
End-to-end workflow for building, deploying, inspecting, and debugging .NET MAUI and MAUI Blazor Hybrid apps as an AI agent.
secondsky/claude-skills
Mobile app debugging for iOS, Android, cross-platform frameworks.
dotnet/skills
Resolves .NET runtime frames in Apple .ips crash logs to function names, source files and line numbers using dSYM symbols, atos and the Microsoft symbol server.
aleqsio/screenmap
Generate a visual navigation map of an Expo / React Native or NativeScript app.
hyochan/react-native-nitro-sound
Build and run repeatable react-native-nitro-sound recorder/player regression tests on an iOS Simulator or Android emulator, with explicit virtual-device selection, microphone permission, Maestro…
mobile-next/mobilecli
Run mobile automation, app testing, and interact with iOS and Android devices, simulators, emulators, and apps using the mobilecli CLI tool or JSON-RPC API.
dotnet/maui
Mines local Copilot CLI session logs for dotnet/maui to rank costly or failing runs, tag recurring failure modes, propose repo edits and emit guard evals.
dotnet/maui
Reviews the tests added in a pull request for fix coverage, quality, edge cases and test type, and recommends lighter test types where they would do.
dotnet/maui
Produces evidence-backed ship-readiness verdicts for .NET MAUI Servicing Releases and Previews, and drafts public-safe release handoff pages from the result.
dotnet/maui
Interprets pinned managed benchmark evidence for a dotnet/maui pull request and writes a narrative for the performance review workflow, without running or publishing anything.
dotnet/maui
Checks that a pull request's title and description match its implementation and reviews the code for best practices before merge, without posting anything.
dotnet/maui
Adds MAUI-specific guardrails on top of the maestro-cli skill and Maestro MCP tools for darc, BAR, and channel or feed lookups in dotnet/maui.
Works with
Categories
Builds and runs .NET MAUI device tests locally on iOS simulators, MacCatalyst, Android emulators or Windows, with optional category filtering. ps1, a PowerShell script that builds one of the MAUI device test projects (Controls, Core, Essentials, Graphics or BlazorWebView) and runs it on a chosen platform. On macOS it supports ios, maccatalyst and android, and on Windows android and windows.
MAUI Device Test Runner fits situations like: running MAUI device tests locally for Controls, Core, Essentials or Graphics; checking a change on an iOS simulator, Android emulator or MacCatalyst; running only one test category such as the Button tests; building the device test app without running it.
Run `npx skills add dotnet/maui --skill run-device-tests -a claude-code`. Or copy the skill folder (.github/skills/run-device-tests in dotnet/maui) into .claude/skills/run-device-tests in your project. Claude Code loads it when a task matches its description.
Run `npx skills add dotnet/maui --skill run-device-tests -a codex`. Or copy the skill folder (.github/skills/run-device-tests in dotnet/maui) into .agents/skills/run-device-tests in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add dotnet/maui --skill run-device-tests -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/run-device-tests, .gemini/skills/run-device-tests, .github/skills/run-device-tests and .opencode/skills/run-device-tests in your project.
Going by SKILL.md and its folder, MAUI Device Test Runner needs PowerShell for the scripts in its folder and the command-line tools its instructions call (pwsh, dotnet and xcrun). Our summary lists: PowerShell 7 and bash; The xharness CLI; .NET SDK with platform workloads; Xcode for Apple platforms or the Android SDK for Android. Compatibility (from SKILL.md): Requires xharness CLI (for iOS/MacCatalyst/Android), Xcode (for Apple platforms), Android SDK (for Android), and .NET SDK with platform workloads..
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
MAUI Device Test Runner is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.3k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with MAUI Device Test Runner: Maui AI Debugging (Redth/Maui.Gtk, 101 stars), Mobile App Debugging (secondsky/claude-skills, 227 stars), Apple Crash Log .NET Symbolication (dotnet/skills, 5.6k stars) and Screenmap (aleqsio/screenmap, 239 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
dotnet (a GitHub organization, an official publisher) maintains it in dotnet/maui, which has 23,322 GitHub stars. The repository holds 27 skills in this directory. The repository was last updated on October 7, 2026.
Source: dotnet/maui on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.