EN: A Russian-first Agent Skill that makes agent prose read like competent human writing instead of default LLM output. It strips bureaucratic Russian, chatbot habits and templated rhetoric while preserving meaning. It is a synthesis of three MIT projects, not a concatenation, and it does not try to fool AI detectors. English rules are included as a secondary branch.
human-writing — writing skill для AI-агентов. Он меняет не содержание ответа, а то, как агент разговаривает с человеком.
Особенно полезен для coding agents, которые отвечают технически правильно, но примерно так:
Стоит отметить, что данный подход представляет собой достаточно эффективное решение, которое позволяет существенно повысить качество взаимодействия...
вместо:
Этот вариант проще и в твоём случае подходит лучше.
У современных моделей узнаваемая манера общения. Они любят:
- пересказывать вопрос перед ответом;
- начинать с «Отличный вопрос»;
- писать «Важно отметить...» там, где отмечать нечего;
- превращать два предложения в статью с шестью разделами;
- использовать канцелярит вместо нормальных слов;
- строить конструкции «это не просто X — это Y»;
- повторять один вывод несколько раз разными словами;
- заканчивать каждый ответ предложением дальнейшей помощи;
- переносить английские LLM-паттерны в русский текст.
По отдельности это мелочи. Вместе они дают текст, который читаешь и сразу понимаешь: «это написал AI».
Цель скилла не в обходе AI-детекторов. Она проще: сделать общение агента с человеком менее раздражающим и более естественным.
Скилл работает не со списком «плохих слов», а с несколькими слоями сразу. Примеры ниже иллюстративные; реальный прогон — в разделе «До / после».
Убирает chatbot-поведение. «Отличный вопрос! Давайте разберёмся.» становится «Да. Здесь проблема в...». «Если хотите, я также могу помочь вам настроить...» исчезает, если предложение не нужно.
Чистит русский канцелярит.
Необходимо осуществить настройку параметров конфигурации.
→ Нужно настроить конфигурацию.
Данное решение позволяет осуществить оптимизацию процесса обработки запросов.
→ Это ускоряет обработку запросов.
Убирает типичные AI-конструкции. «Это не просто инструмент — это фундаментально новый подход к разработке» без реального контраста превращается в «Это другой подход к разработке». Под наблюдением также «Стоит отметить...», «Важно понимать...», «Следует учитывать...», «Давайте погрузимся...», «Не только X, но и Y», искусственные тройки аргументов и псевдоаналитические выводы без новой информации.
Не превращает каждый ответ в статью. На вопрос «Redis здесь нужен?» агенту не обязательно отвечать разделами «Введение / Преимущества / Недостатки / Итог». Нормальный ответ:
Скорее нет.
Если Redis нужен только ради кеша этого запроса, я бы сначала оставил
локальный кеш. Redis имеет смысл добавлять, когда кеш должен быть общим
между несколькими инстансами.
Сохраняет технический язык. endpoint, deploy, rollback, middleware, race condition, feature flag остаются как есть. Скилл не заменяет нормальную разработческую речь литературным русским ради «чистоты языка».
Не запрещает нормальную русскую пунктуацию. Некоторые humanizer-промпты работают механикой: NEVER use em dash, NEVER write sentences longer than N words. Длинное тире для русского нормально. Проблема появляется, когда модель двадцать раз подряд пишет «Это не X — это Y». Скилл правит паттерн, а не знак препинания.
Русский здесь не перевод английских правил. У русского AI-текста свои признаки:
- «Стоит отметить...», «Следует подчеркнуть...», «В рамках данного подхода...», «Осуществление оптимизации...»;
- избыток отглагольных существительных;
- чрезмерно официальный регистр;
- английский синтаксис, перенесённый в русский;
- попытка придать каждому предложению «вес»;
- ненужные связки между очевидно связанными мыслями.
Скилл учитывает именно их. Для английского текста внутри есть отдельная ветка правил.
Реальный прогон на Claude Sonnet. Запрос: «Перепиши для внутренней рассылки команде, чтобы читалось нормально, смысл не меняй».
| Было | Стало |
|---|---|
|
В рамках осуществления перехода на новую систему мониторинга необходимо отметить, что данный процесс является ключевым шагом на пути повышения эффективности взаимодействия команд. Следует учитывать, что с целью минимизации рисков миграция будет производиться поэтапно: на первом этапе осуществляется перенос дашбордов, на втором — алертинга, на третьем — логирования. Важно понимать, что на сегодняшний день сроки завершения второго этапа определены как 20 сентября. Просьба ко всем ответственным лицам обеспечить актуализацию соответствующей документации. |
Переходим на новую систему мониторинга — это должно повысить эффективность работы команд друг с другом. Чтобы снизить риски, делаем миграцию поэтапно: сначала дашборды, потом алертинг, затем логирование. Второй этап (алертинг) нужно завершить к 20 сентября. Просьба ответственным обновить соответствующую документацию. |
Факты, порядок этапов и дата сохранены. Обращение и подпись не добавлены, потому что их не было в исходнике.
human-writing/
├── SKILL.md # полные правила, загружаются по требованию
├── GLOBAL_RULES.md # короткий блок для AGENTS.md / CLAUDE.md
├── install.sh / install.ps1
├── SOURCES.md
├── THIRD_PARTY_LICENSES.md
└── LICENSE
GLOBAL_RULES.md (~280 слов) держится включённым постоянно. Он отвечает за базовое поведение: отвечать сразу, не пересказывать запрос, не хвалить пользователя автоматически, не раздувать короткий ответ, не заканчивать каждое сообщение стандартным chatbot CTA. Подходит для AGENTS.md, CLAUDE.md, глобальных инструкций и system prompt.
SKILL.md — полная версия. Подключается, когда агент пишет или редактирует текст для людей: документацию, README, сообщения пользователю, письма, release notes, описания задач, статьи, посты, product copy. Внутри: режимы «ответ / черновик / редактура / аудит / точечная правка», базовый стиль для русского, шаблонная риторика LLM, ритм и структура, голос автора, жанровая поправка, английская ветка, финальная проверка.
Приоритеты внутри скилла фиксированы: факты и требования среды → явные инструкции пользователя → жанр и аудитория → правила стиля.
Для coding agent не стоит включать полный humanizer на каждый ответ. Ответ «panic происходит из-за записи в nil map» не нужно «очеловечивать», он уже хороший. Поэтому:
GLOBAL_RULES.md— всегда активен, правит обычные ответы;SKILL.md— подключается там, где модель начинает писать текст, а не просто передавать информацию.
npx skills add codemistake/human-writing --globalБез --global скилл ставится только в текущий проект. --agent claude-code, --agent codex, --agent '*' выбирают агентов.
Скопируйте папку репозитория в каталог скиллов агента:
| Агент | Путь |
|---|---|
| Claude Code | ~/.claude/skills/human-writing/ |
| Codex | ~/.codex/skills/human-writing/ |
| Cursor | ~/.cursor/skills/human-writing/ |
| OpenCode | ~/.config/opencode/skills/human-writing/ |
Или скриптом из клона репозитория:
./install.sh claude # opencode | claude | codex | cursor | all.\install.ps1 claudeЕсли платформа не поддерживает skills как отдельную сущность, содержимое SKILL.md можно подать как дополнительный system/developer prompt, а GLOBAL_RULES.md — как постоянные инструкции агента.
Скачайте human-writing.zip со страницы Releases и загрузите его в Settings → Capabilities → Skills → Upload skill. Не берите архив всего репозитория: загрузчику нужен SKILL.md в корне архива.
Добавьте содержимое GLOBAL_RULES.md в свой глобальный AGENTS.md / CLAUDE.md / инструкции OpenCode. Установочные скрипты этот файл специально не трогают, чтобы не затереть ваши правила.
| blader/humanizer | ilyautov/humanizer-ru | Anbeeld/WRITING.md | human-writing | |
|---|---|---|---|---|
| Основной язык | EN | RU | EN | RU, EN как вторая ветка |
| Цель | убрать признаки AI-текста | поднять perplexity/burstiness, обойти детекторы | качество прозы для читателя | качество прозы для читателя |
| Обход AI-детекторов | нет | да, явно | нет | нет, осознанно |
| Жёсткие баны слов | сигналы | 20 жёстких банов | сигналы | сигналы, зависят от жанра |
| Длинное тире в русском | — | запрещено | — | разрешено, правится только навязчивый повтор |
| Юридический / научный текст | — | — | по жанру | консервативная правка |
Глобальный блок для AGENTS.md |
нет | нет | WRITING-mini.md |
GLOBAL_RULES.md |
- Не обманывает AI-детекторы. Детекторы ненадёжны, а оптимизация под detector score обычно делает текст хуже. Критерий другой: было бы нормально получить такой текст от реального коллеги?
- Не добавляет искусственные ошибки. Никаких специальных опечаток, сленга, обрывков предложений и случайных разговорных частиц. Человеческий текст не обязан быть плохим текстом.
- Не делает текст «максимально разговорным». У README, RFC, сообщения в Telegram и ответа на code review разный стиль. Скилл сохраняет подходящий регистр, а не приводит всё к одному голосу.
- Не заменяет содержание. Если модель галлюцинирует факты, writing skill это не исправит. Он отвечает за «как сказать», а не за «правда ли это».
Это промпт-уровень. Он убирает самые частые дефолты модели, но не отменяет их полностью. На длинном тексте полезно попросить агента сделать аудит по разделу 12 скилла и переписать по его результатам. На уже нормальном тексте скилл должен ничего не трогать, и это тоже правило.
Цель не в том, чтобы сделать AI «неотличимым от человека». Цель — убрать из текста то, что модель добавила только потому, что она модель. Если предложение ничего не добавляет, его можно удалить. Если мысль можно сказать проще, её стоит сказать проще. Если ответ закончен, не нужно ещё одного абзаца с тем же выводом.
Скилл — оригинальный синтез идей из трёх MIT-проектов:
- Anbeeld/WRITING.md — общие принципы естественного и контекстного письма;
- ilyautov/humanizer-ru — русскоязычные AI-паттерны и антиканцелярит;
- blader/humanizer — база англоязычных LLM writing patterns.
Правила пересмотрены, дедуплицированы и адаптированы под coding agents, а не склеены из исходных промптов. Что именно взято — в SOURCES.md, тексты лицензий — в THIRD_PARTY_LICENSES.md.
Лицензия: MIT.