← ClaudeAtlas

browserlisted

Verify or measure the webview in a real browser. Use when the user says /browser, after any change to webview/src, or whenever a UI claim needs evidence — layout, spacing, colour, contrast, animation timing, or "does this actually render".
oldmilky/luno-for-cc · ★ 0 · Web & Frontend · score 70
Install: claude install-skill oldmilky/luno-for-cc
# Browser — drive the panel outside VS Code The panel normally lives in a `vscode-webview://` frame no tool can attach to. The bundle only depends on the host in two places — `acquireVsCodeApi()` and `window.LUNO_MODE` — so stubbing those boots the entire UI on localhost, where Playwright can screenshot it and read computed styles. **"Should work" is not a result.** If you changed something the browser renders, run this before reporting done. ## Start it ```bash bun run harness # build, serve, print the URL bun run harness --no-build # reuse webview/dist as-is bun run harness --mode artifact # the plan-artifact shell instead of chat bun run harness --port 4599 ``` Serves `http://127.0.0.1:4599/`. Leave it running; rebuild and reload rather than restarting. ## The seam: `window.__luno` The stub is a **fake host**, not a silent shim. It answers the same boot handshake the extension host does, so the app reaches its chat state on its own rather than racing a timer. | Call | Does | | ------------------------- | ------------------------------------------------------ | | `__luno.sent` | every message the webview posted to the host, in order | | `__luno.sentOf("prompt")` | just those of one type — the usual assertion | | `__luno.send(msg)` | push a host → webview message | | `__luno.clear()` | reset the recording