build-perf-baseline

Establishes MSBuild performance baselines and applies systematic build optimization techniques.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Slow .NET builds are hard to fix without measurements. This Skill guides you through establishing cold, warm, and no-op build baselines, then applying proven MSBuild optimizations so every change is backed by before/after data instead of guesswork. ## Core Features & Use Cases - Baseline Measurement: Measure cold, warm, and no-op build scenarios with binary logs to identify where build time is spent. - Optimization Techniques: Apply MSBuild Server, artifacts output layout, deterministic builds, dependency graph trimming, static graph builds, and parallel build tuning. - Decision Tree Guidance: Follow a structured decision tree that routes slow-build symptoms to the right follow-up diagnostics. - Use Case: Your solution's no-op build takes 45 seconds. Use this Skill to record the baseline, enable UseArtifactsOutput and graph builds, trim redundant ProjectReferences, and verify the improvement with a second measurement. ## Quick Start Ask the AI to measure cold, warm, and no-op build times for my .NET solution and recommend optimizations based on the results.

Frequently Asked Questions about build-perf-baseline

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

FAQPage Schema
How do I measure .NET build performance?▼

Measure three scenarios: a cold build after deleting bin/obj folders, a warm build after changing one file, and a no-op build with no changes. Use dotnet build with the /bl flag to capture binary logs for each scenario.

How to speed up a slow dotnet build?▼

Start by recording a baseline, then enable MSBuild Server, UseArtifactsOutput, and static graph builds with /graph. Trim redundant ProjectReferences, separate restore from build, and tune parallelism with the -m flag.

What is a good no-op build time for MSBuild?▼

A no-op build should finish in under 5 seconds for small repos and under 30 seconds for large repos, with all compilation targets skipped as up-to-date. A no-op build over 30 seconds indicates broken incremental build.

When should I use dotnet build /graph?▼

Use static graph builds for large solutions with 20 or more projects and in CI, where upfront graph evaluation improves scheduling and parallelism. For solutions under 5 projects, the graph evaluation overhead usually outweighs the benefits.

Why does my warm build recompile everything?▼

Full recompilation on warm builds usually means the project dependency chain forces downstream rebuilds. Remove redundant transitive ProjectReferences, use ReferenceOutputAssembly="false" for build-order-only dependencies, and check incremental build Inputs/Outputs.

Does this approach work for non-MSBuild build systems?▼

No, these techniques are specific to MSBuild and the dotnet CLI, including features like MSBuild Server, UseArtifactsOutput, and static graph builds. Other build systems like Bazel or Gradle require different tooling.