Skill для автопостинга в Telegram: завайбкодил за стрим
Написал статью — копирую текст в Telegram. Надоело. За 2 часа стрима сделал skill.
Проблема
После каждой публикации — четыре клика. Telegram. Превью. Ссылка. Отправить.
Решение
Claude Code на Opus 4.5 выдал рабочий код за 8 минут.
До и после: зачем нужен skill
Сначала я просто попросил Haiku написать превью без инструкций. Вот что получилось:
❌ Haiku без skill:
💰 Платили $87 в месяц за AI дайджесты...
🔍 Stage 1 (Fast): Flash-модель фильтрует нерелевантное...
📊 Stage 2 (Pro): Опус пишет финальный текст...
💡 Результат: расходы снизились до $35!
#ai #optimization #telegram #vibe
Emoji в каждой строке. Хештеги. 17 строк вместо 5. Это не мой стиль.
После трёх итераций с правилами:
✅ С skill:
<b>$87 → $35 в месяц на AI дайджесты</b>
Разделил LLM-запросы на два этапа: дешёвая модель фильтрует,
дорогая пишет. Половина расходов — на мусорных токенах.
→ <a href="...">Читать</a>
Чистый HTML. Личный тон. Пять строк. То что нужно.
Зачем субагент
Opus 4.5 стоит $5 за миллион входных токенов. Для генерации 5 строк превью — overkill.
Haiku 4.5 стоит $1 за миллион токенов. Для простых задач качество одинаковое.
Claude Code позволяет делегировать работу дешёвой модели через Task tool:
Task(model="haiku", prompt="Напиши превью...")
Результат: основной агент (Opus) занимается оркестрацией, а рутинную генерацию делает Haiku.
Как я тестирую инструкции для агентов
Не “TDD для skills”, а итеративная отладка промпта:
- Запускаю без правил — фиксирую что ломается (emoji, хештеги, много текста)
- Пишу правила — проверяю что косяки ушли
- Нахожу новые лазейки — закрываю
Три итерации — и Haiku выдаёт ровно то, что нужно.
Ключевые правила из skill.md:
ПРАВИЛА:
- МАКСИМУМ 5 строк (hook + 1-2 предложения + ссылка)
- HTML теги: <b> для заголовка, <a href="..."> для ссылки
- НИКАКИХ emoji, хештегов, markdown
- Личный тон (я сделал, я понял)
Структура skill
blog-to-telegram/
├── skill.md # инструкции когда и как использовать
├── send.py # отправка в Telegram (50 строк, stdlib)
└── .env # токены (не в git)
skill.md — инструкции для агента
Содержит workflow (git log → read → Task Haiku → send.py) и промпт для субагента с жёсткими правилами форматирования.
send.py — отправка без зависимостей
import json
import urllib.request
def send(text: str) -> dict:
url = f"https://api.telegram.org/bot{TOKEN}/sendMessage"
data = json.dumps({
"chat_id": CHANNEL,
"text": text,
"parse_mode": "HTML",
}).encode()
req = urllib.request.Request(url, data=data,
headers={"Content-Type": "application/json"})
with urllib.request.urlopen(req) as resp:
return json.loads(resp.read())
Никакого pip install. Только stdlib.
Результат
/blog-to-telegram — превью в канале за 10 секунд.

Workflow
┌─────────────────┐ ┌──────────────┐ ┌─────────────┐
│ git log │────▶│ Read post │────▶│ Task │
│ latest post │ │ frontmatter │ │ (Haiku) │
└─────────────────┘ └──────────────┘ └──────┬──────┘
│
▼
┌──────────────┐
│ send.py │
│ → Telegram │
└──────────────┘
Источники
Подписаться на обновления — @sereja_tech