migrate-vstest-to-mtp

migrate-vstest-to-mtp is a skill for Claude Code, Codex from managedcode/dotnet-skills. It costs 191 tokens per session (5,578 once invoked), scanned A, a copy of migrate-vstest-to-mtp, MIT.

A migration guide for moving .NET tests from VSTest to Microsoft.Testing.Platform, the test runner used to discover and execute tests.

In plain words
What is it for?
It helps switch test projects and CI pipelines to Microsoft.Testing.Platform and update commands from VSTest syntax to the new runner's syntax.
Why use it?
It updates project, command-line, and continuous-integration settings so the solution uses one supported test platform consistently.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit It helps switch test projects and CI pipelines to Microsoft.Testing.Platform and update commands from VSTest syntax to the new runner's syntax.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/managedcode/dotnet-skills/migrate-vstest-to-mtp
Install

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.

Any agent
npx skills add managedcode/dotnet-skills --skill migrate-vstest-to-mtp
Clone the repo
git clone --depth 1 https://github.com/managedcode/dotnet-skills

Made for: Claude Code, Codex.

Wrote 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.

agentmods badge for migrate-vstest-to-mtp

README.md
[![agentmods](https://agentmods.dev/badge/skills/managedcode/dotnet-skills/migrate-vstest-to-mtp/github.svg)](https://agentmods.dev/skills/managedcode/dotnet-skills/migrate-vstest-to-mtp)
Your own site
<a href="https://agentmods.dev/skills/managedcode/dotnet-skills/migrate-vstest-to-mtp"><img src="https://agentmods.dev/badge/skills/managedcode/dotnet-skills/migrate-vstest-to-mtp/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.

agentmods 80×15 button for migrate-vstest-to-mtp

Your own site · 80×15
<a href="https://agentmods.dev/skills/managedcode/dotnet-skills/migrate-vstest-to-mtp"><img src="https://agentmods.dev/badge/skills/managedcode/dotnet-skills/migrate-vstest-to-mtp.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 191 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 5,578 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin 92% copy Near-identical to another mod in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00191 $0.05578
Opus 5.5 $0.00076 $0.02231
Sonnet 5.5 $0.00038 $0.01116
Haiku 4.5 $0.00019 $0.00558

Measured 1mo ago against content hash e4984767f47f, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

migrate-vstest-to-mtp 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 1mo 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.

Origin

This is a copy

92% identical to migrate-vstest-to-mtp — 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.

catalog/Testing/Official-DotNet-Test-Migration/skills/migrate-vstest-to-mtp/SKILL.md · 421 lines

How it starts

The opening of the file, as written. The whole thing — 421 lines — stays where its author put it; the contents beside it link to each section on GitHub.

VSTest -> Microsoft.Testing.Platform Migration

Migrate a .NET test solution from VSTest to Microsoft.Testing.Platform (MTP). The outcome is a solution where all test projects run on MTP, dotnet test works correctly, and CI/CD pipelines are updated.

First Action

Inspect the supplied project, Directory.Build.props, global.json, and CI files before searching the web or answering from memory. Resolve the framework and SDK mode first: .NET 9 and earlier use the compatibility property plus the -- separator; .NET 10 native MTP uses global.json, removes that property, and passes MTP arguments without the separator. For central properties, never condition on IsTestProject in Directory.Build.props; use a property already available there, such as MSBuildProjectName.

Important: Do not mix VSTest-based and MTP-based .NET test projects in the same solution or run configuration -- this is an unsupported scenario.

When to Use

  • Switching from VSTest to Microsoft.Testing.Platform for any supported test framework
  • Enabling dotnet run / dotnet watch / direct executable execution for test projects
  • Enabling Native AOT or trimmed test execution
  • Replacing vstest.console.exe with dotnet test on MTP
  • Updating CI/CD pipelines from the VSTest task to the .NET Core CLI task
  • Updating dotnet test arguments from VSTest syntax to MTP syntax

When Not to Use

  • The project already runs on Microsoft.Testing.Platform and there is no remaining MTP behavioral difference to resolve (e.g., exit code 8 for zero tests discovered)
  • Migrating between test frameworks (e.g., MSTest to xUnit.net) -- different effort entirely
  • The project builds UWP or packaged WinUI test projects -- MTP does not support these yet
  • The solution mixes .NET and non-.NET test adapters (e.g., JavaScript or C++ adapters) -- VSTest is required
  • Upgrading MSTest versions -- use migrate-mstest-v1v2-to-v3 or migrate-mstest-v3-to-v4

Inputs

Input Required Description
Project or solution path No The .csproj, .sln, or .slnx entry point containing test projects. Discover it yourself by globbing the working directory; ask only when nothing is found or the choice is genuinely ambiguous
Test framework No MSTest, NUnit, xUnit.net v2, or xUnit.net v3. Auto-detected from package references
.NET SDK version No Determines dotnet test integration mode. Prefer the repository's global.json or explicitly stated CI SDK; use host dotnet --version only when the repository does not pin or state one
CI/CD pipeline files No Paths to pipeline definitions that invoke vstest.console or dotnet test

Read the full file on GitHub · 421 lines

Files

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.

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.

  1. 1mo ago Changed · +28 lines · -71 tokens per session e4984767f47f
  2. 1mo ago First seen · 393 lines · 262 tokens per session scan A 3d36d1296468

Subscribe to this mod's changes

migrate-vstest-to-mtp is a skill published in the GitHub repository managedcode/dotnet-skills (495 stars, last pushed yesterday), licensed MIT. It adds 191 tokens to every session and 5,578 once invoked, about $0.0008 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 92% identical to migrate-vstest-to-mtp, differing in 0 lines, and is treated as a copy.

Related

Other skills, from other repositories

e2e-testing-expert

Expert guide for End-to-End (E2E) testing with Playwright 1.50+, Clock API, ARIA snapshots, test fixtures, and Vitest 3+ / Panduan ahli pengujian E2E dengan Playwright 1.50+, Clock API, ARIA snapshots, dan Vitest 3+.

roedyrustam/vibes-plug · 74 tokens

mutation-testing

Use when running mutation testing, killing mutants, verifying test quality, checking mutation score, or analyzing survivors after the test baseline is green.

SebastienDegodez/copilot-instructions · 29 tokens

generate-microcks-openapi-samples

Use when creating OpenAPI mock examples for Microcks, setting up request/response routing with dispatchers, or mapping request fields to mock responses.

SebastienDegodez/copilot-instructions · 37 tokens

outside-in-tdd

Use when writing tests from the outside-in, defining behavior before code, or any feature where tests should start from observable business behavior and let internal design emerge.

SebastienDegodez/copilot-instructions · 35 tokens

gherkin-gate

Use before writing any test or implementation task, when observable behavior needs to be captured in business language scenarios and approved by the user before code begins.

SebastienDegodez/copilot-instructions · 33 tokens

vibe-safe-deploy

Performs deployment with pre-flight checks, atomic replacement, post-deploy verification, provenance (proving the environment serves the exact commit you pushed), and automatic rollback. Use before any deployment to staging, preview, or production.

ash1794/vibe-engineering · 51 tokens