architectlisted
Install: claude install-skill lamuniercosta/dotnet-agent-harness
## User Input
```text
$ARGUMENTS
```
## Prerequisites
- `/refactor` complete
- Read the `agent-pipeline` rule (`.cursor/rules/agent-pipeline.mdc`) for stage order and handoff rules
## Goals
1. **Code mutation:** Stryker.NET on changed production assemblies — mutation score at or above `gates.mutation.threshold` in `harness.yml` (default **80%**)
2. **Gherkin mutation** *(optional — only if acceptance tests exist)*: `./scripts/run-gherkin-mutation.ps1` — no survivors. Acceptance tests are opt-in for now; skip this goal when `specs/<feature>/acceptance/*.feature` does not exist.
3. **Coverage:** Address uncovered branches in changed production files (coverlet)
4. **Full suite:** `dotnet test` on entire solution
## Gate Scripts
Run from repository root:
```powershell
dotnet stryker --config-file stryker-config.json
dotnet test --collect:"XPlat Code Coverage"
dotnet test
# Only when acceptance tests exist (opt-in for now):
./scripts/run-gherkin-mutation.ps1
```
Stryker requires `dotnet tool restore` (see `dotnet-tools.json`).
## Mutation Score
- Threshold: `gates.mutation.threshold` in `harness.yml` (default **80%**) on mutated code in scope
- Scope: the assemblies listed in `stryker-config.json` (see `stryker-config.json`)
- If score below threshold: strengthen unit/property tests or simplify code — re-run Stryker
## Gherkin Survivors *(only when acceptance tests exist)*
If `run-gherkin-mutation.ps1` reports survivors:
| Survivor type | Route to |
|---|---|
| Scena