binlog-analysis

Diagnoses MSBuild failures by fetching binlogs and analyzing them via the binlog-mcp MCP server.

4.3k|872|Updated Jan 10, 2015
One-click install
npx skills add https://github.com/dotnet/fsharp --skill binlog-analysis
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: binlog-analysis
Source: https://github.com/dotnet/fsharp/tree/main/.github/skills/binlog-analysis
Command: npx skills add https://github.com/dotnet/fsharp --skill binlog-analysis

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires Microsoft.AITools.BinlogMcp, and includes scripts (resource) components.

What problem does it solve?

When a local build or a failed dotnet/fsharp Azure DevOps PR build breaks, finding the root cause inside a large MSBuild binary log is tedious. This Skill fetches the relevant .binlog file and hands it to the binlog-mcp MCP server for structured error extraction, root-cause diagnosis, and build performance analysis.

Core Features & Use Cases

  • Binlog Acquisition: Resolves the newest local build binlog under artifacts/log, or downloads the published binlog artifact from a failed fsharp-ci Azure DevOps PR build by PR number or build ID.
  • Structured Diagnosis: Delegates analysis to the binlog-mcp MCP server, exposing tools like binlog_overview, binlog_diagnose, binlog_errors, and binlog_warnings for categorized root causes with file, line, and project context.
  • Build Performance X-ray: Surfaces expensive targets, tasks, and analyzers, plus incrementality and double-write analysis for build perf investigations.
  • Use Case: A PR build fails on fsharp-ci with a WarnAsError. Run the script with -PrNumber to download the binlog, then call binlog_diagnose to get the categorized root cause and next-step hints without opening the log manually.

Quick Start

Ask the agent to analyze the build failure for PR 19941 by fetching its binlog and running binlog_overview and binlog_diagnose on it.

Frequently Asked Questions about binlog-analysis

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

FAQPage Schema
How do I analyze an MSBuild binlog from a failed build?

Run the Get-Binlog.ps1 script to resolve the binlog path, then pass it to the binlog-mcp MCP tools. Start with binlog_overview for error counts, then binlog_diagnose for categorized root causes and binlog_errors for structured diagnostics.

How do I get the binlog from a failed Azure DevOps PR build?

Run Get-Binlog.ps1 with -PrNumber to download the binlog artifact from the latest failed fsharp-ci build for that PR, or use -BuildId for a specific build. The artifact is extracted to a temp folder and kept so the MCP server can read it.

Can binlog analysis diagnose test failures or formatting check failures?

No. Test failures and CheckCodeFormatting failures produce no errors in the build binlog, so binlog_overview will show a successful build with zero errors. Use PR build status or flaky test investigation tools instead.

What prerequisites are needed to run binlog analysis?

You need PowerShell 7, a .NET SDK, and the Microsoft.AITools.BinlogMcp tool registered as an MCP server with your agent. The tool is pinned in the repo's .config/dotnet-tools.json and restored with dotnet tool restore.

Why does the same error appear multiple times in binlog_errors?

Multi-targeted projects report one row per target framework, so a single source error in a project targeting net10.0 and netstandard2.0 appears once per TFM. A deduplicated view is proposed upstream in the binlog-mcp tooling.