dotnet-upgrade SKILL.md skillA
dotnet-upgrade from akunzai/agent-skills is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add akunzai/agent-skills/dotnet-upgrade@git:20261015.4698893Pins git:20261015.4698893 in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 17 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- akunzai/agent-skills
- Path
skills/dotnet-upgrade/SKILL.md- Versions recorded
- 10
- Latest version
- git:20261015.4698893, committed Oct 15, 2026
- First version recorded
- Sep 22, 2026
- Size
- 7,324 bytes
- Repository stars
- 5
- License
- MIT
Upgrade a .NET codebase to a newer .NET: .NET Framework 4.x to modern .NET, an out-of-support netcoreapp/net5+ to the current LTS, or netstandard libraries that only pretend to be portable. Use to assess, plan, execute, or resume a long-running upgrade while product work keeps shipping on the main branch.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# .NET Upgrade A long upgrade outlives any one session and runs beside product work that keeps landing on trunk. Two ideas carry the whole skill: - **Trunk-safe**: a change is trunk-safe when the old target's build output and runtime behaviour stay the same. Trunk-safe work merges to the main branch early, in small requests. A host's runtime switch is trunk-safe too: the new runtime gets its own **entry point** beside the old one, and the host cuts over by deployment. - **Cold start**: every session, including one after context compaction, begins by reading the upgrade state, never by remembering it. ## Upgrade state Before anything else, find or create the state surface. Read [`references/state.md`](references/state.md): it decides where the plan, decisions, and progress live, and holds the resume protocol. An upgrade already in progress resumes at the task its state names; skip to Execute. ## 1. Assess (read-only) Inventory the repository. Done when every `*.csproj`, including the ones no `*.sln`/`*.slnx`/`*.slnf` builds, has a row with: - target framework(s), SDK-style or legacy format, project kind (web host, …
Read the whole file at its exact version.
How to install
mdr add akunzai/agent-skills/dotnet-upgrade@sha256:8d966b86a89ca985The line at the top of this page pins the label git:20261015.4698893, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
[](https://markdownregistry.com/a/art_vqlljcjazguyr6sb)
5 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 10 versions of this file, between Sep 22, 2026 and Oct 15, 2026, about one every 3 days.
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| git:20261015.4698893 latest | 2026-10-15 | 4698893 | 7,324 B | A | view · diff |
| git:20261015.50e2273 | 2026-10-15 | 50e2273 | 7,566 B | A | view · diff |
| git:20261014.4a8340a | 2026-10-14 | 4a8340a | 7,211 B | A | view · diff |
| git:20260927.84e89b9 | 2026-09-27 | 84e89b9 | 6,783 B | A | view · diff |
| git:20260927.dbc33f2 | 2026-09-27 | dbc33f2 | 6,859 B | A | view · diff |
| git:20260926.0e0d27a | 2026-09-26 | 0e0d27a | 6,737 B | A | view · diff |
| git:20260926.4d848b6 | 2026-09-26 | 4d848b6 | 6,724 B | A | view · diff |
| git:20260923.c38fae6 | 2026-09-23 | c38fae6 | 6,636 B | A | view · diff |
| git:20260922.9af37f2 | 2026-09-22 | 9af37f2 | 6,036 B | A | view · diff |
| git:20260922.f20193c | 2026-09-22 | f20193c | 5,829 B | A | view |
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (7324 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
akunzai/agent-skills · 5 stars · license MIT · pushed 2026-11-08 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_vqlljcjazguyr6sb GET https://markdownregistry.com/api/v1/resolve?ref=akunzai/agent-skills/dotnet-upgrade GET https://markdownregistry.com/api/v1/blob/8d966b86a89ca98518012b327540d6db798ef97cfe1621ef15e07342dc55e07d
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.
More from akunzai/agent-skills
Every file in akunzai/agent-skills