mrkeyoor.com_
Tue 01 Sept 17:40 UTC
Automationevaluationupdated 27 Aug 2026

BrowserSkill review

BrowserSkill lets a shell-capable AI agent control Chrome or Edge through a local command-line tool and browser extension. It opens a separate Agent Window, can temporarily borrow a tab you approve, and reuses the login state already present in your browser.

+178 / 4dstars / 7d
Verdict

Our BrowserSkill install added 726 packages in 45 seconds, but no root build or test target was available, so the published binaries and extension deserve a separate trust review before they touch logged-in accounts. It is worth trying for supervised, low-risk browser chores where reusing your real session saves substantial setup. Use Playwright or Puppeteer for repeatable production tests, and avoid BrowserSkill on sensitive profiles until its local control channel matches your security policy.

We ran it

Lab card: what happened when we ran BrowserSkillScreenshot of BrowserSkill (github.com/Tencent/BrowserSkill)
Install✓ · 45s726 packages · 471 MB
Buildn/ano build script
Testsn/ano test script
Repo498 files~95,448 lines of source · 5.9 MB · 4 CI workflows

Answers from our run

Does BrowserSkill build from source?

Dependencies installed in 45 seconds (726 packages), and the project has no separate build step. We cloned commit 554861d into a clean Debian container with 3 CPUs and no project-specific setup.

Does BrowserSkill have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Who should not use BrowserSkill?

Security teams that will not let a local agent drive authenticated sites: the privacy policy says any process able to reach the local port could theoretically send extension commands, and issue 118 requests a shared-secret handshake.

What are the alternatives to BrowserSkill?

Playwright, browser-use, Puppeteer. Our BrowserSkill install added 726 packages in 45 seconds, but no root build or test target was available, so the published binaries and extension deserve a separate trust review before they touch logged-in accounts.

Setup4/545-second install; extension pairing still needs a human
Docs5/5Commands, session cleanup, borrowing, and human handoff are explicit
Community4/5Pushed August 27 with 40 active issues and PRs
Maturity3/5Frequent releases, but security and browser edge cases remain

Who it’s for

Claude Code, Codex, Cursor, or other agent users who need to automate sites behind their own login.
Developers testing forms and browser flows that do not have a convenient API.
Teams that want visible browser control with an explicit handoff for captchas, logins, or confirmations.
DeepSeek Harness users who want native browser tools and can accept the extra plugin layer.

Who it’s NOT for

Security teams that will not let a local agent drive authenticated sites: the privacy policy says any process able to reach the local port could theoretically send extension commands, and issue 118 requests a shared-secret handshake.
Firefox users: the README lists Chrome and Edge as supported and describes Firefox only as planned.
File-heavy workflows: open issue 70 says dedicated upload and download commands are absent, leaving native file dialogs and isolated downloads as blockers.
Canvas-first applications such as visual tables: issue 137 says current semantic observation cannot read text, structure, or controls drawn only into a canvas.
Teams that require repository-root build and test targets in their standard gate: our run found neither target, so both steps were skipped.

Setup reality

Our sandbox installed 726 pnpm packages in 45 seconds and used 471 MB on disk. There was no root build script or test script, so both steps were skipped. The 5.9 MB checkout had 498 files, about 95,448 source lines, and 4 CI workflows.

Normal use needs the bsk binary, the BrowserSkill extension, and a supported Chrome or Edge profile. No BrowserSkill cloud key is required. The agent skill is installed separately, and bsk doctor is the documented check for the daemon, extension, and protocol connection.

The extension connects to a daemon on 127.0.0.1:52800 and controls logged-in pages through Chrome DevTools Protocol. Auto-update is on by default unless BSK_AUTO_UPDATE=off is set. Firefox is not supported, and issue 114 reports that the store extension cannot follow a daemon moved to another port.

A local bridge gives an agent your existing browser session

BrowserSkill connects a coding agent to Chrome or Edge without asking you to recreate every login in an automation profile. The agent calls the bsk command, a local daemon passes the request over WebSocket, and the extension acts through Chrome DevTools Protocol. A task normally opens a visible Agent Window, keeping ordinary windows separate. An existing user tab moves there only after an explicit borrow request.

That is a useful middle ground between copy-and-paste work and a full browser test suite. The command set covers navigation, semantic observation, accessibility snapshots, clicks, form filling, screenshots, console output, network responses, device emulation, and action recording. When a captcha, OTP, login, or consequential confirmation appears, bsk request-help gives control back to the person and waits for a stated completion condition.

The 4-step session lifecycle limits accidental browser control

The supplied skill requires every task to start a session, pass its 4-letter ID to tool commands, and stop that session even after an error. Stopping closes the Agent Window and returns borrowed tabs. The instructions also tell agents to stop as soon as the user's observable goal is met, with at most one verification step. This is concrete operational guidance for browser agents.

