/SKILL.md
Telegram CLI for reading, searching, sending messages, managing groups, and syncing chat history. Use when the user asks about Telegram messages, wants to check inbox, search chats, send messages, mute/unmute chats, kick users, export history, or look up contacts and groups.
npx skillsauth add skillhq/telegram telegramInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Fast Telegram CLI for reading, searching, and sending messages.
Use this skill when the user:
npm install -g @skillhq/telegram
First-time setup requires API credentials from https://my.telegram.org/apps
telegram auth # First-time login
telegram logout # Clear saved session
telegram check # Verify session is valid
telegram whoami # Show logged-in account
telegram whoami --json # Account info as JSON
telegram inbox # Unread messages summary
telegram chats # List all chats
telegram chats --type group # Filter: user, group, supergroup, channel
telegram chats -n 200 # List up to 200 chats
telegram read "ChatName" -n 50 # Read last 50 messages
telegram read "ChatName" --since "1h" # Messages from last hour
telegram read "ChatName" --until "2h" # Messages up to 2 hours ago
telegram read @username -n 20 # Read DM with user
telegram read 123456789 -n 10 # Read by chat ID
telegram search "query" --chat "ChatName" # Search within chat
telegram search "query" --all # Search all chats (global)
telegram search "query" -n 20 # Limit results
telegram send @username "message" # Send DM
telegram send "GroupName" "message" # Send to group
telegram reply "ChatName" 12345 "response" # Reply to message ID
telegram contact @username # Get contact info
telegram members "GroupName" # List group members
telegram members "GroupName" -n 500 # Fetch up to 500 members
telegram admins "GroupName" # List admins only
telegram groups # List all groups
telegram groups --admin # Groups where you're admin
telegram kick "GroupName" @username # Remove user from group
telegram promote "GroupName" @username # Promote a member to admin
telegram promote "GroupName" @username --rank "Mod" # Promote with a custom admin title
telegram promote "GroupName" @username --add-admins # Allow them to add admins too
telegram transfer-owner "GroupName" @username # Hand over ownership (prompts for 2FA password)
transfer-owner notes:
-y to skip that confirmation.telegram mute "ChatName" # Mute forever
telegram mute "ChatName" -d 1h # Mute for 1 hour
telegram mute @username -d 8h # Mute DM for 8 hours
telegram mute "GroupName" -d 1d # Mute for 1 day
telegram unmute "ChatName" # Unmute
telegram folders # List all folders
telegram folder "Work" # Show chats in folder
telegram folder-add "Work" "ProjectChat" # Add chat to folder
telegram folder-remove "Work" "ProjectChat" # Remove chat from folder
telegram sync # Sync last 7 days to ./telegram-sync
telegram sync --days 30 # Sync last 30 days
telegram sync --since "12h" # Sync messages from last 12 hours
telegram sync --until "2d" # Sync messages up to 2 days ago
telegram sync --all # Sync entire chat history (no time limit)
telegram sync --chat "ChatName" # Sync specific chat only
telegram sync --output ~/exports # Custom output directory
telegram sync --resume # Incremental: only fetch new messages
telegram sync --resume --all # Keep a complete archive up to date
Incremental sync (--resume):
.sync-meta.json--all to maintain a complete, up-to-date archiveMost commands support multiple output formats:
| Flag | Use Case |
|--------------|---------------------------------------------|
| (default) | Human-readable terminal output |
| --json | Structured JSON for programmatic processing |
| --markdown | Markdown-formatted for display or export |
telegram inbox --json # JSON format
telegram inbox --markdown # Markdown format
telegram read "Chat" --json # JSON with messages array
telegram read "Chat" --markdown # Markdown with messages
telegram chats --json # JSON with chat list
telegram members "Group" --markdown # Markdown member list
Supported on: inbox, read, search, chats, members, groups, contact, whoami
Messages containing media (photos, videos, documents, voice notes, stickers, etc.) now include metadata instead of showing "(no text)":
| Media Type | Display |
|-----------|---------|
| Photo | [📷 Photo] |
| Video | [🎥 Video (2.1 MB)] |
| Document | [📎 report.pdf (540.0 KB)] |
| Voice | [🎤 Voice message] |
| Audio | [🎵 song.mp3 (3.2 MB)] |
| Sticker | [😀 Sticker] |
| GIF | [🎬 GIF] |
| Location | [📍 Location] |
| Contact | [👤 Contact] |
| Poll | [📊 Poll] |
In JSON output, messages include mediaType, fileName, and fileSize fields when media is present.
When using this CLI as an AI agent:
--json--markdown@, numeric IDs also worksend, reply, kick, promote, transfer-owner) should be confirmed with the user before executingtransfer-owner is irreversible and interactive (it prompts for a 2FA password and a typed confirmation), so it cannot be run unattended; never script it on a user's behalf without explicit instruction-n to limit members output on very large groupstelegram sync --all --chat "Name" to export complete chat historytelegram sync --resume to incrementally update previous exportsCheck inbox for unread messages:
telegram inbox
Read recent messages from a group:
telegram read "MetaDAO Community" -n 20
Get messages from the last 2 hours:
telegram read "Project Chat" --since "2h"
Search for a topic across all chats:
telegram search "futarchy" --all
Search within a specific chat:
telegram search "deadline" --chat "Work Team"
Send a message:
telegram send @username "Hello, checking in!"
Export a chat's complete history:
telegram sync --all --chat "Project Chat" --output ~/exports
Incrementally update an existing export:
telegram sync --resume --output ~/exports
Filter chats by type:
telegram chats --type channel --json
Kick a user from a group:
telegram kick "My Group" @spammer
Promote a member to admin:
telegram promote "My Group" @trustedmember
Transfer ownership of a group to someone else:
telegram transfer-owner "My Group" @newowner
@ (e.g., @username)--since, --until) accept formats like "1h", "30m", "7d"sync command creates one markdown file per chat in the output directory.sync-meta.json) enables incremental sync with --resumetools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.