Install in Claude Code
Copygit clone --depth 1 https://github.com/TryCaspian/caspian-sdk /tmp/caspian-connect-telegram && cp -r /tmp/caspian-connect-telegram/packages/opencode/src/skills/caspian-connect-telegram ~/.claude/skills/caspian-connect-telegramThen start a new Claude Code session; the skill loads automatically.
Definition
SKILL.md
# Caspian connect Telegram Connect a Telegram bot to Caspian and enable `telegram` in the plugin admit list (`channels` in `~/.config/opencode/caspian.json`). Without `telegram` in `channels`, Telegram events are rejected at admit (blast-radius wall). ## When to use - User asks to connect Telegram / BotFather / Telegram bot - User runs `/caspian:connect-telegram` or `/caspian-connect-telegram` ## Prerequisites (token) Bot token must exist in **one** of (prefer file over chat): 1. `TELEGRAM_BOT_TOKEN` in the environment 2. Project `.env` → `TELEGRAM_BOT_TOKEN=...` 3. `~/.config/opencode/caspian.env` → `TELEGRAM_BOT_TOKEN=...` Do **not** store the token in `caspian.json`. Prefer not pasting the token into chat. ## How 1. Call **`caspian_connections`** to see if Telegram is already linked and whether `telegram` is already in plugin channels. 2. Call **`caspian_connect_telegram`**. 3. If the tool asks for a token, instruct the user to create a bot with @BotFather, write `TELEGRAM_BOT_TOKEN=...` into `.env` or `caspian.env`, then re-run the command. Do not invent a token. 4. On success, present connection id / channels. If **RESTART REQUIRED**, say: > Restart OpenCode (quit and relaunch) so admit loads > `"channels": ["email", "telegram"]` (or your updated list). Until then, > Telegram messages are still rejected. 5. After restart, Telegram inbound should flow into OpenCode like email.