Initial supervisor skill with auto-discovery

This commit is contained in:
Azat
2026-02-02 22:25:32 +01:00
commit 13e6b18536
3 changed files with 201 additions and 0 deletions

65
SKILL.md Normal file
View File

@@ -0,0 +1,65 @@
---
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