dotnet-test-triage

bravellian's avatarfrom bravellian

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.

⭐0stars🔀0forks📁View on GitHub🕐Updated Dec 23, 2025

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.
namedotnet-test-triage
descriptionRun 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.md
  • artifacts/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 normal
    • dotnet test --filter "$(cat artifacts/codex/test-filter.txt)" -v diag
  • Capture blame for crashes/hangs:
    • dotnet test --filter "$(cat artifacts/codex/test-filter.txt)" --blame
    • dotnet 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.