Инкрементальная сборка
Guide for optimizing MSBuild incremental builds. USE FOR: builds slower than expected on subsequent runs, 'nothing changed but it rebuilds anyway', diagnosing why targets re-execute unnecessarily, fixing broken no-op builds. Covers 8 common causes: missing Inputs/Outputs on custom targets, volatile properties in output paths (timestamps/GUIDs), file writes outside tracked Outputs, missing FileWrit
Что делает навык
Направляет диагностику причин медленных или неинкрементальных сборок MSBuild, выявляя, почему targets перезапускаются без необходимости. Помогает исправить неработающие no-op сборки и оптимизировать кэширование зависимостей.
Когда применять
- Сборка выполняется медленнее ожидаемого при последующих запусках
- Ситуация 'ничего не менялось, но пересобирается заново'
- Диагностика причин, почему targets перезапускаются без необходимости
- Исправление неработающих no-op сборок из-за отсутствующих Inputs/Outputs или изменчивых свойств
Как работает
- Определить target и собрать точные доказательства корневой причины проблемы
- Провести сравнение временных меток фактических Inputs и Outputs
- Проверить наличие, удаление, очистку или перезапись файлов Outputs
- Выявить все Inputs, включая динамические или изменчивые (volatile)
- Оценить пути Inputs/Outputs и сопоставить их по принципу 'один к одному' при пакетной обработке (batching)
- Проверить два идентичных билда без изменений: второй должен пропускать выполнение (skip) или показывать статус out-of-date
Примеры запросов агенту
Описание составлено по SKILL.md навыка, сверено 06.10.2026.
Как подключить
SKILL.md к навыкам ассистентаНавык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.