| skill | pin (frontmatter) | body said | body now says | what's new upstream |
|---|---|---|---|---|
| browser-tools | 0.31.1 | 0.23โ0.29.1 | 0.23โ0.31.1 | read cmd (0.30), session --restore/--namespace (0.31), react-dom renderer fix (0.31.1) |
| expect | 0.31.1 | 0.29.x | 0.31.1 | shares agent-browser pin; restore + read noted |
| emulate-seed | 0.8.0 | 0.7.0 ยท 13 emulators | 0.8.0 ยท 14 emulators | Twilio emulator (14th): SMS/Verify/calls + Next.js example |
| portless | 0.15.0 | 0.10.xโ0.14.0 | 0.10.xโ0.15.0 | portless doctor diagnostics; HTTP/2 Host forwarding + --force cleanup fixes |
Changelogs pulled live from vercel-labs GitHub releases. Note: npm has since moved further (emulate 0.9.0, portless 0.15.1) โ that's the weekly bot's next bump, out of scope here.
Initial hypothesis was "| tee masks the exit code" โ verified false (GH Actions bash sets pipefail; the eval step is continue-on-error). The actual gap is the test-*.sh-only glob in the blocking runner.
| tool | installed | latest | action |
|---|---|---|---|
| uv | 0.11.26 | 0.11.26 | already latest โ no-op |
| rtk | 0.42.4 | 0.43.0 | upgraded + verified (60% savings intact) |
Fix the labs skill version drift on branch fix/labs-skill-version-drift: update the bodies of browser-tools, expect, emulate-seed, and portless to match their upstream-version-tested frontmatter pins (agent-browser 0.31.1, emulate 0.8.0, portless 0.15.0) using the real vercel-labs GitHub release notes; and close the CI gap by adding a blocking step to the "Agents & Skills" job that runs the two .mjs skill-structure tests (run-tests.sh only globs test-*.sh, so they had no blocking home). Rebuild plugins, confirm test:skills is green, ship as one PR.