From e7e514390b5fa377662ab122ef04db4efb30dea6 Mon Sep 17 00:00:00 2001 From: Mathias Date: Sat, 29 Aug 2026 09:53:33 +0200 Subject: [PATCH] docs(web-shot): resolve shot.sh from the install, not a checkout path MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The usage block pointed at ~/dev/.skills/web-shot/shot.sh four times. That directory has not existed since the skills moved into this repo, and the failure mode is worse than a broken link: web-shot exists for agents with no local browser, so a 404 sends them to hand-roll the Job instead of looking harder. One caller burned three attempts on playwright module resolution before finding the script that documents that exact gotcha. Replaced with a resolution line covering both delivery paths — the Claude Code plugin and the ~/.agents/skills symlink — so no absolute checkout path is left to rot. Verified on koala: resolves to the .agents link, and degrades to an empty string plus a clear message where the skill is not installed. The brain entry headless-browser-via-k3s-playwright-job carried the same stale path in three places and referenced the retired wire-skills.sh wiring; updated to match. Closes #26 Bump-Type: patch --- skills/web-shot/SKILL.md | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/skills/web-shot/SKILL.md b/skills/web-shot/SKILL.md index d4184ce..cb4e68f 100644 --- a/skills/web-shot/SKILL.md +++ b/skills/web-shot/SKILL.md @@ -22,18 +22,28 @@ Screenshot a locally-running web UI without installing a browser on the agent's ## Usage +`shot.sh` ships beside this SKILL.md, so resolve it from wherever the harness +installed the skill rather than from a checkout path — an absolute `~/dev/...` +went stale the first time the repo moved and cost a caller three hand-rolled +Job attempts before they found the working script (#26). + ```bash +# Claude Code installs the plugin; Crush/Pi/OpenCode get ~/.agents/skills. +SHOT=$(ls ~/.claude/plugins/marketplaces/*/skills/web-shot/shot.sh \ + ~/.agents/skills/web-shot/shot.sh 2>/dev/null | head -1 || true) +[ -n "$SHOT" ] || { echo "web-shot not installed on this host: run install.sh or the plugin install" >&2; exit 1; } + # auto-detect Tailscale hostname, screenshot port 8099 root -~/dev/.skills/web-shot/shot.sh --port 8099 +"$SHOT" --port 8099 # explicit URL -~/dev/.skills/web-shot/shot.sh --url http://flamingo:5173 +"$SHOT" --url http://flamingo:5173 # capture a search state too (types into input[name=q]) -~/dev/.skills/web-shot/shot.sh --port 8181 --search agentsquad +"$SHOT" --port 8181 --search agentsquad # different output dir -~/dev/.skills/web-shot/shot.sh --port 3000 --out /tmp/shots +"$SHOT" --port 3000 --out /tmp/shots ``` ## Flags