Skip to content

Add VSTest to MTP migration skill - #373

Merged
Evangelink merged 13 commits into
mainfrom
dev/amauryleve/migrate-mtp
Mar 16, 2026
Merged

Add VSTest to MTP migration skill#373
Evangelink merged 13 commits into
mainfrom
dev/amauryleve/migrate-mtp

Conversation

@Evangelink

@Evangelink Evangelink commented Mar 16, 2026

Copy link
Copy Markdown
Member

Replaces #346

New migrate-vstest-to-mtp skill in the dotnet-test plugin covering:

- Framework-specific MTP runner enablement (MSTest, NUnit, xUnit.net)
- Directory.Build.props centralization of OutputType, runner properties
- MSTest.Sdk UseVSTest removal
- NUnit3TestAdapter 5.0.0+ upgrade requirement
- xunit v2 to xunit.v3 upgrade requirement
- dotnet test CLI argument translation (--logger to --report-trx, --collect
  to --coverage, --blame-crash to --crashdump, --blame-hang to --hangdump)
- xUnit.net --filter syntax migration to --filter-class/--filter-trait/
  --filter-query
- global.json native MTP mode (.NET 10+) vs TestingPlatformDotnetTestSupport
  VSTest-bridge mode (.NET 9 and earlier)
- Azure DevOps VSTest@3 to DotNetCoreCLI@2 pipeline migration
- MTP extension NuGet packages (TrxReport, CrashDump, HangDump, CodeCoverage)
- Exit code 8 behavioral difference (--ignore-exit-code 8,
  TESTINGPLATFORM_EXITCODE_IGNORE)

Includes 10 eval scenarios with tiered timeouts (240-360s), 5 fixture
directories, plugin.json, marketplace.json entries, CODEOWNERS, and
README.md updates.
# Conflicts:
#	plugins/dotnet-test/plugin.json
# Conflicts:
#	.claude-plugin/marketplace.json
#	.github/plugin/marketplace.json
#	README.md
Copilot AI review requested due to automatic review settings March 16, 2026 10:00

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a new migrate-vstest-to-mtp skill to the dotnet-test plugin, providing guidance for migrating .NET test projects from VSTest to Microsoft.Testing.Platform (MTP). It covers MSTest, NUnit, and xUnit.net frameworks, including CI/CD pipeline updates, CLI argument translation, and behavioral differences.

Changes:

  • Added the migrate-vstest-to-mtp SKILL.md with a comprehensive 10-step migration workflow covering all three major .NET test frameworks.
  • Added eval scenarios (10 goals) with fixtures for MSTest, NUnit, xUnit.net, MSTest.Sdk, and CI pipeline migration scenarios.
  • Updated plugin description in plugin.json, README.md, and both marketplace.json files to reflect the new migration capability.

Reviewed changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated no comments.

