Skills

The skills this repo ships, by tier, each with a quick health read. Install the user skills with:

adom-wiki skills install adom/pup-bridge
main skill pup view SKILL.md

Drive a browser on the user's desktop from the cloud: the Puppeteer 'pup' bridge (pup_* verbs via the adom-bridge-cli CLI). To the user these are PUP WINDOWS, full stop: never name the browser build or how pup drives it unless they ask. pup runs its own browser in a pup-managed DURABLE profile (logins/localStorage persist and are shared across pup windows), driven through pup's own extension channel with no debug port, which is the lane every vendor site loads on and the ONLY lane pup opens unless you pass lane:'cdp' for a CDP-only feature (see the pup-lanes skill), in the BACKGROUND so it never disturbs the user; NOT the user's real signed-in profile (that is the Adom extension's nbrowser_* verbs), NOT headless (a real rendered window, so screenshots/recording are true-to-life). Open/close windows + tabs, navigate, screenshot, eval JS, record. This is the START-HERE skill: the mental model + when-to-use + the skill map; deeper topics route to the sub-skills. For 'is it ready' use pup_readiness (not pup_status). Trigger words: pup, puppeteer, browser window, open in pup, open my app in pup, browser screenshot, browser eval, browser reload, visual debug, headful chrome, pup_open_window, pup_screenshot, pup_readiness, pup_prewarm, chrome for testing, open in browser, open my web app, show my app in the browser, preview my app, open the app I just built, view my app, open localhost, show my dev server, pup_login, log into a site in pup, autofill password, saved login, durable profile, isolated window.

804 lines · 9.2kw · too longpreamblenamedescription (long)triggersuser-invocablestructureheadingsexample
sub-skill pup-adom-wiki view SKILL.md

Driving the Adom wiki (wiki.adom.inc) inside a pup window — the common case of loading, viewing, and VERIFYING wiki pages with the pup_* verbs. Use when the user says show me the wiki / open my wiki page in pup / verify my page rendered / check the hero/version/download card / does my published page look right. Covers: pup shows the RENDERED page (use the adom-wiki CLI for API tasks like publish/search/releases — NOT pup); wiki pages are component-heavy with nested scroll, so use the shadow-DOM-survey + scroll-the-element techniques; and the LOGIN situation — every pup window shares ONE durable profile (v1.9.162), so once the user signs into the wiki once it stays logged in everywhere; wikiView:"public" is the explicit logged-OUT view for publish-visibility checks. Trigger words: adom wiki, wiki.adom.inc, show me the wiki, open the wiki in pup, open my wiki page, verify my wiki page, check my hero, wiki version chip, download card, wiki page rendered, is my page live, wiki login pup, log into the wiki.

109 lines · 1.3kwpreamblenamedescription (long)triggersuser-invocableparent linkstructureheadingsexample
sub-skill pup-browsers-and-chrome view SKILL.md

MAINTAINER detail, not for a user's ears: how pup picks and launches its browser, and every cold-start / readiness case. A user hears 'pup window'; the build behind it (installed Chrome, Edge, or pup's own automation build) is answered only when asked (pup-bridge#114). Covers: the installed-browser-first architecture (launches a FRESH CDP-driven process of installed Chrome → else Edge → else cached Chrome for Testing, spawn-verified with fallthrough, caches the winner as default); pup_use to pin chrome/edge/cft/auto; INSTALLING real Google Chrome on an Edge-only box (pup_use install:true) including the UAC-approval-notify flow on locked-down machines; installing/prewarming Chrome for Testing; pup_readiness (READ-ONLY — the right 'is it ready / which browser' probe, NOT pup_status); the cold-start error table (node_not_found, bridge_restarting, chrome_for_testing_installing, chrome_install_no_disk, CfT 'skipped' is not a failure); AD-managed Node provisioning (no install needed on AD >=1.9.63); and the shell-approval gate. Read on any browser-pick question, a fresh/first-run PC, an install/prewarm, a not-ready error, or a shell-approval prompt. Trigger words: pup_readiness, pup_use, pup_prewarm, chrome for testing, install chrome, chrome_for_testing_installing, node_not_found, bridge_restarting, chrome_install_no_disk, cold start pup, which browser, edge only box, UAC approve chrome, request_shell_approval, shell command approval, adom runtimes, pup not ready.

150 lines · 1.7kwpreamblenamedescription (long)triggersuser-invocableparent linkstructureheadingsexample
sub-skill pup-credentials view SKILL.md

How pup signs the user into sites AS THEM: pup's OS-keychain credential vault (auto-capture on login + silent autofill on return, matched across a site's whole registrable domain), importing the user's OWN saved Chrome/Edge/Brave passwords into the vault (pup_import_browser_logins — the SYSTEM-elevated decrypt behind one consent + one Windows UAC), and — when a saved password is STALE (a login that 'Fail to authenticate's) — recovering the CURRENT username+password straight from the user's browser password manager by driving it with Bridge desktop verbs, clicking the eyeball, waiting for the user's Windows Hello, and reading the revealed value. It is not pretty, but it works (proven end to end: recovered a live password, fixed a wrong username, logged into a gated CAD portal, downloaded a real library). Read before trying to log a user into any site pup does not already have a working credential for. Trigger words: pup vault, saved password, autofill login, import my passwords, import browser logins, pup_import_browser_logins, decrypt browser credentials, credential_set, pup_credentials, stale password, fail to authenticate, wrong password, recover my password, password manager, chrome://password-manager, show password eyeball, windows hello, get my username and password, log me in as me, seed adom-you logins, google login, sign into google, log into gmail, google account, which google account, work or personal google, pup_google_signin, pup_google_accounts.

