skills/telegram-cli/SKILL.md
Use `tele` to authenticate, list dialogs, and fetch messages from Telegram.
npx skillsauth add afutured/tele-cli telegram-cliInstall 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.
Use tele to authenticate, list dialogs, and fetch messages from Telegram directly from the terminal.
uv.uv tool install --upgrade git+https://github.com/AFutureD/tele-clitele -Vtele -h once, then confirm auth with tele -f json me (log in if needed).tele -h once before running any command for the first time in the session.-f json to tele (example: tele -f json me).tele -f json me.tele auth ... do not require an existing authenticated session.tele -htele auth logintele -f json medialog_id: tele -f json dialog listtele -f json message list <dialog_id> -n 20Global options:
--config <path>: alternate config file (default: ~/.config/tele/config.toml)--session <name>: use a specific session file by name (listed by tele auth list)Login / logout:
tele auth login (creates a local session; prompts for phone, code, and optional 2FA password)tele auth login --switch (log in and make the new session active)tele auth logout (logs out of the selected session)List and switch sessions:
tele auth listtele auth switch --uid <user_id>tele auth switch --username <username> (accepts @alice or alice)tele auth switch --session <session_name>Where sessions live on disk (macOS/Linux default):
~/.config/tele/sessions/~/.config/tele/sessions/Current.sessionList all dialogs (users, groups, channels):
tele -f json dialog listNotes:
-f text, the output follows the template:
[TYPE.UI.STATE] [UNREAD COUNT] [DIALOG_ID] NAMETYPE: U user, G group, C channelUI: P pinned, A archived, - normalSTATE: M muted, - not muted-f json, each dialog includes keys like name, entity (with id), unread_count, and the latest message.Fetch messages from a dialog:
tele -f json message list <dialog_id>Common options:
-n <num> (example: tele -f json message list <dialog_id> -n 20)--offset_id <message_id> (fetch around/older than a known message id; offset_id is excluded)--order asc|desc--from "<natural language or date>"--to "<natural language or date>"--range "<natural language range>" (overrides --from/--to, special: "this week")Examples:
tele -f json message list 1375282077 -n 10tele -f json message list 1375282077 --range "last week"tele -f json message list 1375282077 --from "2025-02-05" --to "yesterday"Send a text message to a user, group, or channel:
tele message send <receiver> "<message>"tele message send -t peer_id "<peer_id>" "<message>"Receiver formats:
alice or @alice"+15551234567""My Group""-1001234567890" (common for channels)How the receiver is resolved:
--entity/-t peer_id, <receiver> is treated as a numeric peer id (no name matching).--entity, it first tries Telegram/Telethon resolution (username/phone/id). If that fails, it scans your dialogs and picks the first match by:
<receiver> (case-insensitive), or<receiver> (string compare).Examples:
tele message send alice "hi"tele message send "+15551234567" "hi"tele message send "My Group" "hi"tele message send -t peer_id "-1001234567890" "hi"Notes:
--) so the shell/CLI does not treat them as options.tele -f json message list <dialog_id> -n 5.tele reads ~/.config/tele/config.toml by default and will create it on first run;tools
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.