Dev Browser Agent Skill

Browser automation with persistent page state.

Context cost
3k tokensestimated from the bundle, loaded when it triggers
Bundle
16 files · 82.3 kB10 scripts among them — read before you run
Licence
not declarednone named by its author
Last change
—no release on file
Servers it uses
Noneruns standalone

What it does

Browser automation with persistent page state. Use when users ask to navigate websites, fill forms, take screenshots, extract web data, test web apps, or automate browser workflows. Trigger phrases include "go to [url]", "click on", "fill out the form", "take a screenshot", "scrape", "automate", "test the website", "log into", or any browser interaction request.

What this skill changes about the agent has not been set out here as a list. Its SKILL.md, shown below, says it in the author’s own words.

automationbrowser

The skill itself

A skill is instructions the model reads, so you can see what you are getting: below is the start of its SKILL.md. The front matter loads with every session, the body loads when the skill triggers, and the whole file comes with the install.

SKILL.md10.5 kB · preview
--- name: dev-browser ---
6# Dev Browser Skill
7
8Browser automation that maintains page state across script executions. Write small, focused scripts to accomplish tasks incrementally. Once you've proven out part of a workflow and there is repeated work to be done, you can write a script to do the repeated work in a single execution.
9
10## Choosing Your Approach
11
12**Local/source-available sites**: If you have access to the source code (e.g., localhost or project files), read the code first to write selectors directly—no need for multi-script discovery.
13
14**Unknown page layouts**: If you don't know the structure of the page, use getAISnapshot() to discover elements and selectSnapshotRef() to interact with them. The ARIA snapshot provides semantic roles (button, link, heading) and stable refs that persist across script executions.
15
16**Visual feedback**: Take screenshots to see what the user sees and iterate on design or debug layout issues.
17
18## Setup
19
20First, start the dev-browser server using the startup script:
21
22```bash
23./skills/dev-browser/server.sh &
24```
This is a preview of SKILL.md. Download or install the skill to get the whole thing.
In the file
SKILL.md1,472 words
Files16
Licencenot declared
Why you can read it

Nothing in a skill executes. The client loads the text and the model follows it, so a skill can be audited the way a runbook is — by reading it.

What it costs in context

Skills are not billed by the call. They are paid for in context: every token the instructions occupy is a token your code, your diff and your conversation cannot use. Here is what this one takes and when it takes it.

≈100
always loaded
The name and description, so the model knows the skill exists and when to reach for it.
2,950
on trigger
The instruction body and 15 supporting files, read only when the skill fires.
1.5%
of a 200k window
Ten skills this size would take about 15% of the window before you open a file.
050k100k150k200k context window

3k tokens, estimated from the bundle at four bytes to the token, held for the rest of the session once it triggers. Middling. Fine to keep on in a project where you use it weekly, worth unloading in one where you never do.

Servers bill, skills cost

A server charges by the month. A skill charges once per session, in context, and then keeps charging it for as long as the session lives.

Before and after

The same question, put to the same model twice: once as it comes, and once with these instructions loaded.

No worked example has been published for this skill yet.

The procedure it runs

The procedure has not been set out here step by step. It is in the body of its SKILL.md: the start of it is shown above, and the whole file comes with the install.

Prose, not code

These steps are written for a model to follow, not executed by a runtime. It can still be told to skip one, and it will say so when it does.

Servers it uses

None. This skill calls no MCP servers at all.

Everything it needs is in the instructions, so it works in a project with nothing connected — the model reads the file and changes how it works with what it can already reach.

Its SKILL.md does not declare which tools it asks the agent for, so what it touches is whatever the instructions themselves ask for — read them before you install it.

What it asks for
Writes filesnot declared
Network accessnot declared

This SKILL.md carries no allowed-tools line, so neither is declared. A skill grants no permissions of its own — it can only ask for tools your client already has.

What it will not do

Every skill is narrow, and the useful ones say where they stop. These are the jobs this one is the wrong tool for.

What this skill is not for has not been published here. Nothing is implied by that: it is a section the author has not filled in.

What is in the bundle

16 files, 82.3 kB on disk. Mostly text — the instructions the model reads — with 10 scripts in it that your client would run only if the instructions tell it to. At least 100 files of its source are not in the download — listed after these, with why.

  • SKILL.md10.5 kB
  • package.json0.5 kB
  • server.sh0.5 kB
  • tsconfig.json0.8 kB
  • vitest.config.ts0.3 kB
  • scripts/start-server.ts3.5 kB
  • src/client.ts12.4 kB
  • src/index.ts8.1 kB
  • src/types.ts0.6 kB
  • src/snapshot/browser-script.ts37.8 kB
  • src/snapshot/index.ts0.6 kB
  • src/snapshot/inject.ts0.6 kB
  • profiles/browser-data/Default/README0.2 kB
  • profiles/browser-data/component_crx_cache/metadata.json0.1 kB
  • profiles/browser-data/extensions_crx_cache/metadata.json0.1 kB
  • src/snapshot/__tests__/snapshot.test.ts5.7 kB

