eval-performance

Diagnose and optimize MSBuild project evaluation performance using binlog analysis.

Updated Jul 20, 2026
One-click install
npx skills add https://github.com/Netcodr81/kinetic-reports --skill eval-performance-netcodr81
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: eval-performance
Source: https://github.com/Netcodr81/kinetic-reports/tree/main/.github/skills/eval-performance
Command: npx skills add https://github.com/Netcodr81/kinetic-reports --skill eval-performance-netcodr81

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? MSBuild builds that stall before any compilation starts are often caused by slow project evaluation — expensive glob patterns, deep import chains, or redundant evaluations. This Skill helps you measure, confirm, and fix evaluation bottlenecks instead of guessing. ## Core Features & Use Cases - Measurement-first diagnosis: Uses the binlog MCP server, text-log replay, /pp preprocessing, and /clp:PerformanceSummary to prove evaluation is the bottleneck before recommending changes. - Glob and import optimization: Identifies expensive glob patterns walking node_modules, .git, or bin/obj, and analyzes import chains deeper than 20 levels. - Multiple evaluation detection: Finds projects evaluated more than once due to differing global properties, and recommends graph builds or property normalization. - Use Case: A solution build spends 40 seconds before the first compiler invocation. Use this Skill to replay the binlog, confirm evaluation dominates, locate a broad **/*.cs glob scanning node_modules, and fix it with DefaultItemExcludes. ## Quick Start Analyze my build.binlog to find out why MSBuild evaluation is slow and suggest the smallest fix.

Frequently Asked Questions about eval-performance

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

FAQPage Schema
How do I diagnose slow MSBuild project evaluation?▼

Capture a binlog and analyze it with the binlog MCP server to list evaluations and their durations. As a fallback, replay the binlog with a diagnostic text log and search for evaluation started and finished events, or use /clp:PerformanceSummary for a timing breakdown.

How to speed up MSBuild glob patterns over large directories?▼

Add large directories like node_modules, .git, bin, and obj to DefaultItemExcludes so globs skip them. Prefer specific paths such as src/**/*.cs over **/*.cs, and only disable EnableDefaultItems as a last resort since it loses SDK defaults.

Why is my MSBuild project evaluated multiple times?▼

A project is evaluated once per unique set of global properties, so references from multiple projects with differing properties cause repeated evaluations. Normalize global properties or use graph build with /graph to reduce redundant evaluations.

When should I not use MSBuild evaluation performance analysis?▼

Do not use it when slowness occurs during compilation or target execution, or when the issue is incremental builds rebuilding too much. Those require build-perf-diagnostics or incremental-build analysis instead, and you should never change configuration without a measurement proving evaluation is slow.

What does MSBuild /pp preprocessing show for evaluation analysis?▼

The /pp flag outputs the fully expanded project with all imports inlined, revealing import depth, total content volume, and the import tree via Importing comments. Preprocessed output over 10K lines indicates heavy evaluation worth investigating.