本文へ移動
cccskills
無料GitHub で公開

ai-slop

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.

インストール方法を見る

含まれるファイル(4)

  • SKILL.md23.6 KB
  • evals/_test_slop_detect.py4.7 KB
  • evals/eval_ai_slop.py9.0 KB
  • evals/slop_detect.py8.6 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

/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-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: 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 (a second opinion from a panel of external models), claude-memory-tidy (stop your agent's memory from rotting), telegram-mcp-kit (your own Telegram over MCP in about 15 minutes).

Author: Anton Dziatkovskii, Palo Alto AI Research Lab. Telegram @tonydzi - WhatsApp +1 341 222 9178 - X @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.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

03

無料

Run an autonomous consensus round between agent peers on several machines: they negotiate a decision over a shared channel and execute it without a human relaying messages. Use when multiple machines must agree on a change. Triggers: "/03", "work it out among yourselves", "find consensus". Wakes the human only for irreversible actions or a deadlock.

日本語の概要は準備中です。原文の説明を表示しています。

tonydzi/second-brain-starter-kit82026年10月12日 更新

1

無料

Recover a session after a hard crash (app died, machine rebooted, context lost mid-work): replay the turn-state ledger for the last requests, files and decisions, run a green/red health ping over the system map, file sync and MCP connectors, then rebuild the previous session history for pickup. Triggers: "/1", "resume after crash", "wake".

日本語の概要は準備中です。原文の説明を表示しています。

tonydzi/second-brain-starter-kit82026年10月12日 更新

agenda

無料

Show the operator's day: today's calendar plus what needs them personally (leads due, people awaiting a reply, deadlines), pulled from Calendar and Telegram and ranked. Read-only: sends and commits nothing. Triggers: "/agenda", "what's on today", "my agenda".

日本語の概要は準備中です。原文の説明を表示しています。

tonydzi/second-brain-starter-kit82026年10月12日 更新

Decision protocol for strategic work: recall the knowledge vault, run a gap analysis, emit a deep-research prompt for external tools, then synthesize the returned reports into a decision memo. Use before any new product, feature, market, pricing, GTM or architecture call, where local recall alone is not enough. Triggers: "/alfa-search-recall-deepresearch", "alpha protocol", "R+DR".

日本語の概要は準備中です。原文の説明を表示しています。

tonydzi/second-brain-starter-kit82026年10月12日 更新

- КРЕДИТ АВТОРУ ИДЕИ: совет из комментария (TG @ClawRus / @ClawInga, комменты под постами Антона в FB, треды и issue на… Триггеры: “/alpha-credit“, “/credit“, “кто нам это посоветовал“, “запиши совет“, “поблагодари советчиков“, “кому мы должны спасибо“, “кредит автору“, “чей это был совет“, “credit the author“

日本語の概要は準備中です。原文の説明を表示しています。

tonydzi/second-brain-starter-kit82026年10月12日 更新

LLM-judge stage of an alpha-mining pipeline: take a miner's deterministic candidate list, keep only real signal, drop noise, and propose additions to that miner's curated note. Use after any zero-token detector run. Reads only the candidate digest and the home note, never the corpus. Triggers: "/alpha-judge <miner>", "judge the candidates".

日本語の概要は準備中です。原文の説明を表示しています。

tonydzi/second-brain-starter-kit82026年10月12日 更新

tonydzi のスキルをすべて見る

このスキルの問題を報告する