# Yao Daemon

Daemon process management, start, monitor, restart, stop long-running services.

- Repository: https://github.com/YaoApp/yao (8244 stars)
- Category: Engineering
- License: see repository
- Last updated: 2026-10-19
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add YaoApp/yao --skill yao-daemon -g -a claude-code -y`
Codex: `npx skills add YaoApp/yao --skill yao-daemon -g -a codex -y`
Cursor: `npx skills add YaoApp/yao --skill yao-daemon -g -a cursor -y`
Gemini CLI: `npx skills add YaoApp/yao --skill yao-daemon -g -a gemini-cli -y`

## Description

Daemon process management, start, monitor, restart, stop long-running services. ALWAYS invoke this skill when the user asks to start, check, restart, or stop background services, dev servers, or daemon processes.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Daemon Management

## Tools

- `yao_daemon_start`, Start a long-running service. Always runs in background; returns `daemon_id` immediately.
- `yao_daemon_list`, List daemons. Supports `--status` filter and `--limit`/`--offset` pagination.
- `yao_daemon_status`, Get full details for a daemon (`daemon_port`, `daemon_url`, `started_at`, `daemon_restarts`).
- `yao_daemon_stop`, Stop a running daemon.
- `yao_daemon_restart`, Restart a daemon (preserves the same ID, increments `daemon_restarts`).
- `yao_job_output`, Read daemon output (pass `daemon_id` as `job_id`).

## Parameters

### yao_daemon_start

| Param | Required | Default | Description |
|-------|----------|---------|-------------|
| `command` | yes |, | Shell command to execute |
| `description` | yes |, | Concise 5, 10 word summary |
| `port` | no | auto-detect | Expected listen port; the system verifies the port is ready before reporting it |
| `args` | no |, | Additional arguments |
| `working_dir` | no | workspace | Working directory |

### yao_daemon_list

| Param | Default | Description |
|-------|---------|-------------|
| `status` | all | Filter: `running`, `stopping`, `completed`, `failed`, `cancelled`, `port_detecting`, `all` |
| `limit` | 20 | Max items per page |
| `offset` | 0 | Skip first N items |

### yao_daemon_restart / yao_daemon_status / yao_daemon_stop

| Param | Required | Description |
|-------|----------|-------------|
| `daemon_id` | yes | The daemon ID |

## Response Fields

All responses are JSON. Daemon objects contain:

```
id, kind, session_id, status, description,
command, command_argv, command_line, pid, pgid, user,
started_at, finished_at, duration_ms, exit_code, signal, detail,
daemon_port, daemon_url, daemon_restarts, seq
```

The rest: https://github.com/YaoApp/yao/blob/HEAD/tools/skills/yao-daemon/SKILL.md
