What problem does it solve? MSBuild extensibility relies on subtle conventions—CustomBefore/CustomAfter hooks, wildcard import directories, control properties, and NuGet build/buildTransitive layouts—where small mistakes silently drop imports, break fresh clones, or fail transitive consumers with MSB4019. This Skill provides the reference knowledge to diagnose and fix these extension-point patterns correctly. ## Core Features & Use Cases - Hook and Import Patterns: Explains CustomBefore/CustomAfter hooks, alphabetic wildcard import ordering, Exists() guards, and the MicrosoftCommonPropsHasBeenImported guard pattern. - NuGet Build Extensions: Covers build/ vs buildTransitive/ layouts, package-ID filename matching, per-TFM forwarding chains, and how nuspec/PackagePath mappings reshape source trees at pack time. - Use Case: A NuGet package's transitive consumers fail with MSB4019 because a buildTransitive forwarder dropped the TFM segment. Use this Skill to identify the missing folder segment and write a correct forwarder that derives the TFM from the file's own directory. ## Quick Start Ask the assistant to review your Directory.Build.props or NuGet package build files for MSBuild extension-point anti-patterns such as missing Exists() guards or overwritten CustomBefore properties.