Skip to content
Back to skills

Blog

ASecurity

Создал Claude Code skill который генерирует превью статьи и публикует в Telegram канал. Haiku пишет текст, Python отправляет.

  • 25 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 2, 2026
developmentpythongitapi

Works with

  • claude code
  • api

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 21 files and shows the line behind each finding

Scanned September 2, 2026

npx -y skills add serejaris/sereja.tech --skill blog --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Blog?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Blog
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/serejaris-blog/badge)](https://www.skillsdirectory.com/skills/serejaris-blog)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
title: "Skill для автопостинга в Telegram: завайбкодил за стрим"
date: 2026-01-23
description: "Создал Claude Code skill который генерирует превью статьи и публикует в Telegram канал. Haiku пишет текст, Python отправляет."
tags: ["claude code", "telegram", "skills"]
youtube_id: "BxkAfHxQ9BU"
image: /images/blog/blog-to-telegram-skill-preview.png
---

Написал статью — копирую текст в Telegram. Надоело. За 2 часа стрима сделал skill.

{{< youtube BxkAfHxQ9BU >}}

## Проблема

После каждой публикации — четыре клика. Telegram. Превью. Ссылка. Отправить.

## Решение

{{< callout type="insight" >}}
Создай skill blog-to-telegram. Находит последнюю статью через git log, генерирует превью через Haiku субагента, отправляет в Telegram через Python скрипт.
{{< /callout >}}

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", а итеративная отладка промпта:

1. **Запускаю без правил** — фиксирую что ломается (emoji, хештеги, много текста)
2. **Пишу правила** — проверяю что косяки ушли
3. **Нахожу новые лазейки** — закрываю

Три итерации — и Haiku выдаёт ровно то, что нужно.

Ключевые правила из skill.md:

```markdown
ПРАВИЛА:
- МАКСИМУМ 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 — отправка без зависимостей

```python
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 секунд.

![Пост в Telegram канале](/images/blog/telegram-preview.png)

## Workflow

```
┌─────────────────┐     ┌──────────────┐     ┌─────────────┐
│  git log        │────▶│  Read post   │────▶│  Task       │
│  latest post    │     │  frontmatter │     │  (Haiku)    │
└─────────────────┘     └──────────────┘     └──────┬──────┘
                                                   │
                                                   ▼
                                            ┌──────────────┐
                                            │  send.py     │
                                            │  → Telegram  │
                                            └──────────────┘
```

## Смотри также

- [Пайплайн для статей: 5 фаз от идеи до Telegram](/blog/blog-post-pipeline/) — полный цикл, в котором этот skill — финальная фаза
- [Мой редотдел из трёх промптов](/blog/telegram-autopublisher/) — как работает система автопубликации в целом
- [Telegram API вместо JSON экспорта](/blog/telegram-api-vs-json-export/) — как получать сообщения напрямую, если публикация превращается в аналитику
- [Дайджест одного Telegram-сообщения](/blog/telegram-single-message-digest/) — как упаковать длинный результат в формат, который Telegram нормально показывает

## Источники

- [Claude Skills — документация](https://code.claude.com/docs/en/skills)
- [Claude Skills: Build repeatable workflows](https://zapier.com/blog/claude-skills/) — Zapier
- [Стрим](https://youtube.com/live/BxkAfHxQ9BU)

Files in this skill

  • _index.md124 B
  • agent-consilium-independent-opinions.md17.9 KB
  • agent-knowledge-base.md13.6 KB
  • agent-swarm-frontend.md4.8 KB
  • agent-teams-opus-4-6.md17.1 KB
  • agents-md-source-of-truth.md12.9 KB
  • ai-coding-tools-economics-2026.md5.8 KB
  • ai-radio-agents.md14.1 KB
  • ai-student-progress-tracking.md8.3 KB
  • ai-writing-pipelines.md26.6 KB
  • app-types-guide.md17.3 KB
  • ascii-dashboard-analytics.md7.4 KB
  • best-practices-code.md15.1 KB
  • blog-post-pipeline.md15.9 KB
  • blog-to-telegram-skill.md7 KB
  • board-of-advisors-subagents.md16.6 KB
  • carousel-cards-playwright.md5.4 KB
  • cc-alias-bypass-permissions.md12.6 KB
  • chrome-devtools-mcp-setup.md19.8 KB
  • claude-code-auto-memory.md9.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…