- Зачем:
- калибровка была неверной в обе стороны: скилл снимал находку в
статье, считая, что текст прошел через редактор с автозаменой, и
одновременно ловил букву «ё», которая маркером не является вовсе.
- в режиме правки не было запрета доводить текст до идеала, поэтому
вычитка делала его ровнее и машиннее исходника.
- Что:
- линза Клавиатура переписана вокруг простой причины: этих знаков нет
на клавиатуре. Главным тестом стало не наличие тире, а равномерность:
умный редактор подставляет неровно, модель безупречно везде.
- markdown отделен от статьи в Word: подставлять знаки там нечему,
поэтому тире и елочки в .md машинные сразу.
- «ё» выведена из маркеров как личная стилистика; вместо нее записано
предпочтение владельца скилла ее не писать, с исключениями на
смыслоразличение и имена.
- эмодзи вне переписки подняты до безусловного маркера и вместе с
тире в markdown вынесены в блок «везде, среда роли не играет».
- в Решетку добавлен третий слой, ровность правильности; в границы
правки добавлены «не вычищать до блеска» и запрет добавлять ошибки.
- Проверка:
- прогон скилла на секции «Дизайн-решения» из README.md, который и
вскрыл обе ошибки калибровки.
Co-Authored-By: Claude <noreply@anthropic.com>
22 KiB
name, description
| name | description |
|---|---|
| ai-text-lint | Оптика для вычитки текста на slop — признаки AI-генерации. По умолчанию правит текст, по запросу выдаёт отчёт с находками. Используй, когда пользователь просит: применить скилл и внести правки, вычистить AI-стиль, гуманизировать текст, вернуть авторский голос; проверить или пролинтовать статью, письмо, сообщение или резюме перед публикацией; быстро глянуть короткий текст на явные маркеры. |
AI Text Lint
Оптика для вычитки готового текста. Скилл вызывается вручную и намеренно: держать эти линзы в голове во время письма — значит тратить внимание на форму вместо смысла. Сначала текст пишется, потом прогоняется.
Рамка
Один вопрос порождает всё остальное:
Похоже, что этот текст набрал руками вот этот человек вот в эту среду?
Пять линз — пять способов, которыми ответ бывает «нет».
Линзы
Клавиатура — набрал ли это человек руками?
Половины типографики нет на клавиатуре. Тире, длинное тире, ёлочки, неразрывный пробел, троеточие одним знаком набираются только Alt-кодом, которого никто не помнит. Человек ставит дефис, лапки и три точки.
Взяться в тексте они могут из двух источников, и различаются те по равномерности:
- Умный редактор. Word, Google Docs и часть CMS подставляют знаки сами, но неровно: где-то подстановка сработала, где-то нет, в одном абзаце ёлочки, в соседнем лапки. Эта неаккуратность и есть человеческий след.
- Модель. Ставит правильный знак везде и без пропусков. Безупречная типографика по всему тексту, без единой осечки, машинная.
В markdown, README и редакторе кода умного редактора нет, подставлять знаки нечему. Там любое тире или ёлочка машинные сразу, равномерность разбирать не нужно.
Второй слой слабее: знаки, которые на клавиатуре есть, но требуют лишнего движения. Все запятые на местах в чате.
Буква «ё» не маркер. Это личное предпочтение: либо стоит по всему тексту, потому что автор её любит, либо не стоит нигде, потому что автор её пропускает. Оба варианта допустимы по правилам языка, и ни один ничего не говорит про происхождение текста.
Владелец скилла ё не пишет и делает это не задумываясь, поэтому правка молчаливая: убрать и не выносить в отчёт.
Два исключения, где ё остаётся. Первое: слова, в которых она различает смысл (всё/все, узнаём/узнаем, нёбо/небо, передохнём/передохнем). Второе: имена и фамилии (Фёдор, Артём, Королёв). В именах пропуск ё аукается в документах и при транслитерации, и это единственное место, где привычка её опускать реально вредит.
Линза генеративна: она порождает не список символов, а вопрос «есть ли это на клавиатуре, и если есть, то ровно ли расставлено». Новый типографский изыск попадёт под неё без обновления скилла.
Голос — этот ли человек говорит?
Есть ли в тексте автор. Признаки отсутствия: предмет описан со стороны, позиция не занята, критика обёрнута в два слоя позитива, плюсы и минусы разложены симметрично и вывода не следует, ссылка на авторитет размыта («эксперты считают»), оценка навешена хвостовым оборотом («...значительно упростив оркестрацию») вместо отдельной мысли, слеш вместо выбора («удалённо/гибрид»). Отдельный случай — безличность там, где уместно «я» или «мы»: «рекомендуется использовать пул соединений» вместо «мы держим пул на 20, больше упирается в базу».
Голос — единственная линза, которая правится добавлением, а не вычитанием. Добавить нужно то, чего у скилла нет: мнение автора, случай из его практики, его цифру, его сломанный прод. Поэтому Голос никогда не чинится молча — см. «Режим правки».
Решётка — рука так ровно не кладёт
Неестественно ровная сетка на любом уровне: предложения внутри абзаца, абзацы, пункты списка, разделы. Живой текст рваный: где-то проваливается в детали, где-то проскакивает тему одной строкой.
Одна цифра, чтобы линза не была вкусовщиной: считать длину однородных единиц в словах, брать размах (максимум минус минимум) и делить на среднее. Меньше 20% — решётка. Пять пунктов по 12, 11, 13, 12, 11 слов дают размах 17% — ровно подозрительно. Абсолютная длина роли не играет, важен разброс.
Второй слой — синтаксическая решётка: подряд идущие предложения по одной схеме, одинаковые зачины, буллеты «жирный заголовок — расшифровка» без единого исключения, форсированные триады («быстро, надёжно, удобно») там, где естественная группа — две вещи или четыре.
Третий слой — ровность правильности. Живой текст содержит опечатку, пропущенную запятую, слово, повторённое дважды подряд, термин, названный в двух местах по-разному, мысль, которая начата и брошена. Текст на две страницы без единой шероховатости ровен так же неестественно, как абзацы одинаковой длины. Немного ошибок — признак руки.
Вода — прибавилось ли информации?
Тест: убрать фразу и посмотреть, изменилось ли что-нибудь. Не изменилось — вода. Ловит канцелярит («является», «данный», «в рамках», «осуществлять»), раздувание важности, impact-фразы без цифр, стопки баззвордов, связки-пустышки («кроме того», «вместе с тем», «стоит отметить»), ложные диапазоны («от стартапов до корпораций»), хеджирование в три слоя.
Одна конструкция заслуживает имени, потому что срабатывает почти безошибочно и в любой среде: «не X, а Y», «не просто X, но и Y». Обещает контраст, доставляет пустоту.
Ассистент — не чат-бот ли это отвечает?
Артефакты интерфейса помощника, протёкшие в авторский текст: церемония на входе («В современном мире...», «Давайте разберёмся»), церемония на выходе («Надеюсь, это поможет», «Буду рад помочь»), подведение итогов там, где никто не просил, вступительное двоеточие перед каждым списком.
Декоративные эмодзи — самый однозначный маркер из всех. В русском тексте вне переписки их не ставят: ни в заголовках, ни в буллетах, ни в README, ни в документации. Конвенции «так принято на GitHub» не существует, есть привычка моделей украшать структуру. Одна 🚀 в заголовке весит больше десятка стилистических подозрений.
Самая механическая из пяти, ловится почти поиском по подстроке.
Калибровка по средам
Severity в основном свойство среды. Но три маркера не зависят от неё вообще, и они же самые надёжные.
Везде 🔴, среда роли не играет: декоративные эмодзи вне переписки · тире и ёлочки в markdown · безупречно ровная типографика по всему тексту · «не X, а Y» / «не просто X, но и Y»
article (статья, блог-пост, README) — вес на Голосе и Воде. 🔴 нет позиции автора · размытая ссылка на авторитет · раздувание важности · «В современном мире» · буллеты «жирный заголовок + расшифровка»
message (Slack, Telegram, email коллеге) — вес на Клавиатуре и Ассистенте. Голос почти не считается: в чате нужна краткость, а не позиция. 🔴 плотный канцелярит · «давайте разберёмся» · «буду рад помочь» · итоги в конце сообщения · связки «кроме того / вместе с тем» · безличное «рекомендуется» · безупречная пунктуация в чате
resume (резюме, сопроводительное) — вес на Воде и Решётке. 🔴 impact-фраза без цифр · стопка баззвордов · однородные буллеты в опыте · причастные хвосты («...значительно упростив») · хеджирование
Красные списки — это калибровка, которую из общих соображений не вывести. Остальное взвешивать самому: насколько уверенное срабатывание и насколько мешает в этой среде. Механического правила понижения нет — уверенная находка по неглавной линзе спокойно бывает важнее вялой по главной.
Находка часто попадает сразу в две линзы («данный подход имеет как преимущества, так и ограничения» — это и Голос, и Вода). Назвать обе, вес ставить по той, что сильнее в этой среде.
Гейт: человеческий дубль
Линзы открыты, поэтому находку легко выдумать. Гейт один и он обязателен:
Находка засчитывается, только если получается написать правдоподобный человеческий вариант этого фрагмента, заметно отличающийся от исходного.
Не получается — находки нет, есть вкусовщина. Гейт бесплатный: дубль сразу становится правкой или рекомендацией.
Плотность — не гейт, а интерпретация. Одиночное срабатывание в живом тексте нормально, человек тоже так пишет. Кластер (три и больше маркера в абзаце, или одна линза ровным слоем по всему тексту) означает, что текст генерился, а не писался. Плотность влияет на вердикт и на то, насколько настойчиво предлагать правки, но не отменяет отдельную находку: одинокое «не просто X, а Y» остаётся красным.
Как применять
Шаг 1. Определить среду — article / message / resume. Если не ясно из разговора, спросить: от среды зависит вся калибровка.
Шаг 2. Пройти пятью линзами. Готово, когда приложены все пять. Каждое срабатывание провести через гейт до того, как оно куда-то попадёт.
Шаг 3. Дальше — по тому, что просили.
Режим правки (по умолчанию)
«Примени скилл», «вычисти», «поправь» — значит внести правки, а не отчитаться.
Четыре линзы правятся молча: Клавиатура, Решётка, Вода, Ассистент. Все четыре вычитают — убрать символ, разорвать ровность, выкинуть пустое. Ошибиться тут дёшево, и правка обратима.
Голос не правится молча никогда. Починить его — значит дописать мнение, случай или цифру, которых у скилла нет. Выдуманный инцидент в чужом тексте хуже любого slop'а.
Отдать результат строго в этом порядке:
- Голос — первым и всегда явно, даже когда находок нет. Нет находок — одна строка «Голос: чисто». Есть — предъявить вопросом, по одному на находку: «второй абзац ничей: что ты про это на самом деле думаешь?», «тут просится цифра — какая была?».
- Поправленный текст.
- Что изменено — компактным списком по линзам, без цитат: «Клавиатура: 6 em dash → дефис, убрана „ё“. Вода: выкинуто „является ключевым фактором“, „кроме того“ ×2».
Порядок именно такой, потому что Голос — единственное, что требует действия от автора, а остальное уже сделано. В конце вывода, под простынёй правок, он теряется, и самая ценная линза пропадает молча.
Правка не закончена, пока про Голос не сказано что-то одно: вопросы или «чисто». Пропуск этой строки читается как «проверено, всё хорошо», хотя означает «забыли».
Границы правки: меняется форма, не смысл. Термины, числа, факты, ссылки — неприкосновенны. Авторские особенности (короткие рубленые фразы, мат, необычная пунктуация как приём) — это голос, а не slop, их не выравнивать.
Не вычищать до блеска. Опечатка, пропущенная запятая, дважды повторённое слово, термин, названный в двух местах по-разному — следы руки. Убирать slop, а не доводить текст до идеала: мелкие огрехи автора оставлять на месте.
Ошибки не добавлять никогда. Из того, что шероховатость есть признак руки, не следует, что её надо производить. Подделанная опечатка — такая же имитация, как безупречная типографика, просто с другой стороны. Человеческий след даёт Голос: мнение автора, его случай, его цифра. Мусор в тексте его не заменяет.
Режим отчёта (когда просят диагностику)
«Проверь», «что тут не так», «прогони и покажи находки» — значит не трогать текст.
## Результаты проверки
**Среда:** [article / message / resume]
**Вердикт:** [одно предложение: сколько находок, какая линза доминирует, кластер или разрозненно]
1. 🔴 **Голос** — [в чём проблема, полстроки]
> [цитата, проблемный фрагмент **жирным**]
Человек бы написал: [дубль]
2. 🟡 **Вода / Решётка** — ...
Порядок: по убыванию severity, внутри — по порядку в тексте. 🟢 включать, если их немного; при десятке мелочей свернуть в одну строку «плюс по мелочи: ...».
Находок нет — сказать это и перечислить, что проверялось: на чистом тексте автору важно видеть, что линзы приложены, а не что скилл поленился.
Quick scan
Только по явной просьбе («глянь быстро», «на бегу»). Короткий текст сам по себе в этот режим не отправляет.
Линзы Клавиатура и Ассистент, только 🔴, списком без объяснений. На коротком сообщении они дают почти все находки и стоят один проход глазами.
Голос сюда не входит. Если быстрый скан просят на статье — сказать одной строкой, что Голос не смотрелся: в article это главная линза, и молчаливый пропуск создаёт ложное ощущение чистоты.
Важно
- Это не AI-детектор. Скилл не определяет, писал ли текст AI. Он находит стилистику, которая ассоциируется с генерацией. Живой человек пишет так же — особенно аккуратный человек после редактора.
- Русский приоритетнее. Линзы настроены на русский. В смешанной технической прозе английские маркеры («delve», «leverage», «testament to») ловятся теми же линзами, отдельного списка не нужно.
- Содержание не трогать. Форма, не фактическая корректность.
- Последнее слово за автором. Не согласен с находкой — объяснить, почему она отмечена, и принять решение автора.