# Corpspeak Ru

> Шуточный переводчик между грубой прямой речью и русским корпоративным новоязом. Четыре режима: груб в корп, корп в груб (декодер), детектор буллшита в тексте, батч-перевод писем и тредов. Use when пользователь просит «переведи на корпоративный», «как это сказать на работе», «что он на самом деле имел в виду», «расшифруй это письмо», «сколько тут воды», «переведи с корпоративного». Для английского текста используй corpspeak-en. Do NOT use for: настоящее деловое письмо, которое надо написать хорошо, очистка текста от AI-канцелярита (это deslop-ru), редактура публикуемого текста, реальное смягчение конфликта в живой переписке.

- Skill: `spyrae/corpspeak-ru` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add spyrae/corpspeak-ru`
- Raw SKILL.md: https://api.skillmd.com/api/skills/spyrae/corpspeak-ru/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: MIT
- Author: spyrae (https://skillmd.com/u/spyrae)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/spyrae/corpspeak-ru

---


# Corpspeak RU - переводчик корпоративного новояза

Шуточный двусторонний переводчик: грубая прямая речь в корпоративный новояз и обратно.

Английская версия - `corpspeak-en`. Это не перевод друг друга: русский и английский корп-новояз ломаются по-разному и лечатся разными идиомами.

**Ядро.** Любое высказывание несёт три слоя:

- **пропозиция** - что фактически сказано
- **аффект** - насколько говорящего бомбит
- **импликатура** - что реально имеется в виду, но не произнесено

Корпоративизация сохраняет пропозицию дословно, аффект утилизирует через грамматику, импликатуру прячет. Декодер делает обратное: восстанавливает импликатуру и возвращает аффект.

Комизм рождается из **точности**, не из густоты. Перевод смешон тогда, когда исходную мысль можно восстановить целиком, а на выходе она звучит как слайд. Если пропозиция потерялась - это не перевод, а вода.

---

## Шесть приёмов корпоративизации

Генеративное ядро. Работает на любом входе, включая тот, которого нет ни в одном словаре.

| # | Приём | Механика | Пример |
|---|-------|----------|--------|
| 1 | **Деагентивация** | убрать субъекта, кто виноват | «я забыл» → «задача не была зафиксирована в трекере» |
| 2 | **Номинализация** | глагол в существительное | «всё упало» → «наблюдается деградация сервиса» |
| 3 | **Хеджирование** | снять категоричность | «нет» → «выглядит непроходимым в текущем скоупе» |
| 4 | **Вынос в трек** | конфликт откладывается, а не решается | «ты не прав» → «предлагаю обсудить это отдельно» |
| 5 | **Заимствование** | русский корень в англицизм | «сроки горят» → «есть риск по таймлайну» |
| 6 | **Позитивная рамка** | провал в возможность | «мы просрали квартал» → «квартал дал нам ценные инсайты по воронке» |

Приёмы комбинируются. Чем выше уровень интенсивности, тем больше приёмов накладывается на одну фразу.

---

## Шкала интенсивности (1-3)

Дефолт - **2**. Если пользователь не указал уровень, бери второй.

**Уровень 1 - вежливо.** Обычная деловая вежливость, жаргона нет, поймёт кто угодно.
> «Я пока не знаю, уточню и вернусь.»

**Уровень 2 - стандартный корп.** Жаргон, хеджирование, пассив. Узнаваемо, но ещё функционально.
> «У меня нет этой информации. Подсвечу вопрос владельцу и вернусь с апдейтом.»

**Уровень 3 - слайд из BigTech.** Максимальная густота, фреймворки, метрики, трек-менеджмент. Смысл на грани, но восстановим.
> «Коллеги, по данному вопросу у меня отсутствует полная видимость. Предлагаю зафиксировать его отдельным треком, приоритизировать в рамках следующего планирования и вернуться с апдейтом по итогам синка с владельцем домена.»

**Правило уровня 3:** густота растёт, смысл остаётся восстановимым. Набор слов без пропозиции не смешон, он просто пустой.

---

## Режим 1: RAGE → CORP (основной)

Триггеры: «переведи на корпоративный», «как это сказать на работе», «сделай приличным».

**Шаги:**

1. Выдели пропозицию: что человек фактически утверждает или требует.
2. Замерь аффект: раздражение, отчаяние, презрение, усталость, безразличие. Аффект определяет, какие приёмы включатся.
3. Определи адресата, если он есть. «Ты мудак» и «этот код мудацкий» дают разный корп: первый уходит в «есть вопросы к процессу принятия решений», второй в «код требует рефакторинга перед передачей в поддержку».
4. Наложи приёмы по уровню интенсивности.
5. Проверь обратимость: из результата восстанавливается исходная мысль?

**Выход:** одна строка на запрошенном уровне. Если уровень не указан - три варианта (1/2/3), помеченные цифрами.

```
Вход:  бля да я ебу что ли

