- Зачем:
- линтер умел только вычитать маркеры, а текст без авторского голоса
палится не хуже текста с em dash'ами: после чистки оставался
безлико правильный результат.
- у прогона не было критерия завершения, поэтому проверка сводилась
к тому, что бросилось в глаза.
- Что:
- T03 развёрнут в три срабатывания (перечисление без вывода, безличные
конструкции, абстрактная оценка) с требованием назвать, что конкретно
добавить, вместо совета «добавить позицию автора».
- добавлен шаг самоаудита поверх закрытого каталога: находки X01, X02
с тестом «нельзя записать ни под один ID» и разрешением нулевого
результата.
- Шаг 2 получил критерий «каждый паттерн применён к тексту», quick scan
сведён к паттернам с механической детекцией.
- S04 стал единственным владельцем однородности ритма; удалены дубль
T03b, неоперационализируемый T03e, шаг «Ответить на вопросы» и девять
перефразировок одной ветки в description.
- Проверка:
- тестов на скиллы в репозитории нет, прогон ручной: вызвать скилл
на абзаце AI-прозы и на коротком сообщении в мессенджер.
- git show --stat HEAD: SKILL.md и references/patterns.md.
Co-Authored-By: Claude <noreply@anthropic.com>
8.8 KiB
name, description
| name | description |
|---|---|
| ai-text-lint | Ищет в тексте признаки AI-генерации (slop) и выдаёт отчёт с цитатами и severity, не переписывая текст. Используй, когда пользователь просит: проверить или пролинтовать статью, письмо, сообщение или резюме перед публикацией или отправкой; убрать AI-стиль, гуманизировать текст, вернуть ему авторский голос; быстро глянуть короткий текст на явные маркеры. |
AI Text Lint
Скилл для проверки текста на slop — типичные признаки AI-генерации. Работает как линтер: анализирует текст, находит конкретные проблемы, выдаёт отчёт. Не переписывает текст автоматически — решение о правках остаётся за пользователем.
Принципы работы
- Только диагностика. Скилл выдаёт отчёт, а не переписанный текст. Пользователь сам решает, что исправлять — и по его просьбе можно помочь с конкретными находками точечно. Не согласен с находкой — объяснить, почему она отмечена, и принять его решение.
- Конкретика. Каждая находка — точная цитата из текста + объяснение, почему это маркер + вариант замены или рекомендация.
- Контекстуальность. Не все паттерны одинаково критичны. Em dash в статье на Хабре — мелочь. Em dash в Slack-сообщении — красный флаг. Severity зависит от контекста.
- Без паранойи. Одиночное срабатывание — не приговор. Проблема в кластерах: три-четыре маркера в одном абзаце.
Workflow
Шаг 1: Определить контекст
Спросить пользователя (если не очевидно из разговора), для чего текст:
- article — статья, блог-пост, документация (Хабр, README, техническая проза)
- message — переписка с коллегами (Slack, Telegram, email)
- resume — резюме, сопроводительное письмо
Контекст влияет на severity паттернов. Severity для каждого паттерна указана в таблице внутри его описания в references/patterns.md (колонки article / message / resume).
Шаг 2: Прогнать текст
Используя базу паттернов из references/patterns.md (в папке этого скилла), пройтись по тексту и для каждой находки зафиксировать:
- Какой паттерн сработал (ID и название)
- Точная цитата из текста (выделить проблемный фрагмент)
- Severity в данном контексте (🔴 high / 🟡 medium / 🟢 low)
- Почему это маркер (коротко, одно предложение)
- Что можно сделать (конкретная рекомендация или вариант замены)
Готово, когда каждый паттерн каталога применён к тексту. Не «прочитал и выписал, что бросилось в глаза», а прошёлся по всем ID из references/patterns.md.
Применён не значит обязан сработать. Паттерн без срабатываний в отчёт не попадает, паттерн вне контекста (R* на не-резюме, структурные — на трёх предложениях) отмечается неприменимым. Натягивать срабатывание, чтобы проход выглядел полным, хуже, чем пропустить: см. Принцип 4.
Шаг 3: Самоаудит поверх каталога
Каталог закрытый, а slop изобретателен. Отложить список находок и перечитать текст с одним вопросом: что ещё здесь выдаёт AI, помимо уже найденного?
Находка засчитывается, только если её нельзя записать ни под один ID каталога. Если фрагмент уже выписан на Шаге 2 — это не новая находка, а переформулировка старой. Такие находки нумеровать X01, X02, помечать «вне каталога» и включать в отчёт наравне с каталожными.
Ноль находок — нормальный и частый исход. На тексте, который каталог покрыл хорошо, X-находок не должно быть вовсе. Вопрос Шага 3 поставлен открыто и не подразумевает, что ответ есть.
Если самоаудит дал устойчивую находку (видно на разных текстах, формулируется как правило) — сказать об этом пользователю после отчёта: это кандидат в references/patterns.md.
Шаг 4: Сформировать отчёт
Формат отчёта:
## Результаты проверки
**Контекст:** [article / message / resume]
**Общая оценка:** [краткий вердикт — сколько находок, общее впечатление]
### Находки
1. 🔴 **[ID паттерна]: [Название]**
> [цитата из текста, проблемный фрагмент выделен **жирным**]
Почему: [объяснение]
Рекомендация: [что сделать]
2. 🟡 **[ID паттерна]: [Название]**
...
### Статистика
- 🔴 High: N
- 🟡 Medium: N
- 🟢 Low: N
### Общие рекомендации
[2-3 предложения о том, на что обратить внимание в первую очередь. Только для article и только если находки есть: если все они на удаление, назвать хотя бы одно место, где тексту не хватает голоса — убрать маркеры это половина работы. Для message и resume голос не требуется, там этот пункт пропускается]
Режим quick scan
Если пользователь просит быстро проверить (короткий текст, сообщение перед отправкой, «глянь быстро») — показать только 🔴 high находки, без 🟡 и 🟢. Формат: короткий список без развёрнутых объяснений. Полный отчёт — только по запросу.
В этом режиме исчерпывающий проход не нужен: Шаг 3 пропускается целиком, а на Шаге 2 достаточно паттернов с механической детекцией (P*, L01, L02, L04, L05, S01, S03, T04, C01, C02) — они ловятся поиском по подстроке и дают почти весь 🔴 high на коротком тексте.
Важно
- Не быть AI-детектором. Скилл не определяет, написан ли текст AI. Он ищет стилистические паттерны, которые ассоциируются с AI-генерацией. Человек тоже может так писать.
- Русский язык — приоритет. База паттернов заточена под русскоязычный текст. Английские паттерны включены для смешанных текстов (технические статьи с англицизмами).
- Не трогать содержание. Скилл проверяет стиль и форму, не фактическую корректность.