{
  "schema_version": 1,
  "type": "app",
  "slug": "adom-desktop-puppeteer-bridge",
  "title": "Adom Desktop - Puppeteer Bridge",
  "brief": "The Adom Desktop Puppeteer (pup) bridge — drive a real headful browser on the user's desktop from the cloud: open/screenshot/eval/record. Cold-start drives the browser ALREADY on the machine (installed Chrome, else Microsoft Edge — every Windows PC ships with Edge) with a fresh isolated profile, so the common case needs NO download; Chrome for Testing is fetched only as a last resort. Two artifacts: the Releases zip is the bridge runtime (also bundled in Adom Desktop); the pkg installs the container-side Claude skills.",
  "version": "1.9.29",
  "tags": [
    "skills",
    "pup",
    "puppeteer",
    "browser",
    "adom-desktop",
    "bridge"
  ],
  "license": "MIT",
  "discovery_triggers": [
    "pup",
    "open in pup",
    "open my app in pup",
    "open it in pup",
    "open this in pup",
    "show me in pup",
    "show it in pup",
    "open a pup window",
    "pup window",
    "screenshot my app",
    "screenshot the page",
    "browser screenshot",
    "pup screenshot",
    "record the window",
    "record a browser window",
    "record a pup",
    "record my app",
    "new pup tab",
    "pup tabs",
    "browser tabs",
    "close the pup window",
    "reload the page in pup",
    "eval js in the page",
    "drive a browser",
    "headful browser automation",
    "visual debug",
    "puppeteer",
    "puppeteer bridge",
    "pup bridge",
    "chrome for testing",
    "chrome automation bridge",
    "browser_open_window",
    "browser_screenshot",
    "browser_record_start",
    "browser_readiness",
    "fork the pup bridge",
    "puppeteer bridge source"
  ],
  "discovery_pitch": "Use pup to drive Chrome from the cloud: open/close browser windows + tabs, navigate, screenshot, eval JS, and record windows. It drives the browser ALREADY on the machine — installed Chrome, else Microsoft Edge (every Windows PC has Edge) — with a fresh isolated profile, so usually NO download and it doesn't disrupt the user; Chrome for Testing is fetched only as a last resort. For 'is it ready' use browser_readiness. Or pass nativeBrowser+nativeProfile to drive the user's REAL signed-in Chrome/Edge/Brave. Call the adom-desktop browser_* verbs.",
  "sample_prompts": [
    {
      "label": "Open in pup",
      "prompt": "Open my app in pup (browser_open_window) and screenshot it"
    },
    {
      "label": "Screenshot a page",
      "prompt": "Screenshot https://example.com in pup"
    },
    {
      "label": "Record a window",
      "prompt": "Record a 30-second video of this pup tab (browser_record_start/stop)"
    },
    {
      "label": "Many tabs, one window",
      "prompt": "Open these 5 URLs as tabs in one pup window"
    },
    {
      "label": "Drive my real Chrome",
      "prompt": "Open the GCP console in my real signed-in Chrome via pup native mode"
    },
    {
      "label": "Read the bridge source (dev)",
      "prompt": "Download the puppeteer-bridge zip from the wiki and walk me through server.js"
    }
  ],
  "install": {
    "binary_name": "adom-desktop-puppeteer-bridge",
    "install_dir": "",
    "install_hint": "",
    "version_cmd": ""
  },
  "readme": "# Adom Desktop — Puppeteer (pup) Bridge\n\nDrive a real headful browser from the cloud: open/close browser windows + tabs, navigate, screenshot,\neval JS, and record windows. Cold-start drives the browser **already on the machine** — installed\n**Chrome**, else **Microsoft Edge** (every Windows PC ships with Edge) — launched with a **fresh isolated\nprofile**, so the common case has **no download** and never touches the user's real tabs/logins. **Chrome\nfor Testing** is fetched only as a **last resort** if the machine has no Chromium browser at all. You can\nalso drive the user's **real Chrome/Edge/Brave** (signed-in profile) via `nativeBrowser`+`nativeProfile`.\n\nCanonical page: **https://wiki.adom.inc/adom/adom-desktop-puppeteer-bridge**\n\n## Three artifacts — know which is which\n\n| Artifact | Where | What it is |\n|---|---|---|\n| **pkg** (Packages tab) | `adom-wiki pkg install adom/adom-desktop-puppeteer-bridge` | the **container-side `pup` skill** (drops into `~/.claude/skills` + `~/.codex/skills`). No runtime. |\n| **release zip** (Releases tab) | `https://wiki.adom.inc/download/adom/adom-desktop-puppeteer-bridge/<ver>/adom-bridge-puppeteer-v<ver>.zip` | the **bridge runtime** (Node + Chrome-for-Testing self-heal) that Adom Desktop streams into its bridges-cache |\n| **bundled seed** | inside the Adom Desktop installer | the same runtime, shipped for first-run/offline; superseded by a newer cache copy via `updateManifestUrl` |\n\n**TL;DR:** `pkg install` = the pup skill for the container; the bridge itself = the Release zip + bundled in Adom Desktop.\n\n## Use it\n\n```bash\n# everyday: open + screenshot (works while lowered so it doesn't disrupt the user)\nadom-desktop browser_open_window '{\"sessionId\":\"app\",\"profile\":\"app\",\"url\":\"http://localhost:3000\"}'\nadom-desktop browser_lower_os_window '{\"sessionId\":\"app\"}'\nadom-desktop browser_screenshot '{\"sessionId\":\"app\"}'\n\n# cold-start (fresh PC, no Chrome for Testing): the bridge installs it; poll readiness then open\nadom-desktop browser_prewarm '{}'\nadom-desktop browser_readiness '{}'      # → {ready:true} when Chrome for Testing is installed\n```\n\nFull everyday usage (tabs, recording, native-Chrome mode, cold-start playbook) is in the `pup` skill\n(`SKILL.md`).\n\n## Source & development\n\nThis bridge is cloud-owned here (extracted from `adom-desktop/plugins/puppeteer`, mirroring the\nkicad/fusion bridges). Adom Desktop ships a bundled seed and auto-pulls newer versions from this page.\n\n- Clone the source: `adom-wiki repo clone adom/adom-desktop-puppeteer-bridge`\n- Runtime lives in `src/` (`server.js`, `chrome.js`, `bridge.json`, …); the release zip is `src/` at zip-root.\n- **Developer/publishing references** live in `dev-skills/` (`pup-bridge-dev.md`, `pup-bridge-publish.md`) —\n  source-only, not in the pkg or on the Skills tab. See `dev-skills/README.md`.\n- Ownership boundary: `CLAUDE.md`. Publish recipe: `PUBLISHING.md`. History: `CHANGELOG.md`.\n\n## Related\n\n- [Bridge SDK guide](https://wiki.adom.inc/adom/adom-desktop-bridges) — `bridge.json` schema, packaging, lifecycle\n- [KiCad bridge](https://wiki.adom.inc/adom/adom-desktop-kicad-bridge) · [Fusion 360 bridge](https://wiki.adom.inc/adom/adom-desktop-fusion-bridge)\n- [Adom Desktop (parent app)](https://wiki.adom.inc/adom/adom-desktop)\n\nMIT licensed.\n",
  "author": {
    "name": "Kyle Bergstedt",
    "email": "[email protected]"
  },
  "visibility": {
    "public": true
  },
  "hero": {
    "type": "image",
    "path": "hero-v8.png"
  },
  "metadata": {},
  "created_at": "2026-05-28T05:28:43.991Z",
  "updated_at": "2026-06-16T12:43:19.735Z",
  "skills": [],
  "author_name": "John Lauer",
  "description": "The pup SKILL PACK — the AI skills that teach a cloud/container AI how to drive the Adom Desktop Puppeteer (pup) bridge (browser_* verbs): the everyday `pup` skill plus focused sub-skills for windows/sessions/tabs, screenshots+recording, browsers+Chrome install, and driving the Adom wiki. Installs into ~/.claude/skills + ~/.codex/skills. DOCS ONLY — this is NOT the bridge runtime. The bridge itself (the Node program that drives the browser) runs on the DESKTOP: Adom Desktop bundles it and auto-installs/updates it, and it's published separately on the Releases tab as adom-bridge-puppeteer-v<ver>.zip. So the pkg version (skills, bumps often) and the Release version (runtime, bumps rarely) differ on purpose. TL;DR: pkg install = the skills for your AI; the bridge = the Release zip, which Adom Desktop manages for you.",
  "keywords": [
    "pup",
    "puppeteer",
    "browser",
    "adom-desktop",
    "bridge",
    "skills"
  ],
  "files": [
    "SKILL.md",
    "skills/pup-windows-sessions-tabs/SKILL.md",
    "skills/pup-screenshots-recording/SKILL.md",
    "skills/pup-browsers-and-chrome/SKILL.md",
    "skills/pup-adom-wiki/SKILL.md",
    "install.sh",
    "uninstall.sh",
    "README.md",
    "package.json"
  ],
  "scripts": {
    "install": "./install.sh",
    "uninstall": "./uninstall.sh"
  },
  "dependencies": {
    "adom/adom-desktop": "^1.9.63"
  },
  "org": "adom"
}