What problem does it solve? Publishing a PackAsTool .NET CLI tool to NuGet fails in non-obvious ways: MSB3030 errors on clean checkouts, multi-RID shell races that install the wrong platform payload, gitignored bundled assets silently missing from the nupkg, and green workflow runs that pushed nothing due to 409 conflicts. This Skill encodes measured fixes for each trap so a publish succeeds on the first real attempt. ## Core Features & Use Cases - Build-before-pack ordering: Diagnoses the MSB3030 clean-checkout failure and its Web-SDK multi-RID inversion, where a single pack without --no-build is the correct form. - Multi-RID matrix publishing: Covers per-RID pack jobs, the shell-race fix via a self-gating patch script, --skip-duplicate requirements, and payload-before-shell push ordering. - Trusted Publishing setup: Configures NuGet OIDC login with environment approval gates, id-token permissions, and workflow file name policy binding. - Fresh-install verification: Runs an isolated install gate with sha256 asset integrity checks, MCP stdio protocol round trips, and silent-degradation detection for bundled models. - Use Case: You are shipping a .NET 10 global tool with six runtime identifiers and a bundled ONNX model. Use this Skill to write the publish workflow, avoid the shell race, verify the packed assets, and confirm a clean install works before announcing the release. ## Quick Start Use the dotnet-tool-publishing skill to create a Trusted Publishing workflow for my PackAsTool project and verify the packed nupkg before pushing to NuGet.