CCM
/Skills
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Claude Code Marketplaces

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Skill index
  • MCP index
  • Marketplace index
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by mertbuilds.com

Independent project, not affiliated with Anthropic
glebis avatar

Telegram

glebis/claude-skills
264 installs345 stars
Summary

This is a comprehensive Telegram integration that handles everything from fetching and searching messages to sending, editing, and publishing content. It wraps the telegram_dl library with commands for listing chats, pulling unread messages, downloading attachments, and even managing forum threads. The publish command is particularly well thought out: it parses draft frontmatter, validates channels, extracts media references, and appends footers automatically. You'll need API credentials from my.telegram.org to get started. The markdown conversion in send commands requires an explicit flag, which is a bit of a gotcha if you're used to auto-detection, but the edit and download features work smoothly once you have message IDs from recent or search queries.

Install to Claude Code

npx -y skills add glebis/claude-skills --skill telegram --agent claude-code

Installs into .claude/skills of the current project.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
inference shell
inference shell
create and run specialised agents in minutes
build now →
MCP-ready Email SendingMCP-ready Email Sending
MCP-ready Email Sending
Plug Mailtrap into your AI workflow and let it handle the email.
Connect Mailtrap MCP →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Capacitor - Shared memory for your team’s coding agents.
Capacitor - Shared memory for your team’s coding agents.
Make coding agent sessions - Searchable, Shareable, Vendor-neutral & Scored.
Try For Free →
CodeScene MCP ServerCodeScene MCP Server
CodeScene MCP Server
Your agent targets a perfect 10 Code Health score. Deterministic. Every commit.
Try For Free →
Give your AI the whole web as clean markdownGive your AI the whole web as clean markdown
Give your AI the whole web as clean markdown
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
inference shell
inference shell
create and run specialised agents in minutes
build now →
MCP-ready Email SendingMCP-ready Email Sending
MCP-ready Email Sending
Plug Mailtrap into your AI workflow and let it handle the email.
Connect Mailtrap MCP →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Capacitor - Shared memory for your team’s coding agents.
Capacitor - Shared memory for your team’s coding agents.
Make coding agent sessions - Searchable, Shareable, Vendor-neutral & Scored.
Try For Free →
CodeScene MCP ServerCodeScene MCP Server
CodeScene MCP Server
Your agent targets a perfect 10 Code Health score. Deterministic. Every commit.
Try For Free →
Give your AI the whole web as clean markdownGive your AI the whole web as clean markdown
Give your AI the whole web as clean markdown
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
Files
SKILL.mdView on GitHub

Telegram Message Skill

Fetch, search, download, send, and publish Telegram messages with flexible filtering and output options.

Prerequisites

Authentication must be configured in ~/.telegram_dl/. Run setup command to check status or get instructions:

python3 scripts/telegram_fetch.py setup

If not configured, follow these steps:

  1. Get API credentials from https://my.telegram.org/auth
  2. Clone telegram_dl: https://github.com/glebis/telegram_dl
  3. Run python telegram_dl.py and follow interactive prompts
  4. Verify with python3 scripts/telegram_fetch.py setup

Quick Start

Run the script at scripts/telegram_fetch.py with appropriate commands:

# List available chats
python3 scripts/telegram_fetch.py list

# Get recent messages
python3 scripts/telegram_fetch.py recent --limit 20

# Search messages
python3 scripts/telegram_fetch.py search "meeting"

# Get unread messages
python3 scripts/telegram_fetch.py unread

Commands

List Chats

To see available Telegram chats:

python3 scripts/telegram_fetch.py list
python3 scripts/telegram_fetch.py list --limit 50
python3 scripts/telegram_fetch.py list --search "AI"
python3 scripts/telegram_fetch.py list --search "claude code глеб + саши" --exact

Options:

  • --search "text": Filter by substring match (case-insensitive)
  • --exact: Require exact name match instead of substring (use with --search)
  • --limit N: Max chats to retrieve (default: 30, increase if chat not found)

Important: If you're looking for a specific chat by exact name and it's not found, increase --limit to 100 or 200, as the chat may not be in the most recent 30.

Returns JSON with chat IDs, names, types, and unread counts.

Fetch Recent Messages

To get recent messages:

# From all chats (last 50 messages across top 10 chats)
python3 scripts/telegram_fetch.py recent

