Paseo Advisor Second Opinion
getpaseo/paseo
Launches one separate agent through Paseo to give a second opinion on the current task, with a self-contained briefing and no permission to edit files.
Add Agent Swarm (Teams) support to Telegram. An agent skill from sbusso/claudeclaw.
$ npx skills add sbusso/claudeclaw --skill add-telegram-swarm -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install sbusso/claudeclaw add-telegram-swarm --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/sbusso/claudeclaw.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/add-telegram-swarm .claude/skills/add-telegram-swarm && rm -rf skills-srcUse ~/.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/
Install the "add-telegram-swarm" agent skill from https://github.com/sbusso/claudeclaw/tree/main/skills/add-telegram-swarm into .claude/skills/add-telegram-swarm/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-telegram-swarm", 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.
$skill-installer install https://github.com/sbusso/claudeclaw/tree/main/skills/add-telegram-swarmType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add sbusso/claudeclaw --skill add-telegram-swarm -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install sbusso/claudeclaw add-telegram-swarm --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sbusso/claudeclaw.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/add-telegram-swarm .agents/skills/add-telegram-swarm && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "add-telegram-swarm" agent skill from https://github.com/sbusso/claudeclaw/tree/main/skills/add-telegram-swarm into .agents/skills/add-telegram-swarm/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-telegram-swarm", 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 sbusso/claudeclaw --skill add-telegram-swarm -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install sbusso/claudeclaw add-telegram-swarm --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sbusso/claudeclaw.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/add-telegram-swarm .cursor/skills/add-telegram-swarm && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "add-telegram-swarm" agent skill from https://github.com/sbusso/claudeclaw/tree/main/skills/add-telegram-swarm into .cursor/skills/add-telegram-swarm/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-telegram-swarm", 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.
$ gemini skills install https://github.com/sbusso/claudeclaw.git --path skills/add-telegram-swarm--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add sbusso/claudeclaw --skill add-telegram-swarm -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install sbusso/claudeclaw add-telegram-swarm --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sbusso/claudeclaw.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/add-telegram-swarm .gemini/skills/add-telegram-swarm && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "add-telegram-swarm" agent skill from https://github.com/sbusso/claudeclaw/tree/main/skills/add-telegram-swarm into .gemini/skills/add-telegram-swarm/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-telegram-swarm", 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 sbusso/claudeclaw add-telegram-swarmInstalls 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 sbusso/claudeclaw --skill add-telegram-swarm -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/sbusso/claudeclaw.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/add-telegram-swarm .github/skills/add-telegram-swarm && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "add-telegram-swarm" agent skill from https://github.com/sbusso/claudeclaw/tree/main/skills/add-telegram-swarm into .github/skills/add-telegram-swarm/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-telegram-swarm", 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 sbusso/claudeclaw --skill add-telegram-swarm -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install sbusso/claudeclaw add-telegram-swarm --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sbusso/claudeclaw.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/add-telegram-swarm .opencode/skills/add-telegram-swarm && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "add-telegram-swarm" agent skill from https://github.com/sbusso/claudeclaw/tree/main/skills/add-telegram-swarm into .opencode/skills/add-telegram-swarm/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-telegram-swarm", 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.
add-telegram-swarmAdd Agent Swarm (Teams) support to Telegram. An agent skill from sbusso/claudeclaw.
Add Telegram Swarm is an agent skill from sbusso/claudeclaw. Add Agent Swarm (Teams) support to Telegram. Each subagent gets its own bot identity in the group. Requires Telegram channel to be set up first (use /add-telegram). Triggers on "agent swarm", "agent teams telegram", "telegram swarm", "bot pool".
Its SKILL.md is about 3.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 Agent Workflows, covering Multi-agent orchestration and Subagents. It works with Telegram. The repository describes itself as: Use Claude to orchestrate agents like OpenClaw. The licence is MIT.
10 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 1395af4. 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:
npmcurlFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
api.telegram.orgFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
TELEGRAM_BOT_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Add Telegram Swarm loads about 3.7k tokens when it runs. Until then it costs about 66 tokens; SKILL.md has 980 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 noted patterns worth knowing about, such as sudo or a known installer.
Add pool tokens to `.env`:cp .env data/env/env7. Remove `TELEGRAM_BOT_POOL` from `.env`, `data/env/env`, and launchd plist/systemd unitAutomated 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 sbusso/claudeclaw at commit 1395af4, republished under its MIT licence (© sbusso). 980 words, ~3,693 tokens.
.claude/skills/add-telegram-swarm/SKILL.md (or your agent's skills folder).This skill adds Agent Teams (Swarm) support to an existing Telegram channel. Each subagent in a team gets its own bot identity in the Telegram group, so users can visually distinguish which agent is speaking.
Prerequisite: Telegram must already be set up via the /add-telegram skill. If src/channels/telegram.ts does not exist or TELEGRAM_BOT_TOKEN is not configured, tell the user to run /add-telegram first.
/add-telegram)Api instance (no polling)send_message with a sender parameter, the host assigns a pool bot and renames it to match the sender's roleSubagent calls send_message(text: "Found 3 results", sender: "Researcher")
→ MCP writes IPC file with sender field
→ Host IPC watcher picks it up
→ Assigns pool bot #2 to "Researcher" (round-robin, stable per-group)
→ Renames pool bot #2 to "Researcher" via setMyName
→ Sends message via pool bot #2's Api instance
→ Appears in Telegram from "Researcher" botTell the user:
I need you to create 3-5 Telegram bots to use as the agent pool. These will be renamed dynamically to match agent roles.
- Open Telegram and search for
@BotFather- Send
/newbotfor each bot:
- Give them any placeholder name (e.g., "Bot 1", "Bot 2")
- Usernames like
myproject_swarm_1_bot,myproject_swarm_2_bot, etc.- Copy all the tokens
- Add all bots to your Telegram group(s) where you want agent teams
Wait for user to provide the tokens.
Tell the user:
Important: Each pool bot needs Group Privacy disabled so it can send messages in groups.
For each pool bot in
@BotFather:
- Send
/mybotsand select the bot- Go to Bot Settings > Group Privacy > Turn off
Then add all pool bots to your Telegram group(s).
Read src/orchestrator/config.ts and add the bot pool config near the other Telegram exports:
export const TELEGRAM_BOT_POOL = (process.env.TELEGRAM_BOT_POOL || '')
.split(',')
.map((t) => t.trim())
.filter(Boolean);Read src/channels/telegram.ts and add the following:
Api to the Grammy import:import { Api, Bot } from 'grammy';let bot declaration:// Bot pool for agent teams: send-only Api instances (no polling)
const poolApis: Api[] = [];
// Maps "{groupFolder}:{senderName}" → pool Api index for stable assignment
const senderBotMap = new Map<string, number>();
let nextPoolIndex = 0;isTelegramConnected function:/**
* Initialize send-only Api instances for the bot pool.
* Each pool bot can send messages but doesn't poll for updates.
*/
export async function initBotPool(tokens: string[]): Promise<void> {
for (const token of tokens) {
try {
const api = new Api(token);
const me = await api.getMe();
poolApis.push(api);
logger.info(
{ username: me.username, id: me.id, poolSize: poolApis.length },
'Pool bot initialized',
);
} catch (err) {
logger.error({ err }, 'Failed to initialize pool bot');
}
}
if (poolApis.length > 0) {
logger.info({ count: poolApis.length }, 'Telegram bot pool ready');
}
}
/**
* Send a message via a pool bot assigned to the given sender name.
* Assigns bots round-robin on first use; subsequent messages from the
* same sender in the same group always use the same bot.
* On first assignment, renames the bot to match the sender's role.
*/
export async function sendPoolMessage(
chatId: string,
text: string,
sender: string,
groupFolder: string,
): Promise<void> {
if (poolApis.length === 0) {
// No pool bots — fall back to main bot
await sendTelegramMessage(chatId, text);
return;
}
const key = `${groupFolder}:${sender}`;
let idx = senderBotMap.get(key);
if (idx === undefined) {
idx = nextPoolIndex % poolApis.length;
nextPoolIndex++;
senderBotMap.set(key, idx);
// Rename the bot to match the sender's role, then wait for Telegram to propagate
try {
await poolApis[idx].setMyName(sender);
await new Promise((r) => setTimeout(r, 2000));
logger.info({ sender, groupFolder, poolIndex: idx }, 'Assigned and renamed pool bot');
} catch (err) {
logger.warn({ sender, err }, 'Failed to rename pool bot (sending anyway)');
}
}
const api = poolApis[idx];
try {
const numericId = chatId.replace(/^tg:/, '');
const MAX_LENGTH = 4096;
if (text.length <= MAX_LENGTH) {
await api.sendMessage(numericId, text);
} else {
for (let i = 0; i < text.length; i += MAX_LENGTH) {
await api.sendMessage(numericId, text.slice(i, i + MAX_LENGTH));
}
}
logger.info({ chatId, sender, poolIndex: idx, length: text.length }, 'Pool message sent');
} catch (err) {
logger.error({ chatId, sender, err }, 'Failed to send pool message');
}
}Read agent/runner/src/ipc-mcp-stdio.ts and update the send_message tool to accept an optional sender parameter:
Change the tool's schema from:
{ text: z.string().describe('The message text to send') },To:
{
text: z.string().describe('The message text to send'),
sender: z.string().optional().describe('Your role/identity name (e.g. "Researcher"). When set, messages appear from a dedicated bot in Telegram.'),
},And update the handler to include sender in the IPC data:
async (args) => {
const data: Record<string, string | undefined> = {
type: 'message',
chatJid,
text: args.text,
sender: args.sender || undefined,
groupFolder,
timestamp: new Date().toISOString(),
};
writeIpcFile(MESSAGES_DIR, data);
return { content: [{ type: 'text' as const, text: 'Message sent.' }] };
},Read src/orchestrator/ipc.ts and make these changes:
Add imports — add sendPoolMessage and initBotPool from the Telegram swarm module, and TELEGRAM_BOT_POOL from config.
Update IPC message routing — in src/orchestrator/ipc.ts, find where the sendMessage dependency is called to deliver IPC messages (inside processIpcFiles). The sendMessage is passed in via the IpcDeps parameter. Wrap it to route Telegram swarm messages through the bot pool:
if (data.sender && data.chatJid.startsWith('tg:')) {
await sendPoolMessage(
data.chatJid,
data.text,
data.sender,
sourceGroup,
);
} else {
await deps.sendMessage(data.chatJid, data.text);
}Note: The assistant name prefix is handled by formatOutbound() in the router — Telegram channels have prefixAssistantName = false so no prefix is added for tg: JIDs.
main() in src/index.ts — after creating the Telegram channel, add:if (TELEGRAM_BOT_POOL.length > 0) {
await initBotPool(TELEGRAM_BOT_POOL);
}Read groups/global/CLAUDE.md and add a Message Formatting section:
## Message Formatting
NEVER use markdown. Only use WhatsApp/Telegram formatting:
- *single asterisks* for bold (NEVER **double asterisks**)
- _underscores_ for italic
- • bullet points
- ```triple backticks``` for code
No ## headings. No [links](url). No **double stars**.In any group CLAUDE.md that has a "WhatsApp Formatting" section (e.g. groups/main/CLAUDE.md), rename the heading to reflect multi-channel support:
## WhatsApp Formatting (and other messaging apps)For each Telegram group that will use agent teams, create or update its groups/{folder}/CLAUDE.md with these instructions. Read the existing CLAUDE.md first (or groups/global/CLAUDE.md as a base) and add the Agent Teams section:
## Agent Teams
When creating a team to tackle a complex task, follow these rules:
### CRITICAL: Follow the user's prompt exactly
Create *exactly* the team the user asked for — same number of agents, same roles, same names. Do NOT add extra agents, rename roles, or use generic names like "Researcher 1". If the user says "a marine biologist, a physicist, and Alexander Hamilton", create exactly those three agents with those exact names.
### Team member instructions
Each team member MUST be instructed to:
1. *Share progress in the group* via `mcp__claudeclaw__send_message` with a `sender` parameter matching their exact role/character name (e.g., `sender: "Marine Biologist"` or `sender: "Alexander Hamilton"`). This makes their messages appear from a dedicated bot in the Telegram group.
2. *Also communicate with teammates* via `SendMessage` as normal for coordination.
3. Keep group messages *short* — 2-4 sentences max per message. Break longer content into multiple `send_message` calls. No walls of text.
4. Use the `sender` parameter consistently — always the same name so the bot identity stays stable.
5. NEVER use markdown formatting. Use ONLY WhatsApp/Telegram formatting: single *asterisks* for bold (NOT **double**), _underscores_ for italic, • for bullets, ```backticks``` for code. No ## headings, no [links](url), no **double asterisks**.
### Example team creation prompt
When creating a teammate, include instructions like:
\```
You are the Marine Biologist. When you have findings or updates for the user, send them to the group using mcp__claudeclaw__send_message with sender set to "Marine Biologist". Keep each message short (2-4 sentences max). Use emojis for strong reactions. ONLY use single *asterisks* for bold (never **double**), _underscores_ for italic, • for bullets. No markdown. Also communicate with teammates via SendMessage.
\```
### Lead agent behavior
As the lead agent who created the team:
- You do NOT need to react to or relay every teammate message. The user sees those directly from the teammate bots.
- Send your own messages only to comment, share thoughts, synthesize, or direct the team.
- When processing an internal update from a teammate that doesn't need a user-facing response, wrap your *entire* output in `<internal>` tags.
- Focus on high-level coordination and the final synthesis.Add pool tokens to .env:
TELEGRAM_BOT_POOL=TOKEN1,TOKEN2,TOKEN3,...Important: Sync to all required locations:
cp .env data/env/envService name: Derived from the directory name:
com.claudeclaw.<dirname>(macOS) /claudeclaw-<dirname>(Linux). For example, if cwd ismy-assistant, the service iscom.claudeclaw.my-assistant. Determine the correct service name before running service commands below.
Also add TELEGRAM_BOT_POOL to the launchd plist (~/Library/LaunchAgents/com.claudeclaw.plist) in the EnvironmentVariables dict if using launchd.
npm run build
./src/runtimes/docker/build.sh # Required — MCP tool changed
# macOS:
launchctl unload ~/Library/LaunchAgents/com.claudeclaw.plist
launchctl load ~/Library/LaunchAgents/com.claudeclaw.plist
# Linux:
# systemctl --user restart claudeclawMust use unload/load (macOS) or restart (Linux) because the service env vars changed.
Tell the user:
Send a message in your Telegram group asking for a multi-agent task, e.g.: "Assemble a team of a researcher and a coder to build me a hello world app"
You should see:
- The lead agent (main bot) acknowledging and creating the team
- Each subagent messaging from a different bot, renamed to their role
- Short, scannable messages from each agent
Check logs:
tail -f logs/claudeclaw.log | grep -i pool
Api class — lightweight, no polling, just sendsetMyName — changes are global to the bot, not per-chatsetMyName allows Telegram to propagate the name change before the first message{groupFolder}:{senderName})curl -s "https://api.telegram.org/botTOKEN/getMe"grep "Pool bot" logs/claudeclaw.logTelegram caches bot names client-side. The 2-second delay after setMyName helps, but users may need to restart their Telegram client to see updated names immediately.
Check the group's CLAUDE.md has the Agent Teams instructions. The lead agent reads this when creating teammates and must include the send_message + sender instructions in each teammate's prompt.
To remove Agent Swarm support while keeping basic Telegram:
TELEGRAM_BOT_POOL from src/orchestrator/config.tssrc/channels/telegram.ts (poolApis, senderBotMap, initBotPool, sendPoolMessage)src/index.ts (revert to plain sendMessage)initBotPool call from main()sender param from MCP tool in agent/runner/src/ipc-mcp-stdio.tsTELEGRAM_BOT_POOL from .env, data/env/env, and launchd plist/systemd unitnpm run build && ./src/runtimes/docker/build.sh && launchctl unload ~/Library/LaunchAgents/com.claudeclaw.plist && launchctl load ~/Library/LaunchAgents/com.claudeclaw.plist (macOS) or npm run build && ./src/runtimes/docker/build.sh && 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
Just SKILL.md in skills/add-telegram-swarm of sbusso/claudeclaw.
Open the folder on GitHubat commit 1395af4
Add Telegram Swarm 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 |
|---|---|---|---|---|---|---|
| Add Telegram Swarm this skillsbusso/claudeclaw | 194 | — | ~3.7k | Automated safety check: Notes | MIT | |
| Paseo Advisor Second Opiniongetpaseo/paseo | 20k | 1 repos | ~756 | Automated safety check: Pass | Custom licence | |
| O2 Review Loopopenobserve/openobserve | 22k | — | ~3.7k | Automated safety check: Pass | AGPL-3.0 | |
| Harness Agent Team Designerrevfactory/harness | 9.1k | — | ~4.5k | Automated safety check: Pass | Apache-2.0 | |
| ClawTeam Multi-Agent Swarmwin4r/ClawTeam-OpenClaw | 1.5k | 1 repos | ~2.9k | Automated safety check: Pass | MIT | |
| Sub-Agent Delegationcodewhale-hq/Codewhale | 41k | — | ~790 | Automated safety check: Pass | MIT |
getpaseo/paseo
Launches one separate agent through Paseo to give a second opinion on the current task, with a self-contained briefing and no permission to edit files.
openobserve/openobserve
Splits a change into planner, coder and independent reviewer roles: you confirm a spec, a subagent implements it, and a separate reviewer checks each round's local WIP commit.
revfactory/harness
Designs a project-specific agent harness: defines specialist agents, writes the skills they follow, picks an execution mode and model for each, and keeps the setup maintained.
win4r/ClawTeam-OpenClaw
Launches a swarm of specialist Hermes agents in git-worktree-isolated tmux windows with a kanban board and file-based inboxes, using built-in templates like hedge-fund and code-review.
codewhale-hq/Codewhale
Guides when and how to split multi-step coding, research or verification work into focused sub-agent runs while the parent keeps integration and final checks.
win4r/team-tasks
Coordinate multi-agent development pipelines using shared JSON task files.
sbusso/claudeclaw
Debug container agent issues. An agent skill from sbusso/claudeclaw.
sbusso/claudeclaw
X (Twitter) integration for ClaudeClaw. An agent skill from sbusso/claudeclaw.
sbusso/claudeclaw
Add Gmail integration to ClaudeClaw. An agent skill from sbusso/claudeclaw.
sbusso/claudeclaw
Add QMD (Query Markup Documents) as an advanced memory search backend.
sbusso/claudeclaw
Add Telegram as a channel. An agent skill from sbusso/claudeclaw.
sbusso/claudeclaw
Switch from Docker to Apple Container for macOS-native container isolation.
Works with
Categories
Add Agent Swarm (Teams) support to Telegram. An agent skill from sbusso/claudeclaw. Add Telegram Swarm is an agent skill from sbusso/claudeclaw. Add Agent Swarm (Teams) support to Telegram.
Add Telegram Swarm fits situations like: agent teams telegram; tasks that involve Multi-agent orchestration; tasks that involve Subagents.
Run `npx skills add sbusso/claudeclaw --skill add-telegram-swarm -a claude-code`. Or copy the skill folder (skills/add-telegram-swarm in sbusso/claudeclaw) into .claude/skills/add-telegram-swarm in your project. Claude Code loads it when a task matches its description.
Run `npx skills add sbusso/claudeclaw --skill add-telegram-swarm -a codex`. Or copy the skill folder (skills/add-telegram-swarm in sbusso/claudeclaw) into .agents/skills/add-telegram-swarm 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 sbusso/claudeclaw --skill add-telegram-swarm -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-swarm, .gemini/skills/add-telegram-swarm, .github/skills/add-telegram-swarm and .opencode/skills/add-telegram-swarm in your project.
Going by SKILL.md and its folder, Add Telegram Swarm needs the command-line tools its instructions call (npm and curl) and credentials named TELEGRAM_BOT_TOKEN. Our summary lists: Docker; A credential in TELEGRAM_BOT_TOKEN.
SKILL.md names 1 domain. In commands or code: api.telegram.org; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
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.
Add Telegram Swarm is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.7k tokens (SKILL.md is roughly 15k 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 Add Telegram Swarm: Paseo Advisor Second Opinion (getpaseo/paseo, 20k stars), O2 Review Loop (openobserve/openobserve, 22k stars), Harness Agent Team Designer (revfactory/harness, 9.1k stars) and ClawTeam Multi-Agent Swarm (win4r/ClawTeam-OpenClaw, 1.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
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.