The boundary still depends on the agent following the skill. bsk evaluate can run JavaScript inside an agent tab, and borrowed tabs carry the user's real login. The project tells agents not to extract cookies, tokens, or local storage from sensitive sites. Organizations should enforce a domain allowlist and use a browser profile with the minimum accounts needed, because prompt instructions alone are not an access-control system.

What happened when we ran it

Our sandbox installed 726 pnpm packages in 45 seconds and occupied 471 MB on disk. The repository contained 498 files, roughly 95,448 lines of source, and 5.9 MB before dependencies. It is a pnpm workspace that also contains Rust crates for the CLI and protocol. Our scan found 4 CI workflow files and no Dockerfile.

There was no root script named build, so the build step was skipped. There was also no root script named test, so tests were skipped. The root package instead exposes narrower commands such as cli:build, ext:build, ext:test, vom:test, and lint. We did not substitute those for the lab's standard targets, and their presence is not a passing build or test result.

The measured run did not install the store extension, attach to a logged-in browser, or automate a live site. Its 45-second result covers dependency installation only. Test the exact CLI and extension release together, confirm bsk doctor is clean, then use a disposable profile before granting access to accounts that can publish, buy, or administer.

Port 52800 is local, but local does not mean authenticated

The privacy policy says the extension contacts no remote service of its own and connects to ws://127.0.0.1:52800. Page data goes back to the local daemon, after which the chosen AI agent's privacy terms apply. The same policy warns that any local process able to bind to that port could theoretically send commands to the extension. This matters because those commands act through logged-in pages.

Open issue 118 argues that checking a client-supplied extension origin does not authenticate the peer and proposes a random per-install token. The report says a local process could forge the origin and reach browser-control RPCs. That is a report, not an independently reproduced exploit. It is still a specific concern to resolve before deployment on a shared workstation.

Port configuration has a more ordinary edge case. Issue 114 reports that Windows reserved the default port, while the CLI could start on another one and the store extension kept trying 52800. Users with WSL, Hyper-V, or other local networking tools may hit that mismatch. The README supports macOS, Linux, and Windows, but local network layouts differ.

Canvas, files, and complex apps expose the current limits

BrowserSkill reads the DOM, accessibility tree, and layout into a semantic view that costs fewer tokens than raw HTML. Canvas-only text and controls do not exist in those sources. Issue 137 asks for on-demand canvas expansion because interfaces drawn as pixels can be invisible to the agent. Screenshots remain available, but visual interpretation is less precise than named controls with stable references.

File workflows are another gap. Issue 70 says there is no dedicated upload or download command. A native file picker cannot be driven by the page-level commands, and a download may land inside the Agent Window's isolated profile. The suggested Chrome DevTools commands were still a feature request, so verify current behavior before adopting it for file work.

A separate issue documents ChatGPT's composer accepting a fill and reporting press Enter as successful while no message was submitted on Windows. Command success and user-visible success can diverge. BrowserSkill's observe-after-action loop helps, but each important workflow still needs a concrete completion check.

August releases show fast work and a young interface

GitHub recorded a push on August 27, 2026, 1,398 stars, and 40 combined issues and pull requests. Release cli-v0.1.11 arrived on August 26 with platform archives for 5 targets and extension, session, recording, and DeepSeek Harness changes. The active queue includes bugs, security discussion, and feature proposals.

The pace is encouraging for fixes, yet a 0.1.11 CLI that controls real accounts should be treated as young software. BrowserSkill is most convincing when a human watches a bounded task and can close the Agent Window. For unattended jobs, sensitive admin pages, or regression suites, conventional browser automation offers a clearer trust and repeatability story.

Alternatives

ProjectWhat it isPick it when
Playwright gh↗A browser automation and testing library built around isolated browser contexts.pick this instead when repeatable test accounts and code-reviewed scripts matter more than borrowing a personal login.
browser-use gh↗A Python framework for agents that operate browsers through model-directed actions.pick this instead when you want a Python agent framework and can use a separate automation browser profile.
Puppeteer gh↗A JavaScript library for direct Chrome and Firefox automation.pick this instead when developers will write the browser flow and need predictable programmatic control.

What people are saying

  1. [github-trending] Tencent/BrowserSkill

Sources

  1. BrowserSkill README
  2. BrowserSkill privacy policy
  3. CLI v0.1.11 release
  4. Local WebSocket authentication issue
  5. Upload and download feature request
  6. Canvas observation limitation

More automation reviews

rclone · lego · OpenCLI · web-access · Karabiner-Elements · WiiUDownloader · the whole board →