Skip to content
Back to skills

Leopold Watch

ASecurity

Launch a local live web dashboard to watch the current project's Leopold run — status, cost meters (context/subagents/forks), event feed, decisions, and a Stop button. Local-only (127.0.0.1), zero dependencies.

  • 8 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 5, 2026
ai-agentspythonbashnodegitapi

Works with

  • claude code
  • cli
  • api

Security analysis

A100/100

Scanned September 5, 2026

npx -y skills add Jonhvmp/leopold --skill leopold-watch --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Leopold Watch?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Leopold Watch
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jonhvmp-leopold-watch/badge)](https://www.skillsdirectory.com/skills/jonhvmp-leopold-watch)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: leopold-watch
version: 0.1.0
description: "Launch a local live web dashboard to watch the current project's Leopold run — status, cost meters (context/subagents/forks), event feed, decisions, and a Stop button. Local-only (127.0.0.1), zero dependencies."
allowed-tools:
  - Bash
triggers:
  - leopold watch
  - watch the run
  - open the dashboard
---

# /leopold-watch

Start the local live dashboard for this project's Leopold run and give the user the URL.
It only **reads** `.leopold/` (state, plan, decisions, events) and serves on loopback;
nothing leaves the machine. The one action it offers is a Stop button, which touches
`.leopold/STOP` — the same kill switch as `/leopold-stop`.

Run this (idempotent — if it is already up, just report the URL). The first line
resolves the Leopold asset home: `LEOPOLD_HOME` wins, then the Claude Code home,
then the Codex one — same order as the installer:

```bash
LEO="$(leopold home 2>/dev/null || echo "${LEOPOLD_HOME:-$([ -d "${CLAUDE_HOME:-$HOME/.claude}/leopold" ] && echo "${CLAUDE_HOME:-$HOME/.claude}" || echo "${CODEX_HOME:-$HOME/.codex}")/leopold}")"
WATCH="$LEO/scripts/leopold-watch.py"; [ -f "$WATCH" ] || WATCH="scripts/leopold-watch.py"
PORT="${LEOPOLD_WATCH_PORT:-4179}"
if curl -sf "http://127.0.0.1:$PORT/api/state" >/dev/null 2>&1; then
  echo "Dashboard already running -> http://127.0.0.1:$PORT"
else
  nohup python3 "$WATCH" --project "$(pwd)" --port "$PORT" >/tmp/leopold-watch.log 2>&1 &
  sleep 1
  if curl -sf "http://127.0.0.1:$PORT/api/state" >/dev/null 2>&1; then
    echo "Dashboard started -> http://127.0.0.1:$PORT  (pid $!)"
  else
    echo "Failed to start; last log lines:"; tail -3 /tmp/leopold-watch.log
  fi
fi
```

Then tell the user, briefly:

- Open **http://127.0.0.1:4179** (or the port shown) in a browser to watch the run live:
  run status, cost meters (context MB, subagents, forks, iterations, failures vs their
  budgets), the live event feed, the decisions log, and a **Stop** button.
- It shows real data only while a run is active (`/leopold-run`); otherwise it says
  "no active run" and updates the moment one starts.
- To stop the dashboard itself: `pkill -f leopold-watch.py`. It also runs via `make watch`
  or, from the npm package, `npx leopold-driver watch`.
- The **Canvas** tab renders the run as a live DAG (phases, agents, forks, adversarial
  verify, plan items as nodes; dependency edges). Click a node to inspect it (model,
  tokens, per-node cost, prompt/result preview, decisions). From a node you can **steer**
  the run — redirect / inject / kill / re-run — which the `/leopold-run` loop applies at
  the next turn boundary (a workflow node's steer becomes a directive for the next
  resume). Git stays **locked** throughout: steering never commits.

Do not do anything else. Start it, report the URL, stop.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.