update-nuget-packageslisted
Install: claude install-skill dougcunha/TokenHound
# Update NuGet packages
Keep a **tight** NuGet update: one solution at a time, explicit restore, build without restore, and authorized incompatibilities.
## Invariants
- Discover updates only with `dotnet outdated`.
- Keep one solution in focus until restore, build, and tests finish.
- Treat migration from VSTest to MTP as `update-mtp-tests` work; a solution already on MTP is updated and tested normally by this skill, using MTP test syntax.
## Steps
### 1. Plan
1. Resolve the supplied solution as an absolute or relative path and accept `.sln` and `.slnx`.
2. Without a supplied solution, list only `.sln` and `.slnx` directly at the repository root. If there is one, select it; if there are several, request a choice; if there are none, request the path.
3. Detect `_lib` as a submodule or Git directory and locate its solution. Use `_lib/CoLib.Library.sln` when it exists; otherwise record the solution found.
4. Record the order: `_lib` solution when applicable, then the main solution.
5. Inspect the working tree of planned repositories. Classify each pre-existing change by path and preserve it.
6. Run `git symbolic-ref --quiet --short HEAD` in each repository before its respective `git pull --ff-only`. Stop on detached HEAD or any pull failure.
7. Record current package versions, `global.json`, SDK, and workflows that run tests.
8. For each solution, locate the `global.json` closest to its directory and record whether it already contains MTP `test.runner`. A configuration in