Skip to content
Back to skills

Daemon

BSecurity

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".

  • 115 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 27, 2026
developmentgobash

Works with

  • mcp

Security analysis

B75/100
  • criticalModifies startup scripts or system services for persistence
  • criticalModifies startup scripts or system services for persistence

Pro shows the line behind each finding and how to fix it

Scanned May 27, 2026

npx -y skills add k1p1l0/claude-telegram-supercharged --skill daemon --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Daemon?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Daemon
[![Security: B — Skills Directory](https://www.skillsdirectory.com/api/skills/k1p1l0-daemon/badge)](https://www.skillsdirectory.com/skills/k1p1l0-daemon)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
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:

```bash
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:

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

Wait 3 seconds, verify all processes are gone:

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

Report success or if orphan processes remain.

### `restart`

Unload then load:

```bash
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:

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

### `stdout`

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

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

### `url`

Just show the remote control URL:

```bash
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.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.