Official agent skill

MAUI Helix Unit Test Runner

by dotnet in dotnet/maui

Submits .NET MAUI unit tests to Helix queues from a local machine and monitors job status and per-work-item logs with PowerShell scripts.

OfficialMITAuto-check passedTesting & QA

Install MAUI Helix Unit Test Runner

skills CLI
$ npx skills add dotnet/maui --skill run-helix-tests -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install dotnet/maui run-helix-tests --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/dotnet/maui.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/run-helix-tests .claude/skills/run-helix-tests && rm -rf skills-src

Use ~/.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/

Facts

Skill name
run-helix-tests
GitHub stars
23k
Token cost
~1.4k tokens
SKILL.md length
358 words
Files
4 (incl. scripts)
Skills in repo
27
Repo updated
First seen
Licence
MIT

At a glance

Submits .NET MAUI unit tests to Helix queues from a local machine and monitors job status and per-work-item logs with PowerShell scripts.

  • Works in 3 steps: Submit Unit Tests to Helix → Monitor Helix Job Status → Get Helix Work Item Console Logs
  • Running MAUI unit tests on Helix rather than only on the local machine
  • SKILL.md covers Tools Required, When to Use, Prerequisites and Scripts, plus 7 more sections
  • Runs PowerShell scripts from its folder; calls pwsh and dotnet

What it does

Three scripts cover the cycle. Submit-HelixTests.ps1 sends unit test projects to distributed Helix queues, Get-HelixJobStatus.ps1 checks a submitted job by its job ID, and Get-HelixWorkItemLog.ps1 fetches the console output of a single work item. The submitted projects, defined in eng/helix.proj, include the XAML, core controls, binding source generator, source generator, core and essentials unit tests, and the excerpt cuts off before the rest of the list.

Prerequisites are PowerShell 7 and a local .dotnet SDK, which dotnet cake provisions when it is missing, plus compiled build tasks on the first run. A manual route through helix.cmd is also described. The skill covers unit tests only, since device tests go through a different project file, helix_xharness.proj.

When your agent uses it

  • Running MAUI unit tests on Helix rather than only on the local machine
  • Validating a test change on both Windows and macOS queues
  • Debugging a failure that appears only on Helix by reading work item logs

Example prompts

  • “Submit the MAUI unit tests to Helix and tell me when the job finishes.”
  • “Get the console log for the failed work item in my last Helix job.”
  • “Check the status of the Helix job I just submitted.”

Requirements

  • PowerShell 7
  • A local .dotnet SDK, provisioned with dotnet cake
  • Compatibility (from SKILL.md): Requires local .dotnet SDK provisioned (run `dotnet cake` first if missing).

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. Submit Unit Tests to Helix
  2. Monitor Helix Job Status
  3. Get Helix Work Item Console Logs

What it can do on your machine

Read from SKILL.md and the folder at commit 7d38fd0. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Ships 3 files in scripts/ (PowerShell), which the agent can run.

    Shell commands in SKILL.md call:

    • pwsh
    • dotnet

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • helix.dot.net

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Requires local .dotnet SDK provisioned (run `dotnet cake` first if missing).

    From compatibility in the SKILL.md frontmatter.

Context cost

MAUI Helix Unit Test Runner loads about 1.4k tokens when it runs. Until then it costs about 48 tokens; SKILL.md has 358 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~48
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from dotnet/maui at commit 7d38fd0, republished under its MIT licence (© dotnet). 358 words, ~1,362 tokens.

Download SKILL.mdSave it as .claude/skills/run-helix-tests/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
run-helix-tests
description
Submit and monitor .NET MAUI unit tests on Helix infrastructure. Supports running XAML, Resizetizer, Core, Essentials, and other unit test projects on distributed Helix queues.
compatibility
Requires local .dotnet SDK provisioned (run `dotnet cake` first if missing).
metadata.author
dotnet-maui
metadata.version
1.0

Run Helix Tests Skill

Submit and monitor .NET MAUI unit tests on Helix infrastructure from your local machine.

Tools Required

This skill uses pwsh (PowerShell 7+) to run the scripts. The scripts call the local .dotnet/dotnet SDK.

When to Use

  • User asks to "run tests on Helix"
  • User wants to validate test changes on Helix infrastructure
  • User asks to "test on multiple platforms" (Windows + macOS)
  • User wants to debug Helix-specific test failures locally
  • User asks about "Helix unit tests" (not device tests - those use helix_xharness.proj)

Prerequisites

Before running Helix tests, ensure:

  1. Local SDK provisioned: The .dotnet/ folder must exist with the SDK

    powershell
    # If missing, run:
    dotnet cake --target=dotnet
  2. Build tasks compiled (for first run):

    powershell
    # Windows
    .\build.cmd -restore -build -configuration Release -projects .\Microsoft.Maui.BuildTasks.slnf
    
    # macOS/Linux  
    ./build.sh -restore -build -configuration Release -projects ./Microsoft.Maui.BuildTasks.slnf

Scripts

All scripts are in .github/skills/run-helix-tests/scripts/

