# binlog-generation

Скилл заставляет агента добавлять /bl:{} к каждой команде MSBuild, чтобы после сборки остался файл .binlog с полной трассировкой. Пригодится, когда сборка падает или тормозит.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 3500 установок · ★ 5730
- Автор: dotnet
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/dotnet/skills/tree/HEAD/plugins/dotnet-msbuild/skills/binlog-generation/SKILL.md
- Обновлён: 2026-10-24
- HTML: https://affpapa.org/nevibecode/skills/binlog-generation

## Что делает

Скилл дописывает флаг `/bl:{}` к любой команде, которая вызывает MSBuild: `dotnet build`, `test`, `pack`, `publish`, `restore` и прямой вызов `msbuild`. После прогона рядом остаётся `.binlog` с полной картиной того, что делал движок сборки. Агент делает это сам при каждом запуске — напоминать не нужно.

Плейсхолдер `{}` MSBuild заменяет на уникальный идентификатор, поэтому две сборки подряд не затрут один и тот же файл. Работает это на MSBuild 17.8+ и .NET 8 SDK и новее — на более старых версиях `{}` не раскроется, и имя файла придётся выбирать вручную: скилл советует глянуть уже лежащие в каталоге `*.binlog` и взять свободный номер. В PowerShell переключатель берут в кавычки целиком, вот так: `dotnet build '-bl:{}'`, иначе оболочка разберёт фигурные скобки по-своему.

После сборки агент проверяет, что файл действительно появился: сборка, упавшая до старта MSBuild (скажем, из-за кривого аргумента), binlog не оставит. Отдельным пунктом идёт `git clean -fdx` — без `-e "*.binlog"` он сносит историю сборок, а вместе с ней и возможность сравнить «до» и «после». Читают эти логи скиллы `binlog-failure-analysis` и `build-perf-diagnostics`, для них binlog — входные данные.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add dotnet/skills --skill binlog-generation -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/binlog-generation/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/binlog-generation/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add dotnet/skills --skill binlog-generation -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/binlog-generation/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add dotnet/skills --skill binlog-generation -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/binlog-generation/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install dotnet/skills binlog-generation
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/binlog-generation/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add dotnet/skills --skill binlog-generation -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/dotnet/skills --path plugins/dotnet-msbuild/skills/binlog-generation
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/binlog-generation/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add dotnet/skills --skill binlog-generation -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/dotnet/skills/tree/HEAD/plugins/dotnet-msbuild/skills/binlog-generation/SKILL.md

## Когда брать
- оставить binlog от упавшей сборки, не перезапуская её
- собрать Debug и Release, не перезаписав логи
- скормить трассировку сборки в `binlog-failure-analysis`
- сохранить историю сборок при `git clean -fdx`

## Примеры запросов агенту
- Собери решение с `/bl:{}`, чтобы остался binlog
- Прогони `dotnet test '-bl:{}'` в PowerShell и покажи, куда лёг файл
- Пересобери в Release с `/bl:{}` и сравни с прошлым binlog

## Похожие
- [container-publish](https://affpapa.org/nevibecode/skills/container-publish.md) — скилл · 2800 установок
- [dotnet-project-structure](https://affpapa.org/nevibecode/skills/dotnet-project-structure.md) — скилл · 658 установок
- [project-structure](https://affpapa.org/nevibecode/skills/project-structure.md) — скилл · 2800 установок
- [cloud-logging-query-generation](https://affpapa.org/nevibecode/skills/cloud-logging-query-generation.md) — скилл · 5885 установок
- [cloud-monitoring-chart-generation](https://affpapa.org/nevibecode/skills/cloud-monitoring-chart-generation.md) — скилл · 4800 установок
- [ai-video-generation](https://affpapa.org/nevibecode/skills/prime-skills-ai-video-generation.md) — скилл · 383000 установок

Из того же набора: [dotnet/skills](https://affpapa.org/nevibecode/by/dotnet/skills.md) — 101 карточка

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
