Skip to content
Development
Skill

/install-watchdog

Installs egregore watchdog daemon via launchd or systemd for autonomous relaunching. Use when setting up egregore on a new machine. Do not use on CI/CD runners.

From plugin
claude-night-market
337200 skills59 agents162 commands1 MCP
Install
$ npx -y skills add athola/claude-night-market --skill install-watchdog --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/install-watchdog

Context preview

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

Installs egregore watchdog daemon via launchd or systemd for autonomous relaunching. Use when setting up egregore on a new machine. Do not use on CI/CD runners.

SKILL.md

install-watchdog.SKILL.md
name: install-watchdog
description: Installs egregore watchdog daemon via launchd or systemd for autonomous relaunching. Use when setting up egregore on a new machine. Do not use on CI/CD runners.
alwaysApply: false
category: setup
tools: []
model_hint: standard

Install Watchdog

Overview

Installs a persistent daemon that monitors the egregore process and relaunches it when needed. The daemon uses the OS-native scheduler (launchd on macOS, systemd on Linux) to run a watchdog script every 5 minutes.

The watchdog script checks:

  • Whether an egregore session is already running.
  • Whether the budget is in cooldown.
  • Whether there are active work items in the manifest.

If all conditions are met, it launches a new egregore session.

When To Use

  • After initializing an egregore project (`egregore init`)

when you want autonomous relaunching.

  • When setting up egregore on a new machine.

When NOT To Use

  • On CI/CD runners (use the orchestrator directly).
  • When you want manual control over session launches.

Installation Steps

1. Detect the operating system

OS=$(uname -s)

2. Run the appropriate installer

**macOS (launchd):**

bash plugins/egregore/scripts/install_launchd.sh

This script creates a plist at `~/Library/LaunchAgents/com.egregore.watchdog.plist` that runs the watchdog script every 300 seconds (5 minutes).

**Linux (systemd):**

bash plugins/egregore/scripts/install_systemd.sh

This script creates a systemd timer and service unit at `~/.config/systemd/user/` that fires every 5 minutes.

3. Verify installation

**macOS:**

launchctl list | grep egregore

Expected output: a line containing `com.egregore.watchdog` with a PID or `-` status.

**Linux:**

systemctl --user status egregore-watchdog.timer

Expected output: `active (waiting)` status.

4. Confirm to the user

Report the installation result, the schedule interval, and the log file location:

  • macOS: `~/.egregore/watchdog.log`
  • Linux: `journalctl --user -u egregore-watchdog`

Uninstall Command

To remove the watchdog, run:

Skill(egregore:uninstall-watchdog)

Or invoke the uninstall skill directly via the command `/egregore:uninstall-watchdog`.

Troubleshooting

  • **Permission denied on plist**: ensure the script runs

as the current user, not root.

  • **systemd user session not available**: run

`loginctl enable-linger $USER` to enable user services without an active login session.

  • **Watchdog not firing**: check the log output and verify

the scheduler is loaded (`launchctl list` or `systemctl --user list-timers`).

Exit Criteria

  • [ ] On macOS: `~/Library/LaunchAgents/com.egregore.watchdog.plist`

exists after the install script completes

  • [ ] On Linux: `~/.config/systemd/user/egregore-watchdog.timer`

exists after the install script completes

  • [ ] Verification command confirms daemon is loaded: `launchctl list |

grep egregore` returns a line (macOS), or `systemctl --user status egregore-watchdog.timer` shows `active (waiting)` (Linux)

  • [ ] Schedule interval (300 seconds / 5 minutes) and log file path

reported to the user after installation

  • [ ] If `permission denied` occurs, the error is reported with the

remediation step (run as current user, not root)

Read more
Ships withclaude-night-market

A plugin marketplace for Claude Code. Install only the plugins you need to run git workflows, code review, spec-driven development, and autonomous agents from inside your Claude Code session.

Get the whole plugin

Other skills on claude-night-market.