CtrlK
BlogDocsLog inGet started
Tessl Logo

optimizing-msbuild-performance

Guides performance optimization for MSBuild engine code. Consult when working on hot paths in evaluation or execution, reducing allocations, choosing collection types, handling strings efficiently, modifying Expander.cs or Evaluator.cs, using Span<T>/stackalloc, caching values, or profiling build performance. Also applies when reviewing PRs for performance regression.

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

87%

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

A dense, actionable performance reference that assumes expertise and surfaces concrete APIs, types, and named hot paths. Its only gap is the optimization workflow: it mandates measuring before optimizing but never closes the loop with a re-measure/validation step after a change.

Suggestions

Add a validation checkpoint to the optimization workflow — e.g., 'After applying a fix, re-run the same benchmark/profiler to confirm the improvement before moving on.'

Make the measure-fix-remeasure sequence explicit as a short numbered workflow in the Guiding Principle, rather than only stating 'profile before optimizing'.

Optionally note when a change should be reverted if the re-measurement shows no gain, giving a clear feedback loop.

DimensionReasoningScore

Conciseness

Lean, rule-driven body that assumes C#/.NET competence — it does not explain LINQ, GC, or Span<T> from scratch, and tables/code keep every token load-bearing; only a brief framing sentence or two is mildly editorial.

3 / 3

Actionability

Gives concrete, copy-paste-ready guidance: a real BAD/GOOD C# example, specific APIs (MSBuildNameIgnoreCaseComparer, ImmutableArray<T>, TryGetValue), named hot-path files, and an anti-pattern table with fixes.

3 / 3

Workflow Clarity

The Guiding Principle establishes 'Profile before optimizing; measure, do not guess' as an ordering, but the optimization workflow lacks an explicit re-measure/validation checkpoint to confirm a change actually improved performance, so checkpoints remain implicit.

2 / 3

Progressive Disclosure

Well-organized into clearly titled sections with two one-level-deep, well-signaled external doc references for profiling tools; no bundle files exist, and the content is appropriately self-contained with no nested reference chains.

3 / 3

Total

11

/

12

Passed

Description

100%

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

A strong, third-person description that names a clear MSBuild-performance niche, enumerates concrete capabilities, and provides explicit 'Use when'-style triggers. It satisfies every anchor at the top level without padding.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'reducing allocations, choosing collection types, handling strings efficiently, modifying Expander.cs or Evaluator.cs, using Span<T>/stackalloc, caching values, or profiling build performance' — matching the anchor for several specific concrete actions.

3 / 3

Completeness

Explicitly answers both what ('Guides performance optimization for MSBuild engine code') and when ('Consult when... Also applies when reviewing PRs for performance regression'), satisfying the explicit-trigger requirement.

3 / 3

Trigger Term Quality

Covers natural developer phrasings a user would actually say — 'hot paths in evaluation or execution', 'reducing allocations', 'profiling build performance', 'reviewing PRs for performance regression' — with broad coverage rather than generic jargon.

3 / 3

Distinctiveness Conflict Risk

Narrowed to MSBuild engine performance with distinct triggers (Expander.cs, Evaluator.cs, Span<T>/stackalloc, evaluation/execution hot paths), making conflict with other skills unlikely.

3 / 3

Total

12

/

12

Passed

Validation

87%

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

Validation14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

relative_links

Relative link issues: 2 suspicious

Warning

Total

14

/

16

Passed

Repository
dotnet/msbuild
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.