1 → Я не в курсе, надо уточнить.
2 → У меня нет этой информации, вопрос не в моей зоне.
3 → Коллеги, по данному вопросу у меня нет визибилити. Предлагаю
    адресовать его владельцу домена и вернуться с апдейтом.
```

```
Вход:  да похуй, делайте как хотите

1 → У меня нет предпочтений, решайте сами.
2 → Не имею сильной позиции по этому вопросу, полагаюсь на команду.
3 → С моей стороны блокеров нет. Считаю, что решение лучше принять
    на уровне команды - вы ближе к контексту.
```

```
Вход:  кто это вообще писал, это невозможно поддерживать

1 → Код сложно поддерживать, стоит посмотреть вместе.
2 → У меня есть вопросы к поддерживаемости этого модуля.
    Предлагаю обсудить с автором.
3 → В ходе ревью выявлены риски по maintainability данного модуля.
    Предлагаю вынести в отдельный трек техдолга и приоритизировать
    в ближайшем планировании.
```

---

## Режим 2: CORP → RAGE (декодер)

Триггеры: «что он имел в виду», «переведи с корпоративного», «расшифруй».

**Шаги:**

1. Найди хедж и определи, что он прикрывает.
2. Восстанови агента: кто на самом деле субъект действия в деагентивированной фразе.
3. Разверни номинализации обратно в глаголы.
4. Достань импликатуру: что человек хотел сказать, но не сказал.
5. Верни аффект в прямую речь.

**Выход:** прямая версия + одна строка «Итого» о том, что от адресата на самом деле хотят.

```
Вход:  Давайте вернёмся к этому вопросу позже
Выход: Никогда.
Итого: вопрос закрыт, обсуждения не будет.
```

```
Вход:  Интересная идея, надо подумать над реализацией
Выход: Нет.
Итого: отказ, но без записи в переписке.
```

```
Вход:  Есть определённые нюансы по работе этого механизма
Выход: Оно не работает.
Итого: от вас ждут, что вы сами догадаетесь и не будете спрашивать при всех.
```

```
Вход:  Хотел бы синкнуться, чтобы выровнять ожидания
Выход: Ты сделал не то, что я просил.
Итого: готовься объясняться, в переписке этого не будет.
```

---

## Режим 3: детектор буллшита

Триггеры: «сколько тут воды», «это буллшит?», «разбери письмо».

**Метрика.** `Bullshit Density = предложений без нового факта / всего предложений × 100%`

Предложение несёт факт, если содержит хотя бы одно: число, дату, имя, конкретное действие с субъектом, проверяемое утверждение. Всё остальное - соединительная ткань.

| BD | Диагноз |
|----|---------|
| 0-20% | нормальное рабочее письмо |
| 20-50% | типичный корп, жить можно |
| 50-80% | письмо-заполнитель, реальный смысл в одном абзаце |
| 80%+ | прикрытие задницы, факты отсутствуют намеренно |

**Выход:**

```
Bullshit Density: NN%  [диагноз]

Что реально сказано:
- [факт 1]
- [факт 2]

Красные флаги:
- «[цитата]» → [что это значит]

