What problem does it solve? MSBuild project files (.csproj, .props, .targets) often accumulate subtle authoring mistakes—unquoted conditions, hardcoded paths, missing incremental-build metadata, redundant references—that cause broken builds, slow no-op builds, cross-platform failures, and flaky parallel-build file locks. This Skill provides a numbered catalog of 23 anti-patterns, each with a symptom, an explanation of why it is harmful, and a concrete BAD-to-GOOD fix. ## Core Features & Use Cases - Anti-Pattern Catalog (AP-01 to AP-23): Covers Exec misuse, unquoted conditions, hardcoded paths, restated SDK defaults, manual file listing, HintPath references, missing PrivateAssets, scattered package versions, monolithic targets, missing Inputs/Outputs, import guards, backslash paths, evaluation-phase side effects, and project-instance forking races. - Severity-Ranked Checklist: A quick-reference table orders checks by severity (error-prone, dangerous, legacy, noise) so reviewers can prioritize findings. - Deep-Dive References: Supplementary documents detail incremental build Inputs/Outputs with FileWrites registration and PrivateAssets rules for analyzer and build-tool packages. - Use Case: When asked to review a .csproj or Directory.Build.props file, scan it against the catalog and report each violation with its severity and the exact corrected XML. ## Quick Start Review my Directory.Build.props and all .csproj files in this repo for MSBuild anti-patterns and list each issue with its fix.