APM

>Agent Skill

@bravellian/dotnet-test-triage

skilldevelopment

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.

apm::install
$apm install @bravellian/dotnet-test-triage
apm::skill.md
---
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.md`
- `artifacts/codex/test-filter.txt`

## Run
```bash
bash .codex/skills/dotnet-test-triage/scripts/run-test-triage.sh
```

```powershell
pwsh -File .codex/skills/dotnet-test-triage/scripts/run-test-triage.ps1
```

Optional: pass arguments through to `dotnet test`:
```bash
bash .codex/skills/dotnet-test-triage/scripts/run-test-triage.sh ./src/Incursa.slnx --no-restore
```

```powershell
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):
```bash
DOTNET_TEST_CMD="dotnet test ./src/Incursa.slnx --no-restore" \
  bash .codex/skills/dotnet-test-triage/scripts/run-test-triage.sh
```

```powershell
$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.