What problem does it solve? Writing or debugging .props, .targets, and .csproj files often fails because MSBuild's evaluation order is opaque: properties read empty values, items resolve against the wrong directory, and Directory.Build.props settings get silently overridden. This Skill explains exactly which file assigns each value and when it becomes readable. ## Core Features & Use Cases - Evaluation Order Reference: Maps the six evaluation passes and the full import chain of a Microsoft.NET.Sdk project, showing which properties each file assigns. - Conditions, Properties, and Items Rules: Documents comparison operators, property functions like [MSBuild]::NormalizePath, item operations (Include, Update, Remove), and transforms with their exact semantics and error codes. - File Placement Guidance: Provides a decision table for where each declaration belongs (Directory.Build.props, Directory.Build.targets, project file, Directory.Packages.props) plus troubleshooting for common failures like MSB4011 and MSB1063. - Use Case: A value set in Directory.Build.props is ignored because the SDK reassigns it later; the Skill identifies the cause and directs you to move it to Directory.Build.targets, then verify with dotnet msbuild -getProperty. ## Quick Start Ask the AI to explain why a property in your Directory.Build.props is empty or ignored and where the declaration should be placed instead.