platform-detection

Detects the .NET test platform and test framework from project configuration files.

1|Updated Jun 1, 2026
One-click install
npx skills add https://github.com/D1ssolve/craft-agents --skill platform-detection-d1ssolve
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: platform-detection
Source: https://github.com/D1ssolve/craft-agents/tree/main/skills/platform-detection
Command: npx skills add https://github.com/D1ssolve/craft-agents --skill platform-detection-d1ssolve

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Determining whether a .NET project uses VSTest or Microsoft.Testing.Platform, and which test framework (MSTest, xUnit, NUnit, TUnit) it runs, requires checking multiple files with version-dependent rules that are easy to get wrong. ## Core Features & Use Cases - Framework Detection: Identifies MSTest, xUnit, NUnit, or TUnit by inspecting package references and SDK declarations in .csproj, Directory.Build.props, and Directory.Packages.props. - Platform Detection: Distinguishes VSTest from Microsoft.Testing.Platform using global.json test.runner settings on .NET 10+ or MSBuild properties like TestingPlatformDotnetTestSupport on .NET 8/9. - Use Case: Before running tests or migrating a project to Microsoft.Testing.Platform, use this reference to correctly identify the project's platform so the right CLI syntax and filter options are applied. ## Quick Start Ask the AI to detect which test platform and test framework this .NET project uses by inspecting its project files.

Frequently Asked Questions about platform-detection

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I detect if a .NET project uses VSTest or Microsoft.Testing.Platform?

On .NET 10+, check the global.json test.runner setting, which is authoritative. On .NET 8 or 9, look for TestingPlatformDotnetTestSupport set to true in the .csproj, Directory.Build.props, or Directory.Packages.props, plus runner properties like EnableMSTestRunner.

How to identify which test framework a .NET project uses?

Inspect package references in the .csproj and centrally managed props files. MSTest or MSTest.Sdk indicates MSTest, xunit or xunit.v3 packages indicate xUnit, NUnit with NUnit3TestAdapter indicates NUnit, and the TUnit package indicates TUnit.

Does Microsoft.NET.Test.Sdk mean the project uses VSTest?

No, Microsoft.NET.Test.Sdk does not necessarily mean VSTest. Some frameworks like MSTest pull it in transitively even when Microsoft.Testing.Platform is enabled, so always check the MTP-specific signals first.

Why does TestingPlatformDotnetTestSupport not enable MTP on .NET 10?

On .NET 10+, the global.json test.runner setting takes precedence over TestingPlatformDotnetTestSupport. If the runner is VSTest or unset, the project uses VSTest regardless of that MSBuild property.

Can I use this detection reference directly as a standalone skill?

No, this is reference data intended to be loaded by other skills such as run-tests, mtp-hot-reload, and migrate-vstest-to-mtp when they need detection logic, not invoked directly by users.