Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add dotnet/maui-labs --skill dotnet-workload-infogit clone --depth 1 https://github.com/dotnet/maui-labsWrote 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-labs/dotnet-workload-info)<a href="https://agentmods.dev/skills/dotnet/maui-labs/dotnet-workload-info"><img src="https://agentmods.dev/badge/skills/dotnet/maui-labs/dotnet-workload-info/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-labs/dotnet-workload-info"><img src="https://agentmods.dev/badge/skills/dotnet/maui-labs/dotnet-workload-info.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 3 findings, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Data Exfiltration · line 59 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
- medium Data Exfiltration · line 74 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
- medium Data Exfiltration · line 86 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
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.00081 | $0.01880 |
| Opus 5 | $0.00041 | $0.00940 |
| Sonnet 5 | $0.00016 | $0.00376 |
| Haiku 4.5 | $0.00008 | $0.00188 |
Grade A, and why
dotnet-workload-info scanned grade A with 1 finding 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 10d 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -s "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/releases-index.json" | \ How it starts
The opening of the file, as written. The whole thing — 196 lines — stays where its author put it; the contents beside it link to each section on GitHub.
.NET Workload Info Discovery
Query live NuGet APIs to discover authoritative .NET SDK versions, workload sets, and dependency requirements.
Inputs
| Parameter | Required | Example | Notes |
|---|---|---|---|
| dotnetVersion | yes | 9.0, 10.0 | Major.minor format |
| prerelease | no | true/false | Default false |
| workload | no | ios, android, maui | Alias or full id |
Workload Aliases
| Alias | Full ID |
|---|---|
| ios | microsoft.net.sdk.ios |
| android | microsoft.net.sdk.android |
| maccatalyst | microsoft.net.sdk.maccatalyst |
| macos | microsoft.net.sdk.macos |
| tvos | microsoft.net.sdk.tvos |
| maui | microsoft.net.sdk.maui |
Discovery Process
Step 1: Get Latest SDK Version
curl -s "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/releases-index.json" | \
jq '.["releases-index"][] | select(.["channel-version"]=="{MAJOR}.0")'
Extract latest-sdk and derive SDK band:
10.0.103→ band10.0.100(hundreds digit)10.0.205→ band10.0.200
Step 2: Find Workload Set Package / Version
Use the dotnet workload search version command to discover the latest workload set version (requires .NET SDK 9.0.200+ with workload sets support):
dotnet workload search version
# Returns: workload set version, e.g. 10.0.103
dotnet workload search version
Note: This command requires .NET SDK 9.0.200 or later. If unavailable, use the NuGet API instead:
https://api.nuget.org/v3/registration5-gz-semver2/microsoft.net.workloads.10.0.100/index.json
The returned workloadVersion is the CLI version to use with --version flag.
Version conversion: To convert this to the NuGet package version (needed for Steps 3-4):
CLI 10.0.103 → NuGet 10.103.0 (remove middle .0., combine)
Do not use the CLI version as the NuGet package version in flat-container URLs.
The NuGet package is Microsoft.NET.Workloads.{band} where {band} is the SDK band derived from the CLI version (for example, CLI 10.0.103 → package Microsoft.NET.Workloads.10.0.100, NuGet version 10.103.0).
What ships with it
1 file 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.
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.
- 10d ago First seen · 196 lines · 81 tokens per session scan A 3b00a2021d79
dotnet-workload-info is a skill published in the GitHub repository dotnet/maui-labs (213 stars, last pushed today), licensed MIT. It adds 81 tokens to every session and 1,880 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
syncfusion-maui-toolkit-chips
Implements Syncfusion .NET MAUI Chips (SfChip or SfChipGroup). Use when working with chips, tags, tag controls, selection chips, input chips, or filter chips in .NET MAUI applications. Covers chip types, chip customization, chip events, chip selection, chip groups, remove chips, close button chips, and chip data…
syncfusion-maui-toolkit-otp-input
Implement OTP Input controls in .NET MAUI applications for authentication flows. Covers input types (Number, Text, Password), styling modes (Outlined, Filled, Underlined), event handling, value binding, validation patterns, and accessibility. Use this skill when building SMS/email OTP verification, multi-step…
generate-code-cs
Generate the code from typespec for C#. Parameter: C# SDK repository root location .
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.
migrate-xunit-to-mstest
Convert .NET tests from xUnit.net v2/v3 to MSTest v4 while preserving VSTest or MTP. Use for replacing xunit packages, Fact/Theory/InlineData/MemberData, assertions, IClassFixture/ICollectionFixture, ITestOutputHelper, TestContext cancellation, traits/Owner, skips, timeouts, and xUnit parallelization. Also use when a…
migrate-xunit-to-xunit-v3
Migrate .NET test projects from xUnit.net v2 to xunit.v3 and fix v3 breaks. Use for package/CPM conversion, OutputType=Exe, preserving the VSTest or MTP runner (including projects currently using YTest.MTP.XUnit2), incompatible TFMs, async void tests, string-to-Type attributes, custom Fact/Theory/BeforeAfterTest…