CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

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-based APIs and stackalloc, caching values, or profiling build performance. Also applies when reviewing PRs for performance regression.

Quality

89%

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 lean, highly actionable reference skill with specific API guidance and no token waste. Its main gaps are the missing post-optimization verification loop in the profile-first workflow and references that point outside the skill bundle.

Suggestions

Add an explicit verification step after applying an optimization: re-run the benchmark or profiler to confirm the improvement (e.g., 'Re-measure after each change; revert if allocation counts or timing regress'), closing the profile -> optimize -> verify feedback loop.

Bundle the profiling guidance inside the skill (e.g., references/evaluation-profiling.md) or replace the ../../../documentation links with paths that resolve within the skill bundle, so the references work when the skill is deployed.

Spell out the optimization workflow as a short numbered sequence (profile -> identify bottleneck -> apply the matching rule -> re-measure) instead of leaving the order implicit in the Guiding Principle section.

DimensionReasoningScore

Conciseness

The body is dense rules, tables, and one tight BAD/GOOD code example with no padding — it assumes Claude knows LINQ, Span<T>, and MSBuild internals, and the single motivational sentence ('MSBuild evaluates and builds thousands of projects in enterprise solutions. Performance is an architectural concern, not an afterthought.') earns its place by framing the rules.

5 / 5

Actionability

Guidance is concrete and executable throughout: specific APIs (MSBuildNameIgnoreCaseComparer, TryGetValue, RegexOptions.Compiled), an executable BAD/GOOD foreach pattern, named tooling (BenchmarkDotNet, /profileevaluation, ETW), and an anti-pattern table where every entry names its fix.

5 / 5

Workflow Clarity

The only sequence is the guiding principle 'Profile before optimizing; measure, do not guess', which serves as an implicit up-front checkpoint, but there is no explicit step list and no post-change verification loop (re-benchmark to confirm the optimization helped and allocations dropped). Not 4: the verify-after-change checkpoint is absent entirely rather than a minor gap.

3 / 5

Progressive Disclosure

Well-sectioned single file at ~100 lines with clearly signaled one-level references to profiling docs, which is appropriately compact for a guideline skill. Not 5: both referenced files ([evaluation-profiling.md](../../../documentation/evaluation-profiling.md) and General_perf_onepager.md) resolve outside the skill bundle and no bundle files exist, so the links are unresolvable as deployed.

4 / 5

Total

17

/

20

Passed

Description

92%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.

A strong description: concrete, third-person, explicitly triggered ('Consult when...'), and tightly scoped to MSBuild engine performance work. The only shortfall is a few missing natural synonyms such as memory/GC/slow-build phrasing.

DimensionReasoningScore

Specificity

The description lists multiple specific concrete actions — 'reducing allocations, choosing collection types, handling strings efficiently, modifying Expander.cs or Evaluator.cs, using Span-based APIs and stackalloc, caching values, or profiling build performance' — with comprehensive coverage and third-person voice ('Guides performance optimization'). Not 4: there are no coverage gaps among the skill's capabilities.

5 / 5

Completeness

It explicitly answers both what ('Guides performance optimization for MSBuild engine code') and when ('Consult when working on hot paths in evaluation or execution... Also applies when reviewing PRs for performance regression') with concrete trigger phrases. Not 4: the 'when' is explicit and covers multiple scenarios rather than being merely present.

5 / 5

Trigger Term Quality

Natural trigger terms are well covered: 'hot paths', 'allocations', 'Expander.cs', 'Evaluator.cs', 'Span-based APIs and stackalloc', 'caching', 'profiling build performance', 'reviewing PRs for performance regression'. Not 5: a few natural synonyms users would say are missing (e.g., 'memory', 'GC', 'slow build', 'benchmark').

4 / 5

Distinctiveness Conflict Risk

A clear niche — MSBuild engine performance with named engine files (Expander.cs, Evaluator.cs) — makes it highly distinguishable from generic performance or build skills; conflict risk is minimal.

5 / 5

Total

19

/

20

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.

Validation — 14 / 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

Path

.github/skills/optimizing-msbuild-performance/SKILL.md

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.