Agent skill

Add Telegram

by sbusso in sbusso/claudeclaw

Add Telegram as a channel. An agent skill from sbusso/claudeclaw.

MITAuto-check: notesProductivity & Automation

Install Add Telegram

skills CLI
$ npx skills add sbusso/claudeclaw --skill add-telegram -a claude-code

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

GitHub CLI
$ gh skill install sbusso/claudeclaw add-telegram --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/sbusso/claudeclaw.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/add-telegram .claude/skills/add-telegram && 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
add-telegram
GitHub stars
194
Token cost
~1.7k tokens
SKILL.md length
755 words
Files
1
Skills in repo
23
Repo updated
First seen
Licence
MIT

At a glance

Add Telegram as a channel. An agent skill from sbusso/claudeclaw.

  • Works in 5 steps: Pre-flight → Apply Code Changes → Setup → …
  • Passive channel (receives notifications only)
  • SKILL.md covers Phase 1: Pre-flight, Phase 2: Apply Code Changes, Phase 3: Setup and Phase 4: Registration, plus 5 more sections
  • Calls npm, git and npx; reaches api.telegram.org and github.com; needs TELEGRAM_BOT_TOKEN

What it does

Add Telegram is an agent skill from sbusso/claudeclaw. Add Telegram as a channel. Can replace WhatsApp entirely or run alongside it. Also configurable as a control-only channel (triggers actions) or passive channel (receives notifications only).

Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Productivity & Automation, covering Chatbots and conversational support. It works with Telegram and WhatsApp. The repository describes itself as: Use Claude to orchestrate agents like OpenClaw. The licence is MIT.

When your agent uses it

  • Passive channel (receives notifications only)
  • Tasks that involve Chatbots and conversational support

Example prompts

  • “/add-telegram”

Requirements

  • Node.js
  • A credential in TELEGRAM_BOT_TOKEN

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Pre-flight
  2. Apply Code Changes
  3. Setup
  4. Registration
  5. Verify

What it can do on your machine

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

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • npm
    • git
    • npx
    • sqlite3
    • curl

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

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.telegram.org
    • github.com

    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

Add Telegram loads about 1.7k tokens when it runs. Until then it costs about 51 tokens; SKILL.md has 755 words of instructions outside code blocks.

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

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:86
    Add to `.env`:
  • NoteMentions a .env fileSKILL.md:97
    mkdir -p data/env && cp .env data/env/env
  • NoteMentions a .env fileSKILL.md:100
    ds environment from `data/env/env`, not `.env` directly.
  • NoteMentions a .env fileSKILL.md:175
    1. `TELEGRAM_BOT_TOKEN` is set in `.env` AND synced to `data/env/env`
  • NoteMentions a .env fileSKILL.md:221
    3. Remove `TELEGRAM_BOT_TOKEN` from `.env`

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 sbusso/claudeclaw at commit 1395af4, republished under its MIT licence (© sbusso). 755 words, ~1,745 tokens.