Итого одной строкой: [что от вас хотят]
```

---

## Режим 4: батч

Триггеры: письмо, тред, длинное сообщение целиком.

1. Сохраняй структуру: тема, обращение, разбивка на абзацы, подпись.
2. Переводи абзацами, не предложениями - иначе теряется связность.
3. Имена, цифры, даты, названия систем и ссылки не трогай **никогда**. Это якоря, на которых держится комизм.
4. Не выравнивай длину. Корп-версия длиннее исходника в 2-3 раза, и это часть шутки. Обратно - короче в 5 раз.
5. При переводе треда сохраняй, кто кому отвечает.

Если пользователь не указал направление, а вход явно корпоративный - применяй декодер (режим 2), это почти всегда то, чего хотят.

---

## Словарь: калибровка регистра

Не lookup-таблица. Сначала применяй приёмы к конкретной фразе, сюда заглядывай, чтобы поймать тон. Расширенная версия - `references/lexicon.md`.

**Незнание**

| Прямо | Корп |
|---|---|
| бля да я ебу что ли | у меня нет этой информации, вопрос вне моей зоны |
| откуда я знаю | это за периметром моей ответственности |
| никто не знает как это работает | документация по модулю требует актуализации |

**Отказ**

| Прямо | Корп |
|---|---|
| нет | выглядит непроходимым в текущем скоупе |
| это бред | есть вопросы к целесообразности данного подхода |
| ты не прав | у меня другое прочтение ситуации |
| я против | фиксирую особое мнение |

**Претензия**

| Прямо | Корп |
|---|---|
| вы задолбали переносить | предлагаю зафиксировать финальную дату |
| ты обещал и не сделал | вижу расхождение с договорённостями от [дата] |
| вы вообще читали что я прислал | возможно, мой комментарий потерялся в треде |

**Плохие новости**

| Прямо | Корп |
|---|---|
| всё сломалось | наблюдается деградация сервиса |
| мы не успеем | есть риск по таймлайну, требуется пересмотр скоупа |
| я накосячил | на этапе внедрения была допущена ошибка |
| нас всех уволят | компания оптимизирует организационную структуру |

**Безразличие и защита скоупа**

| Прямо | Корп |
|---|---|
| да похуй, делайте как хотите | с моей стороны блокеров нет, полагаюсь на команду |
| разбирайтесь сами | предлагаю взять овнершип на стороне вашей команды |
| это не моя работа | это за пределами текущего скоупа |
| у меня нет времени | ресурс законтрактован до конца спринта |

**Маркеры регистра.** Существительные: скоуп, трек, овнершип, визибилити, апдейт, синк, блокер, риск, инсайт, периметр, домен, приоритизация. Глаголы: зафиксировать, подсветить, выровняться, засинкаться, эскалировать, приоритизировать, адресовать, отработать. Амортизаторы: «коллеги», «предлагаю», «хотел бы уточнить», «с моей стороны», «в моменте», «в рамках», «вернусь с апдейтом».

Один-два маркера на фразу. Больше - выходит пародия вместо перевода.

**Устойчивые эвфемизмы (для декодера)**

| Написано | Значит |
|---|---|
| давайте вернёмся к этому | никогда |
| интересная идея | нет |
| есть определённые нюансы | не работает |
| требует дополнительной проработки | никто этим не занимался |
| нужно синкнуться | проблема, и не для переписки |
| по итогам обсуждения принято решение | решили без вас |
| в рамках оптимизации | сокращения |
| мы услышали ваш фидбек | ничего не изменится |
| амбициозные сроки | нереальные сроки |
| режим высокой неопределённости | никто не понимает, что происходит |
| давайте не будем эскалировать | не говори моему руководителю |
| это хороший вопрос | я не знаю ответа |
| работаем над этим | не начинали |
| решение принято на уровне руководства | спорить бессмысленно |

---

## Что ломает шутку

| Ошибка | Симптом | Фикс |
|---|---|---|
| Потеря пропозиции | из перевода не восстановить мысль | вернуть конкретику входа |
| Просто вежливо | «блин, я не знаю» вместо корпа | добавить приёмы 2, 4, 5 |
| Схлопывание | все раздражённые фразы дают «давайте синкнемся» | держать конкретный объект: код, дедлайн, человек, процесс |
| Потеря адресата | «ты мудак» и «код мудацкий» дают одно и то же | шаг 3 режима 1 |
| Мат в корп-выходе | любой обсценный корень | ноль исключений, режим 1 всегда стерильный |
| Пустой уровень 3 | набор слов без смысла | густота растёт, пропозиция остаётся |
| Объяснение шутки | «здесь я использовал деагентивацию» | выдавать только результат |

---

## Output Format

Всегда выдавай **только результат перевода**, без разбора приёмов. Механику объясняй, только если попросили.

```
Режим 1 (уровень указан):     одна строка
Режим 1 (уровень не указан):  три строки, помеченные 1 / 2 / 3
Режим 2:                      прямая версия + строка «Итого»
Режим 3:                      блок метрики (шаблон выше)
Режим 4:                      документ целиком, структура сохранена
```

---

## Быстрая проверка (smoke test)

Прогоняй при правках скилла. Если выход схлопнулся в общее место - сломано схлопывание, чини шаг 3 режима 1.

```
input:  сроки нереальные, мы физически не успеваем
output: Текущая оценка не бьётся с датой релиза. Предлагаю
        зафиксировать сокращение скоупа или сдвиг на спринт.

input:  эта хуйня опять отвалилась в проде, третий раз за неделю
output: Фиксирую третий инцидент по этому сервису за неделю.
        Предлагаю подсветить проблему как системную, а не разовую.

input:  Коллеги, предлагаю вернуться к этому вопросу после планирования
output: Никогда.
        Итого: вопрос закрыт, обсуждения не будет.
```

## Границы

Скилл шуточный и работает с обсценной лексикой на входе - это языковой материал, а не оскорбление.

Чего он не делает:

- не пишет грубых сообщений в адрес конкретного живого человека по имени, декодер выдаёт смысл, а не заготовку для скандала
- не переводит настоящее деловое письмо, которое надо отправить
- не чистит текст от воды всерьёз (для этого нужен редактор, а не переводчик)

