dashboardlisted
Install: claude install-skill matt82198/aesop
# /dashboard — Launch the aesop web dashboard
Idempotent dashboard launch: check if already running on :8770, start if needed (background process),
open browser, report URL + task id. Optional `stop` argument to kill the server.
**Model**: Haiku (read-only + light operations)
## Behavior
### 1. Check dashboard health (no startup on this call)
```bash
curl -s -o /dev/null -w '%{http_code}' http://localhost:8770/
```
- If **200**: dashboard already running → report URL + "Already running" + skip to step 4.
- If **non-200 or connection refused**: proceed to step 2.
### 2. Start the dashboard server (background)
From the aesop repo root, launch via Bash `run_in_background: true`:
```bash
python ui/serve.py
```
Environment override (optional):
- `PORT=<port>` — defaults to 8770 if unset.
- Config precedence: `PORT` env var > `aesop.config.json` > default 8770
### 3. Poll for readiness (no blocking sleeps)
Use `curl --retry` to poll until :8770 responds with 200:
```bash
curl -s --retry 20 --retry-delay 1 --retry-connrefused http://localhost:8770/
```
Expect **200** — then proceed.
### 4. Open browser (Windows)
```powershell
start http://localhost:8770
```
### 5. Report
Output one summary line with:
- Dashboard URL: `http://localhost:8770`
- Status: "Running" or "Already running"
- Background task id (if just started)
- Data freshness: hit `/api/state` for one-line status (e.g., "heartbeat: 5s old")
**Example:**
```
Dashboard: http://localhost:8770 | Running (task: bg-12