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.
npx agentmods add skills/laurigates/dotfiles/telegramnpx skills add laurigates/dotfiles --skill telegramgit clone --depth 1 https://github.com/laurigates/dotfilesWhat 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.
| Model | Per session | Once 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 |
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 | 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:
- Sends the question with
force_reply: trueso the Telegram client opens a reply thread on the user's phone. - Drains pending updates so old messages don't satisfy the wait.
- 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. - On timeout: prints
TIMEOUTto stderr, sends a "(timed out)" notice to the chat, and exits 1. - On config error (missing token / chat id): exits 2 with a message
pointing at
~/.api_tokens.
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.
- 2d ago First seen · 231 lines · 117 tokens per session scan A 915743e00e29
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.
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.
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…
go-stack
Build Go projects, libraries, CLIs, TUIs, web apps, or ADK agents with the standard package layout and pinned tooling.
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.
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.
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.