Download SKILL.mdSave it as .claude/skills/add-telegram/SKILL.md (or your agent's skills folder).
name
add-telegram
description
Add Telegram as a channel. Can replace WhatsApp entirely or run alongside it. Also configurable as a control-only channel (triggers actions) or passive channel (receives notifications only).

Add Telegram Channel

This skill adds Telegram support to ClaudeClaw, then walks through interactive setup.

Phase 1: Pre-flight

Check if already applied

Check if src/channels/telegram.ts exists. If it does, skip to Phase 3 (Setup). The code changes are already in place.

Ask the user

Use AskUserQuestion to collect configuration:

AskUserQuestion: Do you have a Telegram bot token, or do you need to create one?

If they have one, collect it now. If not, we'll create one in Phase 3.

Phase 2: Apply Code Changes

Ensure channel remote
bash
git remote -v

If telegram is missing, add it:

bash
git remote add telegram https://github.com/qwibitai/claudeclaw-telegram.git
Merge the skill branch
bash
git fetch telegram main
git merge telegram/main || {
  git checkout --theirs package-lock.json
  git add package-lock.json
  git merge --continue
}

This merges in:

  • src/channels/telegram.ts (TelegramChannel class with self-registration via registerChannel)
  • src/channels/telegram.test.ts (unit tests with grammy mock)
  • import './telegram.js' appended to the channel barrel file src/channels/index.ts
  • grammy npm dependency in package.json
  • TELEGRAM_BOT_TOKEN in .env.example

If the merge reports conflicts, resolve them by reading the conflicted files and understanding the intent of both sides.

Validate code changes
bash
npm install
npm run build
npx vitest run src/channels/telegram.test.ts

All tests must pass (including the new Telegram tests) and build must be clean before proceeding.

Phase 3: Setup

Create Telegram Bot (if needed)

If the user doesn't have a bot token, tell them:

I need you to create a Telegram bot:

  1. Open Telegram and search for @BotFather
  2. Send /newbot and follow prompts:
    • Bot name: Something friendly (e.g., "Andy Assistant")
    • Bot username: Must end with "bot" (e.g., "andy_ai_bot")
  3. Copy the bot token (looks like 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11)

Wait for the user to provide the token.

Configure environment

Add to .env:

bash
TELEGRAM_BOT_TOKEN=<their-token>

Channels auto-enable when their credentials are present — no extra configuration needed.

Sync to container environment:

bash
mkdir -p data/env && cp .env data/env/env

The container reads environment from data/env/env, not .env directly.

Disable Group Privacy (for group chats)

Tell the user:

Important for group chats: By default, Telegram bots only see @mentions and commands in groups. To let the bot see all messages:

  1. Open Telegram and search for @BotFather
  2. Send /mybots and select your bot
  3. Go to Bot Settings > Group Privacy > Turn off

This is optional if you only want trigger-based responses via @mentioning the bot.

Service name: Derived from the directory name: com.claudeclaw.<dirname> (macOS) / claudeclaw-<dirname> (Linux). For example, if cwd is my-assistant, the service is com.claudeclaw.my-assistant. Determine the correct service name before running service commands below.

Build and restart
bash
npm run build
launchctl kickstart -k gui/$(id -u)/com.claudeclaw  # macOS
# Linux: systemctl --user restart claudeclaw

Phase 4: Registration

Get Chat ID

Tell the user:

  1. Open your bot in Telegram (search for its username)
  2. Send /chatid — it will reply with the chat ID
  3. For groups: add the bot to the group first, then send /chatid in the group

Wait for the user to provide the chat ID (format: tg:123456789 or tg:-1001234567890).

Register the chat

The chat ID, name, and folder name are needed. Use npx tsx setup/index.ts --step register with the appropriate flags.

For a main chat (responds to all messages):

bash
npx tsx setup/index.ts --step register -- --jid "tg:<chat-id>" --name "<chat-name>" --folder "telegram_main" --trigger "@${ASSISTANT_NAME}" --channel telegram --no-trigger-required --is-main

For additional chats (trigger-only):

bash
npx tsx setup/index.ts --step register -- --jid "tg:<chat-id>" --name "<chat-name>" --folder "telegram_<group-name>" --trigger "@${ASSISTANT_NAME}" --channel telegram
Show full SKILL.md (295 more words)Show less

Phase 5: Verify

Test the connection

Tell the user:

Send a message to your registered Telegram chat:

  • For main chat: Any message works
  • For non-main: @Andy hello or @mention the bot

The bot should respond within a few seconds.

Check logs if needed
bash
tail -f logs/claudeclaw.log

Troubleshooting

Bot not responding

Check:

  1. TELEGRAM_BOT_TOKEN is set in .env AND synced to data/env/env
  2. Chat is registered in SQLite (check with: sqlite3 store/messages.db "SELECT * FROM registered_groups WHERE jid LIKE 'tg:%'")
  3. For non-main chats: message includes trigger pattern
  4. Service is running: launchctl list | grep claudeclaw (macOS) or systemctl --user status claudeclaw (Linux)
Bot only responds to @mentions in groups

Group Privacy is enabled (default). Fix:

  1. @BotFather > /mybots > select bot > Bot Settings > Group Privacy > Turn off
  2. Remove and re-add the bot to the group (required for the change to take effect)
Getting chat ID

If /chatid doesn't work:

  • Verify token: curl -s "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/getMe"
  • Check bot is started: tail -f logs/claudeclaw.log

After Setup

If running npm run dev while the service is active:

bash
# macOS:
launchctl unload ~/Library/LaunchAgents/com.claudeclaw.plist
npm run dev
# When done testing:
launchctl load ~/Library/LaunchAgents/com.claudeclaw.plist
# Linux:
# systemctl --user stop claudeclaw
# npm run dev
# systemctl --user start claudeclaw

Agent Swarms (Teams)

After completing the Telegram setup, use AskUserQuestion:

AskUserQuestion: Would you like to add Agent Swarm support? Without it, Agent Teams still work — they just operate behind the scenes. With Swarm support, each subagent appears as a different bot in the Telegram group so you can see who's saying what and have interactive team sessions.

If they say yes, invoke the /add-telegram-swarm skill.

Removal

To remove Telegram integration:

  1. Delete src/channels/telegram.ts and src/channels/telegram.test.ts
  2. Remove import './telegram.js' from src/channels/index.ts
  3. Remove TELEGRAM_BOT_TOKEN from .env
  4. Remove Telegram registrations from SQLite: sqlite3 store/messages.db "DELETE FROM registered_groups WHERE jid LIKE 'tg:%'"
  5. Uninstall: npm uninstall grammy
  6. Rebuild: npm run build && launchctl kickstart -k gui/$(id -u)/com.claudeclaw (macOS) or npm run build && systemctl --user restart claudeclaw (Linux)

© sbusso, MIT. 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 skills/add-telegram of sbusso/claudeclaw.

Open the folder on GitHubat commit 1395af4

Compare with similar skills

Add Telegram 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.

Add Telegram compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Add Telegram this skillsbusso/claudeclaw194—~1.7kAutomated safety check: NotesMIT
MuseKevPH2026/muse-catch128—~1.6kAutomated safety check: NotesAGPL-3.0
Whatsapp Telegramericrisco/rsc-harness167—~2.9kAutomated safety check: PassMIT
Telegrambubbuild/bub1.7k—~2.2kAutomated safety check: PassApache-2.0
Send User MessageTinyAGI/tinyagi3.6k—~829Automated safety check: PassMIT
Pytdbotpytdbot/client137—~4.3kAutomated safety check: PassMIT

Similar skills

  • Muse

    KevPH2026/muse-catch

    Muse · Catch — AI 灵感捕手。浏览器插件 + 任意 Agent(Telegram/WhatsApp/Discord…)一键捕获灵感,AI自动提炼,Web Dashboard浏览。分级LLM路由:Agent内置LLM隐私分析 + TokenRouter云端分布式调用。当用户说「灵感」「捕获」「Muse」「Catch」「记下来」「收藏」「稍后读」时自动触发。

    128 GitHub stars~1.6k tokensUpdated 1 mo ago
    Productivity & AutomationAuto-check: notes
  • Whatsapp Telegram

    ericrisco/rsc-harness

    A skill your agent uses when wiring an app or agent to message customers over the WhatsApp Cloud API or a Telegram bot — order updates, OTP codes, reminders, alerts and broadcasts — or when…

    167 GitHub stars~2.9k tokensUpdated today
    Backend & APIsAuto-check passed
  • Telegram

    bubbuild/bub

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

    1.7k GitHub stars~2.2k tokensUpdated yesterday
    Productivity & AutomationAuto-check passed
  • Send User Message

    TinyAGI/tinyagi

    Send a proactive message to a paired user via their channel (Discord, Telegram, or WhatsApp).

    3.6k GitHub stars~829 tokensUpdated 6 mo ago
    Productivity & AutomationAuto-check passed
  • Pytdbot

    pytdbot/client

    Write Telegram bots and userbots with Pytdbot (async TDLib wrapper with high-level helpers; not the Telegram Bot API).

    137 GitHub stars~4.3k tokensUpdated 10 days ago
    Productivity & AutomationAuto-check passed
  • Setup

    terranc/claude-telegram-bot-bridge

    Install and configure the Telegram Skill Bot. An agent skill from terranc/claude-telegram-bot-bridge.

    134 GitHub stars~1.5k tokensUpdated 4 mo ago
    Productivity & AutomationAuto-check: notes

More from sbusso/claudeclaw

All 23 skills in this repo
  • Debug

    sbusso/claudeclaw

    Debug container agent issues. An agent skill from sbusso/claudeclaw.

    194 GitHub starsUsed in 1 repo~3.3k tokens
    Auto-check: notes
  • X Integration

    sbusso/claudeclaw

    X (Twitter) integration for ClaudeClaw. An agent skill from sbusso/claudeclaw.

    194 GitHub stars~3k tokensUpdated 1 mo ago
    Auto-check: notes
  • Add Gmail

    sbusso/claudeclaw

    Add Gmail integration to ClaudeClaw. An agent skill from sbusso/claudeclaw.

    194 GitHub stars~1.9k tokensUpdated 1 mo ago
    Auto-check passed
  • Add Qmd

    sbusso/claudeclaw

    Add QMD (Query Markup Documents) as an advanced memory search backend.

    194 GitHub stars~629 tokensUpdated 1 mo ago
    Auto-check passed
  • Add Telegram Swarm

    sbusso/claudeclaw

    Add Agent Swarm (Teams) support to Telegram. An agent skill from sbusso/claudeclaw.

    194 GitHub stars~3.7k tokensUpdated 1 mo ago
    Auto-check: notes
  • Switch from Docker to Apple Container for macOS-native container isolation.

    194 GitHub stars~1.4k tokensUpdated 1 mo ago
    Auto-check: notes

Questions about Add Telegram

What does Add Telegram do?

Add Telegram as a channel. An agent skill from sbusso/claudeclaw. Add Telegram is an agent skill from sbusso/claudeclaw. Add Telegram as a channel.

When should I use Add Telegram?

Add Telegram fits situations like: passive channel (receives notifications only); tasks that involve Chatbots and conversational support.

How do I install Add Telegram in Claude Code?

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

How do I install Add Telegram in Codex?

Run `npx skills add sbusso/claudeclaw --skill add-telegram -a codex`. Or copy the skill folder (skills/add-telegram in sbusso/claudeclaw) into .agents/skills/add-telegram in your project. Codex loads it when a task matches its description.

Can I use Add Telegram 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 sbusso/claudeclaw --skill add-telegram -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/add-telegram, .gemini/skills/add-telegram, .github/skills/add-telegram and .opencode/skills/add-telegram in your project.

What does Add Telegram need to run?

Going by SKILL.md and its folder, Add Telegram needs the command-line tools its instructions call (npm, git, npx, sqlite3 and curl) and credentials named TELEGRAM_BOT_TOKEN. Our summary lists: Node.js; A credential in TELEGRAM_BOT_TOKEN.

Does Add Telegram access the network?

SKILL.md names 2 domains. In commands or code: api.telegram.org and github.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Add Telegram 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 Add Telegram use?

Add Telegram is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Add Telegram use?

About 1.7k tokens (SKILL.md is roughly 7k 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 Add Telegram?

Skills that share tags, products or a category with Add Telegram: Muse (KevPH2026/muse-catch, 128 stars), Whatsapp Telegram (ericrisco/rsc-harness, 167 stars), Telegram (bubbuild/bub, 1.7k 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.

Who maintains Add Telegram?

sbusso (a GitHub user) maintains it in sbusso/claudeclaw, which has 194 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on August 12, 2026.

Source: sbusso/claudeclaw on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.