.NET MAUI is a C# and XAML framework for building native mobile and desktop applications from one shared codebase. Developers use it to create apps for Android, iOS, iPadOS, macOS, and Windows. The catalogue entries provide skills, instructions, and agents for working with .NET MAUI.
Borrowing it
Nothing to install: this file belongs to dotnet/maui. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/dotnet/maui/main/.github/skills/review-test-failures/SKILL.mdgit clone --depth 1 https://github.com/dotnet/mauiWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/dotnet/maui/review-test-failures)<a href="https://agentmods.dev/skills/dotnet/maui/review-test-failures"><img src="https://agentmods.dev/badge/skills/dotnet/maui/review-test-failures/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/dotnet/maui/review-test-failures"><img src="https://agentmods.dev/badge/skills/dotnet/maui/review-test-failures.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- Snyk warn
- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00075 | $0.03154 |
| Opus 5.5 | $0.00030 | $0.01262 |
| Sonnet 5.5 | $0.00015 | $0.00631 |
| Haiku 4.5 | $0.00007 | $0.00315 |
Grade A, and why
review-test-failures scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 22d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 266 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Review Test Failures
Use this skill for /review tests and its local runner. Analyze evidence and
produce one short comment. Do not run other review skills, change code, execute
PR scripts, rerun CI, apply labels, approve, or merge.
The hosted gh-aw workflow uses gpt-6.1-sol through the Responses API
(COPILOT_PROVIDER_WIRE_API: responses); the local runner and evaluation models
are configured independently.
If the agent or publication job fails before posting, a separate trusted job
posts a fixed failure notice with the workflow-run link (not a CI verdict).
It never reads agent artifacts, stays silent for dry runs and rejected commands,
and deduplicates reports/notices for the same run across reruns. Notification API
errors fail that job rather than silently discarding the notice.
Check for results first
Read the supplied context.json before doing any investigation.
- If
evaluation.skip = true, returnevaluation.reportimmediately. Do not inspect the diff, fetch history, search known issues, or attempt attribution. The report says no usable current-PR results are available and asks the maintainer to comment/azp run. Still publish it once through the normal safe output unless this is a dry run. - If context cannot be found or read, stop with a short report stating that
evidence access failed. Ask to restore access and rerun
/review tests; do not claim CI has no results or request new CI runs. - If a readable legacy bundle confirms there are no current-head results,
build-failure diagnostics, or existing runs awaiting collection, use the short no-results response:
Evaluation skipped: no current-PR results are available.Show each pipeline as unavailable and ask for/azp run; do not reconstruct an investigation. - If a pipeline has
status = unverified, or its check links an existing run that the bundle omitted/could not read, report Insufficient data with that run's link and the collection/verification gap. Results missing from the bundle are not proof that CI has no results. Restore evidence and refresh/review tests; do not sayNo results availableor request/azp runfor a collection failure. - If a pipeline genuinely has no current results, skip attribution for it and
request
/azp run PIPELINE_NAME. Analyze the available evidence in the others. If that pipeline is already running, sayPending; wait for this runinstead of requesting a duplicate run. - A compilation, restore, linker, crash, or failed build leg is still actionable evidence even when it prevented tests from starting. Do not hide it behind the no-results shortcut. Zero failed tests is not zero test results.
What ships with it
7 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- scripts/Gather-TestFailureContext.ps1 282 KB runs code
- scripts/Gather-TestFailureContext.Tests.ps1 131 KB runs code
- scripts/Merge-TestVisualsIntoComment.ps1 33 KB runs code
- scripts/Merge-TestVisualsIntoComment.Tests.ps1 37 KB runs code
- scripts/Publish-TestVisualAssets.ps1 45 KB runs code
- scripts/Publish-TestVisualAssets.Tests.ps1 31 KB runs code
- tests/eval.vally.yaml 38 KB
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 22d ago Changed · +1 lines ad1ed3e0f914
- 1mo ago Changed · +8 lines 6f9a9871ec1c
- 1mo ago Changed · -15 lines · -12 tokens per session 5a58aff422ab
- 1mo ago Changed · -138 lines · +32 tokens per session 423b97abb65d
- 1mo ago First seen · 410 lines · 55 tokens per session scan A 0d17bd464077
review-test-failures is a skill published in the GitHub repository dotnet/maui (23,322 stars, last pushed today), licensed MIT. It adds 75 tokens to every session and 3,154 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
author-test
Generate a test given sample. Parameters: C# SDK repository root; Package name: one of Azure.AI.Projects, Azure.AI.Projects.Agents or Azure.AI.Extensions.OpenAI; the sample to use as a starting point for the test.
generate-code-cs
Generate the code from typespec for C#. Parameter: C# SDK repository root location .
build-sample-matrix
Build the matrix of all the samples throughout different frameworks.
translate-a-sample
Translate the Azure SDK sample from python to C# and generate markdownn file for the sample. Parameters: C# SDK repository root; python SDK repository root; Package name: one of Azure.AI.Projects, Azure.AI.Projects.Agents or Azure.AI.Extensions.OpenAI; The name of sample file in Python SDK repository.
update-changelog
Update the CHANGELOG.md files of C# projects. Parameters: csroot C# SDK repository root.
budget-checker
Validates that a proposed trip fits within the user's stated budget.