Generate MSBuild binary logs (binlogs) for build diagnostics and analysis. USE FOR: adding /bl:{} to any dotnet build, test, pack, publish, or restore command to capture a full build execution trace, prerequisite for binlog-failure-analysis and build-perf-diagnostics skills, enabling post-build investigation of errors or performance. Requires MSBuild 17.8+ / .NET 8 SDK+ for {} placeholder; PowerShell needs -bl:{{}}. DO NOT USE FOR: non-MSBuild build systems (npm, Maven, CMake), analyzing an exis
SkillScore91Maintained
Automatic
◆Coding pack
Last verified 8/9/2026
What it changes
Passed 21 of 23 test cases with the skill, and 17 of 23 without it.
Without skill74%
With skill91%
Checks it passed that the model alone missed
Escapes the braces as {{}} in PowerShell.
Uses /bl:{} for both the build and test commands.
Recommends /bl:{} for automatic unique log file creation.
and 4 more in the full report
6 fixed15 passed either way0 still failing2 broke
Pass-rate lift
+17 pp
Tokens
+19%
Agent turns
0%
Response time
+18%
Model gemini-3.6-flashMeasured 8/9/2026v121 of 23 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 6 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 6
Prompt
I'm working in PowerShell on Windows and want to build my project in both Debug and Release configurations. I need the commands to generate binary logs for each configuration without log file collisions. Also, I'm planning to clean up untracked git files afterwards—how should I run the git clean command so my generated binary logs aren't deleted?
What was checked, without and with the skill
Checked
Without skill
With skill
Uses double braces {{}} in the binary log flag for PowerShell commands.
Missed
Passed
Includes git clean with -e "*.binlog" to preserve log files.
Passed
Passed
case-02 · gemini-3.6-flash · 8/9/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md119 linessingle file
Generate Binary Logs
Pass the /bl switch when running any MSBuild-based command. This is a non-negotiable requirement for all .NET builds.
Commands That Require /bl
You MUST add the /bl:{} flag to:
dotnet build
dotnet test
dotnet pack
dotnet publish
dotnet restore
msbuild or msbuild.exe
Any other command that invokes MSBuild
Preferred: Use {} for Automatic Unique Names
Note: The {} placeholder requires MSBuild 17.8+ / .NET 8 SDK or later.
The {} placeholder in the binlog filename is replaced by MSBuild with a unique identifier, guaranteeing no two builds ever overwrite each other — without needing to track or check existing files.
# Every invocation produces a distinct file automatically
dotnet build /bl:{}
dotnet test /bl:{}
dotnet build --configuration Release /bl:{}
PowerShell requires escaping the braces:
# PowerShell: escape { } as {{ }}
dotnet build -bl:{{}}
dotnet test -bl:{{}}
Why This Matters
Unique names prevent overwrites - You can always go back and analyze previous builds
Failure analysis - When a build fails, the binlog is already there for immediate analysis
Diagnose MSBuild build performance bottlenecks using binary log analysis. USE FOR: identifying why builds are slow by analyzing binlog performance summaries, detecting ResolveAssemblyReference (RAR) taking >5s, Roslyn analyzers consuming >30% of Csc time, single targets dominating >50% of build time, node utilization below 80%, excessive Copy tasks, NuGet restore running every build. Covers timeline analysis, Target/Task Performance Summary interpretation, and 7 common bottleneck categories. Use