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.