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