← Commit history

Publish 1.0.2

Kyle Bergstedt ·7ca0bda19f ·1mo ago ·parent d2e565a
3 files changed +21−21
SKILL.md+19−19
@@ -3,7 +3,7 @@ name: ralph-loop-test description: >-   The Adom "ralph test" (Ralph Wiggum loop) — a screenshot-driven fix loop for apps. Point it at the   user's running app (almost always a WEB APP in a webview / pup / the native browser, sometimes a-  DESKTOP APP driven via an adom-desktop bridge): load it, screenshot it, feed the shot to the AI, the+  DESKTOP APP driven via an adom-bridge-cli bridge): load it, screenshot it, feed the shot to the AI, the   AI analyzes what's wrong and fixes it, then reload the page (or reload the file in the desktop app),   screenshot again, and loop until it's right. Covers every Adom screenshot surface — Hydrogen webview   (adom-cli), pup, the native Chrome/Edge extension (nbrowser_*), and desktop bridges — plus the@@ -18,7 +18,7 @@ description: >- In the Adom world a **ralph test** (a Ralph Wiggum loop) is a **visual fix loop**, not a code-build loop. You point it at the user's *running app* — almost always a **web app** (shown in a Hydrogen webview, in pup, or in the native Chrome/Edge browser), sometimes a **desktop app driven through an-adom-desktop bridge** — and you grind this cycle:+adom-bridge-cli bridge** — and you grind this cycle:  1. **Load** the app on a surface you can screenshot. 2. **Screenshot** it.@@ -43,8 +43,8 @@ works identically everywhere:  What changes per task is only **which surface** you load the app on. Pick it in Step 1. -> Targeting: `adom-desktop` verbs hit the user's laptop. If more than one desktop is on the relay you-> MUST name one (`-t AdomLapper`) or it errors `ambiguous_target` (`adom-desktop targets` lists them).+> Targeting: The bridge CLI's verbs hit the user's laptop (`adom-bridge-cli`; `adom-bridge` on macOS). If more than one desktop is on the relay you+> MUST name one (`-t AdomLapper`) or it errors `ambiguous_target` (`adom-bridge-cli targets` lists them).  --- @@ -62,7 +62,7 @@ so background operation is always possible:   *real* browser to keep painting while buried (background 3D / full-fps recording), it can **offer a   full relaunch of the native browser in non-occlusion "full refresh" mode** (the user's profile +   logins survive), then offer to revert afterward.-- **adom-desktop** — `desktop_screenshot_window` captures a window by **hwnd in the background** (no+- **Adom Bridge** — `desktop_screenshot_window` captures a window by **hwnd in the background** (no   foregrounding). It also returns a **full ARRAY of screenshots including the window's CHILD windows**,   so **error/dialog boxes — almost always child windows of the parent hwnd — are captured   automatically.** A ralph loop therefore *sees* the error popup without hunting for it.@@ -129,9 +129,9 @@ Hydrogen's** smart panel targeting knowing it imposes the screen-share mode for  ### B. Web app in pup (Puppeteer) — fast, scriptable ```bash-adom-desktop -t AdomLapper browser_open_window '{"sessionId":"app","profile":"Default","url":"<url>"}'-adom-desktop -t AdomLapper browser_screenshot  '{"sessionId":"app","fullPage":true}'   # → /tmp/adom-desktop-screenshots-adom-desktop -t AdomLapper browser_reload      '{"sessionId":"app"}'+adom-bridge-cli -t AdomLapper browser_open_window '{"sessionId":"app","profile":"Default","url":"<url>"}'+adom-bridge-cli -t AdomLapper browser_screenshot  '{"sessionId":"app","fullPage":true}'   # → the screenshot cache (auto-pulled to ~/project/screenshots/adom-bridge/)+adom-bridge-cli -t AdomLapper browser_reload      '{"sessionId":"app"}' ``` Great for your own apps and open public pages. **But** pup is an empty controlled-Chromium: more and more sites **detect and block it** (e.g. `digikey.com`), and it's **logged in to nothing**. When that@@ -143,11 +143,11 @@ When a site **blocks pup** or **needs you logged in**, drive the user's **real C login walls and captchas that stop pup. This is your best friend for surfing the web (or local apps) with a full logged-in context. ```bash-adom-desktop -t AdomLapper nbrowser_status                                         # confirm connected-adom-desktop -t AdomLapper nbrowser_open_window '{"sessionId":"app","url":"<url>"}' # opens in the BACKGROUND-adom-desktop -t AdomLapper nbrowser_screenshot  '{"sessionId":"app","toFile":true}' # → a laptop PNG path-adom-desktop -t AdomLapper pull_file '{"filePaths":["<path>"],"saveTo":"/tmp"}'      # bring it into the container-adom-desktop -t AdomLapper nbrowser_reload '{"sessionId":"app"}'+adom-bridge-cli -t AdomLapper nbrowser_status                                         # confirm connected+adom-bridge-cli -t AdomLapper nbrowser_open_window '{"sessionId":"app","url":"<url>"}' # opens in the BACKGROUND+adom-bridge-cli -t AdomLapper nbrowser_screenshot  '{"sessionId":"app","toFile":true}' # → a laptop PNG path+adom-bridge-cli -t AdomLapper pull_file '{"filePaths":["<path>"],"saveTo":"/tmp"}'      # bring it into the container+adom-bridge-cli -t AdomLapper nbrowser_reload '{"sessionId":"app"}' ``` Rules that matter (full reference: the **driving-the-extension** skill): - **One-time install — Adom Bridge installs it for you** (Step 1.5); it's not there by default.@@ -160,25 +160,25 @@ Rules that matter (full reference: the **driving-the-extension** skill): - Bonus: `nbrowser_login_state {url}` checks if you're signed in now; `nbrowser_fetch_url` grabs a file   behind a login using the real cookies — no clicking. -### D. Desktop app via an adom-desktop bridge+### D. Desktop app via an adom-bridge-cli bridge If the "app" is a desktop program (KiCad, Fusion 360, …), reload the file through its bridge and screenshot the window: ```bash-adom-desktop -t AdomLapper desktop_list_windows                                    # find the hwnd-adom-desktop -t AdomLapper desktop_screenshot_window '{"hwnd":<hwnd>}'             # any native window-adom-desktop -t AdomLapper kicad_screenshot_all '{}'                              # or fusion_screenshot_all+adom-bridge-cli -t AdomLapper desktop_list_windows                                    # find the hwnd+adom-bridge-cli -t AdomLapper desktop_screenshot_window '{"hwnd":<hwnd>}'             # any native window+adom-bridge-cli -t AdomLapper kicad_screenshot_all '{}'                              # or fusion_screenshot_all ``` "Reload" = re-open / re-load the file in the app (e.g. `kicad_open_board` again after you edit it). `desktop_screenshot_window` captures the window **in the background** and returns an **array that includes child windows**, so a popped-up **error/dialog box is captured automatically** — exactly what a ralph loop needs to diagnose a failed reload. -## Step 1.5 — Installing the native browser extension (adom-desktop installs it for you)+## Step 1.5 — Installing the native browser extension (adom-bridge-cli installs it for you) It isn't there by default, but **it largely self-installs — don't just hand the user manual steps.** Your container never talks to the extension directly; it drives **Adom Bridge (ab)** on the laptop and Adom Bridge does the setup. First-time flow (the extension page's `INSTALL-FLOW.md` walks every step): -1. **Get the skills + mechanics:** `adom-wiki skills install adom/adom-browser-extension` — installs+1. **Get the skills + mechanics:** `adom-wiki skills install adom/adom-native-browser` — installs    `driving-the-extension`, `native-browser-safety`, `driving-the-desktop`, the site recipes, etc. 2. **Adom Bridge installs the bridge** (one call) and registers the tiny **native-messaging host** on the laptop. 3. **The extension gets loaded into Chrome/Edge.** Chrome 137+ removed `--load-extension`, so this is a
package.json+1−1
@@ -3,7 +3,7 @@   "slug": "ralph-loop-test",   "title": "Ralph Test",   "brief": "Screenshot, fix, reload. Loop until your app is right.",-  "version": "1.0.1",+  "version": "1.0.2",   "description": "The Adom 'ralph test': a screenshot-driven fix loop. Load the user's web or desktop app, screenshot it, let the AI analyze and fix what is wrong, reload, screenshot again, and loop until it is right. Covers every Adom screenshot surface (Hydrogen webview, pup, the native Chrome/Edge extension, desktop bridges) and the shotlog viewer workflow.",   "tags": [     "ai-agent",
page.json+1−1
@@ -3,7 +3,7 @@   "slug": "ralph-loop-test",   "title": "Ralph Test",   "brief": "Screenshot, fix, reload. Loop until your app is right.",-  "version": "1.0.1",+  "version": "1.0.2",   "description": "The Adom 'ralph test': a screenshot-driven fix loop. Load the user's web or desktop app, screenshot it, let the AI analyze and fix what is wrong, reload, screenshot again, and loop until it is right. Covers every Adom screenshot surface (Hydrogen webview, pup, the native Chrome/Edge extension, desktop bridges) and the shotlog viewer workflow.",   "tags": [     "ai-agent",