Skip to content
Agent Orchestration
Skill

/daemon

Manage the Telegram daemon lifecycle — start, stop, restart, check status, tail logs. Use when the user says "start the bot", "stop the daemon", "restart telegram", "daemon status", "show bot logs", or "is the bot running".

BOOST
From plugin
claude-telegram-supercharged
1387 skills
Install
$ npx -y skills add k1p1l0/claude-telegram-supercharged --skill daemon --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/daemon

Context preview

The summary Claude sees to decide when to auto-load this skill.

Manage the Telegram daemon lifecycle — start, stop, restart, check status, tail logs. Use when the user says "start the bot", "stop the daemon", "restart telegram", "daemon status", "show bot logs", or "is the bot running".

SKILL.md

daemon.SKILL.md
name: daemon
description: Manage the Telegram daemon lifecycle — start, stop, restart, check status, tail logs. Use when the user says "start the bot", "stop the daemon", "restart telegram", "daemon status", "show bot logs", or "is the bot running".
user-invocable: true
allowed-tools:
  - Bash(launchctl *)
  - Bash(ps *)
  - Bash(tail *)
  - Bash(cat *)
  - Bash(grep *)
  - Bash(strings *)
  - Bash(kill *)
  - Read

/telegram:daemon — Telegram Daemon Lifecycle Manager

Full lifecycle management for the Telegram bot daemon (launchd + supervisor + Claude).

Arguments — dispatch on first word

`start` (default if no args and daemon is not running)

Start the daemon via launchd:

launchctl load ~/Library/LaunchAgents/com.user.claude-telegram.plist 2>&1

If it fails with "already loaded", report that the daemon is already running. After loading, wait 5 seconds, then run the status check to confirm it started.

`stop`

Stop the daemon:

launchctl unload ~/Library/LaunchAgents/com.user.claude-telegram.plist 2>&1

Wait 3 seconds, verify all processes are gone:

ps aux | grep -E "channels.*telegram" | grep -v grep

Report success or if orphan processes remain.

`restart`

Unload then load:

launchctl unload ~/Library/LaunchAgents/com.user.claude-telegram.plist 2>/dev/null
sleep 2
launchctl load ~/Library/LaunchAgents/com.user.claude-telegram.plist

Wait 10 seconds, then run full status check.

`status` (default if no args and daemon IS running)

Run the full monitor check — same as /telegram:monitor:

1. Process status (supervisor, expect, claude, MCP server, caffeinate) 2. Launchd loaded/not 3. Remote control URL 4. Lock file 5. Last 5 log lines

`logs`

Tail the last 30 lines of supervisor stderr:

tail -30 ~/.claude/channels/telegram/data/supervisor-stderr.log

`stdout`

Tail the last 30 lines of daemon's Claude output:

tail -30 ~/.claude/channels/telegram/data/supervisor-stdout.log

`url`

Just show the remote control URL:

cat ~/.claude/channels/telegram/data/supervisor-stdout.log | strings | grep "session_" | tail -1

No args

Check if daemon is running. If running → show status. If not running → ask if user wants to start it.

Important notes

  • The `launchctl load/unload` commands may fail with "Input/output error" — this usually means the service is already in the requested state. Handle gracefully.
  • After start/restart, always verify the daemon actually started by checking processes.
  • The plist path is always: `~/Library/LaunchAgents/com.user.claude-telegram.plist`
  • Show the remote control URL after every start/restart so the user can monitor.
Read more
Ships withclaude-telegram-supercharged

Run Claude Code 24/7 from Telegram. Drop-in upgrade for the official plugin: voice notes both ways, a self-healing daemon, memory across restarts, and Agentic Mode (watch every tool call live). One-line install.

Get the whole plugin
Stats
138
Stars
23
Forks
Active
Maintenance
TypeScript
Language
Apache-2.0
License
4d ago
Last commit
7mo ago
Created
4h ago
Added

Repo: k1p1l0/claude-telegram-supercharged