What problem does it solve? MSBuild project files (.csproj, .props, .targets) accumulate subtle mistakes—unquoted conditions, hardcoded paths, redundant SDK defaults, scattered package versions—that break cross-platform builds, slow incremental compilation, and create maintenance debt. This Skill provides a numbered catalog of 21 anti-patterns so reviewers can systematically audit and clean up build files. ## Core Features & Use Cases - 21 Cataloged Anti-Patterns: Each entry includes a smell to look for, an explanation of why it is harmful, and a concrete BAD-to-GOOD XML transformation. - Severity-Ranked Checklist: A quick-reference table orders checks from error-prone issues (unquoted conditions, side effects during evaluation) down to stylistic noise. - Deep-Dive References: Supplementary documents cover incremental build Inputs/Outputs, PrivateAssets for analyzer packages, and evaluation-phase pitfalls like conditioning properties on TargetFramework in .props files. - Use Case: While reviewing a pull request that adds a new .csproj, scan it against the catalog to catch a HintPath-based reference, missing PrivateAssets on StyleCop.Analyzers, and an unquoted Configuration condition before merge. ## Quick Start Review my .csproj and Directory.Build.props files for MSBuild anti-patterns and suggest fixes.