Code Quality
Агент больше не спрячет баг за зелёными тестами: шлюз ловит подделки
Навык untangle-codebase предназначен для полного рефакторинга всей кодовой базы за один проход. Он помогает агентам, работающим в базе, меньше читать на каждое изменение, реже незаметно ломать код и быстрее находить причины ошибок. Пользователь может запустить рефакторинг и выбрать необязательные дополнения: удаление комментариев, пересказывающих код, и работу с тестами — удаление тех, что не ловят реальные баги, и исправление тех, что падают без бага; выполняются только выбранные.
Процесс начинается с вопросов пользователю, затем навык перечисляет все проблемы, не меняя код. После этого система перепроектируется с нуля, будто текущие требования были известны с самого начала. Все найденные проблемы исправляются, а результат проверяется субагентами до тех пор, пока не останется стоящих исправлений.
Проблемы ищутся по критерию: должны ли части меняться вместе. Учитываются скрытые связи, копии логики, ненужные связи и излишества. Особые случаи вроде условий для одного значения или проглоченных исключений анализируются, чтобы понять правильное устройство системы.
Каждое исправление проверяется тем, что совместно меняющиеся части оказываются вместе, а зависимости направлены на менее изменчивое: более изменчивый код зависит от более стабильного. Особые случаи, ставшие ненужными, удаляются, а нужные системе сохраняются. Отдельно баги не ищутся, но структурные исправления могут попутно устранить некоторые.
Если пользователь выбрал Comments, удаляются комментарии, пересказывающие реализацию, но сохраняются комментарии о внешних обстоятельствах. Если выбраны Tests, тесты обрабатываются последними: удаляются те, что повторяют реализацию или не могут упасть, исправляются те, что падают без реального бага, а тесты, завязанные на внутренности, переписываются на поведение.
Готовность определяется по нескольким признакам: особых случаев осталось как можно меньше, типичное изменение попадает в одно место, каждый импорт разумен, субагенты не находят стоящих исправлений, а намеченное поведение совпадает с исходным, кроме багов, исправленных рефакторингом.
Для работы с большими базами рекомендуется начать со скелета, убрав тела функций, чтобы база помещалась в контекст, поручать субагентам суммаризацию частей, часто строить граф зависимостей и использовать историю Git как свидетельство частоты изменений.
Агент больше не спрячет баг за зелёными тестами: шлюз ловит подделки
Настоящая инженерия вместо вайб-кодинга: навыки для работы с агентами