Official agent skill

Telegram Channel Setup

by anthropics in anthropics/claude-plugins-official

Saves a Telegram bot token for the Telegram channel plugin and reviews who may message the bot, steering the policy toward a fixed allowlist.

OfficialApache-2.0Auto-check: notesProductivity & Automation

Install Telegram Channel Setup

skills CLI
$ npx skills add anthropics/claude-plugins-official --skill configure -a claude-code

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

GitHub CLI
$ gh skill install anthropics/claude-plugins-official configure --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/anthropics/claude-plugins-official.git skills-src && mkdir -p .claude/skills && cp -r skills-src/external_plugins/telegram/skills/configure .claude/skills/configure && 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
configure
GitHub stars
38k
Used in
1 other repo
Token cost
~1.1k tokens
SKILL.md length
559 words
Files
1
Skills in repo
29
Repo updated
First seen
Licence
Apache-2.0

At a glance

Saves a Telegram bot token for the Telegram channel plugin and reviews who may message the bot, steering the policy toward a fixed allowlist.

  • Works in 3 steps: Token — check /.env for → Access — read /access.json (missing file → What next — end with a concrete next…
  • Pasting a new Telegram bot token to connect the channel
  • SKILL.md covers Dispatch on arguments and Implementation notes
  • Needs TELEGRAM_BOT_TOKEN

What it does

The `/telegram:configure` command writes the bot token to a `.env` file in a state directory and explains the access policy. That directory is resolved first from `TELEGRAM_STATE_DIR`, then from the Claude config directory, and defaults to `~/.claude/channels/telegram`. With no arguments it reports whether a token is set, showing only the first 10 characters masked, then reads `access.json` for the DM policy, allowed senders and pending pairings and ends with a concrete next step, such as getting a token from BotFather or messaging the bot to receive a pairing code.

The skill pushes every setup toward lockdown. It treats the `pairing` policy as a temporary way to capture Telegram user IDs, asks you whether the listed people are everyone who should reach the bot, and, when they are, offers to run `/telegram:access policy allowlist` without waiting to be asked. If people are missing, it has them message the bot and approve each code first. The excerpt stops before the token-saving steps.

When your agent uses it

  • Pasting a new Telegram bot token to connect the channel
  • Checking whether the Telegram bot is set up and who can reach it
  • Locking the bot down to a fixed list of Telegram users

Example prompts

  • “Here is my BotFather token, set up the Telegram channel with it.”
  • “How do I set this Telegram bot up? Show me the current status.”
  • “Who can reach me through the Telegram bot right now?”

Requirements

  • A Telegram bot token from BotFather
  • The Telegram channel plugin
  • Pre-approved tools (allowed-tools): Read, Write, Bash(ls *), Bash(mkdir *), Bash(echo *), Bash(chmod *)

Workflow steps

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

  1. Token — check /.env for
  2. Access — read /access.json (missing file
  3. What next — end with a concrete next step based on state

What it can do on your machine

Read from SKILL.md and the folder at commit b8e53f1. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Bash(ls *)
    • Bash(mkdir *)
    • Bash(echo *)
    • Bash(chmod *)

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • TELEGRAM_BOT_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Telegram Channel Setup loads about 1.1k tokens when it runs. Until then it costs about 61 tokens; SKILL.md has 559 words of instructions outside code blocks.

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

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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:16
    Writes the bot token to `<state-dir>/.env` and orients the user on access
  • NoteMentions a .env fileSKILL.md:39
    1. **Token** — check `<state-dir>/.env` for
  • NoteMentions a .env fileSKILL.md:90
    3. Read existing `.env` if present; update/add the `TELEGRAM_BOT_TOKEN=` line,
  • NoteMentions a .env fileSKILL.md:92
    4. `chmod 600` on `<state-dir>/.env` — the token is a credential.
  • NoteMentions a .env fileSKILL.md:105
    - The server reads `.env` once at boot. Token changes need a session restart

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.

SKILL.md

The full file from anthropics/claude-plugins-official at commit b8e53f1, republished under its Apache-2.0 licence (© anthropics). 559 words, ~1,066 tokens.

Download SKILL.mdSave it as .claude/skills/configure/SKILL.md (or your agent's skills folder).
name
configure
description
Set up the Telegram channel — save the bot token and review access policy. Use when the user pastes a Telegram bot token, asks to configure Telegram, asks "how do I set this up" or "who can reach me," or wants to check channel status.
allowed-tools
Read, Write, Bash(ls *), Bash(mkdir *), Bash(echo *), Bash(chmod *)
user-invocable
true

/telegram:configure — Telegram Channel Setup

Writes the bot token to <state-dir>/.env and orients the user on access policy. The server reads both files at boot.

Resolve the state directory first (it may be overridden for multi-bot or per-project setups):

bash
echo "${TELEGRAM_STATE_DIR:-${CLAUDE_CONFIG_DIR:-$HOME/.claude}/channels/telegram}"

Use the printed path everywhere below in place of <state-dir>. The default is ~/.claude/channels/telegram.

Arguments passed: $ARGUMENTS


Dispatch on arguments

No args — status and guidance

Read both state files and give the user a complete picture:

  1. Token — check <state-dir>/.env for TELEGRAM_BOT_TOKEN. Show set/not-set; if set, show first 10 chars masked (123456789:...).

  2. Access — read <state-dir>/access.json (missing file = defaults: dmPolicy: "pairing", empty allowlist). Show:

    • DM policy and what it means in one line
    • Allowed senders: count, and list display names or IDs
    • Pending pairings: count, with codes and display names if any
  3. What next — end with a concrete next step based on state:

    • No token → "Run /telegram:configure <token> with the token from BotFather."
    • Token set, policy is pairing, nobody allowed → "DM your bot on Telegram. It replies with a code; approve with /telegram:access pair <code>."
    • Token set, someone allowed → "Ready. DM your bot to reach the assistant."

Push toward lockdown — always. The goal for every setup is allowlist with a defined list. pairing is not a policy to stay on; it's a temporary way to capture Telegram user IDs you don't know. Once the IDs are in, pairing has done its job and should be turned off.

Drive the conversation this way:

  1. Read the allowlist. Tell the user who's in it.
  2. Ask: "Is that everyone who should reach you through this bot?"
  3. If yes and policy is still pairing → "Good. Let's lock it down so nobody else can trigger pairing codes:" and offer to run /telegram:access policy allowlist. Do this proactively — don't wait to be asked.
  4. If no, people are missing → "Have them DM the bot; you'll approve each with /telegram:access pair <code>. Run this skill again once everyone's in and we'll lock it."
  5. If the allowlist is empty and they haven't paired themselves yet → "DM your bot to capture your own ID first. Then we'll add anyone else and lock it down."
  6. If policy is already allowlist → confirm this is the locked state. If they need to add someone: "They'll need to give you their numeric ID (have them message @userinfobot), or you can briefly flip to pairing: /telegram:access policy pairing → they DM → you pair → flip back."

Never frame pairing as the correct long-term choice. Don't skip the lockdown offer.

Show full SKILL.md (143 more words)Show less
<token> — save it
  1. Treat $ARGUMENTS as the token (trim whitespace). BotFather tokens look like 123456789:AAH... — numeric prefix, colon, long string.
  2. mkdir -p the resolved <state-dir>.
  3. Read existing .env if present; update/add the TELEGRAM_BOT_TOKEN= line, preserve other keys. Write back, no quotes around the value.
  4. chmod 600 on <state-dir>/.env — the token is a credential.
  5. Confirm, then show the no-args status so the user sees where they stand.
clear — remove the token

Delete the TELEGRAM_BOT_TOKEN= line (or the file if that's the only line).


Implementation notes

  • The channels dir might not exist if the server hasn't run yet. Missing file = not configured, not an error.
  • The server reads .env once at boot. Token changes need a session restart or /reload-plugins. Say so after saving.
  • access.json is re-read on every inbound message — policy changes via /telegram:access take effect immediately, no restart.

© anthropics, 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

Files

Just SKILL.md in external_plugins/telegram/skills/configure of anthropics/claude-plugins-official.

Open the folder on GitHubat commit b8e53f1

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in anthropics/claude-plugins-official, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Telegram Channel Setup 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 Channel Setup compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Telegram Channel Setup this skillanthropics/claude-plugins-official38k1 repos~1.1kAutomated safety check: NotesApache-2.0
Caspian Connect TelegramTryCaspian/caspian-sdk973—~446Automated safety check: NotesApache-2.0
Telegramolasunkanmi-SE/codebuddy141—~817Automated safety check: PassMIT
Telegram BotOpenClaudia/openclaudia-skills713—~6kAutomated safety check: NotesMIT
Chat SDKdatabuddy-analytics/Databuddy1.2k—~2.6kAutomated safety check: PassAGPL-3.0
Claude To Imop7418/Claude-to-IM-skill2.9k—~3.4kAutomated safety check: NotesMIT

Similar skills

  • Caspian Connect Telegram

    TryCaspian/caspian-sdk

    Connect Caspian Telegram for OpenCode, enable telegram in caspian.json channels, and tell the user to restart.

    973 GitHub stars~446 tokensUpdated 1 mo ago
    Productivity & AutomationAuto-check: notes
  • Telegram

    olasunkanmi-SE/codebuddy

    Send Telegram messages, files, and interact with Telegram bots via the telegram-send CLI tool.

    141 GitHub stars~817 tokensUpdated 1 mo ago
    Productivity & AutomationAuto-check passed
  • Telegram Bot

    OpenClaudia/openclaudia-skills

    Send messages, images, and marketing content to Telegram channels and groups via Bot API.

    713 GitHub stars~6k tokensUpdated 22 days ago
    Productivity & AutomationAuto-check: notes
  • Chat SDK

    databuddy-analytics/Databuddy

    Build multi-platform chat bots with Chat SDK (chat npm package).

    1.2k GitHub stars~2.6k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • Claude To Im

    op7418/Claude-to-IM-skill

    Bridge THIS Claude Code or Codex session to Telegram, Discord, Feishu/Lark, QQ, or WeChat so the user can chat with Claude from their phone.

    2.9k GitHub stars~3.4k tokensUpdated 6 mo ago
    Productivity & AutomationAuto-check: notes
  • Telegram

    bubbuild/bub

    Telegram Bot skill for sending and editing Telegram messages via Bot API.

    1.7k GitHub stars~2.2k tokensUpdated today
    Productivity & AutomationAuto-check passed

More from anthropics/claude-plugins-official

All 29 skills in this repo
  • Hook Development for Claude Code Plugins

    anthropics/claude-plugins-official

    Official

    Explains how to write Claude Code plugin hooks, both prompt-based checks and bash commands, for events such as PreToolUse, Stop and SessionStart.

    38k GitHub starsUsed in 10 repos~4.1k tokens
    Auto-check: notes
  • Claude Code Agent Development

    anthropics/claude-plugins-official

    Official

    Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.

    38k GitHub starsUsed in 7 repos~2.8k tokens
    Auto-check passed
  • Plugin Settings Pattern

    anthropics/claude-plugins-official

    Official

    Shows how Claude Code plugins keep per-project settings and state in .claude/plugin-name.local.md files with YAML frontmatter and a markdown body.

    38k GitHub starsUsed in 7 repos~3k tokens
    Auto-check passed
  • MCP Integration for Plugins

    anthropics/claude-plugins-official

    Official

    Explains how to bundle Model Context Protocol servers in a Claude Code plugin, covering config files, stdio, SSE, HTTP and WebSocket server types, and authentication.

    38k GitHub starsUsed in 11 repos~3.1k tokens
    Auto-check passed
  • Claude Code Command Development

    anthropics/claude-plugins-official

    Official

    Explains how to write Claude Code slash commands: Markdown files with YAML frontmatter, arguments, file references, bash context and interactive prompts.

    38k GitHub starsUsed in 10 repos~4.8k tokens
    Auto-check passed
  • Claude Code Plugin Structure

    anthropics/claude-plugins-official

    Official

    Explains the directory layout, plugin.json manifest and component organization of a Claude Code plugin, including auto-discovery and portable paths.

    38k GitHub starsUsed in 10 repos~3.4k tokens
    Auto-check passed

Works with

Questions about Telegram Channel Setup

What does Telegram Channel Setup do?

Saves a Telegram bot token for the Telegram channel plugin and reviews who may message the bot, steering the policy toward a fixed allowlist. env` file in a state directory and explains the access policy.claude/channels/telegram`.

When should I use Telegram Channel Setup?

Telegram Channel Setup fits situations like: pasting a new Telegram bot token to connect the channel; checking whether the Telegram bot is set up and who can reach it; locking the bot down to a fixed list of Telegram users.

How do I install Telegram Channel Setup in Claude Code?

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

How do I install Telegram Channel Setup in Codex?

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

Can I use Telegram Channel Setup 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 anthropics/claude-plugins-official --skill configure -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/configure, .gemini/skills/configure, .github/skills/configure and .opencode/skills/configure in your project.

What does Telegram Channel Setup need to run?

Going by SKILL.md and its folder, Telegram Channel Setup needs credentials named TELEGRAM_BOT_TOKEN. Our summary lists: A Telegram bot token from BotFather; The Telegram channel plugin. Its frontmatter pre-approves these tools: Read, Write, Bash(ls *), Bash(mkdir *), Bash(echo *), Bash(chmod *).

Does Telegram Channel Setup access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Telegram Channel Setup safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Telegram Channel Setup use?

Telegram Channel Setup is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Telegram Channel Setup use?

About 1.1k tokens (SKILL.md is roughly 4.3k 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 Channel Setup?

Skills that share tags, products or a category with Telegram Channel Setup: Caspian Connect Telegram (TryCaspian/caspian-sdk, 973 stars), Telegram (olasunkanmi-SE/codebuddy, 141 stars), Telegram Bot (OpenClaudia/openclaudia-skills, 713 stars) and Chat SDK (databuddy-analytics/Databuddy, 1.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Telegram Channel Setup?

anthropics (a GitHub organization, an official publisher) maintains it in anthropics/claude-plugins-official, which has 37,597 GitHub stars. The repository holds 29 skills in this directory. The repository was last updated on October 9, 2026.

Source: anthropics/claude-plugins-official on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.