← ClaudeAtlas

safe-removallisted

Безопасно удалить функциональность, эндпоинт, поле, таблицу или зависимость. Используй, когда просят убрать, выпилить, отключить, удалить фичу или почистить неиспользуемый код — удаление опаснее добавления, потому что зелёные тесты его не подтверждают.
DanielLetto2020/vibe-rules · ★ 1 · AI & Automation · score 69
Install: claude install-skill DanielLetto2020/vibe-rules
# Удаление функциональности Удаление опаснее добавления, и по неочевидной причине: **зелёные тесты после удаления ничего не доказывают.** Если функциональность не была покрыта, её исчезновение не заметит ни один тест — вплоть до жалобы пользователя через неделю. Поэтому здесь порядок обратный обычному: сначала доказать, что удалять можно, и только потом удалять. ## 1. Найти всех потребителей Ищи по всем слоям, не только по прямым вызовам: - прямые вызовы и импорты в коде; - маршруты, обработчики консольных команд, планировщик задач; - обработчики очередей — сообщение может прийти из другого сервиса; - шаблоны и фронтенд; - миграции, сиды, фикстуры; - конфигурация, переменные окружения, feature-флаги; - документация и клиентские SDK. Ищи по частям имени тоже: вызов может собираться динамически из строки, и обычный поиск по полному имени его не найдёт. **Отдельно проверь внешних потребителей.** Публичный эндпоинт, поле в ответе API, событие в очереди, колонка, которую читает отчёт или соседний сервис, — их не видно из этого репозитория вообще. ## 2. Доказать, что не используется Отсутствие вызовов в коде — не доказательство. Проверь фактическое использование: - логи и метрики за представительный период: эндпоинт с нулём обращений за месяц и эндпоинт, который вызывают раз в квартал при закрытии периода, — разные случаи; - аналитика по клиентам, если это публичный интерфейс; - поиск по другим репозиториям организации. Если данных нет — скажи об этом прямо. «Похоже,