300 lines · 3.3kw · longpreamblenamedescription (long)triggersuser-invocableparent linkstructureheadingsexample
sub-skill pup-lanes view SKILL.md

Parent skill: pup. The two ways pup drives a pup window (never name the browser build to a user), the extension lane (DEFAULT, every vendor site loads, no debug port) and the CDP lane (opt-in ONLY via lane:'cdp', full DevTools control but detectable and walled by vendor edges). Pros and cons of each, exactly which verbs need CDP, what lane:'cdp' costs (it takes adom-you away from the extension lane and closes its windows), and the rule: never open a CDP window unless the task specifically needs a CDP-only feature. Read before passing lane, isolated, profile, highFps or webSecurity to pup_open_window, and whenever a verb answers lane_needs_cdp or cdp_lane_required. Trigger words: pup lane, extension lane, cdp lane, lane:cdp, lane_needs_cdp, cdp_lane_required, which lane, remote-debugging-port, debug port detected, site blocks pup, pup_open_window lane, isolated:true refused, highFps refused, three icons vs four icons.

115 lines · 2.3kwpreamblenamedescription (long)triggersuser-invocableparent linkstructureheadingsexample
sub-skill pup-progress view SKILL.md

Parent skill: pup. WHEN and HOW to paint the Windows taskbar progress bar on a pup window during long multi-stage work — site crawls, login→search→download loops, batch harvesting of datasheets/STEP files/libraries. Teaches the judgment call (multi-stage = yes, single page open = no), the pup_progress verb (indeterminate / value / off + stage notes), and clearing hygiene. Trigger words: progress bar, taskbar progress, pup_progress, long crawl, show progress, crawling indicator, harvesting progress, download progress pup.

93 lines · 915wpreamblenamedescription (long)triggersuser-invocableparent linkstructureheadingsexample
sub-skill pup-screenshots-recording view SKILL.md

