Official agent skill

Build Parallelism

by microsoft in microsoft/testfx

Guide for optimizing MSBuild build parallelism and multi-project scheduling.

OfficialMITAuto-check passed

Install Build Parallelism

skills CLI
$ npx skills add microsoft/testfx --skill build-parallelism -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install microsoft/testfx build-parallelism --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/microsoft/testfx.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/build-parallelism .claude/skills/build-parallelism && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
build-parallelism
GitHub stars
1k
Token cost
~1.2k tokens
SKILL.md length
493 words
Files
1
Skills in repo
44
Repo updated
First seen
Licence
MIT

At a glance

Guide for optimizing MSBuild build parallelism and multi-project scheduling.

  • Works in 5 steps: Use expensive_projects tool → find the… → Use expensive_targets tool → find… → Use project_target_times tool → drill… → …
  • : builds not utilizing all CPU cores
  • SKILL.md covers MSBuild Parallelism Model, Project Dependency Graph, Graph Build Mode (/graph) and Optimizing Project References, plus 4 more sections
  • Calls dotnet

What it does

Build Parallelism is an agent skill from microsoft/testfx, published by the product's own GitHub organization. Guide for optimizing MSBuild build parallelism and multi-project scheduling. USE FOR: builds not utilizing all CPU cores, speeding up multi-project solutions, evaluating graph build mode (/graph), build time not improving with -m flag, understanding project dependency topology. Note: /maxcpucount default is 1 (sequential) — always use -m for parallel builds. Covers /maxcpucount, graph build for better scheduling and isolation, BuildInParallel on MSBuild task, reducing unnecessary ProjectReferences, solution…

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: This repository holds the source code of Microsoft.Testing.Platform (MTP), a lightweight alternative to VSTest, as well as MSTest adapter and framework. The licence is MIT.

When your agent uses it

  • : builds not utilizing all CPU cores
  • Speeding up multi-project solutions
  • Evaluating graph build mode (/graph)
  • Build time not improving with -m flag

Example prompts

  • “/build-parallelism”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Use expensive_projects tool → find the slowest projects and compare individual vs total build time
  2. Use expensive_targets tool → find bottleneck targets
  3. Use project_target_times tool → drill into a specific project's target-level timing
  4. Ideal: build time should be much less than sum of project times (parallelism)
  5. If build time ≈ sum of project times: too many serial dependencies, or one slow project blocking others

What it can do on your machine

Read from SKILL.md and the folder at commit 44b9dcc. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • dotnet

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Build Parallelism loads about 1.2k tokens when it runs. Until then it costs about 188 tokens; SKILL.md has 493 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~188
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from microsoft/testfx at commit 44b9dcc, republished under its MIT licence (© microsoft). 493 words, ~1,159 tokens.

