Individual skill
build-parallelism
Analyze an MSBuild solution, solution filter, or Build.proj that schedules multiple project files. USE FOR: measured idle worker nodes, `-m` that does not scale, a serial ProjectReference critical path, graph builds, or an MSBuild task that builds a Projects list. Requires at least two distinct project files whose scheduling or throughput must be analyzed. DO NOT USE for non-MSBuild build systems.
plugins/dotnet-msbuild/skills/build-parallelism/SKILL.md
Source commit 281e39451fb4487b4828d62fcb51ca853589a185
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Not checked yet
- Last checked
- Nov 4, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 5,854
- Repository last updated
- Nov 8, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- agent-skills Repository topic
- engineering Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
Read excerpt
## Diagnose a slow parallel build (start here)
Work this checklist in order — it targets the usual root cause (a serial
dependency chain that no number of cores can parallelize):
1. **Check how many worker nodes actually built the solution.** Capture a
binlog with `dotnet build /bl:{}` (PowerShell: `dotnet build '-bl:{}'`) and
inspect the node timeline to see whether more than one node ran. Every
`dotnet` CLI command built on the SDK's MSBuild-forwarding path (`build`,
`msbuild`, `test`, `pack`, `publish`, etc.) enables `/maxcpucount` (multiple
nodes) by default; `-m:1` forces a single node. A direct `MSBuild.exe`
invocation is sequential by default, so pass `-m` explicitly to enable
parallel worker nodes there.
2. **Find the critical path.** From the binlog, read per-project timings and the