К основному содержанию
скилл CX Codex

binlog-failure-analysis — скилл для Claude Code: разбор и установка

Разбирает бинарные логи MSBuild (.binlog) и находит причины сбоев сборки. Пригодится, когда ошибки в консоли непонятны или сбоят связанные проекты.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add dotnet/skills --skill binlog-failure-analysis -a claude-code
Открыть на GitHub

Что делает binlog-failure-analysis

Скилл анализирует файлы .binlog с помощью MCP-сервера Microsoft.AITools.BinlogMcp (пространство имён binlog). Вместо ручного чтения сырых текстовых логов агент напрямую запрашивает ошибки, предупреждения, свойства MSBuild, зависимости PackageReference и порядок вызова таргетов. Файлы проектов читаются прямо из архива лога. Исходный код на диске не обязателен.

Файл .binlog имеет бинарный формат, поэтому читать его через cat или strings нельзя — это сломает разбор. Если MCP-сервер недоступен в окружении или сборка шла на старом SDK, скилл переключается на запасной сценарий. Он воспроизводит бинарный лог в текстовые файлы через dotnet msbuild с диагностическим уровнем и ищет ошибки grep-ом.

Какие задачи решает

  • Разобрать запутанные ошибки сборки MSBuild из файла .binlog
  • Найти первопричину каскадных сбоев в многопроектных решениях
  • Проверить порядок выполнения таргетов и значения свойств сборки
  • Извлечь файлы .csproj и .props, сохранённые внутри бинарного лога

Примеры запросов агенту

  • Изучи build.binlog и объясни, почему упал таргет CoreCompile
  • Найди в build.binlog ошибки компиляции и покажи конфликтующие PackageReference
  • Проанализируй каскадный сбой в build.binlog и выдели первый упавший проект

Как установить binlog-failure-analysis

1Через Skills CLI (Vercel)

npx skills add dotnet/skills --skill binlog-failure-analysis -a claude-code

2Вручную: положить файлы

~/.claude/skills/binlog-failure-analysis/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/binlog-failure-analysis/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора101

test-gap-analysis Разбирает, какие видимые вызывающему исходы в продакшн-коде могут измениться, а тесты этого не заметят. Пригодится перед правкой, когда надо понять, чего стоит текущий набор проверок. CX Codex +1 3 500установок crap-score Считает метрику риска изменений CRAP для методов, классов и файлов в .NET. Помогает найти сложный код с недостаточным тестовым покрытием. CX Codex +1 3 500установок assertion-quality Разбирает утверждения в готовых тестах и показывает, где проверка пустая: тест зелёный, а правильность кода он не подтверждает. CX Codex +1 3 600установок dotnet-aot-compat Разбирает предупреждения IL-анализатора по одному и доводит .NET-проект до совместимости с Native AOT и триммером. Пригодится после перехода на net8.0. CX Codex +1 3 600установок migrate-nullable-references Скилл помогает включить nullable reference types в C#-проекте и разрешить все предупреждения. Подходит для миграции существующих кодовых баз, файл за файлом или целиком, и для аннотирования публичных API. CX Codex +1 3 400установок migrate-dotnet10-to-dotnet11 Скилл переводит проекты и решения с .NET 10 на .NET 11. Он обновляет целевой фреймворк, пакеты и исправляет несовместимости C# 15 и EF Core 11. CX Codex +1 3 400установок detect-static-dependencies Ищет в C# и .NET-коде статические зависимости, которые мешают тестам. Нужен перед добавлением unit-тестов или планированием рефакторинга. CX Codex +1 3 400установок technology-selection Помогает выбрать библиотеку для AI и ML в .NET 8+ и не даёт смешать несовместимые подходы. Пригодится, когда добавляете классификацию, RAG или агентов. CX Codex +1 3 400установок

Похожие

dotnet-project-structure Aaronontheweb Скилл подсказывает агенту, как разложить .NET-решение: .slnx, Directory.Build.props, центральные версии пакетов и SourceLink. CX Codex +1 658установок project-structure codewithmukesh Скилл задаёт агенту правила раскладки .NET-решения: центральные версии пакетов, общие свойства сборки, формат .slnx и именование проектов. CX Codex +1 2 800установок container-publish codewithmukesh Собирает OCI-образы прямо из dotnet publish /t:PublishContainer, без Dockerfile. Пригодится, когда проект на .NET 10 надо упаковать в контейнер и запушить в реестр. CX Codex +1 2 800установок log-analysis aj-geddes Скилл для разбора логов приложений и систем: находит ошибки, повторяющиеся паттерны и первопричину сбоя. Пригодится, когда надо разобраться, почему падает сервис. CX Codex +1 657установок sentry-dotnet-sdk getsentry Скилл проводит через полную настройку Sentry в .NET-проекте: ошибки, трейсинг, логи, профилирование и кроны. Полезен, когда нужно подключить мониторинг в ASP.NET Core, MAUI, WPF или Blazor. CX Codex +1 2 300установок testcontainers wshaddix Скилл для интеграционных тестов .NET: поднимает реальные базы, Redis и брокеры сообщений в Docker вместо моков. CX Codex +1 565установок

