app
Pup - the AI's own browser
Public Made by Adomby adom
pup gives your AI a real browser on your desktop that it drives completely, in the background, signed in as you: windows that never jump in front of your work, one shared profile that learns your logins, and every window labeled on the taskbar with its AI thread's name.
← Commit history
install the main skill as pup, not the repo name
3 files changed
+34−3
CHANGELOG.md+23@@ -2,6 +2,29 @@ ## UNRELEASED (rides the next version) — AD-base re-discovery + self-guarded powershell primitives +### The main skill installed under the REPO name instead of its own name (`pup`)++`install.sh` deployed the start-here skill to `~/.claude/skills/adom-desktop-puppeteer-bridge/`+while that same `SKILL.md` declares `name: pup`. The skill directory name is the slug the loader+surfaces, so a third-party `pkg install adom/adom-desktop-puppeteer-bridge` got the start-here+skill under a slug that contradicted its own frontmatter, its documented trigger words (`pup`,+`open in pup`, …), and every cross-reference in the four sub-skills — all of which route to+`pup`. All four sub-skills already installed under names matching their `name:` fields, as does+every other skill on a machine (`adom-desktop-fusion`, `adom-desktop-kicad`, …); the main skill+was the lone exception. The repo name and the skill name are simply different things and had+been conflated.++Now installs as `pup`, and `install.sh` removes any pre-1.9.86 mis-slugged copy first so an+upgrade can't leave two start-here skills shadowing each other. `uninstall.sh` removes both the+new and the legacy directory. Verified against a sandbox `HOME`: fresh install yields 5/5+directories matching their declared names, an upgrade over a pre-existing+`adom-desktop-puppeteer-bridge/` removes it, and uninstall leaves the skills tree empty.++Found while auditing whether pup's release artifacts were correct for a public release — the+file-set sweeps that preceded it had covered only `src/*.js`, so the skillpack scripts had never+been in scope. That is the fleet's "complete over the wrong set" failure mode, applied to my own+audit.+ ### Windows browser candidates are no longer built on macOS (cwd-relative path class) `listSystemBrowsers()` built its Windows candidate paths on every platform and relied on
install.sh+9−2@@ -11,8 +11,15 @@ PKG_DIR="$(cd "$(dirname "$0")" && pwd)" deploy_into() { local BASE="$1" install_skill() { mkdir -p "$BASE/$1"; cp "$PKG_DIR/$2" "$BASE/$1/SKILL.md"; }- # main user skill (REQUIRED at repo root by the registry)- install_skill adom-desktop-puppeteer-bridge SKILL.md+ # main user skill. SKILL.md lives at the repo ROOT (required by the registry), but it+ # installs as `pup` — the skill directory name is the slug the loader surfaces, and it+ # MUST equal the SKILL.md `name:` field. Every other skill on a machine follows that+ # (adom-desktop-fusion, adom-desktop-kicad, ... and all four pup sub-skills); this one+ # installed as the REPO name while declaring `name: pup`, so a `pkg install` surfaced the+ # start-here skill under a slug that contradicted its own frontmatter, its trigger words,+ # and every cross-reference in the sub-skills. Repo name != skill name; don't re-conflate.+ rm -rf "$BASE/adom-desktop-puppeteer-bridge" # drop the pre-1.9.86 mis-slugged copy+ install_skill pup SKILL.md # focused user sub-skills install_skill pup-windows-sessions-tabs skills/pup-windows-sessions-tabs/SKILL.md install_skill pup-screenshots-recording skills/pup-screenshots-recording/SKILL.md
uninstall.sh+2−1@@ -4,7 +4,8 @@ set -e remove_from() { local BASE="$1"- rm -rf "$BASE/adom-desktop-puppeteer-bridge" \+ rm -rf "$BASE/pup" \+ "$BASE/adom-desktop-puppeteer-bridge" \ "$BASE/pup-windows-sessions-tabs" "$BASE/pup-screenshots-recording" "$BASE/pup-browsers-and-chrome" "$BASE/pup-adom-wiki" \ "$BASE/pup-bridge-dev" "$BASE/pup-bridge-publish" echo " <- $BASE"