# From specific chat
python3 scripts/telegram_fetch.py recent --chat "Tool Building Ape"
python3 scripts/telegram_fetch.py recent --chat-id 123456789

# With limits
python3 scripts/telegram_fetch.py recent --limit 100
python3 scripts/telegram_fetch.py recent --days 7

Search Messages

To search message content:

# Global search across all chats
python3 scripts/telegram_fetch.py search "project deadline"

# Search in specific chat
python3 scripts/telegram_fetch.py search "meeting" --chat-id 123456789

# Limit results
python3 scripts/telegram_fetch.py search "important" --limit 20

Fetch Unread Messages

To get only unread messages:

python3 scripts/telegram_fetch.py unread
python3 scripts/telegram_fetch.py unread --chat-id 123456789

Send Messages

To send a message to a chat:

# Send to existing chat by name
python3 scripts/telegram_fetch.py send --chat "John Doe" --text "Hello!"

# Send to username (works even without prior conversation)
python3 scripts/telegram_fetch.py send --chat "@username" --text "Hello!"

# Reply to a specific message (use message ID from recent/search output)
python3 scripts/telegram_fetch.py send --chat "Tool Building Ape" --text "Thanks!" --reply-to 12345

# Send to a forum topic (for groups with topics enabled)
python3 scripts/telegram_fetch.py send --chat "Group Name" --text "Hello topic!" --topic 12

# Send with markdown formatting (converts **bold**, _italic_, [links](url) to Telegram HTML)
python3 scripts/telegram_fetch.py send --chat "@username" --text "**Bold** and _italic_ text" --markdown