Not in the download

The first 100 are named here, those the skill reads first. Not carried is a type a skill download does not hold. Take them from its source.

  • bun.locknot carried
  • profiles/browser-data/BrowserMetrics/BrowserMetrics-6942BA3C-ED7D.pmanot carried
  • profiles/browser-data/BrowserMetrics/BrowserMetrics-6942BA3C-ED7E.pmanot carried
  • profiles/browser-data/BrowserMetrics/BrowserMetrics-6942C369-166C1.pmanot carried
  • profiles/browser-data/BrowserMetrics/BrowserMetrics-6942C36E-1685A.pmanot carried
  • profiles/browser-data/Default/Account Web Datanot carried
  • profiles/browser-data/Default/Account Web Data-journalnot carried
  • profiles/browser-data/Default/Affiliation Databasenot carried
  • profiles/browser-data/Default/Affiliation Database-journalnot carried
  • profiles/browser-data/Default/AutofillAiModelCache/LOCKnot carried
  • profiles/browser-data/Default/AutofillAiModelCache/LOGnot carried
  • profiles/browser-data/Default/AutofillAiModelCache/LOG.oldnot carried
  • profiles/browser-data/Default/AutofillStrikeDatabase/LOCKnot carried
  • profiles/browser-data/Default/AutofillStrikeDatabase/LOGnot carried
  • profiles/browser-data/Default/AutofillStrikeDatabase/LOG.oldnot carried
  • profiles/browser-data/Default/BookmarkMergedSurfaceOrderingnot carried
  • profiles/browser-data/Default/BudgetDatabase/LOCKnot carried
  • profiles/browser-data/Default/BudgetDatabase/LOGnot carried
  • profiles/browser-data/Default/BudgetDatabase/LOG.oldnot carried
  • profiles/browser-data/Default/Cache/Cache_Data/01f7b9ac312c170d_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/03bed64867613d40_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/04b0b033686cff47_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/08cf6285b9f6fe15_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/0b4fa972237a75b8_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/0b5865cb8a538d8d_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/0ca79ff41b1f6226_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/0f78ae606800d5aa_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/10b78c19f164ee15_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/1229c43fd1c73ee0_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/12d5ff88ce75ed9e_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/14a69c95743126b4_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/15145040f7f12f31_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/1816c180f878928b_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/185358b4be1fdd41_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/19007dd2ba8b033e_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/1a85f64df56b3432_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/1c242d16d0fbde93_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/1d163d1f31f26e5c_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/1d501c989c4ee7c1_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/1fb09fb4463dabdf_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/1fdd25693d8d8d7e_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/208f153b19e2ab80_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/212d5d64f3d35bc7_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/23e8d765ed648b17_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/2451f9229673a65f_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/257b9ada9582cd59_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/277befa8ba879950_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/27ff7bfac14af2e0_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/2813dfd2f2d92d82_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/2d84a16889cc95f6_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/2d8e352c3649b581_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/2ef66220d24ec802_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/2fcae90c47cd1cec_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/3130b6571a6b369c_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/322912f5ba851de1_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/36c984a3347457a4_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/383cd99e8c7e3f44_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/3ac6eecf21af1bd3_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/3cea28b9100860f9_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/3de86eb9d332f11c_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/3e349f8980cbfc3c_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/3e44a5d6660dc8cc_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/436e071fa9bc50d6_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/43e016b15b986038_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/45fc22e44ba41b6e_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/46c102a6f3794367_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/46e3554e25b88811_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/4a9c19df093ab535_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/4bcf6a6e6fb3e4c7_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/4dbab36f723ebb26_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/4e5bac0ca16a760b_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/552fb716c7007abc_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/56b428f2390d64cf_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/56b6e807ba2a7a35_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/58c76b838911bb45_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/5cdf742293cd64b4_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/5e98c433d14d2dba_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/5f2f77d2408968ae_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/642ecb7de72c55fe_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/64f333bfb473e484_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/67d5c714654a04ca_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/6af756cd0d304dde_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/6d3d2a51eeaacf38_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/6e409959a7feefba_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/70d96111b776ba72_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/728b066f89b29634_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/74b4409a1e3e8b21_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/75095fb86f8ea80a_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/7520c042e2190705_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/7558304769553235_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/765b6b156c5c291b_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/7be64036739f7ca7_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/7d7d6d77f51f985d_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/8103c6b1a1346662_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/8188794d6512120b_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/854879f8ff307c75_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/855378822c323274_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/85acad70e08a07b3_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/88668996e6c37903_0not carried
  • profiles/browser-data/Default/Cache/Cache_Data/8af1bebfbd84ef4b_0not carried
