Telegram bridge for receiving task updates when you are away from the keyboard.
Install
mkdir -p .claude/skills/notify && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/18791" && unzip -o skill.zip -d .claude/skills/notify && rm skill.zipInstalls to .claude/skills/notify
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
On-demand AFK Telegram bridge for this repo: send completion/blocker pings to the user and receive their replies via a background listener that wakes the session when a message arrives. OFF by default — armed only when the user says they're AFK / asks to be pinged. Invokable as /notify <message>. Use when the user goes AFK, asks to steer from Telegram, or runs /notify.Key capabilities
- →Launch a background listener for Telegram messages
- →Send completion or blocker pings to the user via Telegram
- →Receive user replies via a background listener
- →Re-arm the listener after each turn while AFK
- →Disarm the listener when the user returns
- →Send event-driven messages for major checkpoints or blockers
How it works
The skill establishes a two-way Telegram bridge by launching a background listener to receive messages and using a script to send notifications, allowing communication with an AFK user.
Inputs & outputs
When to use notify
- →Notify when task finishes
- →Receive blocker alerts
- →Stay updated while AFK
About this skill
/notify — On-demand AFK Telegram bridge
A two-way bridge between an AFK user and this session via the user's personal Telegram bot. Off by default — arm it only when the user signals AFK ("I'm AFK", "ping me when done", "steer from Telegram", "going for a walk").
Prerequisite (machine-level, set up once)
The send/receive scripts and credentials live in the user's home, not the repo (they're personal + secret, so they can't be committed):
~/.claude/bin/telegram-notify.sh— send a message~/.claude/bin/telegram-poll.sh— fetch new messages (offset-tracked)~/.claude/bin/tg-listener.sh— foreground listener loop (receive)~/.claude/.telegram-notify.json—bot_token+chat_id(mode 600)
If these don't exist on the machine, the bridge can't run — tell the user and stop (this template can't provision personal Telegram creds). When they exist, this skill just operationalizes them for the current repo/session.
Arming (when the user goes AFK)
- Immediately launch the listener via
Bash(run_in_background=true):
The loop polls Telegram and exits the moment a message arrives — that exit wakes the session. Double-arming is safe (it self-prunes prior instances).Bash(command="~/.claude/bin/tg-listener.sh", run_in_background=true) - Send a one-line ack:
~/.claude/bin/telegram-notify.sh --kind=info "On it — armed for AFK." - Work autonomously. When the listener fires, ingest the message and respond.
- Re-arm a fresh listener at the end of every turn while AFK — that's what keeps the bridge continuously connected.
- Disarm when the user says "I'm back" / "AFK off" / "stop pinging": stop re-arming.
When to send (send side is event-driven, not per-turn)
- Major checkpoints: work kickoff, a PR opened, a phase done, the whole task done.
- A true blocker needing a human decision (
--kind=blocked/--kind=question), with the question + 2-3 options. /notify <message>— send verbatim (--kind=infounless a kind is passed).- Heartbeat: if a single task runs >5 min with no ping, send a one-line
--kind=infoso the user knows it's alive.
Don't ping per shell command, for routine completions, or for things the user is watching on screen.
Message kinds
--kind=done (✅) · --kind=blocked (⛔) · --kind=question (❓) ·
--kind=info (ℹ️) · none (plain). Phone-readable: 1–4 lines, lead with the
outcome, include URLs/paths, plain text (no markdown). Never send secrets.
~/.claude/bin/telegram-notify.sh --kind=done "PR #42 opened, tests green. Review running in background."
~/.claude/bin/telegram-notify.sh --kind=blocked "Migration needs prod creds. Skip backfill and ship, or wait?"
Relationship to autonomous modes
/stacked-mr (autonomous overnight stacking) runs AFK by default and uses this
bridge for its checkpoint pings. When the user kicks off /stacked-mr, arm the
listener as part of starting it.
When not to use it
- →When the user is not AFK or has not asked to be pinged
- →To send secrets via Telegram
- →To ping per shell command or for routine completions
Prerequisites
Limitations
- →Requires specific scripts and credentials in the user's home directory
- →Cannot provision personal Telegram credentials
- →Never sends secrets
How it compares
This skill provides an on-demand, two-way Telegram bridge for AFK communication, enabling session wake-up and structured notifications, unlike simple one-way alerts.
Compared to similar skills
notify side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| notify (this skill) | 0 | 1mo | Review | Intermediate |
| session-status | 1 | 6mo | Review | Beginner |
| it-operations | 1 | 7mo | No flags | Advanced |
| customerio-cost-tuning | 0 | 10d | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by trevormil
View all by trevormil →You might also like
session-status
WellApp-ai
Generate breadcrumb headers/footers with takt time tracking and muda metrics
it-operations
davila7
Manages IT infrastructure, monitoring, incident response, and service reliability. Provides frameworks for ITIL service management, observability strategies, automation, backup/recovery, capacity planning, and operational excellence practices.
customerio-cost-tuning
jeremylongshore
Optimize Customer.io costs and usage. Use when reducing expenses, optimizing usage, or right-sizing your Customer.io plan. Trigger with phrases like "customer.io cost", "reduce customer.io spend", "customer.io billing", "customer.io pricing".
perplexity-incident-runbook
jeremylongshore
Execute Perplexity incident response procedures with triage, mitigation, and postmortem. Use when responding to Perplexity-related outages, investigating errors, or running post-incident reviews for Perplexity integration failures. Trigger with phrases like "perplexity incident", "perplexity outage", "perplexity down", "perplexity on-call", "perplexity emergency", "perplexity broken".
plex
Akpo-Fure
>-
oly
slaveOftime
Use when starting a long-running or interactive CLI command with oly, especially when it may need later input, should be detachable, or should keep durable logs for supervision and resume.