Formatting (--markdown flag):

  • Without --markdown: text is sent as-is (plain text, no formatting)
  • With --markdown: converts markdown to Telegram HTML (**bold** -> bold, _italic_ -> italic, [text](url) -> link, ## Header -> bold, * item -> arrow list)
  • IMPORTANT: Always use --markdown when sending draft content that contains markdown formatting
  • The publish command handles markdown conversion automatically; the send command does NOT unless --markdown is specified

Send Files

To send images, documents, or videos:

# Send an image
python3 scripts/telegram_fetch.py send --chat "John Doe" --file "/path/to/image.jpg"

# Send document with caption
python3 scripts/telegram_fetch.py send --chat "@username" --file "report.pdf" --text "Here's the report"

# Reply with media
python3 scripts/telegram_fetch.py send --chat "Group" --file "screenshot.png" --reply-to 12345

Chat resolution order:

  1. @username - Resolves Telegram username directly
  2. Numeric ID - Resolves chat by Telegram ID
  3. Name match - Fuzzy search in existing dialogs

Returns JSON with send status, resolved chat name, message ID, and file info (for media).

Edit Messages

To edit an existing message:

# Edit a message by ID
python3 scripts/telegram_fetch.py edit --chat "@mentalhealthtech" --message-id 76 --text "Updated text"

# Edit in a group/channel
python3 scripts/telegram_fetch.py edit --chat "Mental health tech" --message-id 123 --text "Corrected content"

Note: You can only edit your own messages. Telegram formatting (bold, etc.) is preserved.

Returns JSON with edit status and message ID.

Download Attachments

To download media files from a chat:

# Download last 5 attachments from a chat (default)
python3 scripts/telegram_fetch.py download --chat "Tool Building Ape"

# Download last 10 attachments
python3 scripts/telegram_fetch.py download --chat "Project Group" --limit 10

# Download to custom directory
python3 scripts/telegram_fetch.py download --chat "@username" --output "/path/to/folder"

# Download from specific message
python3 scripts/telegram_fetch.py download --chat "John Doe" --message-id 12345

Default output: ~/Downloads/telegram_attachments/

Returns JSON with download results (file names, paths, sizes).

Fetch Forum Thread Messages

To get messages from a specific forum thread (topics in groups):

# Fetch from thread 174 in Claude Code Lab
python3 scripts/telegram_fetch.py thread --chat-id -1003237581133 --thread-id 174

# Fetch with custom limit
python3 scripts/telegram_fetch.py thread --chat-id -1003237581133 --thread-id 174 --limit 50

# Save to file
python3 scripts/telegram_fetch.py thread --chat-id -1003237581133 --thread-id 174 -o ~/thread.md

# Append to daily note
python3 scripts/telegram_fetch.py thread --chat-id -1003237581133 --thread-id 174 --to-daily

# JSON output
python3 scripts/telegram_fetch.py thread --chat-id -1003237581133 --thread-id 174 --json

Messages are sorted newest first (reverse chronological order).

How to find thread ID:

  • Forum topic IDs appear in the thread URL: https://t.me/c/CHAT_ID/THREAD_ID
  • Use recent command on the chat to see message IDs in threads

Returns markdown or JSON with all messages from the specified thread.

Publish Draft to Channel

To publish a draft from the klodkot channel to Telegram:

# Dry run (preview without sending)
python3 scripts/telegram_fetch.py publish --draft "Channels/klodkot/drafts/20260122-anthropic-consciousness-question.md" --dry-run

# Publish to channel
python3 scripts/telegram_fetch.py publish --draft "Channels/klodkot/drafts/20260122-anthropic-consciousness-question.md"

Workflow:

  1. Parses draft frontmatter and body
  2. Validates channel field (must be "klodkot")
  3. Extracts media references from frontmatter video: field and wikilinks
  4. Resolves media paths in Channels/klodkot/attachments/ or Sources/
  5. Strips draft headers (e.g., "# Title - Telegram Draft")
  6. Appends footer if not present: "КЛОДКОТ — Claude Code и другие агенты: инструменты, кейсы, вдохновение"
  7. Sends to @klodkot channel (multiple media as album)
  8. Updates frontmatter with published_date, telegram_message_id
  9. Moves file from drafts/ to published/
  10. Updates channel index with new entry at top

Media handling:

  • Frontmatter: video: filename.mp4
  • Wikilinks: [[filename.mp4]], [[image.png|alt text]]
  • Multiple media sent as Telegram album

Safety:

  • --dry-run shows preview without sending
  • Validates before sending
  • Rollback on send failure (file not moved)
  • Warnings on post-publish errors (file sent but move/index update failed)

Returns: JSON with publish status, message ID, warnings (if any)

Output Options

Default (Markdown to stdout)

By default, outputs formatted markdown suitable for Claude to read and summarize.

JSON Format

Add --json flag for structured data:

python3 scripts/telegram_fetch.py recent --json

Append to Obsidian Daily Note

Add messages to today's daily note in the vault:

python3 scripts/telegram_fetch.py recent --to-daily
python3 scripts/telegram_fetch.py search "project" --to-daily

Appends to ~/Brains/brain/Daily/YYYYMMDD.md

Append to Person's Note

Add messages to a specific person's note:

python3 scripts/telegram_fetch.py recent --chat "John Doe" --to-person "John Doe"

Creates or appends to ~/Brains/brain/{PersonName}.md

Save to File (Token-Efficient)

Save messages directly to file without consuming context tokens:

# Save 100 messages to markdown file
python3 scripts/telegram_fetch.py recent --chat "AGENCY: Community" --limit 100 -o ~/chat_archive.md

# Save with media files downloaded to same folder
python3 scripts/telegram_fetch.py recent --chat "Project Group" --limit 50 -o ~/project/archive.md --with-media

# Save search results to file
python3 scripts/telegram_fetch.py search "meeting" -o ~/meetings.md

Returns JSON with save status (file path, message count, media download results) - minimal token usage.

Example User Requests

When user asks:

  • "Show my recent Telegram messages" -> recent --limit 20
  • "What Telegram messages did I get today?" -> recent --days 1
  • "Search Telegram for messages about the project" -> search "project"
  • "Get unread messages from Tool Building Ape" -> unread + filter output
  • "Add my Telegram messages to daily note" -> recent --to-daily
  • "What chats do I have on Telegram?" -> list
  • "Find the exact chat named X" -> list --search "X" --exact --limit 200
  • "Send hello to John on Telegram" -> send --chat "John" --text "Hello!"
  • "Message @username on Telegram" -> send --chat "@username" --text "..."
  • "Reply to that message with thanks" -> send --chat "..." --text "Thanks!" --reply-to <id>
  • "Send this image to John" -> send --chat "John" --file "/path/to/image.jpg"
  • "Send report.pdf with caption" -> send --chat "..." --file "report.pdf" --text "Here's the report"
  • "Send to topic 12 in Group" -> send --chat "Group" --text "..." --topic 12
  • "Download attachments from Tool Building Ape" -> download --chat "Tool Building Ape"
  • "Download last 10 files from Project Group" -> download --chat "Project Group" --limit 10
  • "Save last 100 messages from AGENCY to file" -> recent --chat "AGENCY: Community" --limit 100 -o ~/agency.md
  • "Archive chat with media" -> recent --chat "Group" -o ~/archive.md --with-media
  • "Edit that message" -> edit --chat "..." --message-id <id> --text "new text"
  • "Fix the typo in message 123" -> edit --chat "..." --message-id 123 --text "corrected text"
  • "Is Telegram configured?" -> setup
  • "How do I set up Telegram?" -> setup (returns instructions if not configured)
  • "Publish this draft to klodkot" -> publish --draft "Channels/klodkot/drafts/...md"
  • "Preview this draft before publishing" -> publish --draft "..." --dry-run

Rate Limiting

The script includes built-in rate limiting (0.1s between messages) and handles Telegram's FloodWaitError automatically with backoff.

Dependencies

Requires Python packages:

  • telethon - Telegram API client
  • pyyaml - YAML parsing for draft frontmatter

Install with: pip install telethon pyyaml

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
inference shell
inference shell
create and run specialised agents in minutes
build now →
MCP-ready Email SendingMCP-ready Email Sending
MCP-ready Email Sending
Plug Mailtrap into your AI workflow and let it handle the email.
Connect Mailtrap MCP →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Capacitor - Shared memory for your team’s coding agents.
Capacitor - Shared memory for your team’s coding agents.
Make coding agent sessions - Searchable, Shareable, Vendor-neutral & Scored.
Try For Free →
CodeScene MCP ServerCodeScene MCP Server
CodeScene MCP Server
Your agent targets a perfect 10 Code Health score. Deterministic. Every commit.
Try For Free →
Give your AI the whole web as clean markdownGive your AI the whole web as clean markdown
Give your AI the whole web as clean markdown
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
Categories
Release Management
First SeenJun 3, 2026
View on GitHub

More from glebis/claude-skills

All 22 skills →
  • Brand Agency258
  • Doctorg243
  • Transcript Analyzer243
  • Gmail241
  • Zoom236
  • Tdd235
  • Fathom232
  • Youtube Transcript232
  • Github Gist230
  • Llm Cli219
  • Chrome History216
  • Granola216
  • Meta212
  • Google Image Search625
  • Pdf Generation460
  • Health Data379
  • Firecrawl Research367
  • Presentation Generator307
  • Deep Research306
  • Decision Toolkit300
  • Elevenlabs Tts291

Recommended

More Release Management →
iamzifei avatar
xiaohongshu-publisher

iamzifei/red-publisher-skill

Publish images to Xiaohongshu (小红书) via CDP browser. Always saves as draft.
264
10
adobe avatar
adobe-edit-quick-cut

adobe/skills

Create a punchy sizzle reel from a video using Adobe Quick Cut. Use this skill whenever a user wants to cut, trim, or shorten a video into highlights — including phrases like "make a sizzle reel", "make a highlight reel", "quick cut this", "cut the best parts", "shorten this video", "make a highlight clip", "summarize this video visually", or any request to produce a shorter edited version of a video. Use this skill for Quick Cut requests before suggesting manual editing in Premiere. Requires the user to upload a video file.
263
165
vasilyu1983 avatar
qa-testing-mobile

vasilyu1983/ai-agents-public

Mobile QA for iOS and Android. Use when planning automation frameworks, device matrix, flake control, or CI/CD release gates.
261
73
huggingface avatar
hugging-face-paper-publisher

huggingface/skills

Publish and manage research papers on Hugging Face Hub. Supports creating paper pages, linking papers to models/datasets, claiming authorship, and generating professional markdown-based research articles.
254
10.9k
jezweb avatar
google-app-engine

jezweb/claude-skills

Deploy Python applications to Google App Engine Standard/Flexible. Covers app.yaml configuration, Cloud SQL socket connections, Cloud Storage for static files, scaling settings, and environment variables. Use when: deploying to App Engine, configuring app.yaml, connecting Cloud SQL, setting up static file serving, or troubleshooting 502 errors, cold starts, or memory limits.
254
960
kevmoo avatar
dart-package-maintenance

kevmoo/dash_skills

Guidelines for maintaining external Dart packages, covering versioning, publishing workflows, and pull request management. Use when updating Dart packages, preparing for a release, or managing collaborative changes in a repository.
254
139