dotnet-benchmarklisted
Install: claude install-skill KonH/GlobalStrategy
# dotnet benchmark
Runs `dotnet run --project src/Game.Benchmarks -c Release --` against the BenchmarkDotNet
perf harness (`Docs/Specs/26_07_18_18_benchmarkdotnet-perf-harness/`), avoiding the same
habits `dotnet-build`/`dotnet-test` avoid, plus one more specific to this harness:
1. **Never prefix the command with `cd`.** The Bash tool's working directory is already
the project root for every call — a leading `cd` is redundant and (per this project's
shell rule) triggers an extra permission prompt for no benefit.
2. **Log to one file, don't re-run to see more.** Redirect stdout+stderr to a single log
file.
3. **Don't `Read` the whole log.** BenchmarkDotNet's own console output is extremely
verbose (per-iteration pilot/warmup/actual lines, one block per benchmark method) —
reading it in full wastes context for no benefit. Check the **exit code** first (it is
the verdict — see `Docs/Benchmarks/README` conventions), then use a single targeted
Bash `grep`/`tail` to pull just the parts that matter: the `| Method | Mean | ... |`
summary table(s), and anything after `Regression(s) detected:` / `Benchmark(s) produced
no results` / `No benchmarks matched.` on stderr.
## Args
`/dotnet-benchmark (--compare|--update-baseline) [--benchmark <name>] [--epsilon <value>]`
- Exactly one of `--compare`/`--update-baseline` is required (mirrors the harness's own
CLI contract — see `src/Game.Benchmarks/Program.cs`).
- **--benchmark** (optional): case-insensitive s