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, race conditions, and cross-platform failures. 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 Detection: Scan .csproj, .vbproj, .fsproj, .props, .targets, and Directory.Build.props/.targets files for 23 cataloged issues, each rated by severity (error-prone, legacy, performance, style). - Concrete Fixes: Every anti-pattern includes a BAD/GOOD XML pair showing the exact transformation, such as replacing <Exec> shell calls with built-in tasks or adding Inputs/Outputs to custom targets. - Deep-Dive References: Supplementary references cover incremental build Inputs/Outputs with FileWrites registration and PrivateAssets rules for analyzer packages. - Use Case: A developer asks "is this project file correct?" or "why does my build fail intermittently in CI?"—the Skill identifies issues like AP-22 project-instance forking or AP-21 TargetFramework conditions in .props files that silently fail for single-targeting projects. ## Quick Start Review my Directory.Build.props and all .csproj files in this repo for MSBuild anti-patterns and suggest fixes.