Skip to content

[STG-2529] fix(openclaw-browserbase): repoint skill sync to browse-plugin#87

Open
shrey150 wants to merge 1 commit into
mainfrom
shrey/openclaw-repoint-skill-sync
Open

[STG-2529] fix(openclaw-browserbase): repoint skill sync to browse-plugin#87
shrey150 wants to merge 1 commit into
mainfrom
shrey/openclaw-repoint-skill-sync

Conversation

@shrey150

@shrey150 shrey150 commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Linear: STG-2529

What

@browserbasehq/openclaw-browserbase's dynamic skill sync (skills-sync.ts) pulled the browser-automation skill from browserbase/skills, which is stale — it references the deprecated @browserbasehq/browse-cli install command. This repoints it to browserbase/browse-plugin's current skills/browse/SKILL.md, the actively-maintained source for the browse CLI skill.

Both repos use the same top-level skills/ extraction convention, so this is a URL swap in TARBALL_BASE plus updated user-facing strings/docs (src/index.ts, README.md) — no change to the sync mechanism itself.

⚠️ Merge-order dependency — do NOT merge before browserbase/browse-plugin#3

browserbase/browse-plugin#3 is what adds a top-level skills/browse/ directory to browse-plugin's main (currently still the old nested plugins/browse/skills/browse/ layout, pre-flatten). Until #3 merges, this PR's new sync target has no skills/ dir at the repo root, and openclaw browserbase skills sync will fail loudly (verified below) instead of silently succeeding wrong — but it will still be a real regression for the ~180 monthly downloads of this package if merged first.

Recommended sequencing: merge browse-plugin#3, then this PR.

E2E Test Matrix

Command / flow Observed output Confidence / sufficiency
pnpm run check-types (this package) Clean, exit 0 Confirms the refactor didn't break typing.
pnpm run build Clean, exit 0 Confirms it compiles.
Real syncBrowserbaseSkills({ ref: 'main' }) against browserbase/browse-plugin main, run against the built dist/skills-sync.js Tarball extracted zero files under the skills/ prefix. Expected failure, not a bug — proves the code is correctly pointed at browse-plugin, and confirms the merge-order dependency above is real, not theoretical.
Real syncBrowserbaseSkills({ ref: 'shrey/all-marketplace-manifests' }) — the branch that becomes main once #3 merges filesWritten: ['<tmp>/browse/SKILL.md'] Proves the repoint is correct — once #3 merges, this exact code path extracts exactly the right file with zero further changes needed.
grep -rn "browserbase/skills" src/ README.md No matches Confirms no stale references were missed.

Test artifacts (/tmp/oc-sync-test-*) cleaned up after; no leftover state in the repo.

🤖 Generated with Claude Code


Note

Medium Risk
Skill sync behavior changes for all setup/startup flows; merging before browse-plugin exposes the new skills/ layout can break sync for existing users until upstream lands.

Overview
Dynamic skill sync for @browserbasehq/openclaw-browserbase now pulls from browserbase/browse-plugin instead of the stale browserbase/skills repo. The tarball URL in skills-sync.ts (TARBALL_BASE) is the functional change; extraction still uses the same skills/ prefix and strip logic, now documented for browse-plugin-<sha>/skills/browse/.

User-facing strings in src/index.ts (setup, skills sync, startup auto-sync logs and CLI help) and README.md describe the new source and the canonical browse skill instead of browser-automation / functions. A patch changeset records the package bump.

Deploy note: sync against browse-plugin main only works once that repo has a root-level skills/ tree (per upstream PR); until then, skills sync can fail with “zero files under the skills/ prefix.”

Reviewed by Cursor Bugbot for commit d1e9c6c. Bugbot is set up for automated code reviews on this repo. Configure here.

skills-sync.ts pulled the browser-automation skill from
browserbase/skills, which references the deprecated
@browserbasehq/browse-cli install command. browserbase/browse-plugin's
skills/browse/SKILL.md is the current, actively-maintained source (same
top-level skills/ extraction convention, so this is a URL swap, not a
mechanism change).

Verified live against both refs before writing this: main (no skills/
dir yet, browse-plugin#3 unmerged) fails with "Tarball extracted zero
files under the skills/ prefix"; the shrey/all-marketplace-manifests
branch (previewing post-merge main) succeeds and extracts exactly
browse/SKILL.md. This PR must merge after browse-plugin#3, not before.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@shrey150 shrey150 marked this pull request as ready for review July 16, 2026 17:17
@shrey150 shrey150 requested a review from a team as a code owner July 16, 2026 17:17

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit d1e9c6c. Configure here.


const TARBALL_BASE = 'https://codeload.github.com/browserbase/skills/tar.gz';
const TARBALL_BASE =
'https://codeload.github.com/browserbase/browse-plugin/tar.gz';

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stale skills block auto-sync

Medium Severity

After repointing to the browse skill, hasBrowserbaseSkills still treats any directory with a SKILL.md as installed. Existing users who already synced the old skills keep those stale files, so startup auto-sync never fetches browse, and status keeps reporting skills as installed.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit d1e9c6c. Configure here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant