feat(skills): добавлен скилл ai-text-lint

- Зачем:
  - нужен инструмент для проверки текстов на типичные признаки AI-генерации перед публикацией.
- Что:
  - создан SKILL.md с workflow линтера (диагностика без автоправок, контекстная severity).
  - создана база паттернов references/patterns.md (20 паттернов в 6 категориях: пунктуация, лексика, структура, тон, резюме, связки).
  - матрица severity по трём контекстам: article, message, resume.
- Проверка:
  - вызвать /ai-text-lint на произвольном тексте.
This commit is contained in:
ddadmin committed 2026-04-05 11:28:09 +03:00
1 parent 76e6b293c8
commit e11258b51d
2 files changed
+534

No files matched your search

@@ -0,0 +1,78 @@
---
name: ai-text-lint
description: "Проверяет текст на признаки AI-генерации и выдаёт отчёт с конкретными находками. Используй этот скилл, когда пользователь просит проверить текст на AI-маркеры, \"почистить\" текст от признаков ИИ, проверить статью/письмо/резюме перед публикацией или отправкой, найти AI-паттерны, сделать текст более человечным, убрать следы ИИ. Также используй, когда пользователь упоминает: lint, линт, humanize, гуманизация, проверка стиля, AI-маркеры, признаки ИИ, ИИ-стиль. Скилл работает с русскими и английскими текстами."
---
# AI Text Lint
Скилл для проверки текста на типичные признаки AI-генерации. Работает как линтер: анализирует текст, находит конкретные проблемы, выдаёт отчёт. Не переписывает текст автоматически — решение о правках остаётся за пользователем.
## Принципы работы
1. **Только диагностика.** Скилл выдаёт отчёт, а не переписанный текст. Пользователь сам решает, что исправлять.
2. **Конкретика.** Каждая находка — точная цитата из текста + объяснение, почему это маркер + вариант замены или рекомендация.
3. **Контекстуальность.** Не все паттерны одинаково критичны. Em dash в статье на Хабре — мелочь. Em dash в Slack-сообщении — красный флаг. Severity зависит от контекста.
4. **Без паранойи.** Одиночное срабатывание — не приговор. Проблема в кластерах: три-четыре маркера в одном абзаце.
## Workflow
### Шаг 1: Определить контекст
Спросить пользователя (если не очевидно из разговора), для чего текст:
- **article** — статья, блог-пост, документация (Хабр, README, техническая проза)
- **message** — переписка с коллегами (Slack, Telegram, email)
- **resume** — резюме, сопроводительное письмо
Контекст влияет на severity паттернов. Подробности — в `references/patterns.md`, раздел "Матрица severity".
### Шаг 2: Прогнать текст
Используя базу паттернов из `{baseDir}/references/patterns.md`, пройтись по тексту и для каждой находки зафиксировать:
- Какой паттерн сработал (ID и название)
- Точная цитата из текста (выделить проблемный фрагмент)
- Severity в данном контексте (🔴 high / 🟡 medium / 🟢 low)
- Почему это маркер (коротко, одно предложение)
- Что можно сделать (конкретная рекомендация или вариант замены)
### Шаг 3: Сформировать отчёт
Формат отчёта:
```
## Результаты проверки
**Контекст:** [article / message / resume]
**Общая оценка:** [краткий вердикт — сколько находок, общее впечатление]
### Находки
1. 🔴 **[ID паттерна]: [Название]**
> [цитата из текста, проблемный фрагмент выделен **жирным**]
Почему: [объяснение]
Рекомендация: [что сделать]
2. 🟡 **[ID паттерна]: [Название]**
...
### Статистика
- 🔴 High: N
- 🟡 Medium: N
- 🟢 Low: N
### Общие рекомендации
[2-3 предложения о том, на что обратить внимание в первую очередь]
```
### Шаг 4: Ответить на вопросы
После отчёта пользователь может:
- Попросить исправить конкретные находки (тогда помочь точечно)
- Попросить перепроверить после правок
- Не согласиться с находкой (объяснить, почему скилл её отметил, но принять решение пользователя)
## Важно
- **Не быть AI-детектором.** Скилл не определяет, написан ли текст AI. Он ищет стилистические паттерны, которые _ассоциируются_ с AI-генерацией. Человек тоже может так писать.
- **Русский язык — приоритет.** База паттернов заточена под русскоязычный текст. Английские паттерны включены для смешанных текстов (технические статьи с англицизмами).
- **Не трогать содержание.** Скилл проверяет стиль и форму, не фактическую корректность.
@@ -0,0 +1,456 @@
# База паттернов AI Text Lint
Каждый паттерн имеет:
- **ID** — уникальный идентификатор
- **Название** — краткое описание
- **Описание** — что именно ищем и почему это маркер
- **Примеры** — конкретные срабатывания (RU/EN)
- **Severity** — по контексту: article / message / resume
- **Рекомендация** — что делать при срабатывании
Severity: 🔴 high (явный маркер, бросается в глаза), 🟡 medium (подозрительно в скоплении), 🟢 low (мелочь, но в сумме вносит вклад).
---
## Категория: Пунктуация и типографика
### P01: Длинное тире (em dash) — главный маркер AI-текста на русском
**Что:** Наличие символа `—` (U+2014, em dash) в любом тексте, который подразумевает ручной набор.
**Почему:** Это один из самых надёжных и высокочастотных признаков AI-генерации. На стандартной клавиатуре (и PC, и Mac) символ em dash отсутствует как отдельная клавиша. Его набор требует специальных комбинаций (Alt+0151, Ctrl+Shift+U 2014 и т.д.), которые подавляющее большинство людей не знает и не использует. В реальной переписке и даже в статьях люди набирают:
- знак минус с клавиатуры (`-`)
- дефис (`-`)
- иногда двойной дефис (`--`)
- или вообще перестраивают предложение без тире
AI-модели же подставляют типографически корректное `—` автоматически, потому что обучены на отредактированных текстах. Результат: каждое `—` в тексте, который якобы набран руками — красный флаг.
**Исключения:** Текст, прошедший через редактор с автозаменой (Word, Google Docs, некоторые CMS) может содержать em dash, вставленный автозаменой из ` - ` (пробел-дефис-пробел). Но в мессенджерах (Telegram, Slack) и plain-text средах автозамены нет.
**Примеры маркеров:**
- «Проект идёт хорошо — осталось два спринта» (в чате — откуда тут em dash?)
- «Это не баг — это фича» (в Telegram)
- «ClickHouse — отличный выбор для аналитики» (в Slack)
**Как выглядит реальный человеческий текст:**
- «Проект идёт хорошо - осталось два спринта»
- «Это не баг, это фича»
- «ClickHouse отличный выбор для аналитики»
**Рекомендация:** Заменить все `—` на `-` (минус/дефис) в переписке. В статьях и резюме — заменить бОльшую часть на `-`, запятые или скобки. Допустимо оставить 1-2 на длинный текст, если контекст предполагает редакторскую обработку.
**Детекция:** Искать символ U+2014 в тексте. Каждое вхождение — отдельная находка.
| Контекст | Severity |
|----------|----------|
| article | 🟡 medium |
| message | 🔴 high |
| resume | 🔴 high |
### P02: Избыточная правильная пунктуация
**Что:** Все запятые на местах, точки в конце каждого предложения, идеальные кавычки — в контексте, где люди так не пишут.
**Почему:** В реальной переписке люди часто опускают точку в последнем предложении, пропускают запятые в длинных перечислениях, не ставят точку после "ок" или "спасибо".
**Примеры маркеров:**
- «Хорошо, я посмотрю это после обеда. Напишу, когда будет готово.» — слишком аккуратно для чата
- Сравни с реальным: «Хорошо, посмотрю после обеда. Напишу когда будет готово»
**Рекомендация:** В переписке — ослабить пунктуацию до естественного уровня. Убрать точку в конце последнего предложения. Допустить 1-2 "пропущенные" запятые в неформальном контексте.
| Контекст | Severity |
|----------|----------|
| article | 🟢 low |
| message | 🟡 medium |
| resume | 🟢 low |
### P03: Em dash вместо скобок или запятых
**Что:** Использование em dash для вводных конструкций, где человек поставил бы запятые или скобки.
**Почему:** LLM-ы систематически предпочитают em dash для parenthetical clauses, создавая характерный "punchy" стиль.
**Примеры маркеров:**
- «ClickHouse — при правильной настройке — даёт отличную производительность»
- Человек напишет: «ClickHouse (при правильной настройке) даёт отличную производительность»
**Рекомендация:** Заменить на запятые или скобки. Одно-два тире в длинной статье — нормально. Три и больше — паттерн.
| Контекст | Severity |
|----------|----------|
| article | 🟡 medium |
| message | 🔴 high |
| resume | 🟡 medium |
### P04: Эмодзи в заголовках и списках
**Что:** Тематические эмодзи перед заголовками (## 🚀 Деплой), в пунктах списков (✅ Настроить CI, 📊 Метрики) или как "иллюстрации" к разделам.
**Почему:** Фирменный стиль ChatGPT-генерированных README и документации. Человек использует эмодзи реактивно (в реакциях, в конце сообщения как эмоцию), а не "иллюстративно" — подбирая тематическую иконку к каждому пункту.
**Примеры маркеров:**
- `## 🚀 Быстрый старт`
- `## 📦 Установка`
- `- ✅ Поддержка кластеризации`
- `- 📊 Мониторинг в реальном времени`
**Как выглядит человеческий текст:**
- `## Быстрый старт`
- `- Поддержка кластеризации`
**Рекомендация:** Убрать эмодзи из заголовков и списков. Оставить только если это осознанный стиль проекта (и то — подумать дважды).
| Контекст | Severity |
|----------|----------|
| article | 🔴 high |
| message | 🟡 medium |
| resume | 🔴 high |
### L01: AI vocabulary (русский)
**Что:** Слова и обороты, статистически чрезмерно используемые LLM в русском тексте.
**Почему:** Эти слова не запрещены, но их плотность в AI-тексте в разы выше, чем в человеческом. Один — ничего. Три в одном абзаце — сигнал.
**Список (tier 1 — самые частые):**
- ключевой, комплексный, значительный, существенный
- эффективно, целесообразно, в рамках, в контексте
- является, представляет собой
- обеспечивает, способствует, позволяет
- данный (вместо "этот"), текущий (вместо "нынешний/сейчашний")
- неотъемлемая часть, играет важную роль
- оптимизация, масштабирование (вне технического контекста)
**Список (tier 2 — подозрительные в скоплении):**
- безусловно, несомненно, очевидно
- вместе с тем, помимо этого, кроме того
- стоит отметить, важно подчеркнуть, следует учитывать
- широкий спектр, целый ряд, многообразие
- актуальный, востребованный, перспективный
**Рекомендация:** Заменить на простые синонимы. "Является ключевым" → "это важно для". "Обеспечивает эффективное" → "помогает" / "ускоряет". "В рамках проекта" → "в проекте". "Данный подход" → "этот подход" / вообще убрать.
| Контекст | Severity |
|----------|----------|
| article | 🟡 medium |
| message | 🔴 high |
| resume | 🔴 high |
### L02: AI vocabulary (английский)
**Что:** Английские слова-маркеры в технических текстах со смешанным языком.
**Список (tier 1):** delve, crucial, pivotal, foster, landscape, testament, enhance, intricate, tapestry, underscore, leverage, streamline, holistic, robust, seamless, comprehensive.
**Список (tier 2):** navigate, harness, cutting-edge, groundbreaking, game-changer, empower, unlock, spearhead.
**Рекомендация:** Заменить на конкретные термины. "Robust solution" → "отказоустойчивое решение" / "решение, прошедшее нагрузочное тестирование". "Leverage Kafka" → "использовать Kafka".
| Контекст | Severity |
|----------|----------|
| article | 🟡 medium |
| message | 🟡 medium |
| resume | 🔴 high |
### L03: Inflated significance (раздувание важности)
**Что:** Фразы, которые подчёркивают значимость темы общими словами без конкретики.
**Почему:** LLM систематически "надувает" важность предмета, добавляя высокопарные оценки.
**Примеры маркеров:**
- «знаменует собой важный этап в развитии»
- «является переломным моментом для отрасли»
- «открывает новые горизонты»
- «вносит значительный вклад»
- «трудно переоценить значение»
**Рекомендация:** Убрать целиком или заменить конкретным фактом. Вместо «знаменует важный этап» — что конкретно изменилось и для кого.
| Контекст | Severity |
|----------|----------|
| article | 🔴 high |
| message | 🟡 medium |
| resume | 🔴 high |
### L04: AI-зачины ("В современном мире...")
**Что:** Вводные фразы вида «В современном мире», «В мире, где...», «В эпоху цифровой трансформации», «В условиях стремительного развития технологий».
**Почему:** Классический AI-зачин для статей и эссе. Создаёт ложное ощущение масштаба. Человек, который разбирается в теме, начинает с сути, а не с философского отступления о состоянии мира.
**Примеры маркеров:**
- «В современном мире данные стали новой нефтью»
- «В эпоху больших данных особенно важно...»
- «В условиях растущей конкуренции компании вынуждены...»
- «В мире, где каждая секунда на счету...»
**Рекомендация:** Удалить первое предложение целиком. Начать со второго — почти всегда текст от этого только выигрывает.
| Контекст | Severity |
|----------|----------|
| article | 🔴 high |
| message | 🔴 high |
| resume | 🟡 medium |
### L05: Вводные приглашения ("Давайте разберёмся")
**Что:** Фразы-приглашения перед основным контентом: «Давайте разберёмся», «Давайте рассмотрим», «Let's dive in», «Let's explore», «Рассмотрим подробнее».
**Почему:** AI использует эти фразы как переход от введения к основному тексту. Человек на Хабре просто начинает объяснять, без церемоний.
**Примеры маркеров:**
- «Давайте разберёмся, как это работает»
- «Рассмотрим основные преимущества подробнее»
- «Let's dive into the details»
**Рекомендация:** Убрать. Начать объяснение напрямую.
| Контекст | Severity |
|----------|----------|
| article | 🟡 medium |
| message | 🔴 high |
| resume | 🟢 low |
---
## Категория: Структурные паттерны
### S01: Negative parallelism ("не X, а Y")
**Что:** Конструкция «Это не просто X — это Y», «It's not about X, it's about Y».
**Почему:** Один из самых узнаваемых AI-паттернов. Создаёт ложный драматический контраст.
**Примеры маркеров:**
- «Это не просто инструмент — это философия разработки»
- «Речь не только об автоматизации, но и о трансформации»
- «Это не столько технология, сколько новый подход к мышлению»
**Рекомендация:** Убрать контраст. Сказать прямо, что это такое, без ложной дихотомии.
| Контекст | Severity |
|----------|----------|
| article | 🔴 high |
| message | 🔴 high |
| resume | 🔴 high |
### S02: Rule of three
**Что:** Перечисление ровно трёх пунктов, особенно когда они идут через запятую с усилением.
**Почему:** LLM-ы обучены на огромном объёме persuasive writing, где rule of three — стандартный приём. В AI-тексте это происходит слишком часто и слишком ритмично.
**Примеры маркеров:**
- «быстрый, надёжный и масштабируемый»
- «простота, гибкость и производительность»
- «анализировать, оптимизировать и внедрять»
**Рекомендация:** Если перечисление реально содержит три пункта — ок. Если третий добавлен "для красоты" — убрать. Или сделать два, или четыре-пять.
| Контекст | Severity |
|----------|----------|
| article | 🟡 medium |
| message | 🟡 medium |
| resume | 🟡 medium |
### S03: Compulsive summary (компульсивное подведение итогов)
**Что:** "Таким образом", "Подводя итог", "В заключение", "В целом" — особенно когда текст короткий и итог не требуется.
**Почему:** LLM рефлекторно подводит итог даже в двух абзацах. Человек в коротком тексте просто заканчивает.
**Примеры маркеров:**
- «Таким образом, ClickHouse отлично подходит для этой задачи.» (после двух предложений)
- «В целом, данный подход показал свою эффективность.»
**Рекомендация:** Убрать вводное слово. Если последнее предложение и без него звучит как итог — убрать его целиком.
| Контекст | Severity |
|----------|----------|
| article | 🟡 medium |
| message | 🔴 high |
| resume | 🟡 medium |
### S04: Однородная длина абзацев/пунктов
**Что:** Все абзацы примерно одной длины (3-4 предложения). Все bullet points одинаковой структуры и длины.
**Почему:** Человеческий текст имеет вариативную ритмику. Короткий абзац после длинного — нормально. У AI — ровная "решётка".
**Примеры маркеров:**
- Пять bullet points, каждый ровно по два предложения
- Четыре абзаца по 50-60 слов каждый
**Рекомендация:** Варьировать длину осознанно. Добавить один короткий пункт (одно предложение) и один длинный.
**Подсказка по детекции:** Посчитать слова в каждом пункте списка или абзаце. Если разброс длин менее 20% от среднего — это паттерн. Например, пять пунктов по 12, 11, 13, 12, 11 слов — подозрительно ровно.
| Контекст | Severity |
|----------|----------|
| article | 🟡 medium |
| message | 🟢 low |
| resume | 🟡 medium |
### S06: Balanced pros/cons ("Преимущества / Недостатки")
**Что:** Структура с симметричными секциями плюсов и минусов, часто с одинаковым количеством пунктов в каждой.
**Почему:** AI обожает "сбалансированную" подачу — 4 преимущества, 4 недостатка, аккуратно разложенные по полочкам. Человек обычно пишет асимметрично: «мне понравилось X и Y, но бесит Z» — в потоке текста, а не в табличке.
**Примеры маркеров:**
- Секция "Преимущества" с 4 пунктами, затем секция "Недостатки" с 4 пунктами
- «С одной стороны... С другой стороны...» как организующая структура всего текста
**Рекомендация:** Если сравнение нужно — сделать его асимметричным. Написать в потоке текста, а не раскладывать по секциям. Или честно сказать: «плюсов больше, минус один, но существенный».
| Контекст | Severity |
|----------|----------|
| article | 🟡 medium |
| message | 🟢 low |
| resume | 🟢 low |
### S05: Bullet points с жирным заголовком + расшифровка
**Что:** Списки, где каждый пункт — **Жирное слово/фраза**: а потом то же самое другими словами.
**Почему:** Фирменный стиль ChatGPT. На Хабре и в документации так не пишут.
**Примеры маркеров:**
- **Масштабируемость**: Система легко масштабируется горизонтально и вертикально.
- **Отказоустойчивость**: Обеспечивается высокий уровень отказоустойчивости.
**Рекомендация:** Либо убрать жирные "заголовки" и писать обычными пунктами, либо убрать расшифровку, если заголовок и так ясен.
| Контекст | Severity |
|----------|----------|
| article | 🔴 high |
| message | 🟡 medium |
| resume | 🟡 medium |
---
## Категория: Тональные паттерны
### T01: Vague attribution (размытые ссылки на авторитет)
**Что:** «Эксперты отмечают», «По мнению специалистов», «Согласно исследованиям», «Многие разработчики считают» — без указания, кто именно.
**Почему:** AI не может сослаться на конкретный источник и подставляет weasel words.
**Примеры маркеров:**
- «Эксперты в области Big Data отмечают растущую популярность...»
- «Согласно последним исследованиям, эффективность выросла на...»
**Рекомендация:** Либо дать конкретную ссылку/имя, либо убрать апелляцию к авторитету. «Мы замерили — эффективность выросла» лучше, чем «эксперты отмечают».
| Контекст | Severity |
|----------|----------|
| article | 🔴 high |
| message | 🟡 medium |
| resume | 🟡 medium |
### T02: Superficial -ing / причастные оценки
**Что:** Завершающие причастные обороты, которые добавляют поверхностную оценку: «...обеспечивая гибкость», «...повышая эффективность», «...демонстрируя зрелость подхода».
**Почему:** LLM добавляет "хвостовые" оценочные обороты как рефлекс. Человек либо скажет это отдельным предложением, либо не скажет вообще.
**Примеры маркеров:**
- «Мы перешли на Airflow, значительно упростив оркестрацию.»
- «Компания внедрила CI/CD, ускорив доставку фич в продакшен.»
- «...reflecting the continued relevance of the framework.»
**Рекомендация:** Убрать причастный оборот. Если мысль важна — вынести в отдельное предложение с конкретикой.
| Контекст | Severity |
|----------|----------|
| article | 🟡 medium |
| message | 🟡 medium |
| resume | 🔴 high |
### T03: Отсутствие личной позиции / стерильная нейтральность
**Что:** Текст описывает предмет исключительно "со стороны", без мнения автора, личного опыта, субъективных оценок.
**Почему:** AI по умолчанию стремится к нейтральности. Человек на Хабре скажет «мне этот подход не нравится, потому что...» или «мы обожглись на этом».
**Примеры маркеров:**
- «Данный подход имеет как преимущества, так и ограничения.» (без указания, какие конкретно и что автор думает)
- «Существуют различные мнения по этому вопросу.»
**Рекомендация:** Добавить конкретную позицию автора. Не обязательно резкую — но личную.
| Контекст | Severity |
|----------|----------|
| article | 🔴 high |
| message | 🟢 low |
| resume | 🟢 low |
### T04: Вежливые обрамления
**Что:** "Буду рад помочь", "Не стесняйтесь обращаться", "Надеюсь, это поможет", "Если возникнут вопросы..." — в конце каждого сообщения.
**Почему:** Фирменный chatbot-стиль. В реальной переписке коллеги так не пишут (разве что в первом письме новому человеку).
**Примеры маркеров:**
- «Если нужна помощь — обращайся, буду рад помочь!»
- «Надеюсь, информация окажется полезной.»
**Рекомендация:** Убрать. В переписке с коллегами — просто закончить по делу.
| Контекст | Severity |
|----------|----------|
| article | 🟢 low |
| message | 🔴 high |
| resume | 🟡 medium |
---
## Категория: Паттерны, специфичные для резюме
### R01: Абстрактные impact-фразы без цифр
**Что:** «Значительно повысил эффективность», «Оптимизировал бизнес-процессы», «Внёс существенный вклад в развитие».
**Почему:** AI не знает реальных цифр и подставляет generic impact-фразы. Рекрутер сразу видит отсутствие конкретики.
**Примеры маркеров:**
- «Существенно сократил время обработки данных»
- «Повысил качество аналитических процессов»
**Рекомендация:** Добавить цифры, названия систем, объёмы. «Сократил время ETL с 4 часов до 40 минут за счёт перевода на ClickHouse MergeTree».
| Контекст | Severity |
|----------|----------|
| article | 🟡 medium |
| message | 🟢 low |
| resume | 🔴 high |
### R02: Buzzword stacking
**Что:** Нагромождение модных терминов без привязки к конкретной работе.
**Почему:** AI генерирует "красиво звучащие" наборы компетенций, которые не привязаны к реальным проектам.
**Примеры маркеров:**
- «Кросс-функциональное взаимодействие, стратегическое планирование, непрерывное совершенствование»
- «Agile-трансформация, цифровая зрелость, data-driven подход»
**Рекомендация:** Каждый buzzword привязать к конкретному проекту или убрать. Не более одного buzzword на bullet point.
| Контекст | Severity |
|----------|----------|
| article | 🟡 medium |
| message | 🟢 low |
| resume | 🔴 high |
### R03: Однородная структура bullet points в опыте
**Что:** Каждый пункт начинается с глагола в прошедшем времени, одинаковой длины, одинаковой конструкции.
**Почему:** AI генерирует "правильные" bullet points по шаблону. Реальное резюме, написанное человеком, имеет разную структуру пунктов.
**Примеры маркеров:**
- «Разработал систему мониторинга...»
- «Реализовал интеграцию с...»
- «Оптимизировал процесс...»
- «Внедрил автоматизацию...»
(все по 8-12 слов, все глагол + объект + контекст)
**Рекомендация:** Варьировать структуру. Добавить пункт с результатом ("Скорость выросла в 3 раза"). Добавить пункт с контекстом ("Проект для Ростелеком, команда 5 человек"). Разная длина пунктов.
| Контекст | Severity |
|----------|----------|
| article | 🟢 low |
| message | 🟢 low |
| resume | 🔴 high |
---
## Категория: Переходные слова и связки
### C01: Избыточные conjunctive phrases
**Что:** «Более того», «Кроме того», «Помимо этого», «Вместе с тем», «Moreover», «Furthermore», «Additionally» — слишком часто.
**Почему:** AI использует формальные связки между каждым абзацем. Человек чаще начинает новый абзац без связки или использует неформальные переходы.
**Примеры маркеров:**
- Три абзаца подряд, начинающихся с «Кроме того», «Более того», «Помимо этого»
**Рекомендация:** Убрать 2 из 3. Начать абзац с сути, без вводного оборота.
| Контекст | Severity |
|----------|----------|
| article | 🟡 medium |
| message | 🔴 high |
| resume | 🟡 medium |
### C02: False range ("от X до Y")
**Что:** «От небольших стартапов до крупных корпораций», «От технической экспертизы до креативного мышления», «From intimate gatherings to global movements».
**Почему:** Конструкция подразумевает спектр, но на деле это просто две слабо связанные вещи, одетые в "красивую" рамку.
**Примеры маркеров:**
- «Опыт работы от MVP-проектов до enterprise-решений»
- «Навыки от написания кода до управления командами»
**Рекомендация:** Сказать прямо: «Работал и с MVP, и с enterprise-проектами» или перечислить конкретные проекты.
| Контекст | Severity |
|----------|----------|
| article | 🟡 medium |
| message | 🟡 medium |
| resume | 🔴 high |
---
## Матрица severity (сводная)
Ниже — быстрая справка для определения, какие паттерны критичны в каком контексте.
### article (статьи, Хабр, документация)
🔴 high: P04 (эмодзи в заголовках), L03 (inflated significance), L04 (AI-зачины), S01 (negative parallelism), S05 (bold bullet headers), T01 (vague attribution), T03 (стерильная нейтральность)
🟡 medium: P01, P03, L01, L02, L05, S02, S03, S04, S06, T02, R01, C01, C02
### message (переписка)
🔴 high: P01 (длинное тире), L01 (AI vocabulary RU), L04 (AI-зачины), L05 (вводные приглашения), S01, S03 (compulsive summary), T04 (вежливые обрамления), C01 (conjunctive phrases)
🟡 medium: P02, P03, P04, L03, S02, T01, T02, C02
### resume (резюме)
🔴 high: P01 (длинное тире), P04 (эмодзи), L01, L02, L03, S01, R01 (abstract impact), R02 (buzzword stacking), R03 (однородные bullets), T02 (причастные оценки), C02 (false range)
🟡 medium: P03, L04, S02, S03, S04, T04, C01