What problem does it solve? Multi-project .NET repositories accumulate duplicated properties, package versions, and build logic across every .csproj file, making updates error-prone and inconsistent. This Skill guides the centralization of shared build settings into Directory.Build files so each project file contains only what is unique to it. ## Core Features & Use Cases - Centralized Build Settings: Move shared properties like Nullable, TreatWarningsAsErrors, and assembly metadata into Directory.Build.props, with custom targets and late-bound logic in Directory.Build.targets. - Central Package Management: Set up Directory.Packages.props with ManagePackageVersionsCentrally, PackageVersion entries, and GlobalPackageReference for repo-wide analyzers. - Multi-Level Hierarchies: Chain nested Directory.Build.props files for src/ and test/ folders using GetPathOfFileAbove imports. - Pitfall Diagnosis: Avoid the silent failure where $(TargetFramework) property conditions in .props files never match for single-targeting projects. - Use Case: A team with 20 .csproj files repeating the same Nullable, Company, and analyzer PackageReference settings consolidates them into three root-level files, then validates with dotnet msbuild -pp to confirm the merged evaluation. ## Quick Start Ask the AI to audit all .csproj files in the repository and centralize the duplicated properties and package versions into Directory.Build.props and Directory.Packages.props.