binlog-failure-analysis — скилл для Claude Code: разбор и установка
Разбирает бинарные логи MSBuild (.binlog) и находит причины сбоев сборки. Пригодится, когда ошибки в консоли непонятны или сбоят связанные проекты.
npx skills add dotnet/skills --skill binlog-failure-analysis -a claude-codeЧто делает 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-code2Вручную: положить файлы
~/.claude/skills/binlog-failure-analysis/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/binlog-failure-analysis/
1Через Skills CLI (Vercel)
npx skills add dotnet/skills --skill binlog-failure-analysis -a codex2Вручную: положить файлы
.agents/skills/binlog-failure-analysis/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add dotnet/skills --skill binlog-failure-analysis -a cursor2Вручную: положить файлы
.cursor/skills/binlog-failure-analysis/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install dotnet/skills binlog-failure-analysis2Вручную: положить файлы
.github/skills/binlog-failure-analysis/SKILL.md1Через Skills CLI (Vercel)
npx skills add dotnet/skills --skill binlog-failure-analysis -a gemini-cli2Командой платформы
gemini skills install https://github.com/dotnet/skills --path plugins/dotnet-msbuild/skills/binlog-failure-analysisВручную: положить файлы
.devin/skills/binlog-failure-analysis/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add dotnet/skills --skill binlog-failure-analysis -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора101
Похожие
Рядом в теме «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