Capturing pup (Puppeteer bridge) windows: SCREENSHOTS (pup_screenshot — lossless PNG, full-page vs viewport, full-resolution via pup_screenshot_full_res, and how to actually READ the image) and RECORDING (pup_record_start/stop records ONE pup window through ab's native recorder, MP4, extension lane included; desktop_record_start/stop records the WHOLE desktop across apps). Covers framing a window at an exact size for a clean shot WITHOUT foregrounding it, and why pup shots are true-to-life (real rendered window, not headless). Read when screenshotting a page, capturing full-page vs above-the-fold, recording a demo/walkthrough of an app, or choosing the window-recorder vs the desktop-recorder. Trigger words: pup_screenshot, pup_screenshot_full_res, full page screenshot, screenshot the page, read the screenshot, pup_record_start, pup_record_stop, desktop_record_start, desktop_record_stop, record my app, record a demo, screen recording, walkthrough video, pup screenshot, pup recording.

120 lines · 1.2kwpreamblenamedescription (long)triggersuser-invocableparent linkstructureheadingsexample
sub-skill pup-settings view SKILL.md

The complete reference to pup's behavior: every Settings toggle and the feature behind it, taskbar identity (AUMID), jump lists, the toolbar extension family, annotate/capture, foreground etiquette, the credential vault (auto-capture + autofill), in-page identity, and recovery/safety. Read to know exactly what pup does on the user's machine and how to change any of it. Change settings live with pup_configure {key:value} or the dashboard gear (Settings dialog).

137 lines · 2.2kwpreamblenamedescriptiontriggersuser-invocableparent linkstructureheadingsexample
sub-skill pup-taskbar-progress view SKILL.md

Parent skill: pup. How pup signals it is WORKING on a window — a DETERMINATE progress bar painted right on the window's Windows taskbar button, sized to how long that operation usually takes, INSTEAD of the old orange flash. pup keeps a running average of every operation's duration (persisted) and fills the bar over that estimate: the bar starts at the EARLIEST point of the operation and ends at the LATEST. Built-in cases: applying a window's taskbar icon (from open until the icon actually lands) and taking a screenshot; any operation can be wrapped. Controlled by the `taskbarActivity` setting (progress | flash | off, default progress). Read this to understand the taskbar bar you see, to change/disable it, or to wrap a new operation with a bar. Trigger words: taskbar progress bar, progress bar on taskbar, taskbar activity, replace the flash, orange flash, taskbarActivity, verb timing, average duration, how long a screenshot takes, icon apply progress, progress instead of flash, pup progress bar, determinate progress.

91 lines · 992wpreamblenamedescription (long)triggersuser-invocableparent linkstructureheadingsexample
sub-skill pup-taskbar-states view SKILL.md

Parent skill: pup. The definitive reference for the SIX taskbar identity states (taskbarMode tiles|aumid|plain, each with overlay badges on|off): exactly what each state looks like on the Windows taskbar, where every pixel comes from, the grouping semantics per mode, and how to switch (pup_configure or clicking a cell in the Settings matrix). Trigger words: taskbar states, taskbar identity, taskbarMode, tiles vs aumid vs plain, overlay badges, thread tiles state, taskbar matrix, six states, what does plain mode look like.

140 lines · 1.7kwpreamblenamedescription (long)triggersuser-invocableparent linkstructureheadingsexample
sub-skill pup-vendor-login view SKILL.md

How to sign a user into a third-party vendor portal (Autodesk, Fusion, Mouser, DigiKey, and other SSO sites) inside a pup window, so the login PERSISTS and later visits are automatic. Covers the autonomous 'Continue with Google/Microsoft' path that needs no typed password (it reuses the profile's existing Google session), the OAuth-popup behaviour pup shows, driving Google's FedCM account chooser (which rejects ALL programmatic clicks — needs a real desktop_hover-then-click), which profile to use for crash-isolation, and the hard limit that some heavy account-admin SPAs (Autodesk's Kepler/React portal) JAM CDP so pup cannot drive the in-portal admin UI. Read this before opening any vendor login in pup. Trigger words: log into autodesk, autodesk sign in, sign into fusion, continue with google, vendor login, portal login, sso login in pup, log into mouser, digikey login, assign a license, autodesk account, manage.autodesk.com, store my login, oauth popup, account chooser.

192 lines · 2.2kwpreamblenamedescription (long)triggersuser-invocableparent linkstructureheadingsexample
sub-skill pup-why-cft view SKILL.md

Parent skill: pup. MAINTAINER detail (a user hears 'pup window'; do not volunteer the build, pup-bridge#114): WHY pup drives its own automation build of Chrome instead of installed Chrome/Edge, the five dated reasons (automation banner, --load-extension removal being the forcing one, version determinism, none of the consumer chrome, binary isolation), the honest trade-offs (~160 MB first fetch, the window title, no Widevine), and what did NOT change (profiles/logins are pup-owned either way). The policy flipped twice; docs/WHY-CFT.md on the wiki page is the dated canonical record and this skill is its AI-discoverable form. Read before questioning the browser choice, proposing native-first, or explaining a 'Google Chrome for Testing' window title to a user. Trigger words: why chrome for testing, why CfT, why not real chrome, why not installed chrome, why not edge, chrome for testing reasons, automation banner, controlled by automated test software, load-extension removed, browser policy pup, native-first, cft vs chrome, what is chrome for testing, google chrome for testing in task manager, widevine pup, drm pup.

113 lines · 1.2kwpreamblenamedescription (long)triggersuser-invocableparent linkstructureheadingsexample
sub-skill pup-windows-sessions-tabs view SKILL.md

pup (Puppeteer bridge) windows, sessions, and tabs: how sessionIds work and why to task-prefix them, WINDOW OWNERSHIP so you never steal another AI thread's window (owner + session_owned_by_another_thread + takeover), the BACKGROUND-by-default rule (foreground:true is the only way to show a window; sizing/positioning does NOT foreground), running MANY TABS in one window instead of many windows, switching/listing/closing sessions and tabs, and verifying what you actually opened. Read when opening/reusing pup windows, managing tabs, deciding background vs foreground, or seeing errorCode session_owned_by_another_thread. Trigger words: pup sessionId, pup_open_window owner, session_owned_by_another_thread, takeover window, pup background, foreground:true, pup_open_tab, pup_switch_tab, pup_list_tabs, pup_switch_window, pup_list_windows, pup_close_window, pup tabs, many tabs one window, don't steal window, pup_lower_os_window, pup_raise_os_window, pup_alert_window.

173 lines · 1.7kwpreamblenamedescription (long)triggersuser-invocableparent linkstructureheadingsexample

Health: the size chip is green when right-sized, yellow when getting long, red when the model likely skims it. A green check is a passed preamble/structure signal; an amber mark is a gentle nudge, not a hard failure.