CtrlK
BlogDocsLog inGet started
Tessl Logo

item-management

Patterns for managing MSBuild item groups: Include/Remove/Update semantics, item metadata, batching with %(Metadata), transforms, per-item filtering, and cross-product batching pitfalls. USE FOR: diagnosing and fixing item group anti-patterns in .csproj files, reviewing item management for correctness, fixing CS2002 duplicate file warnings from SDK globbing, fixing targets that run more times than expected due to cross-product batching, fixing Include vs Update misuse on SDK-globbed items, fixing FileWrites registration for generated file clean support, moving generated files to IntermediateOutputPath. DO NOT USE FOR: target chain architecture (use target-authoring), property patterns (use property-patterns), incrementality (use incremental-build), general anti-patterns (use msbuild-antipatterns), non-MSBuild build systems.

74

Quality

93%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

83%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A tight, highly actionable pattern reference: every concept is taught with a real, executable XML example and the common pitfalls (cross-product batching, source-tree generation, missing FileWrites) directly mirror the description's use cases. The main gap is the absence of any verify-fix step for build-warning fixes, which caps workflow clarity, and a 160-line single-file body that could shed weight via a reference file.

Suggestions

Add a short validation step after each pitfall fix — e.g., "after removing globbed duplicates or registering FileWrites, run `dotnet build` and confirm CS2002 is gone and `dotnet clean` removes the generated files" — to create the validate-fix-retry loop the rubric expects for XML/build manipulation.

Split the deep-dive material (batching rules and the batching/transform examples) into a reference file such as `references/batching.md`, keeping SKILL.md to the operations table and pitfall summaries, to move progressive disclosure toward a lean overview-plus-references structure.

In the cross-product batching pitfall, show the concrete fix pattern for the common case: pre-flatten one side into a property or a single-item list via a transform before the batched target, since the current GOOD example only illustrates the property alternative.

DimensionReasoningScore

Conciseness

The body is lean: a three-row table replaces prose for the Include/Remove/Update comparison, code examples carry the explanation, and there is no padding or re-explanation of concepts Claude already knows (e.g., it never explains what MSBuild or XML is). Matches the anchor 'Lean and efficient; assumes Claude's competence; every token earns its place'; score 4 would require trimmable over-explanation, which is absent.

5 / 5

Actionability

Every pattern is demonstrated with copy-paste-ready XML — the Remove set-subtraction snippet, the `Outputs="$(IntermediateOutputPath)%(Culture)..."` batching target, the `@(_SourceItems->'$(OutDir)%(TargetPath)')` transform, the cross-product BAD/GOOD contrast — covering the common cases the description promises. Fully matches the score-5 anchor; there is no pseudocode or hand-waving.

5 / 5

Workflow Clarity

Patterns are clearly organized and sequenced (operations → batching → transforms → pitfalls), but there are no validation checkpoints anywhere: the skill directs edits to .csproj XML and fixes for build warnings (CS2002, over-executing targets) yet never instructs rebuilding (e.g., `dotnet build`) to confirm the warning is gone. Per the rubric's feedback-loop cap for XML/document manipulation without validation, workflow clarity is capped at 3 even though organization is otherwise strong.

3 / 5

Progressive Disclosure

The single file is well-sectioned with a clear overview ('Canonical patterns for working with item groups') and one internal cross-reference ('see Common Pitfalls') that resolves within the same file; there are no nested or broken references. It falls short of the score-5 anchor (which calls for well-signaled one-level-deep references and content appropriately split) because at ~160 lines, material like the batching-semantics rules and the pitfalls catalogue could live in a reference file; it sits clearly above the score-3 anchor's 'content that should be separate is inline'.

4 / 5

Total

17

/

20

Passed

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

An exemplary description: it names a precise niche (MSBuild item groups), enumerates concrete diagnostic/fix scenarios with the exact symptoms and error codes users would encounter, and cleanly separates when to use it from five adjacent skills. Both 'what' and 'when' are explicit and densely informative without padding.

DimensionReasoningScore

Specificity

The description lists more than seven concrete, distinct actions — "diagnosing and fixing item group anti-patterns in .csproj files", "fixing CS2002 duplicate file warnings from SDK globbing", "fixing Include vs Update misuse on SDK-globbed items", "fixing FileWrites registration for generated file clean support", "moving generated files to IntermediateOutputPath" — which matches the anchor 'Lists multiple specific concrete actions; comprehensive coverage' rather than the score-4 anchor with 'minor gaps in coverage'.

5 / 5

Completeness

Both questions are answered explicitly: the 'what' ("Patterns for managing MSBuild item groups: Include/Remove/Update semantics, item metadata, batching with %(Metadata), transforms, per-item filtering") and the 'when' via an explicit "USE FOR:" clause with concrete trigger scenarios plus a "DO NOT USE FOR:" clause. This matches the score-5 anchor exactly; the score-4 anchor ('when' could be more explicit) does not apply since the when-clause is itemized and specific.

5 / 5

Trigger Term Quality

Natural trigger terms are comprehensive and include file extensions, error codes, and symptom phrasings users actually say: ".csproj", "CS2002 duplicate file warnings", "targets that run more times than expected", "cross-product batching", "Include vs Update misuse". Fits the score-5 anchor 'Comprehensive coverage of natural terms including synonyms and file extensions'; score 4 would require noticeable missing natural terms, and none are evident.

5 / 5

Distinctiveness Conflict Risk

The "DO NOT USE FOR:" clause explicitly routes to five sibling skills ("use target-authoring", "use property-patterns", "use incremental-build", "use msbuild-antipatterns") and scopes out "non-MSBuild build systems", giving a clear niche with minimal conflict risk — the score-5 anchor. Score 4 ('minor overlap risk') is ruled out because disambiguation is already handled explicitly.

5 / 5

Total

20

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
dotnet/skills
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.