run-desktoplisted
Install: claude install-skill geniro-io/geniro-app
Geniro is a macOS Electron app. **On macOS, the first choice is `pnpm dev`** —
it launches the real Electron shell against a real daemon, and needs nothing
in this skill. Reach for the harness below instead when there is no display to
launch Electron on (a remote/headless container), or when the task wants
**scripted, repeatable UI driving** through a REPL rather than a human at the
window — either way, on a real Mac you can always fall back to `pnpm dev` and
drive the window by hand.
In a remote Linux container, specifically, the **packaged Electron shell
cannot launch** at all — in that environment the Electron binary download hit
a 403 from GitHub releases (egress policy; report, don't route around it). So
for agent/automated use there we drive the **same renderer bundle** the
Electron window loads, in the pre-installed **Chromium**, wired to a **real
daemon** (spawned under host Node), with `window.geniro` stubbed to hand the
renderer a live daemon handle + an onboarded state. This is also the harness to
reach for on a Mac when scripted driving (not a human eyeballing the window) is
what's wanted — it works there too, it's just not the first choice.
Everything is a REPL driver at `.claude/skills/run-desktop/driver.mjs`. Launch
is slow (~15s: daemon boot + the claude modes probe). Screenshots land in
`/tmp/shots/` (override with `SCREENSHOT_DIR`). All paths below are relative to
the repo root.
## Prerequisites (one-time per container)
```bash
# 1. Build the daemon (dis