run-tests Guide
Runs .NET tests with `dotnet test` and chooses the correct platform/SDK/framework syntax. USE FOR: running, filtering, or troubleshooting `dotnet test`; selecting VSTest vs Microsoft.Testing.Platform command syntax (including the `--` separator rules on .NET SDK 8/9 vs 10+); choosing the right filter syntax for MSTest / xUnit / NUnit / TUnit (--filter, --filter-class, --filter-trait, --filter-query, --treenode-filter); TRX and other reporting (--report-trx vs --logger trx); blame/hang/crash diagnostics (--blame-hang-timeout, --blame-crash); running tests against a single target framework when a project targets multiple TFMs (e.g., `<TargetFrameworks>net8.0;net9.0</TargetFrameworks>`, `dotnet test --framework <TFM>`); and avoiding MTP/VSTest argument mixups (e.g., --logger trx on MTP, --report-trx on VSTest, --blame on MTP). DO NOT USE FOR: writing or generating test code, CI/CD pipeline configuration, or debugging failing test logic.
When to use run-tests
Runs .NET tests with `dotnet test` and chooses the correct platform/SDK/framework syntax. USE FOR: running, filtering, or troubleshooting `dotnet test`; selecting VSTest vs Microsoft.Testing.Platform command syntax (including the `--` separator rules on .NET SDK 8/9 vs 10+); choosing the right filter syntax for MSTest / xUnit / NUnit / TUnit (--filter, --filter-class, --filter-trait, --filter-query, --treenode-filter); TRX and other reporting (--report-trx vs --logger trx); blame/hang/crash diagnostics (--blame-hang-timeout, --blame-crash); running tests against a single target framework when a project targets multiple TFMs (e.g., `<TargetFrameworks>net8.0;net9.0</TargetFrameworks>`, `dotnet test --framework <TFM>`); and avoiding MTP/VSTest argument mixups (e.g., --logger trx on MTP, --report-trx on VSTest, --blame on MTP). DO NOT USE FOR: writing or generating test code, CI/CD pipeline configuration, or debugging failing test logic.
How to use run-tests
run-tests is a Claude skill in the SKILL.md format. Add it to your Claude environment from the source repository below, then it activates as a user-invocable skill when your task matches its description.