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 agentmods add skills/cwoodruff/dotnet-claude-code-kit/dotnet-upgradenpx skills add cwoodruff/dotnet-claude-code-kit --skill dotnet-upgradegit clone --depth 1 https://github.com/cwoodruff/dotnet-claude-code-kitWrote 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/cwoodruff/dotnet-claude-code-kit/dotnet-upgrade)<a href="https://agentmods.dev/skills/cwoodruff/dotnet-claude-code-kit/dotnet-upgrade"><img src="https://agentmods.dev/badge/skills/cwoodruff/dotnet-claude-code-kit/dotnet-upgrade.svg" alt="Measured on agentmods" height="20"></a>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 | $0.00052 | $0.00374 |
| Opus 5 | $0.00026 | $0.00187 |
| Sonnet 5 | $0.00010 | $0.00075 |
| Haiku 4.5 | $0.00005 | $0.00037 |
Grade A, and why
dotnet-upgrade 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 4d 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.
This is a copy
100% identical to dotnet-upgrade — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
What it actually says
.NET Version Upgrade
Target: $ARGUMENTS (default: latest LTS if unspecified — confirm with the user).
Phase 1 — Assess (read-only, report before changing anything):
- Inventory every
.csproj: currentTargetFramework, SDK style, package versions. - Check each NuGet dependency for a version compatible with the target framework.
- Search for APIs known to be obsolete/removed between versions and for
#if NET…conditionals. - Produce an upgrade plan: order of projects (leaf dependencies first — Core, then Data, then Api, then Tests), expected breaking changes, estimated risk per project.
Phase 2 — Execute (one project at a time, with user approval of the plan):
5. Bump TargetFramework, update the SDK packages, dotnet restore.
6. Build; fix errors, then fix all warnings — new analyzers surface real issues.
7. Update packages to target-compatible versions in the same commit as the framework bump for that project.
8. Run tests after each project. Do not proceed to the next project on red.
Phase 3 — Modernize (optional, separate commits):
9. Offer targeted modernizations the new TFM enables (collection expressions, primary constructors, TimeProvider, updated hosting APIs) — as suggestions, not silent rewrites.
Commit per phase with conventional-commit messages. Never combine the mechanical upgrade with behavioral changes.
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.
- 4d ago First seen · 27 lines · 52 tokens per session scan A 0a9c8620a0ca
dotnet-upgrade is a skill published in the GitHub repository cwoodruff/dotnet-claude-code-kit (2 stars, last pushed 1mo ago), licensed MIT. It adds 52 tokens to every session and 374 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. It is 100% identical to dotnet-upgrade, differing in 0 lines, and is treated as a copy.
Other skills, from other repositories
build-and-test
How to build and test .NET projects in the Agent Framework repository. Use this when verifying or testing changes.
agents-sdk-dotnet
Use when any code imports Microsoft.Agents.Hosting.AspNetCore, Microsoft.Agents.Builder, or related Agents SDK packages, or when the user is building, configuring, or asking questions about a Microsoft 365 Agents SDK agent in C# / .NET. Trigger on questions about appsettings.json, connection configuration…
agents-sdk-dotnet-otel
Use when adding, configuring, validating, or troubleshooting OpenTelemetry observability for a Microsoft 365 Agents SDK application in C# / .NET. Trigger when the user mentions OpenTelemetry, OTel, telemetry, traces, metrics, logs, OTLP, Aspire Dashboard, Application Insights, Azure Monitor, distributed tracing…
bf-to-agents-sdk-dotnet-migration
Use when migrating a Bot Framework .NET SDK bot to Microsoft 365 Agents SDK. Triggered by projects that depend on packages: Microsoft.Bot.Builder or Microsoft.Bot.Builder.Integration.AspNet.Core that want to migrate to Agents SDK.
agents-sdk-dotnet-debugging
Use when troubleshooting an agent built with the Microsoft Agents SDK (Microsoft.Agents.Hosting.AspNetCore and related packages) in C# / .NET. Trigger on any of these symptoms: build or C# compile errors, crashes on startup, 401 or auth errors on incoming requests, the bot not responding to messages, appsettings.json…
code-review-csharp
Perform structured code reviews of C# source code covering naming conventions, performance, security, readability, and .NET best practices. Trigger phrases include "review this C# code", "check my C# for best practices", "analyze this C# class", "find issues in my C# code".