--- name: supervisor description: Process manager for running multiple skills concurrently metadata: version: "1.0.0" vibestack: main: true --- # Supervisor Skill Runs multiple skills as managed processes using [supervisord](http://supervisord.org/). ## Features - Auto-discovers skills with `run.sh` scripts - Manages process lifecycle (start, stop, restart) - Log aggregation - Process health monitoring - Web UI for process management (optional) ## Auto-Discovery On startup, supervisor scans `/skills/*/scripts/run.sh` and creates a program entry for each skill that has a `run.sh` script. Skills can opt-out by setting `SUPERVISOR_SKIP=true` in their environment or by not having a `run.sh` script. ## Configuration ### Environment Variables | Variable | Description | Default | |----------|-------------|---------| | `SUPERVISOR_HTTP_PORT` | Web UI port (0 = disabled) | `9001` | | `SUPERVISOR_USER` | Web UI username | `admin` | | `SUPERVISOR_PASSWORD` | Web UI password | `admin` | | `SUPERVISOR_LOG_DIR` | Log directory | `/var/log/supervisor` | ### Per-Skill Configuration Skills can provide a `.supervisor.conf` file in their directory to customize their process: ```ini [program:my-skill] priority=100 autostart=true autorestart=true startsecs=5 ``` ## Usage Supervisor is typically the `main: true` skill that orchestrates other skills: ```bash SKILL_URLS="https://git.../supervisor https://git.../caddy https://git.../ttyd" MAIN_SKILL="supervisor" ``` ## Web UI Access at `http://localhost:9001` to: - View process status - Start/stop/restart processes - View logs