Show a summary per file
File Description
plugins/dotnet-test/skills/migrate-vstest-to-mtp/SKILL.md New skill document with detailed VSTest→MTP migration workflow
tests/dotnet-test/migrate-vstest-to-mtp/eval.yaml 10 eval scenarios covering various migration paths
tests/dotnet-test/migrate-vstest-to-mtp/fixtures/* Test fixture files (csproj, cs, yml) for each scenario
plugins/dotnet-test/plugin.json Updated description to include "migrating"
README.md Updated dotnet-test plugin description
.github/plugin/marketplace.json Updated dotnet-test description
.claude-plugin/marketplace.json Updated dotnet-test description (kept in sync)

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

@github-actions

Copy link
Copy Markdown
Contributor

Skill Validation Results

Skill Scenario Quality (Isolated) Quality (Plugin) Skills Loaded Overfit Verdict
migrate-vstest-to-mtp Migrate MSTest project from VSTest to Microsoft.Testing.Platform 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill / ✅ migrate-vstest-to-mtp; tools: skill, report_intent ✅ 0.06
migrate-vstest-to-mtp Migrate NUnit project from VSTest to Microsoft.Testing.Platform 1.0/5 → 5.0/5 🟢 1.0/5 → 5.0/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill / ✅ migrate-vstest-to-mtp; tools: skill ✅ 0.06
migrate-vstest-to-mtp Migrate xUnit.net v2 project from VSTest to Microsoft.Testing.Platform 1.0/5 → 5.0/5 🟢 1.0/5 → 5.0/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill, report_intent, view, bash / ✅ migrate-vstest-to-mtp; tools: skill, report_intent, view, glob, bash ✅ 0.06
migrate-vstest-to-mtp Update Azure DevOps pipeline from VSTest task to MTP 2.7/5 → 5.0/5 🟢 2.7/5 → 5.0/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill / ✅ migrate-vstest-to-mtp; tools: skill ✅ 0.06
migrate-vstest-to-mtp Migrate MSTest.Sdk project that explicitly uses VSTest 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill / ✅ migrate-vstest-to-mtp; tools: skill ✅ 0.06
migrate-vstest-to-mtp Translate dotnet test VSTest arguments to MTP equivalents 4.3/5 → 5.0/5 🟢 4.3/5 → 5.0/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill, report_intent / ✅ migrate-vstest-to-mtp; tools: skill ✅ 0.06
migrate-vstest-to-mtp Handle exit code 8 when migrating from VSTest to MTP 3.0/5 → 4.7/5 🟢 3.0/5 → 5.0/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill, glob / ✅ migrate-vstest-to-mtp; tools: skill ✅ 0.06
migrate-vstest-to-mtp Configure dotnet test MTP mode on .NET 10 SDK 2.0/5 → 5.0/5 🟢 2.0/5 → 5.0/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill, glob / ✅ migrate-vstest-to-mtp; tools: skill ✅ 0.06
migrate-vstest-to-mtp Migrate xUnit.net VSTest filter syntax to MTP 1.3/5 → 3.0/5 🟢 1.3/5 → 2.7/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill / ✅ migrate-vstest-to-mtp; tools: skill ✅ 0.06
migrate-vstest-to-mtp Full VSTest to MTP migration plan for MSTest solution 4.0/5 → 4.7/5 🟢 4.0/5 → 5.0/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill / ✅ migrate-vstest-to-mtp; tools: skill ✅ 0.06

Model: claude-opus-4.6 | Judge: claude-opus-4.6

Full results

Comment thread plugins/dotnet-test/skills/migrate-vstest-to-mtp/SKILL.md Outdated
Comment thread plugins/dotnet-test/skills/migrate-vstest-to-mtp/SKILL.md Outdated
Comment thread plugins/dotnet-test/skills/migrate-vstest-to-mtp/SKILL.md Outdated
Comment thread plugins/dotnet-test/skills/migrate-vstest-to-mtp/SKILL.md Outdated
Comment thread plugins/dotnet-test/skills/migrate-vstest-to-mtp/SKILL.md Outdated
Comment thread plugins/dotnet-test/skills/migrate-vstest-to-mtp/SKILL.md Outdated
Comment thread plugins/dotnet-test/skills/migrate-vstest-to-mtp/SKILL.md
Comment thread plugins/dotnet-test/skills/migrate-vstest-to-mtp/SKILL.md Outdated
Comment thread plugins/dotnet-test/skills/migrate-vstest-to-mtp/SKILL.md
Comment thread plugins/dotnet-test/skills/migrate-vstest-to-mtp/SKILL.md
Comment thread plugins/dotnet-test/skills/migrate-vstest-to-mtp/SKILL.md Outdated
Comment thread plugins/dotnet-test/skills/migrate-vstest-to-mtp/SKILL.md Outdated
Comment thread plugins/dotnet-test/skills/migrate-vstest-to-mtp/SKILL.md Outdated
Comment thread plugins/dotnet-test/skills/migrate-vstest-to-mtp/SKILL.md Outdated
Comment thread plugins/dotnet-test/skills/migrate-vstest-to-mtp/SKILL.md Outdated
Comment thread plugins/dotnet-test/skills/migrate-vstest-to-mtp/SKILL.md Outdated
Comment thread plugins/dotnet-test/skills/migrate-vstest-to-mtp/SKILL.md Outdated
Comment thread plugins/dotnet-test/skills/migrate-vstest-to-mtp/SKILL.md Outdated
Comment thread plugins/dotnet-test/skills/migrate-vstest-to-mtp/SKILL.md
@Evangelink
Evangelink enabled auto-merge (squash) March 16, 2026 12:28
@github-actions

Copy link
Copy Markdown
Contributor

Skill Validation Results

Skill Scenario Quality (Isolated) Quality (Plugin) Skills Loaded Overfit Verdict
migrate-vstest-to-mtp Migrate MSTest project from VSTest to Microsoft.Testing.Platform 5.0/5 → 4.0/5 🔴 5.0/5 → 3.7/5 🔴 ✅ migrate-vstest-to-mtp; tools: skill, report_intent, view / ✅ migrate-vstest-to-mtp; tools: skill, report_intent, bash ✅ 0.11
migrate-vstest-to-mtp Migrate NUnit project from VSTest to Microsoft.Testing.Platform 1.7/5 → 3.3/5 🟢 1.7/5 → 3.3/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill / ✅ migrate-vstest-to-mtp; tools: skill ✅ 0.11
migrate-vstest-to-mtp Migrate xUnit.net v2 project from VSTest to Microsoft.Testing.Platform 1.3/5 → 5.0/5 🟢 1.3/5 → 4.7/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill, report_intent, view, glob, bash / ✅ migrate-vstest-to-mtp; tools: skill, report_intent, view, bash, glob ✅ 0.11
migrate-vstest-to-mtp Update Azure DevOps pipeline from VSTest task to MTP 2.3/5 → 5.0/5 🟢 2.3/5 → 5.0/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill / ✅ migrate-vstest-to-mtp; tools: skill ✅ 0.11
migrate-vstest-to-mtp Migrate MSTest.Sdk project that explicitly uses VSTest 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill / ✅ migrate-vstest-to-mtp; tools: skill ✅ 0.11
migrate-vstest-to-mtp Translate dotnet test VSTest arguments to MTP equivalents 4.7/5 → 5.0/5 🟢 4.7/5 → 5.0/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill / ✅ migrate-vstest-to-mtp; tools: skill, report_intent ✅ 0.11
migrate-vstest-to-mtp Handle exit code 8 when migrating from VSTest to MTP 2.7/5 → 4.7/5 🟢 2.7/5 → 4.3/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill, glob, create / ✅ migrate-vstest-to-mtp; tools: skill ✅ 0.11
migrate-vstest-to-mtp Configure dotnet test MTP mode on .NET 10 SDK 2.0/5 → 5.0/5 🟢 2.0/5 → 5.0/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill / ✅ migrate-vstest-to-mtp; tools: skill ✅ 0.11
migrate-vstest-to-mtp Migrate xUnit.net VSTest filter syntax to MTP 1.7/5 → 1.0/5 🔴 1.7/5 → 2.0/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill / ✅ run-tests; migrate-vstest-to-mtp; tools: skill, bash ✅ 0.11
migrate-vstest-to-mtp Full VSTest to MTP migration plan for MSTest solution 2.7/5 → 4.3/5 🟢 2.7/5 → 4.7/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill, create / ✅ migrate-vstest-to-mtp; tools: skill, create ✅ 0.11

Model: claude-opus-4.6 | Judge: claude-opus-4.6

Full results

Comment thread plugins/dotnet-test/skills/migrate-vstest-to-mtp/SKILL.md Outdated
Comment thread plugins/dotnet-test/skills/migrate-vstest-to-mtp/SKILL.md Outdated
Copilot AI review requested due to automatic review settings March 16, 2026 21:05

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a new migrate-vstest-to-mtp skill to the dotnet-test plugin, providing comprehensive guidance for migrating .NET test projects from VSTest to Microsoft.Testing.Platform (MTP). It replaces the earlier PR #346 with a refined implementation.

Changes:

  • Adds SKILL.md with a 10-step migration workflow covering MSTest, NUnit, and xUnit.net frameworks, CLI argument translation, CI/CD pipeline updates, and behavioral differences.
  • Adds eval.yaml with 10 evaluation scenarios and 5 fixture directories for testing the skill.
  • Updates plugin descriptions in plugin.json, both marketplace.json files, and README.md to include "migrating" in the dotnet-test plugin description.

Reviewed changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
plugins/dotnet-test/skills/migrate-vstest-to-mtp/SKILL.md New skill document with full VSTest→MTP migration workflow
tests/dotnet-test/migrate-vstest-to-mtp/eval.yaml 10 eval scenarios covering all migration goals
tests/dotnet-test/migrate-vstest-to-mtp/fixtures/* 5 fixture directories with .csproj, .cs, and .yml test files
plugins/dotnet-test/plugin.json Updated description to include "migrating"
README.md Updated dotnet-test plugin description
.github/plugin/marketplace.json Updated dotnet-test description
.claude-plugin/marketplace.json Updated dotnet-test description

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

Comment thread tests/dotnet-test/migrate-vstest-to-mtp/eval.yaml
@github-actions

Copy link
Copy Markdown
Contributor

Skill Validation Results

Skill Scenario Quality (Isolated) Quality (Plugin) Skills Loaded Overfit Verdict
migrate-vstest-to-mtp Migrate MSTest project from VSTest to Microsoft.Testing.Platform 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill, bash / ✅ migrate-vstest-to-mtp; tools: skill, report_intent, view ✅ 0.10
migrate-vstest-to-mtp Migrate NUnit project from VSTest to Microsoft.Testing.Platform 1.3/5 → 5.0/5 🟢 1.3/5 → 5.0/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill / ✅ migrate-vstest-to-mtp; tools: skill ✅ 0.10
migrate-vstest-to-mtp Migrate xUnit.net v2 project from VSTest to Microsoft.Testing.Platform 1.3/5 → 5.0/5 🟢 1.3/5 → 5.0/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill, report_intent, bash, view / ✅ migrate-vstest-to-mtp; tools: skill, report_intent, view, bash ✅ 0.10
migrate-vstest-to-mtp Update Azure DevOps pipeline from VSTest task to MTP 2.3/5 → 5.0/5 🟢 2.3/5 → 5.0/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill / ✅ migrate-vstest-to-mtp; tools: skill ✅ 0.10
migrate-vstest-to-mtp Migrate MSTest.Sdk project that explicitly uses VSTest 3.7/5 → 5.0/5 🟢 3.7/5 → 5.0/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill / ✅ migrate-vstest-to-mtp; tools: skill ✅ 0.10
migrate-vstest-to-mtp Translate dotnet test VSTest arguments to MTP equivalents 4.3/5 → 5.0/5 🟢 4.3/5 → 5.0/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill, report_intent / ✅ migrate-vstest-to-mtp; tools: report_intent, skill ✅ 0.10
migrate-vstest-to-mtp Handle exit code 8 when migrating from VSTest to MTP 3.3/5 → 5.0/5 🟢 3.3/5 → 5.0/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill, glob, create / ✅ migrate-vstest-to-mtp; tools: skill ✅ 0.10
migrate-vstest-to-mtp Configure dotnet test MTP mode on .NET 10 SDK 2.0/5 → 5.0/5 🟢 2.0/5 → 5.0/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill / ✅ migrate-vstest-to-mtp; tools: skill ✅ 0.10
migrate-vstest-to-mtp Migrate xUnit.net VSTest filter syntax to MTP 1.7/5 → 4.0/5 🟢 1.7/5 → 3.7/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill / ✅ migrate-vstest-to-mtp; tools: skill ✅ 0.10 [1]
migrate-vstest-to-mtp Full VSTest to MTP migration plan for MSTest solution 2.7/5 → 5.0/5 🟢 2.7/5 → 5.0/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill / ✅ migrate-vstest-to-mtp; tools: skill ✅ 0.10

[1] (Plugin) Quality improved but weighted score is -21.8% due to: judgment

Model: claude-opus-4.6 | Judge: claude-opus-4.6

Full results

Comment thread plugins/dotnet-test/skills/migrate-vstest-to-mtp/SKILL.md
@Evangelink
Evangelink merged commit 2a8388d into main Mar 16, 2026
22 checks passed
@Evangelink
Evangelink deleted the dev/amauryleve/migrate-mtp branch March 16, 2026 22:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants