feat(skills): ai-text-lint ловит потерю голоса и делает самоаудит

- Зачем:
  - линтер умел только вычитать маркеры, а текст без авторского голоса
    палится не хуже текста с 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>
This commit is contained in:
Dmitriy DementievandClaude committed 2026-08-21 10:35:34 +03:00
1 parent cb600bcaa8
commit 061a8d062b
2 files changed
+52 -23

No files matched your search

+21 -12
View File
@@ -1,15 +1,15 @@
---
name: ai-text-lint
description: "Проверяет текст на признаки AI-генерации и выдаёт отчёт с конкретными находками. Используй этот скилл, когда пользователь просит проверить текст на AI-маркеры, \"почистить\" текст от признаков ИИ, проверить статью/письмо/резюме перед публикацией или отправкой, найти AI-паттерны, сделать текст более человечным, убрать следы ИИ. Также используй, когда пользователь упоминает: lint, линт, humanize, гуманизация, проверка стиля, AI-маркеры, признаки ИИ, ИИ-стиль. Скилл работает с русскими и английскими текстами."
description: "Ищет в тексте признаки AI-генерации (slop) и выдаёт отчёт с цитатами и severity, не переписывая текст. Используй, когда пользователь просит: проверить или пролинтовать статью, письмо, сообщение или резюме перед публикацией или отправкой; убрать AI-стиль, гуманизировать текст, вернуть ему авторский голос; быстро глянуть короткий текст на явные маркеры."
---
# AI Text Lint
Скилл для проверки текста на типичные признаки AI-генерации. Работает как линтер: анализирует текст, находит конкретные проблемы, выдаёт отчёт. Не переписывает текст автоматически — решение о правках остаётся за пользователем.
Скилл для проверки текста на slop — типичные признаки AI-генерации. Работает как линтер: анализирует текст, находит конкретные проблемы, выдаёт отчёт. Не переписывает текст автоматически — решение о правках остаётся за пользователем.
## Принципы работы
1. **Только диагностика.** Скилл выдаёт отчёт, а не переписанный текст. Пользователь сам решает, что исправлять.
1. **Только диагностика.** Скилл выдаёт отчёт, а не переписанный текст. Пользователь сам решает, что исправлять — и по его просьбе можно помочь с конкретными находками точечно. Не согласен с находкой — объяснить, почему она отмечена, и принять его решение.
2. **Конкретика.** Каждая находка — точная цитата из текста + объяснение, почему это маркер + вариант замены или рекомендация.
3. **Контекстуальность.** Не все паттерны одинаково критичны. Em dash в статье на Хабре — мелочь. Em dash в Slack-сообщении — красный флаг. Severity зависит от контекста.
4. **Без паранойи.** Одиночное срабатывание — не приговор. Проблема в кластерах: три-четыре маркера в одном абзаце.
@@ -34,7 +34,21 @@ description: "Проверяет текст на признаки AI-генер
- Почему это маркер (коротко, одно предложение)
- Что можно сделать (конкретная рекомендация или вариант замены)
### Шаг 3: Сформировать отчёт
**Готово, когда каждый паттерн каталога применён к тексту.** Не «прочитал и выписал, что бросилось в глаза», а прошёлся по всем ID из `references/patterns.md`.
Применён не значит обязан сработать. Паттерн без срабатываний в отчёт не попадает, паттерн вне контекста (R\* на не-резюме, структурные — на трёх предложениях) отмечается неприменимым. Натягивать срабатывание, чтобы проход выглядел полным, хуже, чем пропустить: см. Принцип 4.
### Шаг 3: Самоаудит поверх каталога
Каталог закрытый, а slop изобретателен. Отложить список находок и перечитать текст с одним вопросом: **что ещё здесь выдаёт AI, помимо уже найденного?**
Находка засчитывается, только если её **нельзя** записать ни под один ID каталога. Если фрагмент уже выписан на Шаге 2 — это не новая находка, а переформулировка старой. Такие находки нумеровать `X01`, `X02`, помечать «вне каталога» и включать в отчёт наравне с каталожными.
**Ноль находок — нормальный и частый исход.** На тексте, который каталог покрыл хорошо, X-находок не должно быть вовсе. Вопрос Шага 3 поставлен открыто и не подразумевает, что ответ есть.
Если самоаудит дал устойчивую находку (видно на разных текстах, формулируется как правило) — сказать об этом пользователю после отчёта: это кандидат в `references/patterns.md`.
### Шаг 4: Сформировать отчёт
Формат отчёта:
@@ -61,20 +75,15 @@ description: "Проверяет текст на признаки AI-генер
- 🟢 Low: N
### Общие рекомендации
[2-3 предложения о том, на что обратить внимание в первую очередь]
[2-3 предложения о том, на что обратить внимание в первую очередь. Только для article и только если находки есть: если все они на удаление, назвать хотя бы одно место, где тексту не хватает голоса — убрать маркеры это половина работы. Для message и resume голос не требуется, там этот пункт пропускается]
```
### Шаг 4: Ответить на вопросы
После отчёта пользователь может:
- Попросить исправить конкретные находки (тогда помочь точечно)
- Попросить перепроверить после правок
- Не согласиться с находкой (объяснить, почему скилл её отметил, но принять решение пользователя)
### Режим quick scan
Если пользователь просит быстро проверить (короткий текст, сообщение перед отправкой, «глянь быстро») — показать только 🔴 high находки, без 🟡 и 🟢. Формат: короткий список без развёрнутых объяснений. Полный отчёт — только по запросу.
В этом режиме исчерпывающий проход не нужен: Шаг 3 пропускается целиком, а на Шаге 2 достаточно паттернов с механической детекцией (P\*, L01, L02, L04, L05, S01, S03, T04, C01, C02) — они ловятся поиском по подстроке и дают почти весь 🔴 high на коротком тексте.
## Важно
- **Не быть AI-детектором.** Скилл не определяет, написан ли текст AI. Он ищет стилистические паттерны, которые _ассоциируются_ с AI-генерацией. Человек тоже может так писать.