safe-refactoring
Installation
SKILL.md
Safe Refactoring
Ключевое отличие рефакторинга от любой другой правки: внешнее поведение не меняется. Если в процессе хочется "а заодно исправить вот эту логику" — это уже не рефакторинг, и это стоит выделить в отдельный шаг.
Предусловие
Перед началом рефакторинга должны быть тесты, покрывающие текущее поведение. Если тестов нет — сначала написать характеризующие тесты ("characterization tests"), которые фиксируют текущее поведение как есть (даже если оно неидеальное), и только потом начинать менять структуру.