К основному содержанию
субагент

unused-code-cleaner — субагент для Claude Code: чистит мёртвый код

Субагент ищет неиспользуемые импорты, функции и классы и удаляет их с проверкой после каждого шага. Пригодится после рефакторинга или перед выкладкой в прод.

Установить в Claude Code · Через claude-code-templates Все способы и платформы ↓
npx claude-code-templates@latest --agent development-tools/unused-code-cleaner
Открыть на GitHub

Что делает unused-code-cleaner

Субагент работает по шагам: определяет языки и структуру проекта, находит точки входа, строит граф зависимостей, а затем удаляет найденное по одному элементу с проверкой синтаксиса и прогоном тестов. Если проверка не прошла, изменение откатывается. Инструменты у него такие: Read, Write, Edit, Bash, Grep, Glob.

Перед правками он делает резервную копию каталога, а для анализа использует npx depcheck и npx ts-unused-exports в JS/TypeScript, py_compile и pytest в Python, javac и mvn test в Java. Динамические обращения вроде getattr(), eval(), window[] или рефлексии в Java он не трогает, как и паттерны фреймворков: модели Django, роуты Flask, компоненты React, бины Spring. Точки входа (main.py, index.js, Main.java), конфиги и тестовые файлы остаются на месте.

Логика простая: безопасность важнее агрессивной чистки. Если назначение кода непонятно, субагент его сохраняет и помечает для ручной проверки. Это значит, что за один прогон вы не получите идеально вычищенный проект — зато не потеряете код, который вызывается через строку в шаблоне или конфиге.

Какие задачи решает

  • убрать импорты, которые остались после переезда на другой модуль
  • найти функции и классы, на которые больше никто не ссылается
  • почистить проект перед выкладкой в прод
  • проверить, не сломались ли тесты после удаления кода
  • откатить правку, если синтаксис или тесты не прошли

Примеры запросов агенту

  • просканируй проект на неиспользуемый код и покажи отчёт
  • удали мёртвые импорты в src, после каждого шага прогоняй тесты
  • сделай бэкап и почисти неиспользуемые функции, спорные места оставь на ручную проверку

Как установить unused-code-cleaner

1Через claude-code-templates

npx claude-code-templates@latest --agent development-tools/unused-code-cleaner

2Вручную: положить файлы

.claude/agents/unused-code-cleaner.md

Для всех проектов — ~/.claude/agents/. Claude делегирует задачу сам по полю description или по @-упоминанию

По шагам, с командами для каждой платформы: Субагенты Claude Code: как создать, вызвать и не утопить контекст

Из того же набора205

Весь набор →
dependency-checker Хук на PostToolUse: после правки файла зависимостей запускает аудит пакетов и показывает, что устарело или уязвимо. 2 314установок security-scanner Хук запускает проверку безопасности каждый раз, когда Claude правит или создаёт файл. Ищет уязвимости и захардкоженные секреты. 2 256установок nextjs-code-quality-enforcer Хук на PostToolUse проверяет каждый записанный файл Next.js: структуру App Router, директивы Server/Client, импорты и типы. Срабатывает сразу после правки. 2 249установок add-changelog Команда обновляет файл CHANGELOG.md по стандарту Keep a Changelog. Она считывает недавние коммиты через git и помогает подготовить описание релиза. 2 025установок report-generator Субагент превращает разрозненные заметки и результаты исследований в структурированный отчёт в Markdown. Пригодится на финальном шаге работы, когда нужно свести факты воедино. 1 930установок fact-checker Субагент для Claude, который разбирает текст на проверяемые утверждения и оценивает надёжность источников. Пригодится, когда нужно перепроверить черновик, отчёт или чужую цитату. 1 919установок performance-profiler Субагент для Claude, который ищет узкие места в производительности, утечки памяти и просадки под нагрузкой. Пригодится, когда приложение тормозит, а причина неочевидна. 1 875установок academic-researcher Ищет и разбирает научные публикации, проверяет качество источников и готовит обзоры литературы. Пригодится для анализа методик и поиска исследовательских пробелов. 1 855установок

Похожие

fallow fallow-rs Анализирует проекты на TypeScript и JavaScript: ищет мёртвый код, дубликаты и архитектурные риски. Помогает подготовить кодовую базу к рефакторингу. CX Codex +1 9 600установок vulture-dead-code laurigates Скилл учит агента искать неиспользуемые функции, классы, переменные и импорты в Python через vulture и deadcode. Пригодится при чистке старой кодовой базы. CX Codex +1 311установок dead-code parcadei Скилл находит неиспользуемые функции и недостижимый код через статический анализ TLDR. Запускается по запросу, когда нужно почистить проект. CX Codex +1 729установок refactor-safely tirth8205 Строит план рефакторинга по графу зависимостей, показывает список правок перед переименованием и проверяет радиус влияния до крупных изменений. CX Codex +1 1 100установок codebase-refactoring kucherenko Скилл запускает аудит кодовой базы через утилиту jscpd. Помогает пошагово сократить дублирование, вычистить мёртвый код и упростить перегруженные файлы. CX Codex +1 613установок ai-slop-cleaner Yeachan-Heo Удаляет избыточный код нейросетей через чистку дублей и лишних слоёв. Помогает навести порядок без изменения поведения программы. CX Codex +1 1 600установок

Рядом в теме «Код-ревью и рефакторинг»

Все субагенты по теме «Код-ревью и рефакторинг» →

Вопросы о unused-code-cleaner

Как установить unused-code-cleaner в Claude?

Через шаблоны: npx claude-code-templates@latest --agent development-tools/unused-code-cleaner. Файл субагента появится по пути .claude/agents/unused-code-cleaner.md.

Что делает unused-code-cleaner?

Ищет неиспользуемые импорты, функции и классы в проекте и удаляет их пошагово, проверяя синтаксис и тесты после каждого удаления. Если проверка не прошла, изменение откатывается.

Какой код он не станет удалять?

Всё, что вызывается динамически: getattr(), eval(), globals() в Python, window[] и динамический import() в JavaScript, рефлексии и аннотации в Java. Также сохраняются точки входа, конфиги, тестовые файлы и паттерны фреймворков.

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой