agentleFS
artemiimillierartemiimillier/anti-ai-skill/SKILL.md

anti-ai

Skill4 starsChanged 3 months agoMITView on GitHub

Убирает из русского текста следы машинной генерации и оставляет смысл, факты, структуру и авторскую лексику на месте. Работает с письменным текстом, с речью под суфлёр и с расшифровкой живой речи. Пять этапов подряд - диагностика, механическая чистка, семантический проход, отдельный проход по ритму, чтение вслух и приёмка по шести вопросам. Триггеры - «убери ИИ из текста», «почисти текст от ИИ», «текст звучит как нейросеть», «сделай текст человечным», «убери ИИ-паттерны», «хуманизируй текст», «почисти расшифровку эфира», «прогони через anti-ai», «anti-ai», «проверь текст на ИИ», «этот текст палит нейросеть».

2 other projects use a version of this.

Adopted by

Most recently taken up by

  • Other versions2 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 2

    1. travsteward/openwriter★ 36same name
    2. cal1888/claude-code-skills★ 1same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

The file

Files
SKILL.md

anti-ai

Берёт русский текст и убирает из него машинный такт, смысл при этом остаётся целиком.

Неприкосновенное

Правится форма. Факты, цифры, имена, термины автора, структура и объём не трогаются. Ничего не выдумывается, ни один тезис не выбрасывается. Полный список запретов лежит в rules/sohranenie-smysla.md, и прочитать его надо до первой правки.

Надиктовка, голосовое, расшифровка

Такой текст приходит в работу сырьём. Происхождение фразы её не защищает: машинный такт в собственном черновике автора чистится так же, как в сгенерированном тексте. Замеренный случай: автор забраковал фразу из своей же надиктовки словами «так по-русски не говорят никогда, это мусорный машинный текст».

Заморожено ровно то, что автор пометил похвалой. Метки автора, порог по филлеру, брак распознавания речи и мета-реплики разобраны в rules/sohranenie-smysla.md.

Живая речь идёт профилем transcript. Письменный профиль бракует её всегда: замер по корпусу автора дал филлер живой речи 52,9 на 1000 слов при потолке письменного профиля 12,0 и устного 22,0. Гейта на филлере в профиле transcript нет, порог задаётся сравнением автора с самим собой.

Вход: три вопроса до первого этапа

Задаются человеку до первой команды, ответы записываются в отчёт.

1. Канал - эфир или расшифровка, мессенджер, письмо, страница продукта, договор. Канал включает обязательные словари Этапа 2:

КаналЧто обязательно
страница продукта, письмо, пост, чек, текст в интерфейсеюридический словарь и англицизмы прогоняются целиком
договор, офертато же, плюс юридические формулировки не трогаются вообще
эфир, расшифровка, голосовоепрофиль transcript; словари корпоративной воды, псевдопруфов, метафор и заверений к произнесённому не применяются
мессенджер, внутренняя запискаюридический словарь по желанию человека, остальное как обычно

2. Профиль запуска - один из трёх.

python3 tools/diagnose.py FILE                       # text, письменный текст
python3 tools/diagnose.py FILE --profile speech      # речь под суфлёр
python3 tools/diagnose.py FILE --profile transcript  # расшифровка живой речи

Текст получен распознаванием речи - --profile transcript, без обсуждения. Профиль поставлен неправильно, и весь замер недействителен.

3. Путь к образцу текстов автора - папка с его готовыми текстами. Она даёт две вещи:

grep -riFo "слово" КОРПУС/ | wc -l              # автор это слово говорил
python3 tools/diagnose.py --calibrate КОРПУС/   # перезамер порогов под автора

Корпуса нет - сказать это человеку прямо, до начала работы. Без образца вопрос Этапа 5 «слышал ли я эту фразу от живого человека вслух» отвечается на вкус, находки по кальке и по изобретённому термину держатся на догадке, и порог по филлеру берётся прикидкой 60% от исходной плотности. Работа идёт дальше, каждая такая находка помечается в отчёте словом «на вкус».

Текст приходит файлом или прямо в сообщении. Во втором случае сохранить его во временный файл, потому что инструменты работают с файлом. Команды написаны от папки скилла: запускаешь из другого места - подставь полный путь к tools/.

Порядок: пять этапов подряд

Этапы идут строго по номерам. Перепрыгивать нельзя: Этап 4 существует именно потому, что правки Этапов 2 и 3 портят ритм, и без отдельного прохода это остаётся незамеченным.

1. Диагностика

Ничего не правит. python3 tools/diagnose.py FILE с выбранным профилем плюс команды из rules/grep-nabor.md. Собирает список находок с цитатами и четыре числа: плотность маркеров на 1000 слов, разброс длин предложений, долю абзацев с коротким финалом дробью, объём в словах. Метрики, пороги профилей и проверка пунктуации расписаны в rules/1-diagnostika.md.

Выход: профиль записан, список находок с цитатами готов, четыре числа записаны, текст не изменён.

2. Механическая чистка

То, что определяется однозначно: типографика (python3 tools/fix-typography.py FILE --in-place), канцелярит, литературные обороты, безличные конструкции, шаблонные старты и финалы, давление и заверения в честности, кальки, семь словарей. Таблицы замен лежат в rules/2-mehanicheskaya-chistka.md.

Первым идёт юридический словарь. Слова «школа», «курс», «ученик», «домашка» описывают лицензируемую деятельность, ни одна проверка на машинность их не ловит, а цена пропуска - претензия надзора. Прогоняется на всём, что видит клиент.

Выход: типографика 0, механические находки Этапа 1 закрыты или помечены оправданными с причиной, семь словарей прогнаны все, список имён сверен, каждое переписанное предложение прогнано проверками Этапа 1 отдельно.

3. Семантический проход

То, что не берётся поиском: антитезы всех видов, включая смысловые («X вместо Y», «казалось X, на деле Y», «именно это»), крючки-двоеточия, суперлатив-анонсы, такт вокруг цитат, вопрос-затычка, мета-вода, повтор смысла, обвинение читателя, структурные каркасы, зеркальные пары без слова «не», возврат автора в текст; каждый вид разобран в rules/3-semanticheskiy-prohod.md.

Выход: антитез всех видов не больше одной, форма «Это не X. Это Y» ноль, крючков-двоеточий не больше трёх, суперлатив-анонсов не больше трёх, вопрос-затычка ноль в письменном профиле, обвинений читателя ноль, дублей абзаца ноль, болевых воронок ноль, остальные оси в пределах порогов профиля, атрибуция у правленых подводок сверена по источнику. Проверки Этапа 1 прогнаны заново.

4. Ритм - отдельным проходом

python3 tools/diagnose.py FILE --only rhythm. Абзац, где последнее предложение короче 75 знаков, сращивается с предыдущим через запятую, «а», «потому что», «и это». Сколько абзацев править, считается формулой, механика сращивания и её ограничения лежат в rules/4-ritm.md.

Этап пропускается целиком в профиле transcript и на тексте, где пунктуация не расставлена. В обоих случаях в сводку идёт прочерк с причиной.

Выход: доля абзацев с коротким финалом ниже целевой (порог профиля минус 5 пунктов) и не ниже 15%, разброс длин не ниже 0.40, стаккато в пределах профиля (в письменном ноль), знаменатель совпал с числом абзацев тела, число записано в форме «S из N = X%» рядом с замером Этапа 1.

5. Чтение вслух и приёмка

Построчно, с одним вопросом: слышал ли я эту фразу от живого человека вслух. Ловит кальки, изобретённые термины, кривые предлоги, смешанные метафоры, канцелярские абстракции, непроизносимые конструкции, слова не того регистра. Здесь же проверка каждой замены на затёртость и приёмка по шести вопросам; порядок вычитки расписан в rules/5-chtenie-vsluh.md.

Выход: каждая находка закрыта разбором «цитата -> почему машина -> как по-человечески -> замена», отказы от замены записаны строкой с причиной, многоточий в теле ноль, следов производства в видимых полях ноль, проверки прогнаны после правок, приёмка по шести вопросам пройдена.

Приоритет, когда этапы спорят

  1. Поздний этап старше раннего по формулировке. Замена, которую предлагает Этап 2, ставится только тогда, когда она проходит Этапы 3 и 5. Подводка про сам текст («ниже готовый разбор», «дальше покажу», «об этом чуть позже») снимается Этапом 3 как мета-вода, поэтому на место вырезанного безличного оборота она не ставится вообще: строка либо превращается в факт из исходника, либо удаляется.
  2. Ухо Этапа 5 старше числа Этапа 4. Сросшаяся фраза, которую человек не произносит, разбирается обратно. Откат разрешён до порога профиля, каждый откат идёт в отчёт строкой.
  3. Вырезка старше переписи. Сначала маркер снимается точечно и ядро фразы остаётся дословно, вместе с авторскими словами внутри. Остаток читается вслух. Предложение переписывается целиком только тогда, когда ядро после вырезки мёртвое. У переписи есть цена: сочинённая формулировка не проходила проверку у автора и приносит новые маркеры.
  4. Юридический словарь старше маркеров машинности. Его находки закрываются первыми на Этапе 2.

