Agent skill

Telegram Channel Parser

by artwist-polyakov in artwist-polyakov/polyakov-claude-skills

Парсинг публичных Telegram-каналов через веб-превью t.me/s/.

MITAuto-check: notes

Install Telegram Channel Parser

skills CLI
$ npx skills add artwist-polyakov/polyakov-claude-skills --skill telegram-channel-parser -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install artwist-polyakov/polyakov-claude-skills telegram-channel-parser --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/artwist-polyakov/polyakov-claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/telegram-channel-parser/skills/telegram-channel-parser .claude/skills/telegram-channel-parser && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
telegram-channel-parser
GitHub stars
206
Token cost
~2k tokens
SKILL.md length
668 words
Files
23 (incl. scripts, assets)
Skills in repo
21
Repo updated
First seen
Licence
MIT

At a glance

Парсинг публичных Telegram-каналов через веб-превью t.me/s/.

  • Works in 5 steps: Прочитать config/.env (если есть) → Распарсить TG_CATEGORIES — получить… → Для каждой категории: TG_CHANNELS_ =… → …
  • SKILL.md covers Перед запуском, Config, Philosophy and Workflow, plus 5 more sections
  • Runs Shell scripts from its folder; calls bash; reaches t.me

What it does

Telegram Channel Parser is an agent skill from artwist-polyakov/polyakov-claude-skills. Парсинг публичных Telegram-каналов через веб-превью t.me/s/. Посты, метрики, аналитика, дайджесты, конкурентный анализ. Cache-first подход для гигиены контекстного окна. Triggers: telegram канал, telegram channel, парсинг телеграм, дайджест каналов, telegram digest, анализ канала, шер-парад, telegram analytics, мониторинг каналов.

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 25 other files, including scripts and assets (for example `config/README.md`, `scripts/channel_info.sh` and `scripts/common.sh`).

It works with Telegram. The repository describes itself as: Набор скиллов для Claude. The licence is MIT.

Example prompts

  • “/telegram-channel-parser”

Requirements

  • A Bash shell

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Прочитать config/.env (если есть)
  2. Распарсить TG_CATEGORIES — получить список доступных категорий
  3. Для каждой категории: TG_CHANNELS_ = каналы, TG_CHANNELS__LABEL = название
  4. Определить нужную категорию
  5. Передать каналы нужной категории через --channels

What it can do on your machine

