SkillAgentSearch skills...

yao-daemon

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.

Install / Use

npx skills add YaoApp/yao --skill yao-daemon

Installs into whichever agent you are using.

About this skill
📄

SKILL.md

Installable skill definition

Quality Score

92/100

Category

Operations

Supported Platforms

Universal

Our assessment of yao-daemon

yao-daemon scores 92/100 on our quality scale, 215th of 747 Operations skills we index (top 29%).

Its SKILL.md is 4.4 KB long, well organised into 12 sections with 4 code examples: a solid amount of guidance for an agent.

With 8,101 GitHub stars, it is one of the more widely adopted skills in the catalogue.

Substance
26/30
Structure
20/20
Description
15/15
Adoption
17/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated today, so yao-daemon is actively maintained.
  • No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
  • Its trust signals score 88/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

yao-daemon compared with similar skills

All 4 of these similar skills score higher than yao-daemon; compare them before choosing.

SkillScoreStarsUpdatedFormat
yao-daemon (this skill)by YaoApp928.1ktodaySKILL.md
algorithmic-artby anthropics100177.9k16d agoSKILL.md
pptxby anthropics100177.9k16d agoSKILL.md
designby nextlevelbuilder100133.6k5d agoSKILL.md
ui-ux-pro-maxby nextlevelbuilder100133.6k5d agoSKILL.md

Frequently asked questions

How do I install yao-daemon?
Run npx skills add YaoApp/yao --skill yao-daemon. The install tabs above show the steps for each supported agent.
Which AI agents does yao-daemon work with?
It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
Is yao-daemon safe to use?
It declares no license and scores 88/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is yao-daemon still maintained?
The repository was last updated today, so yao-daemon is actively maintained.

name: yao-daemon 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."

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
  • daemon_port — The verified listen port (0 if not yet detected or not specified).
  • daemon_url — http://localhost:<port> (empty until port is verified as listening by the daemon's own process tree).
  • daemon_restarts — Number of restarts via yao_daemon_restart.
  • started_at — Unix millisecond timestamp of the most recent start.

Port detection behavior:

Both modes start by returning port_detecting with daemon_port: 0 if the port is not confirmed within the initial ~2s settle window. If the port is confirmed within ~2s, start returns running with daemon_port/daemon_url directly.

  • --port N (explicit): Verifies port N is listening AND owned by this daemon's process tree. If not confirmed within ~2s, returns status: "port_detecting". Poll yao_daemon_status until status changes to running — either with daemon_port: N and daemon_url (port confirmed), or with daemon_port: 0 and detail: "specified port N not detected within timeout" (~60s).
  • No --port (auto-detect): Scans the daemon's process tree for any listening TCP port. If not found within ~2s, returns status: "port_detecting". The scan continues in background (~60s); if a port is found, status changes to running with daemon_port/daemon_url and a <BackgroundJobReceipt> is delivered. If no port is found after ~60s, status changes to running with daemon_port: 0.

List (paginated)

{ "daemons": [...], "total": 5, "offset": 0, "limit": 20, "has_more": false }

Stop (already terminal)

{ "job": { ... }, "detail": "already in terminal state (cancelled); no action taken" }

Errors

Structured JSON with code and message:

{ "error": { "code": "not_found", "message": "daemon \"dmn_xxx\" not found" } }

Codes: invalid_argument, not_found, internal.

Usage Rules

  1. Always provide a description.
  2. Specify port when starting a server — the system confirms the port is actually listening before reporting daemon_url.
  3. Daemons run indefinitely — use yao_daemon_stop to terminate.
  4. Use yao_daemon_restart to restart a crashed or misconfigured daemon without losing its ID.
  5. Monitor output with yao_job_output passing the daemon_id as job_id.

BackgroundJobReceipt

When a daemon's port becomes ready, the system delivers a <BackgroundJobReceipt> XML message containing the daemon_url. Use that URL for subsequent HTTP requests to the daemon.

Related Skills

View on GitHub
GitHub Stars8.1k
CategoryOperations
Updated15h ago
Forks721

Languages

Go

Trust signals

88/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

1 medium