What problem does it solve? Publishing .NET packages to NuGet via GitHub Actions fails in non-obvious ways: OIDC token exchanges return 401 on environment mismatches, green publish runs push nothing due to swallowed 409 conflicts, multi-RID tool shells break installs on every platform but one, and stale NuGet http-caches make fresh versions uninstallable. This Skill provides verified diagnosis ladders and fixes for each failure mode. ## Core Features & Use Cases - Trusted Publishing setup: Configure NuGet OIDC policies, NuGet/login@v1, GitHub environment approval gates, and push-to-trunk triggers that survive branch protection rules. - Failure diagnosis: Step-by-step ladders for 401 environment mismatches, 409 reserved-namespace blocks, PackAsTool MSB3030 errors, multi-RID shell races, and stale http-cache install failures. - Release engineering conventions: Version-contract tests pinning PackageVersion, AssemblyVersion, and .mcp/server.json fields, plus PackageId bridge strategies when an id is reserved. - Use Case: Your publish workflow shows green but dotnet tool install says the version is not found — use this Skill to confirm the push landed, check the flat container and registration endpoints, and clear ~/.local/share/NuGet/http-cache. ## Quick Start Use the nuget-publishing skill to diagnose why my GitHub Actions publish workflow succeeded but the new package version cannot be installed.