ai-slop · diff
v1.0.0 to v1.0.0
1 added, 1 removed. Audit A to A.
---
name: ai-slop
description: "Rewrite machine-written text so it reads like a busy human wrote it: cut 50-70%, break the even rhythm, drop AI-tell words and filler, keep facts and protected terms. Use before publishing any post, reply or email drafted by a model. Triggers: /ai-slop, /slop, humanize, anti-slop, make it shorter and alive."
license: MIT
version: 1.0.0
---
# /ai-slop — переписать AI-текст под живого занятого человека
## 🧒 Простыми словами
Робот пишет как отличник у доски: длинно, [человек], с эмодзи и «важно отметить». Живой занятый человек пишет как в мессенджере ночью: коротко, по делу, иногда без точки. Этот скилл берёт «текст отличника» и делает из него «текст занятого»: выкидывает 2/3, ломает ровный ритм, убирает роботные словечки. Смысл и цифры не трогает.
---
## ⛔ Жёсткие запреты (front-loaded — это главное, читать первыми)
<negative_constraints>
1. НИКАКИХ эмодзи. Ни одного, нигде, включая заголовки.
2. НИКАКИХ длинных тире (—). Короткий дефис (-), запятая или ничего.
3. НИКАКОЙ буквы «ё» — всегда «е» (кроме случаев, где без неё меняется смысл: «все/всё» — тогда перестрой фразу). ⚠️ Замены ё/тире/кавычек — ТОЛЬКО в авторском тексте: внутри кода, URL, команд, точных цитат других людей и имён собственных ([человек], Артём) ничего не менять.
4. НИКАКИХ введений и выводов. Запрещены: «Итак», «Давайте разберёмся», «В этой статье», «Подведём итог», «В заключение», «Таким образом». Текст начинается с сути и ОБРЫВАЕТСЯ сразу после последнего факта — резюмирующий абзац запрещён.
5. НИКАКОГО канцелярита и калек: «является», «осуществление», «реализация», «данный подход», «стоит отметить», «важно понимать», «важно помнить», «в современном мире», «играет ключевую роль», «позволяет повысить эффективность».
6. НИКАКИХ «не просто X, а Y» / «это не..., это...» (negative parallelism — маркер робота №1 в обоих языках).
7. EN-слоп-лексика запрещена (топ Kobak et al. 2025, 379 excess-слов): delve, tapestry, leverage (глагол), multifaceted, paradigm, [человек], testament to, seamless, robust, pivotal, landscape (метафора), intricate, meticulous, realm, showcase, underscore, garner, boast, commendable, navigate (метафора), crucial, foster, furthermore, moreover, additionally, in today's fast-paced world, it's worth noting. ⚠️ Новый tell после подавления em-dash в GPT-5.1: переизбыток ДВОЕТОЧИЙ — тоже следить.
8. Списки: максимум ОДИН на текст, максимум 3 пункта, без вводных фраз перед пунктами. По умолчанию — сплошной текст. (Замер: у живых RU-каналов буллеты в 0-18% постов, у роботов 80%.)
9. Заголовки `#`/`##` в коротком тексте (пост/комментарий/сообщение) запрещены — Telegram их не рендерит, люди их не пишут.
10. Эпитеты и значимость-инфляция («революционный», «game changer», «это меняет всё») — вон.
11. Правило трёх (тройки эпитетов «инновационный, мощный и удобный» / tricolon) — максимум одна тройка на текст, дефолт один точный эпитет.
12. Артефакты чат-ботов вычищать регуляркой: `:contentReference[oaicite:…]`, `[cite_start]`, `utm_source=chatgpt.com` в ссылках, zero-width символы, Markdown-остатки в обычном тексте.
</negative_constraints>
<hard_invariants>
- ФАКТЫ, ЦИФРЫ, ИМЕНА, ТЕХНИЧЕСКАЯ ТОЧНОСТЬ — неприкосновенны. Сокращаем воду, не смысл.
- ⛔ ЧЕЛОВЕЧНОСТЬ НЕ ВЫДУМЫВАЕМ. Живую деталь («вчера упало на третьем шаге») можно взять ТОЛЬКО из реального контекста: исходный текст, сессия, волт, слова Антона. Нет детали — оставь `[тут добавь своё наблюдение]` или обойдись без неё. Выдуманный «якорь» = фейк данных (Gemini это предлагал — отклонено, противоречит fake-it-courage-not-fake-numbers).
- Раскрытие авторства Майкрофта (§3.3 CLAUDE.md) этим скиллом НЕ снимается: если текст уходит от лица Антона и писал его я — плашка остаётся. Это и юр-слой: EU AI Act ст. 50 с 02.08.2026 требует маркировать AI-контент (исключение — существенная человеческая редактура с редакционной ответственностью); хуманизация ≠ маскировка.
- PROTECT-LIST: личные фразовые «подписи» Антона («я идиот», лексикон лаборатории строчными, его любимые обороты) скилл НЕ трогает — чистка на полную мощность сглаживает живого автора до того же плоского профиля, который лечим. Живой текст Антона обязан проходить без правок; если правило скилла его режет — чинить правило.
- ⛔ ОБЪЁМ ЗАДАЁТ МЫСЛЬ, НЕ КВОТА — работаем ТОЛЬКО на сжатие, никогда на расширение. Приказ Антона 21.08.2026 (hub:5671, дословно): «если у нас есть 300 байт текста, так и нужно оставлять эти 300 байт текста»; разжать сжатое можно ТОЛЬКО по прямой команде «сделай подробную разъясняющую записку». Значит: короткий плотный вход этот скилл возвращает почти как есть (0-20% реза — норма, см. шаг 2), и НИКОГДА не добавляет абзацы, примеры или переходы «чтобы читалось полнее». Причина Антона: читатель занят и развернёт сам, у него есть своя LLM. Канон: [[reglament-ne-razzhimaem-szhatuyu-mysl]], судья — `/taste-check` P32.
- ⛔ ПОЛОТНО РВЁМ НА АБЗАЦЫ, НО НИЧЕГО НЕ ДОПИСЫВАЕМ. Приказ Антона 31.08.2026 (hub:5948, дословно): «Я с тех пор запретил сотрудникам писать любую мысль, если она длиннее трёх предложений, не разделяя её пустой строкой или абзацами»; «иначе вашим читающим крайне тяжело прочитать всю эту хуйню, что вы написали». Больше трёх предложений подряд без пустой строки → ставим пустую строку по границе мысли. ⚠️ Это НЕ противоречит инварианту выше: запрещено ДОБАВЛЯТЬ абзацы как новый текст ради объёма; разбить уже написанное переносом строки — можно и нужно, слова при этом не меняются. Проверка: `python ~/.claude/scripts/paragraph_lint.py <файл>`; канон [[reglament-abzacy-mysl-dlinnee-treh-predlozheniy]], судья `/taste-check` P33.
- Гейты не слабеют: ОК [коллега] на публичное (§3.2), Tier-2, /tt — всё поверх.
</hard_invariants>
---
## Процесс (multi-pass, строго по порядку)
**0. Тип текста.** Юридический, художественный, научная статья, официальное письмо → СТОП, скилл не применяется (там тире и канцелярит — норма). Дев-лог/README — применяется мягко: заголовки и списки там законны, режем только воду и слоп-лексику.
**1. Detect.** Выпиши (мысленно, в analysis) все найденные маркеры из ban-листа + оцени ритм: если предложения ровные по 15-25 слов — это метроном робота, его ломать.
**2. Cut.** Убрать: введение, вывод, повторы мысли, «разжёвывание», абстракции, общеизвестное. Ориентир −50-70%, но режем ВОДУ, а не квоту: текст из плотных уникальных фактов без воды сокращается на 0-20%, и это норм — плотность важнее процента. Факт ради процента не выкидываем никогда. Тест: читатель сканирует за 10-15 секунд и уносит суть. Суть — ПЕРВОЙ строкой (не крючок, не подводка — суть).
**3. Ритм (burstiness).** Чередуй ультра-короткие фразы (3-8 слов, можно фрагменты: «Работает.», «Проверил - падает.») со средними. Убей одинаковую длину предложений. Логические связки («следовательно», «более того») — вон, следующее предложение просто начинается с сути.
**4. RU-механика занятого человека.** ё→е; — → «-» или ничего; кавычки-«ёлочки» → "лапки" или без; частицы где естественно (же, ведь, вот, ну); активный залог; допустимо опустить точку в самой короткой финальной фразе. Небрежность лёгкая, не безграмотность: 1-2 «шероховатости» на текст, не больше.
**5. Позиция.** Меньше хеджирования («возможно», «может быть») — прямые утверждения. «Я/мне/мой» — живой текст насыщен первым лицом.
**6. Человечность (если есть из чего).** Одна реальная деталь из контекста сильнее десяти улучшений. Смотри: что реально происходило (упавший тест, ночной дебаг, слова собеседника, цифра из замера). Нет реального — placeholder или ничего (см. hard_invariants).
**7. Вывод.** Отдай ТОЛЬКО готовый текст. По запросу — плюс одна строка что изменилось. Никаких «вот переписанный вариант:».
**8. Самопроверка (чеклист).** Сокращено (или исходник был плотный)? Ноль слов из ban-листа, ноль —/ё/эмодзи? Нет вводного и финального резюме-абзаца? Есть короткие рубленые предложения (доля >20 слов — низкая)? Есть ≥1-2 конкретики (число/имя/дата/инструмент/ошибка) ИЛИ честный `[нужен факт]`? Подписи Антона из protect-list не тронуты? ⚠️ LLM плохо считают знаки — «сократи вдвое» работает, «ровно 600 знаков» нет; точную длину меряет скрипт, не глаз.
**Судью прогнать ОБЯЗАТЕЛЬНО, глазом не заменять** — он ловит то, что взгляд пропускает (эмодзи в хвосте, «ё» в середине слова, дубль-абзац):
```
python3 ~/.claude/skills/ai-slop/evals/slop_detect.py --file <файл> [--long-form]
```
`--long-form` для статьи/дев-лога: там заголовки и списки законны, без флага судья судит по правилам короткого поста. Живёт внутри скилла, поэтому работает на ЛЮБОМ узле; exit 0 = чисто, 1 = нашёл. Для TG-постов контент-фабрики на хабе есть второй, более строгий судья с тирами: `python [путь владельца] --file <файл> --tier tg-post`.
⚠️ Судья тоже claim: он мерит ТЕЛО, а не YAML-шапку заметки, и не считает нарушением ё/тире внутри кода, URL и путей. Ругается на цитату или имя собственное — это ложное срабатывание, фиксируй его словами в отчёте и НЕ ломай текст под метрику ([[text-detectors-overcount-use-ground-truth]]). Правила детектора и ban-лист выше обязаны совпадать; разошлись — это баг, регресс-сетка `evals/_test_slop_detect.py` (14 проверок) держит границу. Железное правило слоп-гейта действует и тут: живой пост Антона обязан проходить; если правило скилла режет живой текст Антона — чинить правило, не Антона.
---
## Альфа из комьюнити (FB-комменты к посту 31.07 — проверено, не на веру)
Три чужих решения той же задачи; наши правила они подтверждают, но два хода мы у них берём:
| Репо | Что это | Чем полезен нам |
|---|---|---|
| `blader/humanizer` (32k⭐, EN) | 33 правила по Wikipedia «Signs of AI writing» | подтверждает наш ban-лист (правило трёх, em-dash, инфляция значимости); наш RU-слой у него отсутствует |
| `smixs/humanizer-ru` (117⭐) | 37 RU-паттернов + линтер-скрипт | ⭐ **деепричастия-сироты** — маркер, которого у нас НЕ было (см. правило ниже); канцелярит-пары шире наших |
| `talkstream/ru-text` (176⭐) | 2000+ «атомов», 10 справочников | принцип «не трогай авторский голос, правь только ошибки» = наш protect-list, независимо подтверждён |
⭐ **Правило деепричастий (добавлено 31.07 из humanizer-ru + коммент Sergey [человек]):** причастные и деепричастные обороты («являясь лидером рынка, компания…», «учитывая вышесказанное…», «резюмируя…») — маркер письменного канцелярита; живой занятый человек в коротком тексте их почти не употребляет. В постах/комментах/DM деепричастный оборот разворачивать в простое предложение или резать. В лонгридах — умеренно допустимо.
## Примеры (few-shot, калибровка тона)
**RU, из DR-консенсуса** *(⚠️ «40 минут» и «упал на третьем шаге» тут ИЗВЕСТНЫ автору из реального контекста; если их нет в исходнике или контексте — так писать НЕЛЬЗЯ, см. hard_invariants):*
> ДО: «В современном мире данная технология является не просто инструментом, а стратегическим активом, который позволяет оптимизировать процессы и повысить эффективность работы команды 🚀» *(+ автор знает: замерили 40 мин/день, вчера падало в Codex)*
> ПОСЛЕ: «Экономит 40 минут в день. Вчера в Codex упал на третьем шаге - руками правил.»
> БЕЗ реального контекста ПОСЛЕ: «Экономит заметный кусок дня. [тут добавь свой замер]»
**RU, структура:**
> ДО: «Итак, давайте разберёмся, почему оптимизация производительности баз данных является критическим фактором для масштабирования приложений. Во-первых... Подводя итог, можно сказать...»
> ПОСЛЕ: «Вчера легла база. Два часа в логах, пока не поняли: индексы собирались криво. Суть такая: ...» *(якорь взят из реального инцидента - если его не было, начинаем сразу с «Индексы собирались криво...»)*
**EN:**
> ДО: «Furthermore, it's worth noting that this multifaceted approach leverages robust tooling to seamlessly deliver a pivotal improvement in today's fast-paced development landscape.»
> ПОСЛЕ: «It cuts build time in half. Tested on our repo yesterday - 41s down to 19s.»
**Дев-текст (мягкий режим):**
> ДО: «## Introduction. In this document we will explore... It is important to understand that...»
> ПОСЛЕ: заголовки остаются, но сразу: «What it does: X. How to run: Y. Breaks when: Z.»
---
## ⭐ Когда ОБЯЗАТЕЛЕН (приказ anton 30.07, расширен 11.08)
ЛЮБОЙ ИИ-написанный текст наружу от лица Антона — финальный проход этим скиллом ПЕРЕД отправкой, после рерайтов и футера. Это: посты (TG/FB/X/Threads/IG), комменты и ответы в тредах, тизеры/medium/лонгриды, и **любое общение с лидами** — DM, фоллоуапы `/fa`, ответы в личке, аутрич. Универсальная дверь = шаг «текст-гейт» в `/outbound-gate`.
**Три исключения (закрытый список):**
1. Текст С ПЛАШКОЙ Майкрофта (§3.3, «это Майкрофт, синтетический кофаундер») — мы раскрыты как AI, родной голос честен; хуманизация при раскрытии = театр. Не гонять.
2. Машиночитаемое: GitHub (issue/PR/комменты/README), техдока, спеки, dev-log tier, machine-readable версии journey/aibo. Нативно AI-голосом.
3. Текст, написанный САМИМ Антоном руками (protect-list).
Канон: `reglament-posty-ot-lica-antona-tolko-cherez-ai-slop`.
## Границы и соседи
- **slop_gate.py** (хаб, content-factory) — судья формы, 0 токенов. Этот скилл — переписчик. Пара «gate нашёл → ai-slop переписал» = робот-рерайтер из spec-anti-slop-content-pipeline §Фаза 3.
- **/fa** — голос /fa (60-120 слов, строчными) сохраняется, но финальный проход ban-листа обязателен (anton 14.08: лиды-коммуникация без исключений); дублирующих правок не делать — только чистка маркеров.
- **/episode, /tg-post, /fb-post** — черновики тиров прогонять через ai-slop ДО гейта [коллега].
- Модель: голос Антона / качественный текст = Fable (§6.2); механическую чистку по ban-листу может делать и Sonnet.
## Провенанс
- DR26-07-30-MACANTON-01-1456 (fanout 4 вендора, запускал Антон 30.07 ~03:43-03:50; собраны ВСЕ 4, консенсус по ядру 4/4). Оригиналы: `_originals/deep-research/DR26-07-30-MACANTON-01-1456-antislop-humanizer-{chatgpt,gemini,grok,claudeai}.md`. Самый доказательный — claudeai (Kobak et al. Science Advances 2025: 379 excess-слов, delves x28; [человек] et al. 2023: детекторы ложно метят не-носителей в 61.3%; протект-лист из kjmagnan1s/anti-slop; точка в конце = резкость, Gunraj et al. 2016; EU AI Act ст. 50). Голос-в-Whisper = лучшее живое сырьё (диктовка даёт естественную парцелляцию — модель не возвращается к своему стилю). ТЗ Антона голосом — в шапке chatgpt-оригинала. Связано: [[tg-slop-markers-measured]], [[fake-it-courage-not-fake-numbers]], [[mycroft-voice-disclosure]], `spec-anti-slop-content-pipeline`, `Slop-Gate-Passport`.
+ DR26-07-30-MAC-1-01-1456 (fanout 4 вендора, запускал Антон 30.07 ~03:43-03:50; собраны ВСЕ 4, консенсус по ядру 4/4). Оригиналы: `_originals/deep-research/DR26-07-30-MAC-1-01-1456-antislop-humanizer-{chatgpt,gemini,grok,claudeai}.md`. Самый доказательный — claudeai (Kobak et al. Science Advances 2025: 379 excess-слов, delves x28; [человек] et al. 2023: детекторы ложно метят не-носителей в 61.3%; протект-лист из kjmagnan1s/anti-slop; точка в конце = резкость, Gunraj et al. 2016; EU AI Act ст. 50). Голос-в-Whisper = лучшее живое сырьё (диктовка даёт естественную парцелляцию — модель не возвращается к своему стилю). ТЗ Антона голосом — в шапке chatgpt-оригинала. Связано: [[tg-slop-markers-measured]], [[fake-it-courage-not-fake-numbers]], [[mycroft-voice-disclosure]], `spec-anti-slop-content-pipeline`, `Slop-Gate-Passport`.
<!--kit-footer-->
---
**Like this skill?** It is one of 100 in [second-brain-starter-kit](https://github.com/tonydzi/second-brain-starter-kit): the second brain we built for ourselves and run every day at Palo Alto AI Research Lab. Install the whole set with `npx skills add tonydzi/second-brain-starter-kit`. Everything is open source and free, so take what you need.
Flagships worth a look on their own: [secondop-panel](https://github.com/tonydzi/secondop-panel) (a second opinion from a panel of external models), [claude-memory-tidy](https://github.com/tonydzi/claude-memory-tidy) (stop your agent's memory from rotting), [telegram-mcp-kit](https://github.com/tonydzi/telegram-mcp-kit) (your own Telegram over MCP in about 15 minutes).
Author: **Anton Dziatkovskii**, Palo Alto AI Research Lab. Telegram [@tonydzi](https://t.me/tonydzi) - WhatsApp [+1 341 222 9178](https://wa.me/13412229178) - X [@Tony_Stef_](https://x.com/Tony_Stef_)
**Engineers: want to test-drive this setup?** Message me. I hand out free starter seeds to engineers who test and report back, and custom skill requests are welcome.