What problem does it solve? MSBuild item groups are a common source of build bugs: duplicate file warnings from SDK globbing, targets running more times than expected due to cross-product batching, and generated files missing from clean operations. This Skill provides canonical patterns for managing items correctly in .csproj and .targets files. ## Core Features & Use Cases - Include/Remove/Update Semantics: Explains when to add items, subtract items, or modify metadata on existing items without re-adding them. - Batching and Transforms: Covers %(Metadata) batching at target and task level, per-item filtering with Condition, and @(Item->'expression') transforms. - Pitfall Diagnosis: Identifies cross-product batching, generated files polluting the source tree, and missing FileWrites registration that breaks dotnet clean. - Use Case: A developer sees CS2002 duplicate file warnings after adding a generated .cs file. The Skill explains that SDK globbing already includes the file and shows how to write generated output to $(IntermediateOutputPath) instead. ## Quick Start Review my .csproj file and fix the item group that is causing duplicate Compile items and a target that runs once per configuration instead of once total.