diff --git a/agents/.agents/skills/ai-text-lint/SKILL.md b/agents/.agents/skills/ai-text-lint/SKILL.md new file mode 100644 index 0000000..8acc95c --- /dev/null +++ b/agents/.agents/skills/ai-text-lint/SKILL.md @@ -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-генерацией. Человек тоже может так писать. +- **Русский язык — приоритет.** База паттернов заточена под русскоязычный текст. Английские паттерны включены для смешанных текстов (технические статьи с англицизмами). +- **Не трогать содержание.** Скилл проверяет стиль и форму, не фактическую корректность. \ No newline at end of file diff --git a/agents/.agents/skills/ai-text-lint/references/patterns.md b/agents/.agents/skills/ai-text-lint/references/patterns.md new file mode 100644 index 0000000..599a9c2 --- /dev/null +++ b/agents/.agents/skills/ai-text-lint/references/patterns.md @@ -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 \ No newline at end of file