What problem does it solve? MSBuild builds break or silently skip custom logic when import hooks are misconfigured: missing Exists() guards fail fresh clones, overwritten CustomBefore/CustomAfter properties drop prior hooks, and NuGet package extensions are ignored when file names don't match the package ID. This Skill provides the patterns to diagnose and fix these extension point issues. ## Core Features & Use Cases - Import Hook Patterns: Explains CustomBefore/CustomAfter hooks, wildcard import directories with alphabetic ordering, and import gating via control properties like ImportDirectoryBuildProps. - NuGet Build Extensions: Covers build/ vs buildTransitive/ layouts, package ID file naming rules, and how .nuspec file mappings and PackagePath metadata reshape source trees at pack time. - Review Guidance: Helps reviewers avoid false positives when packed NuGet layouts legitimately differ from source trees, and shows how to create custom extension points with guard properties. - Use Case: A repo's Directory.Build.props works locally but fails on fresh clones because an optional import lacks an Exists() guard. Use this Skill to identify the anti-pattern and apply the correct guarded import pattern. ## Quick Start Review my Directory.Build.props and NuGet package build folder for MSBuild extension point anti-patterns and fix any missing Exists() guards or overwritten CustomBefore properties.