deslop — скилл
Скилл чистки кода после агентов: находит лишние тесты, самопроверки и запасные ветки и удаляет их, сохраняя поведение
- 140 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Режимы с `apply` удаляют тесты и код в репозитории, хотя по умолчанию скилл только читает.
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add skills/deslopОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Режимы с `apply` удаляют тесты и код в репозитории, хотя по умолчанию скилл только читает.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
deslop разбирает код, который за десятки циклов правок накопил агент, и ищет в нем три вида лишнего. Первый вид — тесты, которые дублируют друг друга или защищают один и тот же сбой. Второй — проверки, где автор результата сам же его и подтверждает, например контрольная сумма без стороннего потребителя. Третий — запасные ветки, которые прячут неожиданную внутреннюю ошибку вместо обработки настоящего случая. Каждое удаление опирается на независимые доказательства: актуальные требования, реальных вызывающих, публичные контракты, границы доверия и хранения данных. Если доказательств мало, код остается. Безопасность, транзакции, параллелизм, поддерживаемые старые форматы и научные инварианты сохраняются по умолчанию. Скилл по умолчанию только читает и выдает отчет с пометками HIGH и PRESERVE. Правки вносит лишь аргумент `apply`. Дополнительные режимы: `tests apply` для тестов, `current branch apply` для текущей ветки, `deep` для аудита всего репозитория. Коммиты, пуши и смену веток нужно разрешать отдельно.
Для кого. Разработчикам, чей репозиторий месяцами вел Codex или Claude Code, и тесты с запасными ветками в нем разрослись быстрее самой логики.
Подходит, если
- Набор тестов разросся, а при правке одной функции падает десяток почти одинаковых проверок.
- Агент добавил контрольные суммы и квитанции, которые сам же создает и сам же проверяет.
- Код обложен вложенными запасными ветками, и настоящая причина сбоя в журнале не видна.
- Ветка с задачей закончена, и ее изменения перед слиянием проверяют на лишнюю механику командой `current branch apply`.
- Команда хочет увидеть план чистки заранее и принимать каждое удаление по доказательствам.
Не подходит, если
- Надо отформатировать код или причесать стиль: deslop удаляет лишнюю механику и форматированием не занимается.
- Цель — сократить число тестов ради числа: скилл уменьшает поверхность тестов и сохраняет поведение.
- Лишние тесты в репозитории оставили люди, и причины знает только команда.
- Проект хочет перепроектировать архитектуру: скилл вычищает код без нового дизайна.
Пример запроса к агенту
/deslop deep — проверь весь репозиторий, ничего не меняй и покажи, что удалил бы и что сохранил.Ограничения
Версия 0.3.4, автор сам называет проект развивающимся и не заявляет о готовности к продакшену. Проверка скилла идет на небольших учебных репозиториях и одном разобранном вручную случае, а общих выводов о превосходстве над другими способами чистки нет. В Claude Code вызов по умолчанию не запрещает самостоятельный выбор скилла, поэтому в описании сказано запускать его явно. Режимы с `apply` меняют файлы, а коммиты и пуши агент делает только с отдельного разрешения.
Как отключить. В Claude Code выполните `/plugin uninstall deslop` или удалите ссылку `~/.claude/skills/deslop`. В Codex удалите папку `~/.agents/skills/deslop`.
Частые вопросы
Как установить deslop в Claude Code?
Добавьте репозиторий как маркетплейс командой `/plugin marketplace add MrZoyo/deslop-GPT` и поставьте плагин: `/plugin install deslop@deslop`. Команда плагина — `/deslop:deslop`.
Как поставить deslop в Codex?
Вызовите `$skill-installer` и укажите адрес `https://github.com/MrZoyo/deslop-GPT/tree/v0.3.4/skills/deslop`. Либо клонируйте тег v0.3.4 и свяжите `skills/deslop` ссылкой с `~/.agents/skills/deslop`. Запуск в Codex — `$deslop`.
Меняет ли deslop файлы без спроса?
Нет, по умолчанию он только читает и отчитывается. Правки вносит аргумент `apply`, а подготовку коммита, пуш и смену ветки нужно разрешать отдельно.
Какие режимы запуска есть?
Без аргументов или с `audit` идет аудит выбранной области, `apply` вносит проверенную чистку, `tests apply` занимается тестами, `current branch apply` чистит работу текущей ветки. `deep` проверяет весь репозиторий, а `deep apply` чистит его без перепроектирования.
Что скилл гарантированно оставляет?
Различающиеся сценарии успеха, отказа и ошибки, проверки на реальных границах хранения и сети, поддерживаемую совместимость и сохранность данных. При неполных доказательствах код сохраняется.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
СкиллыСкилл /improve: сильная модель проверяет репозиторий и пишет самодостаточные планы правок, а исполнение отдаете более дешевой модели
kyy-logs code-review-skill
code-review-skill
Скилл ревью кода: четыре независимых прохода, замечания с доказательствами и допуск к слиянию из JSON
Скилл разработки под доказательства: агент окружает код спецификацией и набором проверок, чтобы построчное ревью стало необязательным
Методы для агента в одном CLI: сравнение вариантов, разбор проблем и правки кода по шагам, всего 20 слэш-команд.
Скилл для разбора и аудита кода: объясняет, что и почему делает код, вместо того чтобы просто принять его
14 скиллов, которые находят пробелы в задаче до кода: интервью, план, проверка допущений и доказательство исправления бага
Коротко о README
Документация разбирает приоритеты чистки в процентах, которые отражают замысел автора, и таблицу «удалить или сохранить». Дальше идут таблица проверок на Codex и Claude Code с разными версиями скилла, полевое испытание на реальном репозитории и ссылки на дизайн-документ.
Бейдж для README
Исходный SKILL.md
--- name: deslop description: Audit or apply evidence-backed, test-first subtractive cleanup for accumulated agent-created test bloat, verification theater, and defensive or fallback bloat while preserving independent external behavior. Invoke explicitly for semantic simplification, not generic refactoring. --- # Deslop Deslop removes complexity accumulated during repeated coding-agent implementation and correction cycles. It is a semantic cleanup policy, not a beautifier, dead-code sweeper, generic refactoring tool, or redesign assistant. ## Priority order Work in this order. Do not let an easy dead-code deletion displace a higher-priority cluster. 1. **Test-suite bloat.** Treat tests as production code that can accumulate after every agent correction. Remove duplicate, self-referential, implementation-detail, and obsolete tests while retaining a minimum sufficient set of independent behavioral evidence. 2. **Verification theater.** Investigate checksums, receipts, manifests, validators, recomputation, and result envelopes whose producer and verifier share the same information and failure domain. 3. **Defensive and fallback bloat.** Investigate broad catches, catch-and-fallback paths, speculative compatibility branches, repeated validation, and recovery machinery that masks errors without a current contract. Generic dead code, wrappers, abstractions, comments, and ordinary duplication are secondary. Touch them only when they belong to one of the three target clusters or have direct high-confidence evidence. **Reduce test surface, not behavior surface.** Evidence that a test is redundant or accumulated test-suite bloat justifies deleting or consolidating that test; it is not independent evidence for changing the production behavior the test exercises. When test-suite bloat is the active target, keep distinct externally observable production semantics—including public success, rejection, error, edge-case, and supported compatibility behavior—outside the deletion target unless the production construct is separately justified for removal by another target cluster, or direct evidence from current requirements, real callers, specifications, or history establishes that the behavior is obsolete or incorrect. Do not reclassify tested behavior as defensive or validation bloat merely because deleting its test leaves nothing else requiring it; the test may be its clearest executable specification. Adding tests is not the default response to cleanup. When production slop is deleted, tests whose only purpose is to protect that slop should normally be deleted in the same change. ## Test-first evidence pass When tests are in scope, complete this pass before changing production behavior: 1. Inventory collected test nodes plus their fixtures, fakes, helper stacks, generated inputs, output targets, skips, and deselection rules. 2. Map each test to `current owner -> production branch -> observable result -> independent oracle -> failure domain`. 3. Group tests by failure domain. Consolidate inputs that reach the same branch and result; preserve separate rejection, safety, persistence, protocol, resource, and numerical semantics. 4. Choose the strongest surviving evidence root for each group: a public seam where possible, an independently specified low-level invariant where necessary, and one hermetic cross-layer root for each current delivery path. 5. Remove fixtures and test-only support with the tests they serve. Remove production code in that cluster only when separate caller, contract, history, and reachability evidence also justify it. 6. Re-collect and run the remaining suite. Record skips and deselections, and compare worktree state before and after tests that may generate files. Do not use coverage, test count, or a test-created configuration as an owner. The output of this pass is a smaller evidence set with the same real failure domains, not a target number of tests. ### Test decision contrast - **HIGH cleanup:** several tests reach the same public success branch; one asserts the exact externally visible result while the others only repeat construction, type, or non-empty checks. Keep the strongest behavioral root and remove the dominated tests plus support used only by them. - **PRESERVE:** one test covers successful output and another covers externally visible rejection, safety, persistence, or supported compatibility behavior. They protect different results or failure domains; do not merge or delete one merely to reduce the count. ## Closed justification loops Production code does not justify a test merely because the test exercises it. A test does not justify production code merely because the production code exists. Follow justification chains outward until they reach an independent evidence root.