---
name: athola/uninstall-watchdog
source: https://app.decimal.ai/s/athola-uninstall-watchdog@1/SKILL.md
source_sha256: a06b3bf0cc63
---

# Uninstall Watchdog

## Overview

Removes the egregore watchdog daemon and cleans up all files
created by the install-watchdog skill.
After uninstalling, egregore sessions will no longer be
relaunched automatically.

## When To Use

- When you no longer want autonomous relaunching.
- Before removing the egregore plugin from a project.
- When switching from daemon mode to manual invocation.

## When NOT To Use

- When the watchdog was never installed (check first with
  the verify commands below).

## Uninstall Steps

### 1. Detect the operating system

```bash
OS=$(uname -s)
```

### 2. Stop and remove the service

**macOS (launchd):**

```bash
PLIST=~/Library/LaunchAgents/com.egregore.watchdog.plist

# Unload the agent (stops it if running)
launchctl unload "$PLIST" 2>/dev/null

# Remove the plist file
rm -f "$PLIST"
```

**Linux (systemd):**

```bash
# Stop and disable the timer and service
systemctl --user stop egregore-watchdog.timer 2>/dev/null
systemctl --user disable egregore-watchdog.timer 2>/dev/null

# Remove unit files
rm -f ~/.config/systemd/user/egregore-watchdog.timer
rm -f ~/.config/systemd/user/egregore-watchdog.service

# Reload systemd to pick up the removal
systemctl --user daemon-reload
```

### 3. Clean up associated files

```bash
# Remove pidfile if present
rm -f ~/.egregore/watchdog.pid

# Remove watchdog log
rm -f ~/.egregore/watchdog.log
```

### 4. Confirm removal

**macOS:**

```bash
launchctl list | grep egregore
# Should produce no output
```

**Linux:**

```bash
systemctl --user list-timers | grep egregore
# Should produce no output
```

Report to the user that the watchdog has been removed and
automatic relaunching is disabled.

## Files Removed

| File | Platform | Purpose |
|------|----------|---------|
| `~/Library/LaunchAgents/com.egregore.watchdog.plist` | macOS | launchd agent definition |
| `~/.config/systemd/user/egregore-watchdog.timer` | Linux | systemd timer unit |
| `~/.config/systemd/user/egregore-watchdog.service` | Linux | systemd service unit |
| `~/.egregore/watchdog.pid` | both | PID of last watchdog run |
| `~/.egregore/watchdog.log` | macOS | watchdog output log |

## Exit Criteria

- [ ] On macOS: `~/Library/LaunchAgents/com.egregore.watchdog.plist`
      does not exist after uninstall completes
- [ ] On Linux: `~/.config/systemd/user/egregore-watchdog.timer` and
      `egregore-watchdog.service` are both removed and `systemctl
      --user daemon-reload` has run
- [ ] Verification command returns empty output: `launchctl list |
      grep egregore` (macOS) or `systemctl --user list-timers | grep
      egregore` (Linux)
- [ ] `~/.egregore/watchdog.pid` and `~/.egregore/watchdog.log` are
      removed (or absent if they were never created)
- [ ] User is notified that the watchdog has been removed and
      automatic relaunching is disabled