1. Submit Unit Tests to Helix
powershell
# Submit all unit tests (XAML, Core, Essentials, Resizetizer, etc.)
pwsh .github/skills/run-helix-tests/scripts/Submit-HelixTests.ps1

# Submit with specific configuration
pwsh .github/skills/run-helix-tests/scripts/Submit-HelixTests.ps1 -Configuration Debug

# Submit to specific queue only
pwsh .github/skills/run-helix-tests/scripts/Submit-HelixTests.ps1 -Queue "Windows.10.Amd64.Open"
2. Monitor Helix Job Status
powershell
# Monitor a submitted job (use job ID from submission output)
pwsh .github/skills/run-helix-tests/scripts/Get-HelixJobStatus.ps1 -JobId <JOB_ID>

# Wait for completion with polling
pwsh .github/skills/run-helix-tests/scripts/Get-HelixJobStatus.ps1 -JobId <JOB_ID> -Wait
3. Get Helix Work Item Console Logs
powershell
# Get console output for a specific work item
pwsh .github/skills/run-helix-tests/scripts/Get-HelixWorkItemLog.ps1 -JobId <JOB_ID> -WorkItem <WORK_ITEM_NAME>

# Get failed work items only
pwsh .github/skills/run-helix-tests/scripts/Get-HelixWorkItemLog.ps1 -JobId <JOB_ID> -FailedOnly

Quick Start (Manual)

If you prefer to run directly without scripts:

powershell
# Windows
.\helix.cmd

# macOS/Linux
./helix.sh

These wrapper scripts set the required environment variables and submit to Helix.

Test Projects Submitted

The following test projects are submitted to Helix (defined in eng/helix.proj):

ProjectDescription
Controls.Xaml.UnitTestsXAML parsing and compilation tests
Controls.Core.UnitTestsCore controls unit tests
Controls.BindingSourceGen.UnitTestsBinding source generator tests
SourceGen.UnitTestsGeneral source generator tests
Core.UnitTestsCore framework tests
Essentials.UnitTestsEssentials APIs tests
Resizetizer.UnitTestsImage resizing tests

Helix Queues

Tests run on multiple queues in parallel:

QueuePlatform
Windows.10.Amd64.OpenWindows 10 x64
osx.15.arm64.maui.openmacOS 15 ARM64
Show full SKILL.md (162 more words)Show less

Workflow

Submit and Monitor Tests
  1. Submit tests:

    powershell
    $result = pwsh .github/skills/run-helix-tests/scripts/Submit-HelixTests.ps1
    # Note the job IDs from output
  2. Monitor progress:

    powershell
    pwsh .github/skills/run-helix-tests/scripts/Get-HelixJobStatus.ps1 -JobId $jobId -Wait
  3. Check failures (if any):

    powershell
    pwsh .github/skills/run-helix-tests/scripts/Get-HelixWorkItemLog.ps1 -JobId $jobId -FailedOnly
Debug a Specific Test Failure
  1. Get the job ID from the Helix submission output
  2. Find the failed work item name
  3. Get the console log:
    powershell
    pwsh .github/skills/run-helix-tests/scripts/Get-HelixWorkItemLog.ps1 -JobId <JOB_ID> -WorkItem "Microsoft.Maui.Controls.Xaml.UnitTests.dll"

Understanding Results

Helix test results are reported to the console and can be viewed at:

Common Issues

IssueSolution
"dotnet not found"Run dotnet cake --target=dotnet to provision SDK
"Build failed"Run build.cmd/build.sh first to build required projects
"Queue not available"Check https://helix.dot.net for queue status
"Test timeout"Some tests have long execution times; this is normal

Difference from Device Tests

This skill runs unit tests on Helix (eng/helix.proj).

For device tests (iOS, Android, MacCatalyst emulators/simulators), use:

powershell
# Device tests use helix_xharness.proj instead
./eng/common/msbuild.sh ./eng/helix_xharness.proj /t:Test /p:TargetOS=ios

See .github/instructions/helix-device-tests.instructions.md for device test guidance.

© dotnet, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (scripts) in .github/skills/run-helix-tests of dotnet/maui.

  • SKILL.md
  • scripts/Get-HelixJobStatus.ps1
  • scripts/Get-HelixWorkItemLog.ps1
  • scripts/Submit-HelixTests.ps1

Open the folder on GitHubat commit 7d38fd0

Compare with similar skills

MAUI Helix Unit 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.

MAUI Helix Unit Test Runner compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
MAUI Helix Unit Test Runner this skilldotnet/maui23k—~1.4kAutomated safety check: PassMIT
Run Testsrunceel/ReactiveProperty944—~3.6kAutomated safety check: PassMIT
Run Testsmicrosoft/testfx1k—~4.2kAutomated safety check: PassMIT
Debug Playwright Prowquay/quay2.8k—~2.2kAutomated safety check: PassApache-2.0
Analyze Azdo BuildDataDog/dd-trace-dotnet573—~3.5kAutomated safety check: PassApache-2.0
Blue Teamgaasher/Agent-Loop-Skills174—~3.6kAutomated safety check: PassMIT

