Стандарт сообщений MILAGPT в Telegram — форматирование, структура, картинки. Использовать ВСЕГДА при отправке сообщения клиенту, партнёру или владельцу.
Installs into .claude/skills of the current project.
Are you the author of Milagpt Chat?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/shakhruz-milagpt-chat)
---
name: MILAGPT-chat
description: Стандарт сообщений MILAGPT в Telegram — форматирование, структура, картинки. Использовать ВСЕГДА при отправке сообщения клиенту, партнёру или владельцу.
---
# MILAGPT-chat — как выглядят наши сообщения
Введён 30.07.2026 по требованию хозяин: «пусть вся коммуникация сверкает, а не
вот такими звёздочками».
Повод — конкретный сбой: ответ потенциальному клиенту ушёл с `**звёздочками**`
прямо в тексте, потому что сообщение отправили обычным текстом, а разметку
написали синтаксисом обычного markdown. Клиент увидел мусор вместо жирного.
---
## Правило номер один: одна звёздочка, не две
Telegram использует **MarkdownV2**, и он не совпадает с обычным markdown.
| Что | MarkdownV2 | Обычный markdown (НЕ РАБОТАЕТ) |
|---|---|---|
| Жирный | `*текст*` | ~~`**текст**`~~ |
| Курсив | `_текст_` | ~~`*текст*`~~ |
| Подчёркнутый | `__текст__` | — |
| Зачёркнутый | `~текст~` | — |
| Скрытый | `\|\|текст\|\|` | — |
| Код | `` `текст` `` | так же |
| Блок кода | ` ```текст``` ` | так же |
| Цитата | `>текст` в начале строки | так же |
| Ссылка | `[текст](адрес)` | так же |
**Двойные звёздочки в MarkdownV2 не жирный — это две обычные звёздочки.**
Именно они и уехали клиенту.
## Правило номер два: формат включается явно
Наш инструмент отправки по умолчанию шлёт **простой текст**. Разметка в нём не
работает — символы уходят как есть.
```
format: "markdownv2" ← без этого никакой разметки не будет
```
Если формат не указан — пишем чистым текстом без единого символа разметки.
Полумеры не бывает: либо явный markdownv2 и правильный синтаксис, либо голый
текст. Третий вариант — это звёздочки в глазах у клиента.
## Правило номер три: экранирование
В MarkdownV2 эти символы **обязаны** быть экранированы обратной косой чертой,
иначе сообщение не отправится вовсе (ошибка разбора) или разъедется:
```
_ * [ ] ( ) ~ ` > # + - = | { } . !
```
Точка и дефис — самые частые. Обычное предложение «Готово, 24 полосы.» без
экранирования точки уже сломает разбор.
**Поэтому есть помощник:**
```bash
python3 ~/.claude/skills/MILAGPT-chat/tg.py "текст сообщения"
```
Он экранирует всё, кроме того, что вы пометили как разметку. Читайте его
описание перед первым использованием.
🔴 **Длинный текст передавать только файлом, не аргументом.** Оболочка съедает
`$` — суммы вроде `$4 290` и `$2 000` исчезают из сообщения бесследно, и в чат
уходит «MRR держат три плательщика» без цифры. Поймано на себе 31.07.
```bash
python3 ~/.claude/skills/MILAGPT-chat/tg.py < письмо.txt
```
То же касается обратной косой черты и обратных кавычек. Правило простое:
**одна строка без денег — можно аргументом, всё остальное — через файл.**
Практический вывод: **markdownv2 берём тогда, когда разметка реально нужна** —
структурный ответ, список, цитата. Для короткого живого сообщения проще и
безопаснее чистый текст.
---
## Структура сообщения
Мера — та же, что в каноне агента: **написал бы так партнёр с сорокалетним
стажем со своего телефона?**
1. **Первая строка — вывод.** Не «здравствуйте, хочу рассказать», а сразу суть.
2. **Одно сообщение — одна мысль.** Пришло пять вопросов — один ответ, не пять.
3. **Один экран.** Всё, что длиннее, — либо в документ, либо разбить по смыслу.
4. **Абзац — три-четыре строки.** Стена текста на телефоне не читается.
5. **Цифры — с контекстом.** Не «133», а «133 входящих за сутки».
6. **Конец — что дальше.** Вопрос, выбор или «жду от вас вот это».
## Когда что уместно
**Жирный** — одно-два места на сообщение, для главного вывода. Пять жирных
кусков = ни одного акцента.
**Списки** — когда пунктов больше трёх и они равнозначны. Меньше трёх — пишем
фразой.
**Цитата `>`** — когда приводим слова клиента или прошлое сообщение. Отлично
работает в разборах: «вы сказали вот это — отвечаю».
**Код `` ` ``** — только для того, что копируют: адрес, команда, имя файла,
номер счёта.
**Эмодзи** — по одному на смысл, не для украшения. 🔴 для красного, ✅ для
сделанного. Ёлка из эмодзи в каждой строке — признак рассылки, а не человека.
## Картинки и файлы
Мы почти не используем картинки в сообщениях, а зря: скриншот объясняет быстрее
абзаца.
**Когда прикладывать:**
* показываем результат — скриншот страницы, документа, панели;
* сравниваем «было — стало»;
* объясняем, куда нажать;
* отдаём готовое: PDF, таблицу, отчёт.
**Как:** файл прикладывается к тому же сообщению, а не отдельно. Подпись к нему
— это и есть сообщение: коротко, что на картинке и что с этим делать.
**Чего не делаем:** не шлём файл без объяснения · не шлём то, чего сами не
открывали · не отправляем markdown-файлы (на телефоне не рендерятся, документы
собираем навыком `MILAGPT-doc`).
### Картинка внутри текста — так Telegram не умеет
Частый запрос: «абзац, картинка, абзац, картинка», как в статье. **В одном
сообщении это невозможно** — картинка бывает только над текстом или под ним.
Три обходных пути, каждый под свою задачу:
| Способ | Когда | Оговорка |
|---|---|---|
| **Серия сообщений** — текст, фото, текст | В канале | В личке читается как спам из трёх подряд |
| **Альбом** — до 10 фото пачкой, подпись к первому | «Вот пять цветов», «вот как повесить» | Текст только один, к первому фото |
| **Статья на telegra.ph** | Длинный пост с картинками между абзацами | Настоящее решение |
**Статья** — то, чем делаются длинные посты для каналов. Собирается через
открытый API `api.telegra.ph`: `createAccount` даёт токен, `createPage`
принимает содержимое блоками (`p`, `h4`, `figure` + `img` + `figcaption`).
В канал уходит ссылка и разворачивается статьёй прямо внутри Telegram, без
перехода в браузер.
**Ограничение:** загрузка файлов на telegra.ph давно не работает — картинки
подключаются **ссылками**. Значит фото сначала должно лежать на сайте клиента
или в нашем хранилище. Проверено 30.07: страница собирается и открывается.
---
## Что никогда
* `**Двойные звёздочки**` — их не существует в Telegram.
* Разметка без включённого формата.
* Простыня в десять абзацев вместо документа.
* Служебные мысли наружу: «сейчас проверю», «интересный кейс», рассуждения вслух.
Клиенту — результат.
* Внутренние роли и имена процессов при клиенте.
* Пересказ переписки с другим клиентом.
* Три сообщения подряд там, где хватило бы одного.
* Ответ на вопрос, на который клиент уже ответил сам.
* Время суток без учёта часового пояса адресата.
## Чек-лист перед отправкой
1. Формат: text или markdownv2 — выбрано осознанно?
2. Если markdownv2: жирный одной звёздочкой, спецсимволы экранированы?
3. Первая строка — вывод?
4. Помещается в экран телефона?
5. Есть ли что приложить картинкой — станет понятнее?
6. Конец: понятно, что дальше?
7. Всё, что утверждаю, — правда, и я это проверила?
Седьмой пункт главный. Красивое сообщение с выдуманным фактом хуже неряшливого
с правдой.
## Связанное
* `MILAGPT-doc` — длинные документы, они не сюда.
* Память: `telegram-formatting-rules`, `telegram-markdownv2-format`,
`copywriting-no-fluff`, канон агента в `~/.claude/CLAUDE.md`.