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.
CLI skill for Telegram to sync chats, search messages, filter keywords, and monitor groups from the terminal
$ npx skills add jackwener/tg-cli --skill tg-cli -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jackwener/tg-cli tg-cli --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
Claude Code skills documentation · loads skills from .claude/skills/
Install the "tg-cli" agent skill from https://github.com/jackwener/tg-cli/tree/main into .claude/skills/tg-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tg-cli", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jackwener/tg-cli --skill tg-cli -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jackwener/tg-cli tg-cli --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "tg-cli" agent skill from https://github.com/jackwener/tg-cli/tree/main into .agents/skills/tg-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tg-cli", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jackwener/tg-cli --skill tg-cli -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jackwener/tg-cli tg-cli --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "tg-cli" agent skill from https://github.com/jackwener/tg-cli/tree/main into .cursor/skills/tg-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tg-cli", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jackwener/tg-cli --skill tg-cli -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jackwener/tg-cli tg-cli --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "tg-cli" agent skill from https://github.com/jackwener/tg-cli/tree/main into .gemini/skills/tg-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tg-cli", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install jackwener/tg-cli tg-cliInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add jackwener/tg-cli --skill tg-cli -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "tg-cli" agent skill from https://github.com/jackwener/tg-cli/tree/main into .github/skills/tg-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tg-cli", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jackwener/tg-cli --skill tg-cli -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jackwener/tg-cli tg-cli --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "tg-cli" agent skill from https://github.com/jackwener/tg-cli/tree/main into .opencode/skills/tg-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tg-cli", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
tg-cliCLI skill for Telegram to sync chats, search messages, filter keywords, and monitor groups from the terminal
Tg CLI is an agent skill from jackwener/tg-cli. CLI skill for Telegram to sync chats, search messages, filter keywords, and monitor groups from the terminal
Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 44 other files (for example `.github/ISSUE_TEMPLATE/bug_report.yml`, `.github/ISSUE_TEMPLATE/feature_request.yml` and `.github/workflows/ci.yml`).
It sits in Productivity & Automation. It works with Telegram. The repository describes itself as: A CLI for Telegram — local-first sync, search, export via MTProto. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit b54a14d. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
uvFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use uv, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Tg CLI loads about 1.2k tokens when it runs. Until then it costs about 29 tokens; SKILL.md has 225 words of instructions outside code blocks.
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.
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); files beside SKILL.md are not scanned.
The full file from jackwener/tg-cli at commit b54a14d, republished under its Apache-2.0 licence (© jackwener). 225 words, ~1,243 tokens.
.claude/skills/tg-cli/SKILL.md (or your agent's skills folder). This skill also uses 39 other files; get the full folder from GitHub.CLI tool for Telegram — sync chats, search messages, filter keywords, send messages, and monitor groups.
# Install (requires Python 3.10+)
uv tool install kabi-tg-cli
# Or: pipx install kabi-tg-cli
# Upgrade to latest (recommended to avoid API errors)
uv tool upgrade kabi-tg-cli
# Or: pipx upgrade kabi-tg-cliUses your Telegram account (MTProto). Built-in Telegram Desktop API credentials are used by default — no application needed.
tg chats # First run: enter phone + verification code
tg whoami # Check current user
# Optional: use your own app credentials
export TG_API_ID=123456
export TG_API_HASH=your_telegram_app_hashtg chats # List joined chats
tg chats --type group # Filter by type
tg status # Check auth/session status
tg status --yaml # Structured auth status
tg whoami # Show current user info
tg whoami --yaml # Preferred structured output for agents
tg history CHAT -n 1000 # Fetch historical messages
tg sync CHAT # Incremental sync (only new)
tg sync-all # Low-level sync for all current dialogs
tg refresh # Recommended daily refresh entrypoint
tg listen # Real-time listener
tg listen --persist # Reconnect automatically for a near-live cache
tg info CHAT # Chat details
tg send CHAT "Hello!" # Send a messagetg search "Rust" # Search stored messages
tg search "Rust" -c "牛油果" --yaml # Filter by chat + preferred YAML output
tg search "Rust|Golang" --regex # Regex search
tg search "Rust" --sync-first --yaml # Refresh before querying
tg recent --hours 24 -n 20 --yaml # Browse latest messages
tg recent --hours 24 --sync-first # Refresh before browsing recent
tg filter "Rust,Golang,Java" # Multi-keyword filter (today)
tg filter "招聘,remote" --hours 48 # Filter last N hours
tg today --sync-first # Refresh before reading today's messages
tg stats --sync-first # Refresh before aggregate stats
tg top -c "牛油果" --hours 24 --sync-first
tg timeline --by hour --sync-first # Activity bar charttg export CHAT -f json -o out.json # Export messages
tg export CHAT --hours 24 # Export last 24 hours
tg purge CHAT -y # Delete stored messagesMajor commands support --json and --yaml for machine-readable output.
AI agents should prefer --yaml unless a strict JSON parser is required:
tg search "Rust" --yaml
tg status --yaml
tg whoami --yaml
tg today --yaml
tg filter "招聘" --hours 48 --yamlWhen stdout is not a TTY, tg-cli defaults to YAML automatically.
Use OUTPUT=yaml|json|rich|auto to override the default output mode.
All machine-readable output uses the envelope documented in SCHEMA.md.
tg-cli is local-first. Query commands read from the local SQLite cache by default.
tg refresh as the normal entrypoint before analysis.--sync-first when a single query should refresh before reading.tg listen --persist if you want a near-real-time local cache.tg sync-all for lower-level scripts or schedulers.# Quick daily workflow
tg refresh --yaml # Refresh everything
tg today --sync-first --yaml # See today's messages
tg filter "Rust,Golang" --hours 24 --sync-first --yaml
# Search and export for analysis
tg search "招聘" -n 100 --yaml > jobs.yaml
tg filter "远程,remote,Web3" --hours 72 --yaml > filtered.yaml
# Send messages
tg send "GroupName" "Hello from CLI!"tg -v sync-all # Debug logging for troubleshooting
tg -v refresh # See refresh behavior across dialogs
tg -v stats # See SQL queries and timingrefresh and sync-all gracefully skip chats that can't be foundExamples live in the repository:
examples/tg-refresh.cronexamples/systemd/tg-refresh.serviceexamples/systemd/tg-refresh.timer© jackwener, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 39 other files in the repository root of jackwener/tg-cli.
Open the folder on GitHubat commit b54a14d
Tg CLI 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Tg CLI this skilljackwener/tg-cli | 293 | — | ~1.2k | Automated safety check: Pass | Apache-2.0 | |
| Process Inboxtelegramdesktop/tdesktop | 33k | 2 repos | ~4.5k | Automated safety check: Pass | GPL-3.0 | |
| Perform Tasktelegramdesktop/tdesktop | 33k | 2 repos | ~3k | Automated safety check: Pass | GPL-3.0 | |
| Continuetelegramdesktop/tdesktop | 33k | 2 repos | ~9.4k | Automated safety check: Pass | GPL-3.0 | |
| Send User MessageTinyAGI/tinyagi | 3.6k | — | ~829 | Automated safety check: Pass | MIT | |
| Pytdbotpytdbot/client | 137 | — | ~4.3k | Automated safety check: Pass | MIT |
telegramdesktop/tdesktop
Process the local ignored ai-tdesktop inbox into durable, independently testable Telegram Desktop task records while task execution worktrees remain active.
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.
telegramdesktop/tdesktop
Continue autonomous Telegram Desktop development from the shared ai-tdesktop repository.
TinyAGI/tinyagi
Send a proactive message to a paired user via their channel (Discord, Telegram, or WhatsApp).
pytdbot/client
Write Telegram bots and userbots with Pytdbot (async TDLib wrapper with high-level helpers; not the Telegram Bot API).
terranc/claude-telegram-bot-bridge
Install and configure the Telegram Skill Bot. An agent skill from terranc/claude-telegram-bot-bridge.
Works with
Categories
CLI skill for Telegram to sync chats, search messages, filter keywords, and monitor groups from the terminal. Tg CLI is an agent skill from jackwener/tg-cli.
Tg CLI fits situations like: productivity & Automation work in your project.
Run `npx skills add jackwener/tg-cli --skill tg-cli -a claude-code`. Or copy the skill folder (the jackwener/tg-cli repository) into .claude/skills/tg-cli in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jackwener/tg-cli --skill tg-cli -a codex`. Or copy the skill folder (the jackwener/tg-cli repository) into .agents/skills/tg-cli in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jackwener/tg-cli --skill tg-cli -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/tg-cli, .gemini/skills/tg-cli, .github/skills/tg-cli and .opencode/skills/tg-cli in your project.
Going by SKILL.md and its folder, Tg CLI needs the command-line tools its instructions call (uv). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use uv, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
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. Review the folder before installing.
Tg CLI is published under the Apache-2.0 licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.2k tokens (SKILL.md is roughly 5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Tg CLI: Process Inbox (telegramdesktop/tdesktop, 33k stars), Perform Task (telegramdesktop/tdesktop, 33k stars), Continue (telegramdesktop/tdesktop, 33k stars) and Send User Message (TinyAGI/tinyagi, 3.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jackwener (a GitHub user) maintains it in jackwener/tg-cli, which has 293 GitHub stars. The repository was last updated on March 15, 2026.
Source: jackwener/tg-cli on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.