← Commit history

install the main skill as pup, not the repo name

Kyle Bergstedt ·0d0d5725ce · ·parent d3d7c39
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"