Agent skill

Telegram Post

by glebis in glebis/claude-skills

Create, preview, and send formatted Telegram posts from draft markdown files.

MITAuto-check passedProductivity & Automation

Install Telegram Post

skills CLI
$ npx skills add glebis/claude-skills --skill telegram-post -a claude-code

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

GitHub CLI
$ gh skill install glebis/claude-skills telegram-post --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/glebis/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/telegram-post .claude/skills/telegram-post && 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-post
GitHub stars
388
Token cost
~1.4k tokens
SKILL.md length
477 words
Files
3 (incl. scripts)
Skills in repo
91
Repo updated
First seen
Licence
MIT

At a glance

Create, preview, and send formatted Telegram posts from draft markdown files.

  • Works in 6 steps: Read the draft file from… → Strip YAML frontmatter (everything… → Strip ![[image.png]] wikilink embeds… → …
  • The user asks to draft a Telegram channel post
  • SKILL.md covers When to Use, Sending Drafts, Formatting Reference and Draft Preparation Workflow, plus 4 more sections
  • Runs Python scripts from its folder; calls python3; reaches t.me

What it does

Telegram Post is an agent skill from glebis/claude-skills. Create, preview, and send formatted Telegram posts from draft markdown files. Use when the user asks to draft a Telegram channel post, preview a draft before sending, or publish a draft from Channels//drafts/ to saved messages or a channel. Triggers on "post to Telegram", "send to saved messages", "publish draft", "telegram post".

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including scripts (for example `.claude-plugin/plugin.json` and `scripts/post.py`).

It sits in Productivity & Automation, covering Messaging and chat bots and Markdown. It works with Telegram. The repository describes itself as: Collection of Claude Code skills for enhanced AI workflows. The licence is MIT.

When your agent uses it

  • The user asks to draft a Telegram channel post
  • Preview a draft before sending
  • Publish a draft from Channels//drafts/ to saved messages
  • Post to Telegram

Example prompts

  • “post to Telegram”
  • “send to saved messages”
  • “publish draft”
  • “/telegram-post”

Requirements

  • Python 3

Workflow steps

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

  1. Read the draft file from Channels/{channel}/drafts/
  2. Strip YAML frontmatter (everything between --- markers)
  3. Strip ![[image.png]] wikilink embeds (handle images separately via --file)
  4. Resolve media paths: check Attachments/, Channels/{channel}/attachments/, Channels/{channel}/videos/, vault root
  5. Check text length
  6. Always use --markdown flag for draft content

What it can do on your machine

Read from SKILL.md and the folder at commit 7524dff. 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 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    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 Post loads about 1.4k tokens when it runs. Until then it costs about 87 tokens; SKILL.md has 477 words of instructions outside code blocks.

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

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 passed

The automated check found no risky patterns in SKILL.md.

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 glebis/claude-skills at commit 7524dff, republished under its MIT licence (© glebis). 477 words, ~1,422 tokens.

Download SKILL.mdSave it as .claude/skills/telegram-post/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
telegram-post
description
Create, preview, and send formatted Telegram posts from draft markdown files. Use when the user asks to draft a Telegram channel post, preview a draft before sending, or publish a draft from Channels/*/drafts/ to saved messages or a channel. Triggers on "post to Telegram", "send to saved messages", "publish draft", "telegram post".

Telegram Post Skill

Create, preview, and send formatted Telegram posts from draft markdown files.

Script location: ~/.Codex/skills/telegram/scripts/telegram_fetch.py (NOT scripts/post.py -- that file does not exist)

When to Use

Use this skill when:

  • User asks to create a draft for a Telegram channel
  • User asks to "post to Telegram" or "send to saved messages" from a draft file
  • User wants to preview a draft before sending
  • Draft files in Channels/*/drafts/ need to be sent

Sending Drafts

To Saved Messages (preview)

Use the send command with --markdown flag to preserve formatting:

bash
# Send draft content with formatting to saved messages
python3 ~/.Codex/skills/telegram/scripts/telegram_fetch.py send \
  --chat "@glebkalinin" \
  --text "DRAFT_BODY_HERE" \
  --markdown
With Image/File
bash
# Send image with caption (first part) + follow-up text message (rest)
python3 ~/.Codex/skills/telegram/scripts/telegram_fetch.py send \
  --chat "@glebkalinin" \
  --file "/path/to/image.png" \
  --text "CAPTION_TEXT" \
  --markdown

IMPORTANT: Image caption limits

  • Telegram captions are limited to 1024 characters
  • If the draft body exceeds 1024 chars, split into: image + short caption, then follow-up text message(s)
  • Always use --markdown when sending draft content with formatting
To Channel (publish)

Use the publish command for channel posts -- it handles markdown conversion, footer, and post-publish automation. Works with any channel in Channels/.

bash
# Preview -- accepts slug, filename, or full path
python3 ~/.Codex/skills/telegram/scripts/telegram_fetch.py publish \
  --draft "20260413-delusional-spiraling" --dry-run

# Publish (auto-detects channel from folder or frontmatter)
python3 ~/.Codex/skills/telegram/scripts/telegram_fetch.py publish \
  --draft "20260413-delusional-spiraling"

# Schedule for later
python3 ~/.Codex/skills/telegram/scripts/telegram_fetch.py publish \
  --draft "20260413-delusional-spiraling" --schedule "2026-04-16T09:00"

# Full path also works
python3 ~/.Codex/skills/telegram/scripts/telegram_fetch.py publish \
  --draft "Channels/klodkot/drafts/20260211-post.md"

The publish command automatically:

  • Resolves channel from draft folder path or frontmatter channel field
  • Converts markdown to Telegram HTML
  • Appends the correct channel footer if missing (reads from published posts)
  • Sends with parse_mode='html'
  • Updates frontmatter (published_date, telegram_message_id)
  • Moves file from drafts/ to published/
  • Updates the channel's index file

Supported channels: Any folder in Channels/ with a {name}/{name}.md index file containing telegram_channel in frontmatter (klodkot, mental-health-tech, opytnym-putem, tool-building-ape, etc.)

Formatting Reference

--markdown flag (for send command)

Converts markdown to Telegram HTML before sending:

MarkdownTelegram
**bold**bold
_italic_italic
[text](url)clickable link
## Headerbold
* item / - itemarrow format

Without --markdown: text is sent as-is (plain text). **bold** appears literally as **bold**.

publish command

Handles markdown conversion automatically -- no --markdown flag needed.

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

Draft Preparation Workflow

  1. Read the draft file from Channels/{channel}/drafts/
  2. Strip YAML frontmatter (everything between --- markers)
  3. Strip ![[image.png]] wikilink embeds (handle images separately via --file)
  4. Resolve media paths: check Attachments/, Channels/{channel}/attachments/, Channels/{channel}/videos/, vault root
  5. Check text length:
    • If <= 1024 chars and has image/video: send as single message with media + caption
    • If > 1024 chars and has image/video: send media with short caption (title only), then rest as follow-up text
    • If no media: send as text message(s), split at 4096 char limit
  6. Always use --markdown flag for draft content

Post-Send Workflow (when user says "move to published" or similar)

After sending a draft to saved messages or channel:

  1. Move file from Channels/{channel}/drafts/ to Channels/{channel}/published/
  2. Update frontmatter: change type: draft to type: published and add published_date: '[[YYYYMMDD]]' (today's date)
  3. Both steps should be done automatically when the user requests moving to published

Draft File Format

markdown
---
created_date: '[[YYYYMMDD]]'
type: draft
channel: klodkot
status: draft
language: ru
topic: Topic description
source: https://example.com
---
![[optional-image.png]]

_Source attribution_

**Post Title**

Content with **bold** and _italic_ and [links](url).

#tag1@channel #tag2@channel

**[CHANNEL](https://t.me/channel)** -- footer

Common Pitfalls

  • Do NOT send raw HTML via send command -- it shows as literal <b>text</b>. Use --markdown instead.
  • Do NOT manually construct HTML -- the --markdown flag handles conversion.
  • Image captions have a 1024 char limit in Telegram. Split long posts.
  • scripts/post.py does NOT exist. Always use ~/.Codex/skills/telegram/scripts/telegram_fetch.py.

Dependencies

  • Uses telegram skill credentials (~/.telegram_dl/)
  • Python 3.10+, telethon, pyyaml

© glebis, 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 2 other files (scripts) in telegram-post of glebis/claude-skills.

  • SKILL.md
  • .claude-plugin/plugin.json
  • scripts/post.py

Open the folder on GitHubat commit 7524dff

Compare with similar skills

Telegram Post 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 Post compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Telegram Post this skillglebis/claude-skills388—~1.4kAutomated safety check: PassMIT
Telegram Composesundial-org/awesome-openclaw-skills663—~887Automated safety check: PassNone
Im Adapter0xranx/golembot323—~1.4kAutomated safety check: PassMIT
Cc Connectarchibate/dotfiles-opencode107—~1.2kAutomated safety check: PassNone
Wechat Md PublisherLeoYeAI/openclaw-master-skills2.2k—~3kAutomated safety check: PassMIT
Web To Markdownrookie-ricardo/erduo-skills935—~894Automated safety check: PassMIT

Similar skills

  • Telegram Compose

    sundial-org/awesome-openclaw-skills

    Compose rich, readable Telegram messages using HTML formatting via direct Telegram API.

    663 GitHub stars~887 tokensUpdated 7 mo ago
    Productivity & AutomationAuto-check passed
  • Im Adapter

    0xranx/golembot

    Format responses for instant messaging platforms such as Lark, DingTalk, WeCom, Slack, and Telegram.

    323 GitHub stars~1.4k tokensUpdated 8 days ago
    Productivity & AutomationAuto-check passed
  • Cc Connect

    archibate/dotfiles-opencode

    This skill should be used when sending images, files, or notifications back to the user via messaging platforms (Discord, Feishu, Telegram, etc.) through cc-connect.

    107 GitHub stars~1.2k tokensUpdated 5 mo ago
    Productivity & AutomationAuto-check passed
  • Wechat Md Publisher

    LeoYeAI/openclaw-master-skills

    发布 Markdown 文章到微信公众号,支持草稿管理、多主题、智能图片处理、自动封面图。推荐与 news-to-markdown-skill 配合使用实现一键转载。

    2.2k GitHub stars~3k tokensUpdated 2 mo ago
    Productivity & AutomationAuto-check passed
  • Web To Markdown

    rookie-ricardo/erduo-skills

    Convert a web URL into cleaned Markdown with deterministic routing.

    935 GitHub stars~894 tokensUpdated 2 mo ago
    Productivity & AutomationAuto-check passed
  • Browse X

    pc-style/x-md

    Reads public X (formerly Twitter) posts, threads, X Articles, profiles, followers, following, and search results as Markdown or JSON, with no X account and no API key.

    158 GitHub stars~733 tokensUpdated 2 days ago
    Productivity & AutomationAuto-check passed

More from glebis/claude-skills

All 91 skills in this repo
  • Runs a human-first workflow for labeling PII spans in a transcript, then scores inter-annotator agreement and drafts an adjudicated gold set.

    388 GitHub stars~1.3k tokensUpdated 11 days ago
    Auto-check passed
  • Automates a dedicated, logged-in Chrome instance per profile without ever closing the user's own open tabs or browser windows.

    388 GitHub stars~973 tokensUpdated 11 days ago
    Auto-check passed
  • Deep Research

    glebis/claude-skills

    This skill should be used when conducting comprehensive research on any topic using the OpenAI Deep Research API.

    388 GitHub stars~2.6k tokensUpdated 11 days ago
    Auto-check: notes
  • Elimination Research

    glebis/claude-skills

    This skill should be used for elimination-style research where the user wants to choose from a shortlist of products, tools, services, vendors, or other options using explicit criteria, numeric…

    388 GitHub stars~1.6k tokensUpdated 11 days ago
    Auto-check passed
  • Narrated HTML Presentations

    glebis/claude-skills

    Generates a self-contained HTML presentation with article and slides modes, ElevenLabs voiceover narration and optional GPT Image 2 illustrations.

    388 GitHub stars~2.3k tokensUpdated 11 days ago
    Auto-check: notes
  • Writes fictional but realistic coaching or therapy session transcripts for evals, demos and few-shot examples, in several modalities and export formats.

    388 GitHub stars~2.9k tokensUpdated 11 days ago
    Auto-check passed

Works with

Questions about Telegram Post

What does Telegram Post do?

Create, preview, and send formatted Telegram posts from draft markdown files. Telegram Post is an agent skill from glebis/claude-skills. Create, preview, and send formatted Telegram posts from draft markdown files.

When should I use Telegram Post?

Telegram Post fits situations like: the user asks to draft a Telegram channel post; preview a draft before sending; publish a draft from Channels//drafts/ to saved messages; post to Telegram.

How do I install Telegram Post in Claude Code?

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

How do I install Telegram Post in Codex?

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

Can I use Telegram Post 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 glebis/claude-skills --skill telegram-post -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-post, .gemini/skills/telegram-post, .github/skills/telegram-post and .opencode/skills/telegram-post in your project.

What does Telegram Post need to run?

Going by SKILL.md and its folder, Telegram Post needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does Telegram Post 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 Post safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. 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 Post use?

Telegram Post 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 Post use?

About 1.4k tokens (SKILL.md is roughly 5.7k 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 Post?

Skills that share tags, products or a category with Telegram Post: Telegram Compose (sundial-org/awesome-openclaw-skills, 663 stars), Im Adapter (0xranx/golembot, 323 stars), Cc Connect (archibate/dotfiles-opencode, 107 stars) and Wechat Md Publisher (LeoYeAI/openclaw-master-skills, 2.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Telegram Post?

glebis (a GitHub user) maintains it in glebis/claude-skills, which has 388 GitHub stars. The repository holds 91 skills in this directory. The repository was last updated on September 26, 2026.

Source: glebis/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.