Analyze Azdo Build
DataDog/dd-trace-dotnet
Analyze Azure DevOps CI build failures in dd-trace-dotnet pipeline.
Splits a slow .NET MAUI UI-test category into method-level CI shards sized from historical Azure DevOps timings so each job fits a target duration.
$ npx skills add dotnet/maui --skill rebalance-ui-test-categories -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install dotnet/maui rebalance-ui-test-categories --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/rebalance-ui-test-categories .claude/skills/rebalance-ui-test-categories && 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 "rebalance-ui-test-categories" agent skill from https://github.com/dotnet/maui/tree/main/.github/skills/rebalance-ui-test-categories into .claude/skills/rebalance-ui-test-categories/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rebalance-ui-test-categories", 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/rebalance-ui-test-categoriesType 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 rebalance-ui-test-categories -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install dotnet/maui rebalance-ui-test-categories --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/rebalance-ui-test-categories .agents/skills/rebalance-ui-test-categories && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "rebalance-ui-test-categories" agent skill from https://github.com/dotnet/maui/tree/main/.github/skills/rebalance-ui-test-categories into .agents/skills/rebalance-ui-test-categories/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rebalance-ui-test-categories", 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 rebalance-ui-test-categories -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install dotnet/maui rebalance-ui-test-categories --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/rebalance-ui-test-categories .cursor/skills/rebalance-ui-test-categories && 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 "rebalance-ui-test-categories" agent skill from https://github.com/dotnet/maui/tree/main/.github/skills/rebalance-ui-test-categories into .cursor/skills/rebalance-ui-test-categories/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rebalance-ui-test-categories", 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/rebalance-ui-test-categories--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 rebalance-ui-test-categories -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install dotnet/maui rebalance-ui-test-categories --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/rebalance-ui-test-categories .gemini/skills/rebalance-ui-test-categories && 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 "rebalance-ui-test-categories" agent skill from https://github.com/dotnet/maui/tree/main/.github/skills/rebalance-ui-test-categories into .gemini/skills/rebalance-ui-test-categories/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rebalance-ui-test-categories", 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 rebalance-ui-test-categoriesInstalls 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 rebalance-ui-test-categories -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/rebalance-ui-test-categories .github/skills/rebalance-ui-test-categories && 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 "rebalance-ui-test-categories" agent skill from https://github.com/dotnet/maui/tree/main/.github/skills/rebalance-ui-test-categories into .github/skills/rebalance-ui-test-categories/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rebalance-ui-test-categories", 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 rebalance-ui-test-categories -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 rebalance-ui-test-categories --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/rebalance-ui-test-categories .opencode/skills/rebalance-ui-test-categories && 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 "rebalance-ui-test-categories" agent skill from https://github.com/dotnet/maui/tree/main/.github/skills/rebalance-ui-test-categories into .opencode/skills/rebalance-ui-test-categories/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rebalance-ui-test-categories", 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.
rebalance-ui-test-categoriesSplits a slow .NET MAUI UI-test category into method-level CI shards sized from historical Azure DevOps timings so each job fits a target duration.
The skill rebalances a category in the maui-pr-uitests pipeline that needs several ordinary matrix legs, each of which must finish within a target duration. It requires historical Azure test results and never substitutes source test counts for timing evidence. Every test method gets one ShardedTestCategory attribute that tags it with both the umbrella category and a single numbered shard, and that attribute is never placed on a class.
A PowerShell script, Rebalance-UITestCategories.ps1, can gather builds, plan, report and apply in one run. It uses a conservative p80 of recent run times per test and platform, adds measured job overhead, and assigns methods and ordered fixtures by deterministic longest-processing-time scheduling while keeping a safety margin (2 minutes by default) under the target. It fails if one test plus overhead exceeds the target or the shard cap cannot meet it, and it validates the plan against the source after editing. Evidence can come from recent builds or from an offline evidence file.
Read from SKILL.md and the folder at commit 54ab39e. 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:
pwshFrom 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 PowerShell 7 and Azure CLI with the azure-devops extension.
From compatibility in the SKILL.md frontmatter.
MAUI UI Test Shard Rebalancer loads about 995 tokens when it runs. Until then it costs about 38 tokens; SKILL.md has 361 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 54ab39e, republished under its MIT licence (© dotnet). 361 words, ~995 tokens.
.claude/skills/rebalance-ui-test-categories/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Use this skill when a category in maui-pr-uitests needs multiple ordinary
matrix legs and each leg must fit a target duration.
[ShardedTestCategory(UITestCategories.Category, shard: N)] attribute. It
exposes both the umbrella and exactly one numbered shard category to NUnit.
Never put sharded categories on a class.TargetMinutes - SafetyMarginMinutes.-MaxShards cannot
satisfy the target.Order(1) test to initialize the remaining shard.testConfigurationArgs, such as
ios_ui_tests_mono_cv1, reuse the numbered shard filters but remain outside
ordinary category-matrix projection data. Their samples and overhead are
recorded separately so they cannot make ordinary shard projections look
artificially cheaper.Gather, plan, report, and apply in one operation:
pwsh .github/skills/rebalance-ui-test-categories/scripts/Rebalance-UITestCategories.ps1 `
-Mode All -Category CollectionView -TargetMinutes 60 `
-SafetyMarginMinutes 2 -BuildId 1561395,1563447 `
-UnmeasuredTestPolicy ClassPlatformMax `
-OutputPath artifacts/CollectionView-rebalance.json -ApplyUse -RecentBuildCount N instead of -BuildId to query recent completed builds
from pipeline definition 313. To work offline, explicitly pass
-EvidencePath path/to/evidence.json; absence of Azure access or an evidence
file is an error.
Use -MinimumShards N -MaxShards N when rebalancing an existing matrix without
changing its job count.
Separate deterministic phases are also available:
# Azure -> evidence JSON
... -Mode Gather -Category CollectionView -BuildId 1563447 `
-OutputPath artifacts/CollectionView-evidence.json
# Evidence -> assignment report
... -Mode Plan -Category CollectionView `
-EvidencePath artifacts/CollectionView-evidence.json `
-OutputPath artifacts/CollectionView-plan.json
# Existing report -> source/YAML/constants
... -Mode Apply -Category CollectionView `
-PlanPath artifacts/CollectionView-plan.json -ApplyReview the JSON report's projectedShardMinutes, fixedOverheadMinutes,
safetyMarginMinutes, separately recorded configuration-stage evidence,
unmatched evidence, and source mapping before accepting the result.
The planner fails when active source tests have no historical sample. For a
known-complete historical run where such methods were not reported, the
explicit -UnmeasuredTestPolicy ClassPlatformMax option conservatively imputes
the maximum measured method duration from the same class/platform (falling
back to the platform-wide maximum) and records every imputation in the report.
© 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 3 other files (scripts) in .github/skills/rebalance-ui-test-categories of dotnet/maui.
Open the folder on GitHubat commit 54ab39e
MAUI UI Test Shard Rebalancer 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 UI Test Shard Rebalancer this skilldotnet/maui | 23k | — | ~995 | Automated safety check: Pass | MIT | |
| Analyze Azdo BuildDataDog/dd-trace-dotnet | 572 | — | ~3.5k | Automated safety check: Pass | Apache-2.0 | |
| Nuget Trusted Publishingdotnet/skills | 5.6k | 2 repos | ~2.3k | Automated safety check: Pass | MIT | |
| CI CDcodewithmukesh/dotnet-claude-kit | 756 | 1 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Dotnet Devopsnovotnyllc/dotnet-artisan | 232 | — | ~1.1k | Automated safety check: Pass | MIT | |
| Promotion Branches E2E Testhardisgroupcom/sfdx-hardis | 403 | — | ~11k | Automated safety check: Notes | AGPL-3.0 |
DataDog/dd-trace-dotnet
Analyze Azure DevOps CI build failures in dd-trace-dotnet pipeline.
dotnet/skills
Set up NuGet trusted publishing (OIDC) on a GitHub Actions repo — replaces long-lived API keys with short-lived tokens.
codewithmukesh/dotnet-claude-kit
CI/CD pipelines for .NET applications. An agent skill from codewithmukesh/dotnet-claude-kit.
novotnyllc/dotnet-artisan
Configures .NET CI/CD pipelines (GitHub Actions with setup-dotnet, NuGet cache, reusable workflows; Azure DevOps with DotNetCoreCLI, templates, multi-stage), containerization (multi-stage…
hardisgroupcom/sfdx-hardis
Runs a full end-to-end test of sfdx-hardis promotion branches and backpromote against real Salesforce orgs and a throwaway repository, then writes a report.
Azure/azure-sdk-tools
Analyze Azure SDK CI/CD pipeline failures into a structured diagnosis, and define the required output format.
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
Splits a slow .NET MAUI UI-test category into method-level CI shards sized from historical Azure DevOps timings so each job fits a target duration. The skill rebalances a category in the maui-pr-uitests pipeline that needs several ordinary matrix legs, each of which must finish within a target duration. It requires historical Azure test results and never substitutes source test counts for timing evidence.
MAUI UI Test Shard Rebalancer fits situations like: A UI test category in maui-pr-uitests takes too long on a single CI leg; spreading a category's test methods across shards that fit a time budget; rebalancing an existing shard matrix without changing its job count.
Run `npx skills add dotnet/maui --skill rebalance-ui-test-categories -a claude-code`. Or copy the skill folder (.github/skills/rebalance-ui-test-categories in dotnet/maui) into .claude/skills/rebalance-ui-test-categories in your project. Claude Code loads it when a task matches its description.
Run `npx skills add dotnet/maui --skill rebalance-ui-test-categories -a codex`. Or copy the skill folder (.github/skills/rebalance-ui-test-categories in dotnet/maui) into .agents/skills/rebalance-ui-test-categories 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 rebalance-ui-test-categories -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/rebalance-ui-test-categories, .gemini/skills/rebalance-ui-test-categories, .github/skills/rebalance-ui-test-categories and .opencode/skills/rebalance-ui-test-categories in your project.
Going by SKILL.md and its folder, MAUI UI Test Shard Rebalancer needs PowerShell for the scripts in its folder and the command-line tools its instructions call (pwsh). Our summary lists: PowerShell 7; Azure CLI with the azure-devops extension; Historical test results from Azure DevOps or an evidence file. Compatibility (from SKILL.md): Requires PowerShell 7 and Azure CLI with the azure-devops extension..
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 UI Test Shard Rebalancer is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 995 tokens (SKILL.md is roughly 4k 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 UI Test Shard Rebalancer: Analyze Azdo Build (DataDog/dd-trace-dotnet, 572 stars), Nuget Trusted Publishing (dotnet/skills, 5.6k stars), CI CD (codewithmukesh/dotnet-claude-kit, 756 stars) and Dotnet Devops (novotnyllc/dotnet-artisan, 232 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,321 GitHub stars. The repository holds 27 skills in this directory. The repository was last updated on October 10, 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.