Download SKILL.mdSave it as .claude/skills/build-parallelism/SKILL.md (or your agent's skills folder).
name
build-parallelism
description
Guide for optimizing MSBuild build parallelism and multi-project scheduling. USE FOR: builds not utilizing all CPU cores, speeding up multi-project solutions, evaluating graph build mode (/graph), build time not improving with -m flag, understanding project dependency topology. Note: /maxcpucount default is 1 (sequential) — always use -m for parallel builds. Covers /maxcpucount, graph build for better scheduling and isolation, BuildInParallel on MSBuild task, reducing unnecessary ProjectReferences, solution filters (.slnf) for building subsets. DO NOT USE FOR: single-project builds, incremental build issues (use incremental-build), compilation slowness within a project (use build-perf-diagnostics), non-MSBuild build systems.
license
MIT

MSBuild Parallelism Model

  • /maxcpucount (or -m): number of worker nodes (processes)
  • Default: 1 node (sequential!). Always use -m for parallel builds
  • Recommended: -m without a number = use all logical processors
  • Each node builds one project at a time
  • Projects are scheduled based on dependency graph

Project Dependency Graph

  • MSBuild builds projects in dependency order (topological sort)
  • Critical path: longest chain of dependent projects determines minimum build time
  • Bottleneck: if project A depends on B, C, D and B takes 60s while C and D take 5s, B is the bottleneck
  • Diagnosis: replay binlog to diagnostic log with performancesummary and check Project Performance Summary — shows per-project time; grep for node.*assigned to check scheduling
  • Wide graphs (many independent projects) parallelize well; deep graphs (long chains) don't

Graph Build Mode (/graph)

  • dotnet build /graph or msbuild /graph
  • What it changes: MSBuild constructs the full project dependency graph BEFORE building
  • Benefits: better scheduling, avoids redundant evaluations, enables isolated builds
  • Limitations: all projects must use <ProjectReference> (no programmatic MSBuild task references)
  • When to use: large solutions with many projects, CI builds
  • When NOT to use: projects that dynamically discover references at build time

Optimizing Project References

  • Reduce unnecessary <ProjectReference> — each adds to the dependency chain
  • Use <ProjectReference ... SkipGetTargetFrameworkProperties="true"> to avoid extra evaluations
  • <ProjectReference ... ReferenceOutputAssembly="false"> for build-order-only dependencies
  • Consider if a ProjectReference should be a PackageReference instead (pre-built NuGet)
  • Use solution filters (.slnf) to build subsets of the solution

BuildInParallel

  • <MSBuild Projects="@(ProjectsToBuild)" BuildInParallel="true" /> in custom targets
  • Without BuildInParallel="true", MSBuild task batches projects sequentially
  • Ensure /maxcpucount > 1 for this to have effect

Multi-threaded MSBuild Tasks

  • Individual tasks can run multi-threaded within a single project build
  • Tasks implementing IMultiThreadableTask can run on multiple threads
  • Tasks must declare thread-safety via [MSBuildMultiThreadableTask]

Analyzing Parallelism with Binlog

Show full SKILL.md (207 more words)Show less
Primary: binlog MCP (preferred)

Use the binlog MCP server (Microsoft.AITools.BinlogMcp, exposed under the binlog MCP namespace):

  1. Use expensive_projects tool → find the slowest projects and compare individual vs total build time
  2. Use expensive_targets tool → find bottleneck targets
  3. Use project_target_times tool → drill into a specific project's target-level timing
  4. Ideal: build time should be much less than sum of project times (parallelism)
  5. If build time ≈ sum of project times: too many serial dependencies, or one slow project blocking others
Fallback: text-log replay (when MCP is unavailable)

Step-by-step:

  1. Replay the binlog: dotnet msbuild build.binlog -noconlog -fl -flp:v=diag;logfile=full.log;performancesummary
  2. Check Project Performance Summary at the end of full.log
  3. Ideal: build time should be much less than sum of project times (parallelism)
  4. If build time ≈ sum of project times: too many serial dependencies, or one slow project blocking others
  5. grep 'Target Performance Summary' -A 30 full.log → find the bottleneck targets
  6. Consider splitting large projects or optimizing the critical path

CI/CD Parallelism Tips

  • Use -m in CI (many CI runners have multiple cores)
  • Consider splitting solution into build stages for extreme parallelism
  • Use build caching (NuGet lock files, deterministic builds) to avoid rebuilding unchanged projects
  • dotnet build /graph works well with structured CI pipelines

© microsoft, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/build-parallelism of microsoft/testfx.

Open the folder on GitHubat commit 44b9dcc

Compare with similar skills

Build Parallelism next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Build Parallelism compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Build Parallelism this skillmicrosoft/testfx1k—~1.2kAutomated safety check: PassMIT
Parallel Execution Optimizeraffaan-m/ECC274k1 repos~712Automated safety check: PassMIT
Parallel Execution Optimizeraffaan-m/ECC274k—~363Automated safety check: PassMIT
Scheduleasgeirtj/system_prompts_leaks69k—~2.7kAutomated safety check: PassCC0-1.0
Scheduleasgeirtj/system_prompts_leaks69k—~597Automated safety check: PassCC0-1.0
SQL Optimizationgithub/awesome-copilot40k2 repos~2.3kAutomated safety check: PassMIT

Similar skills

  • Speed up a task by turning it into a dependency graph of parallel lanes with a lane matrix, batched reads and checks, write surfaces isolated by file, worktree, branch, or service, and a final…

    274k GitHub starsUsed in 1 repo~712 tokens
    DevelopmentAuto-check passed
  • 当用户希望通过并行工作、并发 agents、批量工具调用、隔离 worktree 或多条独立验证通道来大幅加速任务、同时不损失正确性时使用。

    274k GitHub stars~363 tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Schedule

    asgeirtj/system_prompts_leaks

    Create, update, list, or run scheduled cloud agents (routines) that execute on a cron schedule.

    69k GitHub stars~2.7k tokensUpdated yesterday
    Productivity & AutomationAuto-check passed
  • Schedule

    asgeirtj/system_prompts_leaks

    Create or update a scheduled task that runs automatically. An agent skill from asgeirtj/system_prompts_leaks.

    69k GitHub stars~597 tokensUpdated yesterday
    Productivity & AutomationAuto-check passed
  • SQL Optimization

    github/awesome-copilot

    Official

    Universal SQL performance optimization assistant for comprehensive query tuning, indexing strategies, and database performance analysis across all SQL databases (MySQL, PostgreSQL, SQL Server…

    40k GitHub starsUsed in 2 repos~2.3k tokens
    DatabasesAuto-check passed
  • Agent skill for performance-optimizer - invoke with $agent-performance-optimizer

    74k GitHub starsUsed in 2 repos~3.6k tokens
    Auto-check passed

More from microsoft/testfx

All 44 skills in this repo
  • Official

    Guide for organizing MSBuild infrastructure with Directory.Build.props, Directory.Build.targets, Directory.Packages.props, and Directory.Build.rsp.

    1k GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • Binlog Failure Analysis

    microsoft/testfx

    Official

    Analyze MSBuild binary logs to diagnose build failures. An agent skill from microsoft/testfx.

    1k GitHub starsUsed in 3 repos~730 tokens
    Auto-check passed
  • Coverage Analysis

    microsoft/testfx

    Official

    Project-wide code coverage and CRAP (Change Risk Anti-Patterns) score analysis for .NET projects.

    1k GitHub stars~7.3k tokensUpdated today
    Auto-check passed
  • Incremental Build

    microsoft/testfx

    Official

    Guide for optimizing MSBuild incremental builds. An agent skill from microsoft/testfx.

    1k GitHub starsUsed in 3 repos~3.7k tokens
    Auto-check passed
  • Msbuild Modernization

    microsoft/testfx

    Official

    Guide for modernizing and migrating MSBuild project files to SDK-style format.

    1k GitHub starsUsed in 3 repos~4.3k tokens
    Auto-check passed
  • Msbuild Antipatterns

    microsoft/testfx

    Official

    Catalog of MSBuild anti-patterns with detection rules and fix recipes.

    1k GitHub stars~4.5k tokensUpdated today
    Auto-check passed

Questions about Build Parallelism

What does Build Parallelism do?

Guide for optimizing MSBuild build parallelism and multi-project scheduling. Build Parallelism is an agent skill from microsoft/testfx, published by the product's own GitHub organization. Guide for optimizing MSBuild build parallelism and multi-project scheduling.

When should I use Build Parallelism?

Build Parallelism fits situations like: : builds not utilizing all CPU cores; speeding up multi-project solutions; evaluating graph build mode (/graph); build time not improving with -m flag.

How do I install Build Parallelism in Claude Code?

Run `npx skills add microsoft/testfx --skill build-parallelism -a claude-code`. Or copy the skill folder (.agents/skills/build-parallelism in microsoft/testfx) into .claude/skills/build-parallelism in your project. Claude Code loads it when a task matches its description.

How do I install Build Parallelism in Codex?

Run `npx skills add microsoft/testfx --skill build-parallelism -a codex`. Or copy the skill folder (.agents/skills/build-parallelism in microsoft/testfx) into .agents/skills/build-parallelism in your project. Codex loads it when a task matches its description.

Can I use Build Parallelism in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add microsoft/testfx --skill build-parallelism -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/build-parallelism, .gemini/skills/build-parallelism, .github/skills/build-parallelism and .opencode/skills/build-parallelism in your project.

What does Build Parallelism need to run?

Going by SKILL.md and its folder, Build Parallelism needs the command-line tools its instructions call (dotnet).

Does Build Parallelism access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Build Parallelism safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Build Parallelism use?

Build Parallelism is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Build Parallelism use?

About 1.2k tokens (SKILL.md is roughly 4.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Build Parallelism?

Skills that share tags, products or a category with Build Parallelism: Parallel Execution Optimizer (affaan-m/ECC, 274k stars), Parallel Execution Optimizer (affaan-m/ECC, 274k stars), Schedule (asgeirtj/system_prompts_leaks, 69k stars) and Schedule (asgeirtj/system_prompts_leaks, 69k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Build Parallelism?

microsoft (a GitHub organization, an official publisher) maintains it in microsoft/testfx, which has 1,047 GitHub stars. The repository holds 44 skills in this directory. The repository was last updated on October 7, 2026.

Source: microsoft/testfx on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.