Read from SKILL.md and the folder at commit 8bbeead. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 13 files in scripts/ (Shell, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • bash

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • t.me

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Telegram Channel Parser loads about 2k tokens when it runs. Until then it costs about 89 tokens; SKILL.md has 668 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~89
When it runs · the whole SKILL.md, loaded when a task matches
~2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:25
    .sh` копирует скилл и, если есть `config/.env`, нормализует его через `sed -i`: некавыченные значения с пробелами или ки
  • NoteMentions a .env fileSKILL.md:31
    cp config/.env.example config/.env
  • NoteMentions a .env fileSKILL.md:34
    **Без `.env`:** скилл работает, но каналы нужно передавать явно через `--channel` / `--channels`.
  • NoteMentions a .env fileSKILL.md:36
    **С `.env`:** дайджест AI-каналов готов из коробки. Пользователь может добавить свои категории.
  • NoteMentions a .env fileSKILL.md:38
    **Структура `.env` (категории дайджестов):**
  • NoteMentions a .env fileSKILL.md:51
    1. Прочитать `config/.env` (если есть)
  • NoteMentions a .env fileSKILL.md:60
    **Если `.env` нет** → спросить какие каналы парсить, предложить `cp config/.env.example config/.env`.
  • NoteMentions a .env fileSKILL.md:62
    тет:** `--channels` явно > категория из `.env` > агент спрашивает.
  • NoteMentions a .env fileSKILL.md:172
    | `--channels` | нет | из .env | Несколько каналов через запятую |

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from artwist-polyakov/polyakov-claude-skills at commit 8bbeead, republished under its MIT licence (© artwist-polyakov). 668 words, ~1,953 tokens.

Download SKILL.mdSave it as .claude/skills/telegram-channel-parser/SKILL.md (or your agent's skills folder). This skill also uses 22 other files; get the full folder from GitHub.
name
telegram-channel-parser
description
Парсинг публичных Telegram-каналов через веб-превью t.me/s/. Посты, метрики, аналитика, дайджесты, конкурентный анализ. Cache-first подход для гигиены контекстного окна. Triggers: telegram канал, telegram channel, парсинг телеграм, дайджест каналов, telegram digest, анализ канала, шер-парад, telegram analytics, мониторинг каналов.

telegram-channel-parser

Парсинг публичных Telegram-каналов через веб-превью (t.me/s/). Без API-ключей, без MTProto, zero config.

Перед запуском

Перед любым запуском скриптов создай рабочую копию скилла в /home/claude/telegram-channel-parser и работай уже из неё:

bash
bash scripts/prepare_runtime.sh
cd /home/claude/telegram-channel-parser

prepare_runtime.sh копирует скилл и, если есть config/.env, нормализует его через sed -i: некавыченные значения с пробелами или кириллицей оборачиваются в кавычки в рабочей копии.

Config

Никаких токенов не требуется. Для дайджестов — скопировать .env.example:

bash
cp config/.env.example config/.env

Без .env: скилл работает, но каналы нужно передавать явно через --channel / --channels.

С .env: дайджест AI-каналов готов из коробки. Пользователь может добавить свои категории.

Структура .env (категории дайджестов):

bash
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

Алгоритм агента при запросе дайджеста:

  1. Прочитать config/.env (если есть)
  2. Распарсить TG_CATEGORIES — получить список доступных категорий
  3. Для каждой категории: TG_CHANNELS_<ID> = каналы, TG_CHANNELS_<ID>_LABEL = название
  4. Определить нужную категорию:
    • Пользователь назвал тему → сопоставить с _LABEL
    • Не уточнил → использовать TG_DEFAULT_CATEGORY
    • Несколько категорий подходят → предложить выбор
  5. Передать каналы нужной категории через --channels

Если .env нет → спросить какие каналы парсить, предложить cp config/.env.example config/.env.

Приоритет: --channels явно > категория из .env > агент спрашивает.

Подробности: config/README.md.

Philosophy

  1. Always fresh — данные запрашиваются в реальном времени при каждом вызове. Никогда не пропустишь свежий пост.
  2. Context window hygiene — stdout ограничен 30 строками. Полные данные в TSV/CSV. LLM работает с компактным форматом, а не с сырым HTML.
  3. Rate limit — между запросами к t.me пауза 1.5с. Не жадничаем.
  4. Чистый POSIX sh — никаких зависимостей кроме curl, sed, awk, grep.

В JSON-дайджесте и сравнении каналов последняя страница используется и для постов, и для сведений о канале, без повторной загрузки. При каждом запуске она загружается заново; страницы истории также запрашиваются заново по мере необходимости.

Workflow

Парсинг одного канала
  1. Получи посты:

    bash
    bash scripts/fetch_posts.sh --channel countwithsasha --limit 50

    Выведет последние 50 постов в TSV (id, date, views, reactions, fwd_from, fwd_link, text, media_url).

  2. Инфо о канале:

    bash
    bash scripts/channel_info.sh --channel countwithsasha
  3. Поиск по постам:

    bash
    bash scripts/search_posts.sh --channel countwithsasha --query "скилл"
  4. Топ постов (шер-парад):

    bash
    bash scripts/top_posts.sh --channel countwithsasha --limit 50 --sort reactions
  5. Расписание публикаций:

    bash
    bash scripts/posting_schedule.sh --channel countwithsasha --limit 100
  6. Экспорт:

    bash
    bash scripts/export_csv.sh --channel countwithsasha --limit 100 --csv cache/export.csv
Дайджест по нескольким каналам
bash
# Явный список каналов
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
bash scripts/compare_channels.sh --channels "channel1,channel2,channel3" --limit 30

Таблица: подписчики, средние просмотры, частота публикаций, engagement.

React-артифакт для дайджеста

При запросе дайджеста — отображай результаты как React-артифакт (лента карточек).

Алгоритм (4 шага):

  1. Запусти digest_json.sh — он пишет JSON в файл (не stdout!) и возвращает путь:
    bash
    bash scripts/digest_json.sh --period today
    # → prints: cache/digest_today.json
  2. Прочитай JSON-файл по выведенному пути
  3. Прочитай шаблон assets/digest-feed.tsx
  4. Замени __DIGEST_DATA__ в шаблоне на содержимое JSON, отрендери как React-артифакт

Важно: скрипт пишет в файл, а не в stdout, чтобы обойти лимит буфера sandbox (~200KB). Для 30-дневного дайджеста 15 каналов JSON может быть 500KB+.

Посты автоматически сортируются по дате (новые сверху), перемешаны между каналами. Пользователь фильтрует по периоду и каналу через UI.

Show full SKILL.md (261 more words)Show less

Scripts

Общий паттерн вызова:

bash
bash scripts/<script>.sh --channel <username> [--limit N] [--before <post_id>] [--csv path]
ScriptDescriptionSpecial 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", --limit N (положительное целое)

Общие параметры

ParamRequiredDefaultDescription
--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.

Ограничения

  • Только публичные каналы (у которых есть t.me/s/ превью)
  • Некоторые посты Telegram не отдаёт через веб-превью. Если вместо текста приходит предложение открыть Telegram, поле текста в TSV/JSON содержит [Текст недоступен в веб-превью Telegram: https://t.me/<channel>/<id>]. Это пометка скилла, а не текст автора: сообщи о пропуске и дай ссылку, не пересказывай такой пост. Медиа без подписи остаётся с пустым текстом, если Telegram не пометил его как неподдерживаемое.
  • Счётчик пересылок (shares) недоступен — t.me/s/ его не отдаёт, только MTProto API
  • Зато парсится откуда переслан пост (fwd_from + ссылка на оригинал)
  • Реакции парсятся суммарно (общее количество по всем эмодзи)
  • Пагинация: ~20 постов на страницу, для 100 постов = 5 запросов
  • Rate limit: 1.5с между запросами к t.me

© artwist-polyakov, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 22 other files (scripts, assets) in plugins/telegram-channel-parser/skills/telegram-channel-parser of artwist-polyakov/polyakov-claude-skills.

  • SKILL.md
  • .gitignore
  • assets/digest-feed.tsx
  • config/.env.example
  • config/README.md
  • scripts/channel_info.sh
  • scripts/common.sh
  • scripts/compare_channels.sh
  • scripts/digest.sh
  • scripts/digest_json.sh
  • scripts/export_csv.sh
  • scripts/fetch_posts.sh
  • scripts/parse_tg_posts.awk
  • scripts/posting_schedule.sh
  • scripts/prepare_runtime.sh
  • scripts/sanitize_env.sh
  • scripts/search_posts.sh
  • scripts/tests
  • … and 5 more

Open the folder on GitHubat commit 8bbeead

Compare with similar skills

Telegram Channel Parser next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Telegram Channel Parser compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Telegram Channel Parser this skillartwist-polyakov/polyakov-claude-skills206—~2kAutomated safety check: NotesMIT
Perform Tasktelegramdesktop/tdesktop33k2 repos~3kAutomated safety check: PassGPL-3.0
Custom Mode Creator for claude-memthedotmack/claude-mem99k—~2.4kAutomated safety check: PassApache-2.0
Dependency Watchtelegramdesktop/tdesktop33k—~2.2kAutomated safety check: PassGPL-3.0
Continuetelegramdesktop/tdesktop33k2 repos~9.4kAutomated safety check: PassGPL-3.0
Process InboxTDesktop-x64/tdesktop3k1 repos~4.3kAutomated safety check: PassGPL-3.0

Similar skills

  • Perform Task

    telegramdesktop/tdesktop

    Resolve, start or resume, implement, review, test, and publish exactly one existing ai-tdesktop task by short slug or full dated id, including rare blocked retries and split-required results.

    33k GitHub starsUsed in 2 repos~3k tokens
    Productivity & AutomationAuto-check passed
  • Walks you through creating, installing and verifying a custom claude-mem mode, including note types, tags and optional Telegram alerts for chosen memories.

    99k GitHub stars~2.4k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Dependency Watch

    telegramdesktop/tdesktop

    Audit Telegram Desktop dependencies on freshly fetched origin/dev for releases and security fixes, including upstream lag and backport candidates in patched forks.

    33k GitHub stars~2.2k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Continue

    telegramdesktop/tdesktop

    Continue autonomous Telegram Desktop development from the shared ai-tdesktop repository.

    33k GitHub starsUsed in 2 repos~9.4k tokens
    Productivity & AutomationAuto-check passed
  • Process Inbox

    TDesktop-x64/tdesktop

    Process the local ignored ai-tdesktop inbox into durable, independently testable Telegram Desktop task records while task execution worktrees remain active.

    3k GitHub starsUsed in 1 repo~4.3k tokens
    Productivity & AutomationAuto-check passed
  • Process Inbox

    telegramdesktop/tdesktop

    Process the local ignored ai-tdesktop inbox into durable, independently testable Telegram Desktop task records while task execution worktrees remain active.

    33k GitHub stars~5.4k tokensUpdated today
    Productivity & AutomationAuto-check passed

More from artwist-polyakov/polyakov-claude-skills

All 21 skills in this repo
  • Agent Deck Sessions

    artwist-polyakov/polyakov-claude-skills

    Launches, monitors and collects results from child AI agent sessions with the agent-deck terminal session manager.

    206 GitHub stars~965 tokensUpdated today
    Auto-check passed
  • Crawl4AI SEO Site Crawler

    artwist-polyakov/polyakov-claude-skills

    Crawls a site with Crawl4AI to audit titles, meta tags, H1s, canonicals, navigation and internal links, and to compare landing pages and competitor sites.

    206 GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • GitHub Pages Publisher

    artwist-polyakov/polyakov-claude-skills

    Publishes already-built static pages to a GitHub Pages repo under a year, year-month and slug folder layout, optimizes large images and returns the public URL.

    206 GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Perplexity Search and Research

    artwist-polyakov/polyakov-claude-skills

    Shell scripts for web search and research through the Perplexity API: raw results, cited answers, background deep research and page fetching, with results cached on disk.

    206 GitHub stars~2.5k tokensUpdated today
    Auto-check: notes
  • Sourcecraft Publisher

    artwist-polyakov/polyakov-claude-skills

    Publish static page artifacts to SourceCraft Sites (Yandex infrastructure, works in Russia), with advisory image optimization and an original-image path.

    206 GitHub stars~990 tokensUpdated today
    Auto-check: notes
  • X/Twitter Research via Grok

    artwist-polyakov/polyakov-claude-skills

    Searches X/Twitter through the xAI Grok API to build digests, trend reports and thread analysis, meant to surface post ideas for a Telegram channel.

    206 GitHub stars~1.8k tokensUpdated today
    Auto-check: notes

Works with

Questions about Telegram Channel Parser

What does Telegram Channel Parser do?

Парсинг публичных Telegram-каналов через веб-превью t.me/s/. Telegram Channel Parser is an agent skill from artwist-polyakov/polyakov-claude-skills.me/s/.

How do I install Telegram Channel Parser in Claude Code?

Run `npx skills add artwist-polyakov/polyakov-claude-skills --skill telegram-channel-parser -a claude-code`. Or copy the skill folder (plugins/telegram-channel-parser/skills/telegram-channel-parser in artwist-polyakov/polyakov-claude-skills) into .claude/skills/telegram-channel-parser in your project. Claude Code loads it when a task matches its description.

How do I install Telegram Channel Parser in Codex?

Run `npx skills add artwist-polyakov/polyakov-claude-skills --skill telegram-channel-parser -a codex`. Or copy the skill folder (plugins/telegram-channel-parser/skills/telegram-channel-parser in artwist-polyakov/polyakov-claude-skills) into .agents/skills/telegram-channel-parser in your project. Codex loads it when a task matches its description.

Can I use Telegram Channel Parser in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add artwist-polyakov/polyakov-claude-skills --skill telegram-channel-parser -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/telegram-channel-parser, .gemini/skills/telegram-channel-parser, .github/skills/telegram-channel-parser and .opencode/skills/telegram-channel-parser in your project.

What does Telegram Channel Parser need to run?

Going by SKILL.md and its folder, Telegram Channel Parser needs a shell for the scripts in its folder and the command-line tools its instructions call (bash). Our summary lists: A Bash shell.

Does Telegram Channel Parser access the network?

SKILL.md names 1 domain. In commands or code: t.me; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Telegram Channel Parser safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Telegram Channel Parser use?

Telegram Channel Parser is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Telegram Channel Parser use?

About 2k tokens (SKILL.md is roughly 7.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Telegram Channel Parser?

Skills that share tags, products or a category with Telegram Channel Parser: Perform Task (telegramdesktop/tdesktop, 33k stars), Custom Mode Creator for claude-mem (thedotmack/claude-mem, 99k stars), Dependency Watch (telegramdesktop/tdesktop, 33k stars) and Continue (telegramdesktop/tdesktop, 33k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Telegram Channel Parser?

artwist-polyakov (a GitHub user) maintains it in artwist-polyakov/polyakov-claude-skills, which has 206 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on October 8, 2026.

Source: artwist-polyakov/polyakov-claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.