app
pup-bridge-macos
Public Made by Adomby adom
The pup for macOS SKILL PACK: the AI skills that teach a cloud/container AI how to drive the macOS Puppeteer (pup) bridge (pup_* verbs): the everyday `pup` skill plus focused sub-skills for windows/sessions/tabs, screenshots+recording, credentials, lanes, settings, browsers+Chrome install, vendor logins and the Adom wiki. Installs into ~/.claude/skills + ~/.codex/skills. DOCS ONLY: this is NOT the bridge runtime. The bridge itself is one signed macOS binary that Adom Bridge for macOS installs an
main
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
#!/usr/bin/env bash
# Install the pup USER skillpack: the main `pup` skill + its focused user sub-skills.
# Per the Bridge SDK a pkg ships ONLY user skills; all skills listed here are user-facing.
# The DEV + PUBLISH maintainer skills are source-only (repo dev-skills/ + publish-skills/,
# NOT in package.json files[], never installed here). The bridge RUNTIME isn't here either
# — it ships in Adom Bridge + as the Releases zip. The AD CLI + core skills arrive via
# this pkg's dependencies:{ "adom/adom-bridge": "^1.9.x" } at `pkg install` time.
set -e
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. 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-bridge-fusion, adom-bridge-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-bridge-puppeteer-bridge" # drop the pre-1.9.86 mis-slugged copy
# v2.0.276: ALSO purge "pup-bridge" — a second mis-slugged copy of the start-here skill that a
# pkg-layer install deposited under the PAGE slug. It was user-invocable, so it sat in the user's
# slash menu as a duplicate of /pup, and because THIS installer never touched it, it served
# week-old text (found 2026-08-22: it still described windows as opening MAXIMIZED six days after
# that was fixed). Repo name != skill name; the skill installs as `pup`, and nothing else.
rm -rf "$BASE/pup-bridge"
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
install_skill pup-browsers-and-chrome skills/pup-browsers-and-chrome/SKILL.md
install_skill pup-adom-wiki skills/pup-adom-wiki/SKILL.md
install_skill pup-vendor-login skills/pup-vendor-login/SKILL.md
install_skill pup-settings skills/pup-settings/SKILL.md
install_skill pup-lanes skills/pup-lanes/SKILL.md # 2.0.594: the lane comparison; missing from this list left every container on the pre-parity text (pup-bridge#116)
install_skill pup-credentials skills/pup-credentials/SKILL.md
# Windows-line-only skills a Windows pkg may have left behind; they describe features this Mac app lacks.
rm -rf "$BASE/pup-taskbar-states" "$BASE/pup-progress" "$BASE/pup-taskbar-progress" "$BASE/pup-import-logins"
install_skill pup-why-cft skills/pup-why-cft/SKILL.md
echo " -> $BASE (pup + 9 sub-skills)"
}
echo "Installing pup for macOS skills:"
deploy_into "$HOME/.claude/skills" # Claude Code
[ -d "$HOME/.codex" ] && deploy_into "$HOME/.codex/skills" # Codex (if present)
# adom/pup-bridge#66 — the Dock Bar card. dockbar.json's first step is skipped when `pup-dashboard`
# is already on PATH, so this install is what makes the card launchable at all. ~/.local/bin is where
# every wiki CLI lands; the manifest's steps prepend it because it is NOT on the exec shell's PATH.
if [ -f "$PKG_DIR/tools/pup-dashboard" ]; then
mkdir -p "$HOME/.local/bin"
# SYMLINK, not copy: the Adom convention (and the publish lint enforces it) is to link install
# targets back into ~/project/adom_modules/<slug>/ so edits propagate and a reinstall cannot
# clobber a local change. Same shape adom/wiki-issue-loop uses for its hook script.
chmod +x "$PKG_DIR/tools/pup-dashboard" 2>/dev/null || true
ln -sfn "$PKG_DIR/tools/pup-dashboard" "$HOME/.local/bin/pup-dashboard"
echo " -> pup-dashboard installed to ~/.local/bin (the Dock Bar card's status page)"
fi
echo "Done. The pup skills drive pup through the adom-bridge CLI; if pup is not installed on Adom Bridge yet, it self-installs on first use."