migrate-xunit-to-xunit-v3
100 / 100 · Low risk
Fine to try.
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 attributes, Xunit.SkippableFact, xunit.abstractions/extensibility consolidation, and Xunit.Combinatorial/StaFact compatibility. Do not use for framework conversion or a runner-only migr…
What this skill can do
We found nothing in the files we read that matches our rules. That does not prove the skill is safe: see the limits of static scanning.
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'migrate-xunit-to-xunit-v3' ] || [ -L ~/.agents/skills/'migrate-xunit-to-xunit-v3' ]; then echo 'A skill folder named migrate-xunit-to-xunit-v3 already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/dotnet/skills' "$d" && git -C "$d" checkout --quiet '96c3d68dad2855e3ab5178aa1a262789d86a1466' -- 'plugins/dotnet-test-migration/skills/migrate-xunit-to-xunit-v3' && mkdir -p ~/.agents/skills && cp -R "$d"/'plugins/dotnet-test-migration/skills/migrate-xunit-to-xunit-v3' ~/.agents/skills/'migrate-xunit-to-xunit-v3' && rm -rf "$d"; fi
Codex reads ~/.agents/skills directly. For Claude Code, Cursor, Copilot, Gemini CLI, Antigravity or OpenCode, also link it. For Claude Code: ln -s ~/.agents/skills/'migrate-xunit-to-xunit-v3' ~/.claude/skills/'migrate-xunit-to-xunit-v3' (other agents: ~/.cursor/skills, ~/.copilot/skills, ~/.gemini/skills, ~/.gemini/config/skills, ~/.config/opencode/skills). Or install through the finder skill, which does both.
Badge for your README
[](https://zalavijaysinh.github.io/skilltrust/repos/dotnet/skills/)
Score history
| Date | Version | Score |
|---|---|---|
| 2026-11-08 | 96c3d68 | 100 |
| 2026-11-07 | 96c3d68 | 100 |