code-humanizer — скилл
Скилл находит в коде мусор от ИИ-агентов: дубли хелперов, пустые абстракции, слабые тесты. Чистит по одному шаблону за коммит.
- 95 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- В режиме исправления скилл меняет код и создает коммиты; по умолчанию он только готовит отчет.
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add skills/code-humanizerОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- В режиме исправления скилл меняет код и создает коммиты; по умолчанию он только готовит отчет.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Скилл ищет в коде приметы работы ИИ-агента: дубли существующих хелперов, клоны `_v2`, абстракции с единственной реализацией, широкие `except Exception`, комментарии-пересказы и тесты, которые проверяют только мок. Каталог состоит из 16 шаблонов в пяти уровнях, у каждого есть признаки обнаружения и примеры до и после. По умолчанию режим «сканировать и отчитаться»: таблица находок с номером шаблона, серьезностью от 0 до 4, доказательством, предложенной правкой и возможным влиянием на поведение. Правки идут после одобрения, один шаблон за коммит, с прогоном тестов после каждого шага. Режим guard проверяет новые изменения до и после реализации.
Для кого. Разработчику, чей репозиторий писали агенты и который хочет убрать лишние абстракции и дубли, не ломая поведение.
Подходит, если
- PR агента добавил новые хелперы, повторяющие `utils`.
- Репозиторий написан в стиле vibe coding, и перед релизом нужен отчет о мусоре.
- Реализацию новой функции хочется провести в режиме guard, чтобы агент сначала осмотрел репозиторий.
- Каталог `experiments/` допускает беспорядок, а `src/` нет.
Не подходит, если
- В проекте нет тестов: скилл тогда только описывает находки и ничего не правит.
- Нужна чистка прозы или документации: для текста есть отдельные humanizer-скиллы.
- Хочется общего рефакторинга: скилл сохраняет поведение и не трогает несвязанный код.
Пример запроса к агенту
Используй code-humanizer и просканируй этот PR: нужен только отчет, без правок.Ограничения
Без тестов скилл работает только в режиме отчета. Находки с серьезностью 1, то есть оправданные, например резервный импорт с обоснованием, остаются нетронутыми. Тесты по умолчанию попадают в отчет без правок. Последний коммит в репозитории сделан в июле 2026. Правки с влиянием на поведение выносятся в отдельные коммиты с пометкой `[BEHAVIOR]`. Скрытые ошибки скилл только отмечает в отчете и не исправляет молча.
Как отключить. Удалите каталог `~/.claude/skills/code-humanizer` или папку скилла в проекте. Для установки через `npx skills` скилл убирается тем же менеджером.
Частые вопросы
Как поставить code-humanizer в Claude Code?
Выполните `npx skills add LeonardNJU/code-humanizer`. Вручную скилл ставится клонированием репозитория в `~/.claude/skills/code-humanizer`.
Меняет ли скилл код без спроса?
Нет. По умолчанию он только сканирует и готовит отчет, а правки делает после одобрения, один шаблон за коммит.
Чем он отличается от humanizer для текста?
Каталог посвящен коду: 16 шаблонов в пяти уровнях, от дублирования до слабых тестов. Приметы письма вроде длинных тире он не ищет.
Что делает режим guard?
Применяет тот же каталог до и после реализации: сначала осматривает репозиторий перед созданием хелперов, потом проверяет только получившийся diff.
Какие агенты подходят?
Любой, кто читает скиллы `SKILL.md`: Claude Code, Codex, Cursor, Cline, Gemini, Copilot и другие.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
СкиллыСкилл чистки кода после агентов: находит лишние тесты, самопроверки и запасные ветки и удаляет их, сохраняя поведение
Скилл ищет в коде лишние абстракции и дубли состояния и убирает безопасно, по доказательствам, одним срезом за раз.
Скилл запускает полный рефакторинг, после которого агентам проще читать код: ищет скрытые связи и лишние зависимости.
Скилл разработки под доказательства: агент окружает код спецификацией и набором проверок, чтобы построчное ревью стало необязательным
Codex-скилл для проверки кода после вайбкодинга: объясняет блоки, называет файлы и строки, сверяет цель с доказательствами.
kyy-logs code-review-skill
code-review-skill
Скилл ревью кода: четыре независимых прохода, замечания с доказательствами и допуск к слиянию из JSON
Коротко о README
Описаны установка, примеры запросов, режимы сканирования, исправления и guard, а также каталог шаблонов по уровням. Три железных правила: поведение сохраняется, без тестов нет правок, один класс шаблонов на коммит. Приведен полевой прогон на репозитории с 13,4 тыс. строк Python.
Бейдж для README
Исходный SKILL.md
---
name: code-humanizer
version: 0.2.0
description: Use when AI-written code needs structural cleanup or when implementing a change under a guard against AI coding slop — duplicated reimplementations of existing helpers, try-import fallbacks, broad exception swallowing, speculative abstraction layers, _v2 copies, dead "for future use" code, narrating comments — including requests to "deslop", "remove AI slop", "humanize code", review an AI-generated PR beyond tests passing, or prevent these patterns in the current change.
license: MIT
compatibility: any-agent
---
# Code Humanizer
Remove signs of AI-generated code from a repository, or prevent the same patterns in the current change with Guard mode. The prose [humanizer](https://github.com/blader/humanizer) removes AI *writing* patterns; this handles AI *coding* patterns — the structural debt agents leave behind when they optimize for "tests pass" instead of "codebase stays healthy."
**Core principle:** AI code slop is not ugly code — it is code that *works* but degrades the repository: it reimplements what already exists, adds abstraction nobody asked for, swallows errors it should surface, and hedges against situations that cannot occur. Unlike prose, code has an oracle: **the test suite decides what "meaning-preserving" means. Use it constantly.**
## Iron rules
Rules 1–4 govern **cleanup of pre-existing code** in Modes A/B. In Guard mode they apply to any cleanup performed after implementation, not to the requested feature work itself. Rule 5 applies in every mode.
1. **Behavior preservation is absolute.** "Cleanup" that changes behavior is a bug with good intentions. This includes *error types and error timing* — swapping an accidental `AttributeError` for a "nicer" `ValueError` changes behavior for every caller that catches it. If you find a latent bug or an ugly-but-load-bearing behavior: **flag it in the report; never fix it silently as part of cleanup.**
2. **No tests → no cleanup edits.** Run the test suite first. If it doesn't exist, doesn't pass, or doesn't cover the pre-existing code you'd clean, you may only **report** that debt (Mode A). Offer to write characterization tests first. This does not forbid implementing a requested change in a project whose tests are incomplete; report the verification gap.
3. **Report before rewriting pre-existing code.** Default to Mode A (scan → report). Only enter Mode B (fix) when the maintainer approves, or was explicit that they want fixes. Guard mode may directly avoid or remove slop introduced by the current change.
4. **One pattern-class per cleanup commit.** Each commit that removes pre-existing slop handles one kind and passes the full suite. A red test reverts the commit — do not "fix forward" into unrelated code. Ordinary feature commits under Guard mode need not be split by pattern when the prevention is inseparable from the implementation.
5. **Search before you judge duplication.** Build a mental index of the repo's existing helpers *before* scanning or implementing (grep `utils`, `helpers`, `common`, validators, existing base classes). You cannot recognize a reimplementation if you don't know what exists.
## Pattern catalog
Severity per finding: **0** absent · **1** present but justified (→ exempt, do not touch) · **2** minor debt · **3** clear debt, raises future maintenance cost · **4** severe, breaks semantics or architecture boundaries.
### Tier 1 — Duplication and reinvention
**1. Reimplementing an existing helper** *(the signature AI tell)*
**Signals:** new private function whose body resembles something in `utils`/`helpers`/a sibling module; a regex/validation/parsing/formatting block that the repo already owns; new code that imports nothing from the package it lives in.
**Problem:** agents write code from the prompt outward, not from the repo inward. Every duplicate forks future fixes.
```python
# Before — repo already has utils.validate_email
def _is_valid_email(s):
pattern = r"^[\w.+-]+@[\w-]+\.[\w.]+$"
if re.match(pattern, s):
return True
return False