| Парсинг публичных Telegram-каналов через веб-превью t.me/s/. Посты, метрики, аналитика, дайджесты, конкурентный анализ. Cache-first подход для гигиены контекстного окна. дайджест каналов, telegram digest, анализ канала, шер-парад, telegram analytics, мониторинг каналов.
npx skills add https://github.com/artwist-polyakov/polyakov-claude-skills --skill telegram-channel-parser
Парсинг публичных Telegram-каналов через веб-превью (t.me/s/). Без API-ключей, без MTProto, zero config.
Перед любым запуском скриптов создай рабочую копию скилла в /home/claude/telegram-channel-parser и работай уже из неё:
bash scripts/prepare_runtime.sh
cd /home/claude/telegram-channel-parser
prepare_runtime.sh копирует скилл и, если есть config/.env, нормализует его через sed -i: некавыченные значения с пробелами или кириллицей оборачиваются в кавычки в рабочей копии.
Никаких токенов не требуется. Для дайджестов — скопировать .env.example:
cp config/.env.example config/.env
Без .env: скилл работает, но каналы нужно передавать явно через --channel / --channels.
С .env: дайджест AI-каналов готов из коробки. Пользователь может добавить свои категории.
Структура .env (категории дайджестов):
TG_CATEGORIES=ai,crypto # реестр доступных категорий
TG_DEFAULT_CATEGORY=ai # дефолтная при запросе "дайджест"
TG_CHANNELS_AI_LABEL="AI и технологии"
TG_CHANNELS_AI=countwithsasha,evilfreelancer,...
TG_CHANNELS_CRYPTO_LABEL="Криптовалюты"
TG_CHANNELS_CRYPTO=channel1,channel2
Алгоритм агента при запросе дайджеста:
config/.env (если есть)TG_CATEGORIES — получить список доступных категорийTG_CHANNELS_<ID> = каналы, TG_CHANNELS_<ID>_LABEL = название_LABELTG_DEFAULT_CATEGORY--channelsЕсли .env нет → спросить какие каналы парсить, предложить cp config/.env.example config/.env.
Приоритет: --channels явно > категория из .env > агент спрашивает.
Подробности: config/README.md.
bash scripts/fetch_posts.sh --channel countwithsasha --limit 50
Выведет последние 50 постов в TSV (id, date, views, reactions, fwd_from, fwd_link, text, media_url).
bash scripts/channel_info.sh --channel countwithsasha
bash scripts/search_posts.sh --channel countwithsasha --query "скилл"
bash scripts/top_posts.sh --channel countwithsasha --limit 50 --sort reactions
bash scripts/posting_schedule.sh --channel countwithsasha --limit 100
bash scripts/export_csv.sh --channel countwithsasha --limit 100 --csv cache/export.csv
# Явный список каналов
bash scripts/digest.sh --channels "countwithsasha,evilfreelancer,aostrikov_ai_agents" --period today
# Дефолтный набор (без --channels)
bash scripts/digest.sh --period today
Периоды: today, yesterday, week, N (последние N дней).
bash scripts/compare_channels.sh --channels "channel1,channel2,channel3" --limit 30
Таблица: подписчики, средние просмотры, частота публикаций, engagement.
При запросе дайджеста — отображай результаты как React-артифакт (лента карточек).
Алгоритм (4 шага):
digest_json.sh — он пишет JSON в файл (не stdout!) и возвращает путь: bash scripts/digest_json.sh --period today
# → prints: cache/digest_today.json
assets/digest-feed.tsx__DIGEST_DATA__ в шаблоне на содержимое JSON, отрендери как React-артифактВажно: скрипт пишет в файл, а не в stdout, чтобы обойти лимит буфера sandbox (~200KB). Для 30-дневного дайджеста 15 каналов JSON может быть 500KB+.
Посты автоматически сортируются по дате (новые сверху), перемешаны между каналами. Пользователь фильтрует по периоду и каналу через UI.
Общий паттерн вызова:
bash scripts/<script>.sh --channel <username> [--limit N] [--before <post_id>] [--csv path]
| Script | Description | Special params |
|--------|-------------|----------------|
| fetch_posts.sh | Посты канала → TSV | --limit, --before, --after-date YYYY-MM-DD |
| channel_info.sh | Название, описание, подписчики | — |
| search_posts.sh | Полнотекстовый поиск | --query "text" |
| top_posts.sh | Ранжирование постов | --sort views\|reactions, --limit |
| posting_schedule.sh | Анализ времени публикаций | --limit |
| export_csv.sh | Экспорт в CSV | --csv path |
| digest.sh | Дайджест нескольких каналов | --channels "a,b,c", --period today\|yesterday\|week\|N |
| digest_json.sh | Дайджест → JSON файл (для React-артифакта) | --channels "a,b,c", --period today\|yesterday\|week\|N |
| compare_channels.sh | Сравнительная таблица | --channels "a,b,c" |
| Param | Required | Default | Description |
|-------|----------|---------|-------------|
| --channel | да* | — | Username канала (без @) |
| --channels | нет | из .env | Несколько каналов через запятую |
| --limit | нет | 20 | Сколько постов загрузить |
| --before | нет | — | ID поста для пагинации |
| --after-date | нет | — | Не загружать посты старше даты (YYYY-MM-DD) |
| --csv | нет | — | Путь для экспорта |
*--channel для одного канала, --channels для мультиканальных команд.
Скилл принимает канал в любом формате:
countwithsasha — просто username@countwithsasha — с собакойhttps://t.me/countwithsasha — прямая ссылкаhttps://t.me/s/countwithsasha — ссылка на веб-превьюt.me/countwithsasha?before=500 — с параметрамиВсё автоматически нормализуется до голого username.
Analyzes meeting transcripts and recordings to uncover behavioral patterns, communication insights, and actionable feedback. Identifies when you avoid conflict, use filler words, dominate conversations, or miss opportunities to listen. Perfect for professionals seeking to improve their communication and leadership skills.
Toolkit for creating animated GIFs optimized for Slack, with validators for size constraints and composable animation primitives. This skill applies when users request animated GIFs or emoji animations for Slack from descriptions like "make me a GIF for Slack of X doing Y".
Analyzes your recent Claude Code chat history to identify coding patterns, development gaps, and areas for improvement, curates relevant learning resources from HackerNews, and automatically sends a personalized growth report to your Slack DMs.
Knowledge and utilities for creating animated GIFs optimized for Slack. Provides constraints, validation tools, and animation concepts. Use when users request animated GIFs for Slack like "make me a GIF of X doing Y for Slack.
A skill that creates new Claude skills and automatically shares them on Slack using Rube for seamless team collaboration and skill discovery.
Automate Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify, etc.) using agent-browser via Chrome DevTools Protocol. Use when the user needs to interact with an Electron app, automate a desktop app, connect to a running app, control a native app, or test an Electron application. Triggers include "automate Slack app", "control VS Code", "interact with Discord app", "test this Electron app", "connect to desktop app", or any task requiring automation of a native Electron application.
Prepare meeting materials with Notion context and Codex research; use when gathering context, drafting agendas/pre-reads, and tailoring materials to attendees.
Interactive daily standup/meeting update generator. Use when user says 'daily', 'standup', 'scrum update', 'status update', 'what did I do yesterday', 'prepare for meeting', 'morning update', or 'team sync'. Pulls activity from GitHub, Jira, and Claude Code session history. Conducts 4-question interview (yesterday, today, blockers, discussion topics) and generates formatted Markdown update.
Take artwist-polyakov/telegram-channel-parser from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.