Правила поверх этапов

  • Проверки прогоняются после каждой волны правок. Одного прогона в конце не хватает, потому что правка одного шаблона рождает другой.
  • Команды из rules/grep-nabor.md копируются дословно. Самодельное «более точное» выражение систематически прячет нарушения.
  • Чистый результат механических проверок ничего не доказывает. Пропуск Этапов 3 и 5 - причина, по которой тексты с нулевой оценкой машинности читаются как машинные с первой строки.
  • Замена проходит проверку на затёртость перед постановкой в текст. Дежурные обороты «так это и работает», «всё просто», «вот и весь секрет», «дальше дело техники» - лимит ноль.
  • Замена слабее оригинала не ставится. Оригинал остаётся на месте, находка уходит в отчёт строкой: цитата, чем плоха, почему замены нет.
  • Ритмические числа не считаются на тексте без расставленной пунктуации. Прочерк с причиной, цифра из отчёта туда не ставится.

Предел итераций

Три полных прохода по циклу 2-5. Если после третьего остаются провалы - стоп, выдать текст в текущем виде и отчёт: что осталось, почему не закрылось, что для этого нужно от человека, потому что молча крутить четвёртый заход нельзя.

Приёмка: шесть вопросов

Ответ «нет» на любой возвращает на правку. Первые два меряют отсутствие плохого, остальные четыре - наличие хорошего.

  1. Числа в пределах порогов выбранного профиля. Механические проверки прогнаны после последней правки.
  2. Тезисы исходника на месте, новых не появилось, усушка в пределах 12%.
  3. Каждая правленая фраза стала сильнее или хотя бы не слабее исходной. Прогон на корпусе автора: текст сдан с нулём маркеров, при этом сильная первая фраза превратилась в дежурную, и все проверки остались зелёными. Ноль по маркерам при провале по силе возвращает на правку, текст в таком виде не выдаётся.
  4. Ни одна замена не затёрта. У замены есть предмет, действие и факт автора там, где он был в оригинале. Формулировка, которая подходит к любому другому тексту на любую тему, слабая.
  5. У каждого слабого авторского места, оставленного сознательно, в отчёте лежит альтернатива. Пункт состоит из четырёх частей: цитата, что в ней слабо, готовая переписанная фраза, почему она не поставлена в текст. Формулировка «можно усилить» альтернативой не считается.
  6. Человек, который слышит про это впервые, поймёт, что это и как работает. Выписать термины, имена и сокращения, которых нет в общем языке, и на каждом ответить, раскрыт ли он в тексте хотя бы раз. Термин, названный и не раскрытый, - находка. Лечение - вопрос автору, что он имел в виду. Объяснение за него не сочиняется: добавлять факт запрещено на всех этапах.

Что выдать в конце

  1. Готовый текст.
  2. Таблицу «было -> стало» по четырём числам: плотность маркеров, разброс длин, доля абзацев с коротким финалом дробью, усушка в процентах. Усушка выводится всегда, включая нулевую: «было N слов, стало M, минус X%». Ритмические строки на тексте без расставленной пунктуации заполняются прочерком с причиной.
  3. Список того, что осталось нетронутым сознательно, с причиной, и альтернатива у каждого слабого авторского места.
  4. Вопросы человеку: нераскрытые термины, сомнительные цифры, чужие истории, мета-реплики с требованием, находки «на вкус» при отсутствии корпуса.
  5. Подтверждение, что все тезисы исходника на месте.

Файлы

ФайлЧто внутри
rules/sohranenie-smysla.mdЧто нельзя трогать, метки автора, усушка, филлер
rules/1-diagnostika.mdПрофили, метрики, пороги, перезамер под автора
rules/2-mehanicheskaya-chistka.mdТипографика, канцелярит, семь словарей, кальки
rules/3-semanticheskiy-prohod.mdАнтитезы, крючки, анонсы, повторы, каркасы
rules/4-ritm.mdМетроном финалов, замер, механика сращивания
rules/5-chtenie-vsluh.mdШесть подвидов, затёртость замены, приёмка
rules/grep-nabor.mdВсе команды поиска, дословно
tools/diagnose.pyОтчёт: 26 осей, типографика, ритм, калибровка. Ничего не правит
tools/fix-typography.pyОднозначные замены символов. Блоки кода и строчный код внутри разметки пропускает; на файл с исходным кодом не натравливать

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.