dotnet-overhaullisted
Install: claude install-skill e128/dotnet-reference
# .NET Overhaul
> **Opinionated.** Enforces specific conventions (deny-by-default analyzers, immutability, MTP runner,
> strict code analysis). Review/edit `conventions.md` to match your project before the first run.
>
> **Iterative.** For large codebases, run in phases — approve a subset of findings per run, commit,
> run again. For maintained codebases, run periodically to catch drift.
Systematic overhaul loop combining language modernization, design review, and specialist analysis.
Every step produces findings for user approval before any code is changed.
**Step detail files:** When you reach a step marked `-> read steps/stepN.md`, Read that file from
`${CLAUDE_SKILL_DIR}/steps/stepN.md` before proceeding.
## Usage
```
/dotnet-overhaul [scope]
```
Scope is a solution file (`.sln`/`.slnx`) or directory. Resolution order:
1. **Solution file given** -> use directly
2. **Directory given** -> Glob for `.slnx`, then `.sln`; if one found use it; if multiple, ask; if none, search parent directories
3. **No scope** -> treat as `.`
In-scope once solution is resolved: all `.cs` files, `.csproj` files, Dockerfiles, CI/CD workflows,
and config files (`.editorconfig`, `Directory.Build.props`, `Directory.Packages.props`, `.gitignore`,
`renovate.json`, `global.json`, `nuget.config`) at the solution root.
Test projects identified by name containing `Test`/`Tests`, referencing xUnit/NUnit/MSTest, or having `<IsTestProject>true</IsTestProject>` in their `.csproj`.
## When NOT to Use