dotnet-warning-auditlisted
Install: claude install-skill gsscoder/claude-coding-agents
Compile a .NET target and report every warning it emits, grouped by severity, with the suppressions that hide others. Report only what a build you actually ran and observed produced — never a warning inferred from source inspection alone
Target: `$ARGUMENTS` when provided, otherwise resolve per Step 1
## Methodology
### Step 1 — Discovery
Locate the target: the path in `$ARGUMENTS` if given, else the single `.sln`/`.slnx` at repo root, else every `.csproj`/`.fsproj`/`.vbproj` not under `bin/` or `obj/`. Ambiguous root with several solutions and no argument: stop and list them rather than guessing
Read before building, since these change what the build emits:
- `TreatWarningsAsErrors`, `WarningLevel`, `AnalysisLevel`, `AnalysisMode`, `EnableNETAnalyzers`, `Nullable`, `NoWarn` in each project file
- the same properties in `Directory.Build.props` and `Directory.Build.targets` — they apply to every project beneath them
- `TargetFramework` vs `TargetFrameworks` per project — Step 3 dedups a multi-targeted repeat
### Step 2 — Build
Incremental build is the primary failure mode of this audit: an up-to-date project is skipped and emits no warnings, producing a silent undercount. Always force a full compile
Run `dotnet build <target> -c Debug --no-incremental --nologo -v n`, redirecting stdout and stderr to a log file under the system temp directory. Do not pass `-warnaserror`. Do not pass `-p:NoWarn=` or otherwise widen suppression — audit the configuration as it is
Two cases t