What is not in it

A skill installs nothing and depends on nothing: it is a folder your client reads. This one carries 10 scripts beside the text, so the download is 16 files — not the whole of its source: at least 100 files are left out. The first 100 are listed under the files, with why.

Install

Installing copies the bundle into your project. Nothing runs at install time — the files sit on disk until the model reads them.

# Dev Browser · 3k tokens when loaded · macOS, Linux mkdir -p .claude/skills && t=$(mktemp -d) && curl -fsSL -o "$t/bundle.tar.gz" https://mcprush.com/api/skills/thanhtoan105-dev-browser/bundle.tar.gz && tar -xzf "$t/bundle.tar.gz" -C "$t" && [ -d "$t/dev-browser" ] && { [ ! -e .claude/skills/dev-browser ] || { mv .claude/skills/dev-browser "$t/.previous" && echo "Previous copy moved to $t/.previous"; }; } && mv "$t/dev-browser" .claude/skills/ && echo "Installed .claude/skills/dev-browser"
On Windows, or any OS with Node 20+
npx mcprush@latest skill add thanhtoan105/dev-browser

Windows PowerShell says 'running scripts is disabled on this system'? Run Set-ExecutionPolicy -Scope CurrentUser RemoteSigned once, or type npx.cmd instead of npx (codex.cmd, gemini.cmd, grok.cmd likewise). PowerShell 7 needs neither. Writes to .claude/skills/dev-browser/ in the current project. For every project instead, run mkdir -p ~/.claude/skills && t=$(mktemp -d) && curl -fsSL -o "$t/bundle.tar.gz" https://mcprush.com/api/skills/thanhtoan105-dev-browser/bundle.tar.gz && tar -xzf "$t/bundle.tar.gz" -C "$t" && [ -d "$t/dev-browser" ] && { [ ! -e ~/.claude/skills/dev-browser ] || { mv ~/.claude/skills/dev-browser "$t/.previous" && echo "Previous copy moved to $t/.previous"; }; } && mv "$t/dev-browser" ~/.claude/skills/ && echo "Installed ~/.claude/skills/dev-browser" (macOS, Linux) — or add --global to the npx line. The curl line replaces .claude/skills/dev-browser/ only after the download succeeds, so files left there by another skill of the same name, or by an older release, do not mix in. A copy already there is moved aside, not deleted, and the line prints where. Not in this download: at least 100 files of its source (the list, and why). Take them from its source.

Which clients pick it up on their own

A skill is a folder of text. Most of these read a skills folder and pick it up without being told; the rest take the same folder another way — an upload in the app, a parameter on an API call — and then choose it by its description just the same.

Claude Code.claude/skills/
Claude DesktopCustomize › Skills
ChatGPTSkills › Create › Upload
Cursor.cursor/skills/
VS Code.github/skills/
Codex CLI.agents/skills/
Gemini CLI.gemini/skills/
Grok Build.grok/skills/
Microsoft CopilotSkills › Upload a skill
PerplexityComputer › Skills › Upload a skill
DeepSeek Harness.dsh/skills/
Zed.agents/skills/
Devin Desktop.devin/skills/
Windsurf (legacy).windsurf/skills/
OpenAI Agents SDKInstructions or sandbox Skills
HTTP / APIa request parameter
This release
Versionnot versioned
Publishedno release date on file
PriceFree
Referencethanhtoan105/dev-browser

Versions

Its author publishes no version number, so there is nothing here to pin to: what you install is the folder as it stands today. Instructions change more often than APIs do — a skill can be rewritten entirely without anything it depends on moving.

Pinning

Nothing to pin to: this skill carries no version number of its own. What you install is what the folder holds on the day you install it.

Reviews

—no reviews yet

Nobody has reviewed this skill yet. The rating is the mean of the reviews written here, so there is none until somebody writes the first.

Sign in to review it

A review is tied to an account so it can be answered, edited and taken down by the person who wrote it.

Sign in
Who can post

Anybody with an account, one review each. It carries the version that was current when you wrote it, and the publisher may reply once.

Who wrote it

TH
thanhtoan105

Publishes on mcprush.

0 servers listed2 skills listednot claimed
Profile
Publisher
Servers0
Claim this skill