item-management

Diagnose and fix MSBuild item group patterns including batching, transforms, and Include/Remove/Update semantics.

1|Updated Jun 1, 2026
One-click install
npx skills add https://github.com/D1ssolve/craft-agents --skill item-management-d1ssolve
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: item-management
Source: https://github.com/D1ssolve/craft-agents/tree/main/skills/item-management
Command: npx skills add https://github.com/D1ssolve/craft-agents --skill item-management-d1ssolve

SYSTEM DOCUMENTATION & REQUIREMENTS

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.

Frequently Asked Questions about item-management

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
When should I not use this item management guidance?

This guidance covers item groups only. For target chain architecture use target-authoring, for properties use property-patterns, for incrementality use incremental-build, and it does not apply to non-MSBuild build systems.