dotnet-test-triage
Run dotnet test, capture failed test cases, and generate a rerun filter plus a markdown failure summary. Use when test runs fail and you need a focused rerun command or a compact failure report.
When & Why to Use This Skill
The dotnet-test-triage skill automates the execution of .NET test suites, intelligently capturing failed test cases to generate actionable markdown summaries and optimized rerun filters. It streamlines the debugging process by providing developers with a focused command to re-execute only failing tests, significantly reducing feedback loops and improving developer productivity in C# and .NET environments.
Use Cases
- Rapidly triaging failures in large .NET test suites by generating a compact, readable markdown report of error snippets.
- Reducing local debugging time by using the generated filter to rerun only the specific tests that failed in a previous run.
- Automating the documentation of test regressions for team communication, pull request comments, or issue tracking.
- Troubleshooting complex test crashes or hangs using the recommended diagnostic and blame-based rerun commands provided by the tool.
| name | dotnet-test-triage |
|---|---|
| description | Run dotnet test, capture failed test cases, and generate a rerun filter plus a markdown failure summary. Use when test runs fail and you need a focused rerun command or a compact failure report. |
dotnet-test-triage
Run dotnet test, collect failed test cases, and write a compact failure report plus a rerun filter.
Outputs
artifacts/codex/test-failures.mdartifacts/codex/test-filter.txt
Run
bash .codex/skills/dotnet-test-triage/scripts/run-test-triage.sh
pwsh -File .codex/skills/dotnet-test-triage/scripts/run-test-triage.ps1
Optional: pass arguments through to dotnet test:
bash .codex/skills/dotnet-test-triage/scripts/run-test-triage.sh ./src/Incursa.slnx --no-restore
pwsh -File .codex/skills/dotnet-test-triage/scripts/run-test-triage.ps1 ./src/Incursa.slnx --no-restore
Optional: override the default command (useful for repo-specific defaults):
DOTNET_TEST_CMD="dotnet test ./src/Incursa.slnx --no-restore" \
bash .codex/skills/dotnet-test-triage/scripts/run-test-triage.sh
$env:DOTNET_TEST_CMD = "dotnet test ./src/Incursa.slnx --no-restore"
pwsh -File .codex/skills/dotnet-test-triage/scripts/run-test-triage.ps1
Rerun recommendations
- Basic rerun of failures:
dotnet test --filter "$(cat artifacts/codex/test-filter.txt)"
- More output:
dotnet test --filter "$(cat artifacts/codex/test-filter.txt)" -v normaldotnet test --filter "$(cat artifacts/codex/test-filter.txt)" -v diag
- Capture blame for crashes/hangs:
dotnet test --filter "$(cat artifacts/codex/test-filter.txt)" --blamedotnet test --filter "$(cat artifacts/codex/test-filter.txt)" --blame-hang --blame-hang-timeout 10m
- Disable parallelization if needed:
dotnet test --filter "$(cat artifacts/codex/test-filter.txt)" --no-parallel
Notes
- The filter file is empty when no failing tests are detected.
- The failure report contains the test name and a short error snippet from the TRX logs.