Similar skills

  • Run Tests

    runceel/ReactiveProperty

    Runs .NET tests with dotnet test. An agent skill from runceel/ReactiveProperty.

    944 GitHub stars~3.6k tokensUpdated 1 mo ago
    Testing & QAAuto-check passed
  • Run Tests

    microsoft/testfx

    Official

    For dotnet test: figures out which test platform (VSTest vs Microsoft.Testing.Platform) a project uses from Directory.Build.props, global.json, and .csproj, then picks the matching command syntax.

    1k GitHub stars~4.2k tokensUpdated today
    Testing & QAAuto-check passed
  • Deep-dive diagnosis of a Playwright test failure already isolated to one Quay Prow/OpenShift CI run: downloads its GCS artifacts (results.json, JUnit, build/pod logs, Jaeger traces), classifies real…

    2.8k GitHub stars~2.2k tokensUpdated today
    Testing & QAAuto-check passed
  • Analyze Azdo Build

    DataDog/dd-trace-dotnet

    Official

    Analyze Azure DevOps CI build failures in dd-trace-dotnet pipeline.

    573 GitHub stars~3.5k tokensUpdated today
    Testing & QAAuto-check passed
  • Blue Team

    gaasher/Agent-Loop-Skills

    A skill your agent uses when the user has concrete failing cases in code or a guardrail/classifier/filter/prompt/API they own — a red-team failure catalogue OR a CI/CD test-failure report (failing…

    174 GitHub stars~3.6k tokensUpdated 3 mo ago
    Testing & QAAuto-check passed
  • Code Testing Extensions

    microsoft/testfx

    Official

    Provides file paths to language-specific extension files for the code-testing pipeline.

    1k GitHub starsUsed in 2 repos~930 tokens
    Testing & QAAuto-check passed

More from dotnet/maui

All 27 skills in this repo
  • 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.

    23k GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • Official

    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.

    23k GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Official

    Produces evidence-backed ship-readiness verdicts for .NET MAUI Servicing Releases and Previews, and drafts public-safe release handoff pages from the result.

    23k GitHub stars~15k tokensUpdated today
    Auto-check passed
  • Official

    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.

    23k GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • PR Finalize

    dotnet/maui

    Official

    Checks that a pull request's title and description match its implementation and reviews the code for best practices before merge, without posting anything.

    23k GitHub stars~3.1k tokensUpdated today
    Auto-check passed
  • Official

    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.

    23k GitHub stars~10k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about MAUI Helix Unit Test Runner

What does MAUI Helix Unit Test Runner do?

Submits .NET MAUI unit tests to Helix queues from a local machine and monitors job status and per-work-item logs with PowerShell scripts. Three scripts cover the cycle.ps1 fetches the console output of a single work item.

When should I use MAUI Helix Unit Test Runner?

MAUI Helix Unit Test Runner fits situations like: running MAUI unit tests on Helix rather than only on the local machine; validating a test change on both Windows and macOS queues; debugging a failure that appears only on Helix by reading work item logs.

How do I install MAUI Helix Unit Test Runner in Claude Code?

Run `npx skills add dotnet/maui --skill run-helix-tests -a claude-code`. Or copy the skill folder (.github/skills/run-helix-tests in dotnet/maui) into .claude/skills/run-helix-tests in your project. Claude Code loads it when a task matches its description.

How do I install MAUI Helix Unit Test Runner in Codex?

Run `npx skills add dotnet/maui --skill run-helix-tests -a codex`. Or copy the skill folder (.github/skills/run-helix-tests in dotnet/maui) into .agents/skills/run-helix-tests in your project. Codex loads it when a task matches its description.

Can I use MAUI Helix Unit Test Runner in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add dotnet/maui --skill run-helix-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-helix-tests, .gemini/skills/run-helix-tests, .github/skills/run-helix-tests and .opencode/skills/run-helix-tests in your project.

What does MAUI Helix Unit Test Runner need to run?

Going by SKILL.md and its folder, MAUI Helix Unit Test Runner needs PowerShell for the scripts in its folder and the command-line tools its instructions call (pwsh and dotnet). Our summary lists: PowerShell 7; A local .dotnet SDK, provisioned with dotnet cake. Compatibility (from SKILL.md): Requires local .dotnet SDK provisioned (run `dotnet cake` first if missing)..

Does MAUI Helix Unit Test Runner access the network?

SKILL.md names 1 domain. As links in the text: helix.dot.net. This is read from the text; nothing was executed.

Is MAUI Helix Unit Test Runner safe to install?

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.

What licence does MAUI Helix Unit Test Runner use?

MAUI Helix Unit 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.

How many tokens does MAUI Helix Unit Test Runner use?

About 1.4k tokens (SKILL.md is roughly 5.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to MAUI Helix Unit Test Runner?

Skills that share tags, products or a category with MAUI Helix Unit Test Runner: Run Tests (runceel/ReactiveProperty, 944 stars), Run Tests (microsoft/testfx, 1k stars), Debug Playwright Prow (quay/quay, 2.8k stars) and Analyze Azdo Build (DataDog/dd-trace-dotnet, 573 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains MAUI Helix Unit Test Runner?

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.