agentsclimarketplace

Claude code channels

Skill broomva/skills/skills/messaging/claude-code-channels

Broomva agent-skills monorepo — 48 Tier-2 skills compatible with Claude Code, Codex, Cursor, Gemini CLI, Goose, Copilot. Layout follows anthropics/skills (agentskills.io spec). Install: npx skills add broomva/skills --skill <name>.

Install
npx -y skills add broomva/skills --skill claude-code-channels

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Set up Claude Code messaging channels for Telegram and Discord — bot creation, plugin installation, token configuration, access control (pairing, allowlists, guild channels), and troubleshooting. Use when the user asks to connect Claude Code to Telegram or Discord, configure a messaging bot, set up channel access, enable guild channels or threads, troubleshoot MCP server failures, or manage channel permissions. Triggers on "telegram channel", "discord channel", "claude code channels", "messaging bot", "set up telegram", "set up discord", "pairing code", "discord bot", "telegram bot", "channel access", "--channels".

SKILL.md

4.3 KB, 967 tokens by cl100k_base, as published. Nobody here has run it

Claude Code Channels Setup

Claude Code Channels pushes messages from external platforms (Telegram, Discord) into a running Claude Code session via MCP server plugins.

Prerequisites

  • Claude Code v2.1.80+
  • Bun runtime
  • A claude.ai account (not API key mode)

Platform Selection

Ask which platform(s) the user wants, then follow the relevant reference:

Both can run simultaneously:

claude --channels plugin:telegram@claude-plugins-official,plugin:discord@claude-plugins-official

Universal Workflow

Regardless of platform, setup follows 6 steps:

  1. Create bot on the platform's developer portal
  2. Install plugin: /plugin install <platform>@claude-plugins-official
  3. Configure token: /<platform>:configure <token>
  4. Launch session: claude --channels plugin:<platform>@claude-plugins-official
  5. Pair account: DM the bot, get a code, run /<platform>:access pair <code>
  6. Lock down: /<platform>:access policy allowlist

Troubleshooting

MCP Server Shows "failed" on Startup

Known race condition — server may fail on cold start but reconnect fine.

Fix: Run /mcp, navigate to the failed server, select Reconnect.

Persistent failures — verify the bot token:

# Telegram
TOKEN=$(grep TELEGRAM_BOT_TOKEN ~/.claude/channels/telegram/.env | cut -d= -f2)
curl -s "https://api.telegram.org/bot$TOKEN/getMe"

# Discord
TOKEN=$(grep DISCORD_BOT_TOKEN ~/.claude/channels/discord/.env | cut -d= -f2)
curl -s -H "Authorization: Bot $TOKEN" https://discord.com/api/v10/users/@me

If unauthorized/401, regenerate the token and update ~/.claude/channels/<platform>/.env.

Plugin Not Found

Add the official marketplace first:

/plugin marketplace add anthropics/claude-plugins-official

Bot Not Responding

  1. Session must be running with --channels flag
  2. /mcp must show the server as "connected"
  3. Telegram: verify token with BotFather
  4. Discord: enable Message Content Intent in Developer Portal → Bot → Privileged Gateway Intents

Dependency Issues

Pre-install manually:

cd ~/.claude/plugins/cache/claude-plugins-official/<platform>/<version>
bun install --no-summary

Running as Background Service (tmux)

# Start
tmux new-session -d -s claude-<platform> \
  'claude --dangerously-skip-permissions --channels plugin:<platform>@claude-plugins-official'

# Attach / Detach
tmux attach -t claude-<platform>   # Ctrl+b then d to detach

# After startup, if MCP failed: /mcp → select server → Reconnect

Access Control

Both platforms share the same model. Replace <platform> with telegram or discord.

CommandEffect
/<platform>:accessShow current state
/<platform>:access pair <code>Approve pairing
/<platform>:access deny <code>Reject pairing
/<platform>:access allow <id>Add user by ID
/<platform>:access remove <id>Remove user
/<platform>:access policy <mode>pairing / allowlist / disabled
/<platform>:access group add <id>Enable group/channel
/<platform>:access group add <id> --no-mentionEnable without requiring @mention
/<platform>:access group rm <id>Disable group/channel
/<platform>:access set <key> <value>Configure delivery settings

State Files

~/.claude/channels/<platform>/
├── .env          # Bot token (mode 0o600)
├── access.json   # Policy, allowlist, groups, pending
├── approved/     # Approved user ID → chat ID mapping
└── inbox/        # Downloaded attachments

What ships with it: 2 files

8.1 KB alongside SKILL.md

references/

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.