eval-performance

Diagnose MSBuild project evaluation timing and optimize imports and glob patterns.

Updated Mar 18, 2026
One-click install
npx skills add https://github.com/Mozart-Alkhateeb/ai_sdlc_todo --skill eval-performance-mozart-alkhateeb
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: eval-performance
Source: https://github.com/Mozart-Alkhateeb/ai_sdlc_todo/tree/main/.agents/skills/eval-performance
Command: npx skills add https://github.com/Mozart-Alkhateeb/ai_sdlc_todo --skill eval-performance-mozart-alkhateeb

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

MSBuild project evaluation can introduce startup delays as properties, imports, and item definitions are evaluated before any compilation. This Skill provides diagnosis and optimization guidance to reduce evaluation time and stabilize build startup.

Core Features & Use Cases

  • Diagnose evaluation phases and timing for MSBuild projects.
  • Analyze preprocessing output with /pp to understand imports and content growth; identify heavy glob patterns and long import chains; provide optimization guidance such as DefaultItemExcludes and focused globs.
  • Use in scenarios like binlog slowdowns, large repository trees, and deep import chains to guide improvements.
  • Supports steps for reducing redundant evaluations through graph builds and property scoping.

Quick Start

Run dotnet msbuild -pp:full.xml on your slow MSBuild project to inspect imports and evaluate preprocessing output.

Frequently Asked Questions about eval-performance

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

FAQPage Schema
Why does MSBuild evaluation take so long at startup?

MSBuild evaluation startup slows when deep import chains and heavy glob patterns walk large directories before compilation begins. Diagnosing these phases helps isolate the exact bottleneck causing the delay.

How do I use MSBuild preprocessing to diagnose slow project evaluation?

Run dotnet msbuild -pp:full.xml on your project to generate preprocessing output. Analyzing this output reveals import content growth and deep import chains, guiding optimizations to reduce evaluation overhead.

How do I get timing data for MSBuild evaluation phases?

Use the /clp:PerformanceSummary switch with MSBuild to capture timing data for evaluation phases. This identifies which imports or item evaluations consume the most startup time.

What is the best way to optimize glob patterns in large MSBuild repositories?

Optimize glob patterns in MSBuild by applying DefaultItemExcludes to limit directory traversal and using focused globs instead of broad searches. This reduces evaluation overhead in large repository trees.

Can I reduce redundant MSBuild evaluations across a large project graph?

Reduce redundant MSBuild evaluations by leveraging graph builds and property scoping. This minimizes repeated evaluations across import chains and stabilizes build startup performance.