telegram

A Telegram communication skill for sending messages, questions, and polls through a Telegram bot. Telegram is a messaging service.

In plain words
What is it for?
Use it for notifications, interactive questions, multiple-choice polls, and confirmation requests sent through Telegram.
Why use it?
It lets the agent reach you when you are away from the terminal or need to answer a question from another device.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/laurigates/dotfiles/telegram
Any agent
npx skills add laurigates/dotfiles --skill telegram
Clone the repo
git clone --depth 1 https://github.com/laurigates/dotfiles

Made for: Claude Code, Codex.

Per session 117 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,547 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00117 $0.02547
Opus 5 $0.00059 $0.01273
Sonnet 5 $0.00023 $0.00509
Haiku 4.5 $0.00012 $0.00255

Measured 2d ago against content hash 915743e00e29, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

telegram scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

| `curl: (22) ... 401` | Token revoked or wrong | Re-issue via @BotFather |
exact_dot_claude/skills/telegram/SKILL.md · 231 lines

How it starts

The opening of the file, as written. The whole thing — 231 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Telegram Communication

Out-of-band channel to the user via a Telegram bot. Use it when the terminal isn't enough — the user has walked away, the task ran long, or a decision needs confirmation while the user is mobile.

For the when-to-use policy (and when not to), see ~/.claude/rules/telegram-communication.md. This skill covers the how.

Tools

Three scripts in ~/.local/bin:

Script Purpose Blocks?
telegram-notify Fire-and-forget message No
telegram-ask Send a question, wait for reply, print reply to stdout Yes
telegram-poll Send a multiple-choice poll, wait for the vote, print selected option(s) Yes

All three read TELEGRAM_BOT_TOKEN and TELEGRAM_CHAT_ID from the environment. They're sourced from ~/.api_tokens by mise — if you hit ... not set, the user needs to add them there.

telegram-notify

telegram-notify "Build finished — 12 tests, 0 failures."
telegram-notify -s "Quiet ping"                # silent (no sound)
telegram-notify -m "*Bold* and _italic_"       # MarkdownV2
echo "long stdout" | telegram-notify           # piped input

Returns immediately. Exit 0 on send, 2 on config error.

telegram-ask

# Default: 1-hour timeout, accept any reply
answer=$(telegram-ask "Proceed with the deploy?")

# Short timeout for an at-keyboard yes/no
answer=$(telegram-ask -t 60 "Apply the migration now?")

# Constrained reply — script re-prompts until the regex matches
answer=$(telegram-ask -p '^(YES|NO)$' "Force push to main? (YES/NO)")

Behaviour:

  1. Sends the question with force_reply: true so the Telegram client opens a reply thread on the user's phone.
  2. Drains pending updates so old messages don't satisfy the wait.
  3. Long-polls (getUpdates, timeout=30) until either a matching reply arrives or the deadline passes. While waiting, re-sends the question as a reminder at exponentially increasing intervals (default: after 5m, then 10m, 20m, ... capped by -t) — a missed phone notification gets more than one chance, without nagging someone who's simply away from their phone. Disable with -r 0.
  4. On timeout: prints TIMEOUT to stderr, sends a "(timed out)" notice to the chat, and exits 1.
  5. On config error (missing token / chat id): exits 2 with a message pointing at ~/.api_tokens.

Read the full file on GitHub · 231 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 231 lines · 117 tokens per session scan A 915743e00e29

Subscribe to this mod's changes

telegram is a skill published in the GitHub repository laurigates/dotfiles (10 stars, last pushed 3d ago), licensed MIT. It adds 117 tokens to every session and 2,547 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

dotfiles-bootstrap

Bootstrap a workstation with the dotfiles framework. Takes a GitHub user / owner+repo / explicit clone URL and runs dot init (which shells out to chezmoi) with the right safety prompts. Honors the active agent profile (ask / plan / apply / audit) so it defaults to dry-run in safer modes and full apply in apply.

sebastienrousseau/dotfiles · 88 tokens

vibe

Delegate a coding task to a cheap AI model (Mistral Vibe by default, but any provider Vibe knows about — DeepSeek, Gemini Flash, etc.) and supervise the result via git diff. Claude orchestrates, the cheap model codes. Claude consumes 500-1500 tokens per delegation regardless of how many file reads the delegate does…

sebastienrousseau/dotfiles · 137 tokens

go-stack

Build Go projects, libraries, CLIs, TUIs, web apps, or ADK agents with the standard package layout and pinned tooling.

fmind/dotfiles · 31 tokens

python-stack

Build typed Python projects with uv, Ruff, ty, pytest, Litestar, and Typer. Use for packages, CLIs, web apps, tests, typing, or API verification.

fmind/dotfiles · 41 tokens

k8s-local

Create and manage local Kubernetes clusters (k3d or kind) and deploy to them with kubectl, helm, helmfile, and skaffold. Use for local k8s cluster setup, dev loops, and debugging.

fmind/dotfiles · 50 tokens

release

Cut or verify a versioned release — bump semver, generate the changelog with git-cliff, tag and publish on GitHub, or reconcile an already-published tag and assets.

fmind/dotfiles · 40 tokens