Рядом в теме «DevOps и инфраструктура»

Всё по теме «DevOps и инфраструктура» →

Вопросы о binlog-failure-analysis

Как установить binlog-failure-analysis в Claude Code?

Выполните в терминале команду npx skills add dotnet/skills --skill binlog-failure-analysis -a claude-code. Конфигурация сохранится по пути ~/.claude/skills/binlog-failure-analysis/SKILL.md.

Что делает скилл binlog-failure-analysis?

Он опрашивает готовый файл .binlog через MCP-инструменты MSBuild, чтобы выявить сбои сборки, свойства и порядок таргетов. Если MCP-сервер запустить не удалось, скилл конвертирует бинарный лог в текстовый через dotnet msbuild.

Что делать, если исходных файлов проекта нет на диске?

Скилл достаёт нужные файлы .csproj, .props и конфигурации прямо из архива .binlog через методы MCP-сервера. Наличие репозитория в файловой системе для анализа не требуется.

Исходный текст

SKILL.md · MIT
---
name: binlog-failure-analysis
description: "Analyze MSBuild binary logs to diagnose build failures. USE FOR: build errors that are unclear from console output, diagnosing cascading failures across multi-project builds, tracing MSBuild target execution order, and generally any MSBuild build issues. Requires an existing .binlog file. DO NOT USE FOR: generating binlogs (use binlog-generation), binlog MCP startup or connection failures (use troubleshoot-binlog-mcp), non-MSBuild build systems."
license: MIT
---

# Analyzing MSBuild Failures with Binary Logs

This skill diagnoses MSBuild build failures from a `.binlog` file. The preferred
path uses the **binlog MCP server** (`Microsoft.AITools.BinlogMcp`, exposed under the
`binlog` MCP namespace) which is bundled with this plugin. If the MCP server is
not available, use `troubleshoot-binlog-mcp` to diagnose startup when repair is wanted.
If repair is blocked, declined, or unnecessary for this task, continue with the
**binlog replay** workflow at the bottom.

## Primary workflow — binlog MCP

The MCP server exposes structured tools for inspecting a `.binlog` without
parsing text logs. Call them directly instead of replaying the binlog to a text
file. Call `tools/list` for the MCP first if you are unsure which tools are available.

**Important constraints:**
- The `.binlog` file is a **binary format** — do NOT try to `cat`, `head`, `strings`, or read it directly. Use only the MCP tools to query it.
- The **original source/project files might or might NOT be available on disk**. Project files (.csproj, .props, .targets, App.config, etc.) - if you cannot locate them on disk, they can only be read from within the binlog via MCP tools (e.g., embedded/source file retrieval).
- **Synthesize findings as you go.** Do not spend all available time investigating — once you have enough evidence, present your conclusions. A partial answer with clear reasoning is better than timing out mid-investigation.

Use the available MCP server tools to query the binary log for:
- Build errors and warnings
- MSBuild properties and their values
- MSBuild items (PackageReference, ProjectReference, etc.)
- Project evaluation data
- Target execution details
- File contents embedded in the binlog

## Fallback workflow — text-log replay (when MCP is unavailable)

Use this only when the MCP server cannot be started (for example, on an older
SDK or in an offline environment).

### Replay the binlog to text logs

```bash
dotnet msbuild build.binlog -noconlog \
  -fl  "-flp:v=diag;logfile=full.log;performancesummary" \
  -fl1 "-flp1:errorsonly;logfile=errors.log" \
  -fl2 "-flp2:warningsonly;logfile=warnings.log"
```

> **PowerShell note:** Use `-flp:"v=diag;logfile=full.log;performancesummary"`
> (quoted semicolons).

### Search the text logs

```bash
cat errors.log
grep -n -B2 -A2 "CS0246" full.log
grep -i "CoreCompile.*FAILED\|Build FAILED\|error MSB" full.log
grep 'Target "CoreCompile"' full.log | grep -oP 'project "[^"]*"'
```

## Generating a binlog (only if none exists)

```bash
dotnet build /bl:build.binlog
```

© dotnet · MIT · dotnet/skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой