dev-browser
Browser automation with persistent named pages via the dev-browser CLI. Use when users ask to navigate websites, fill forms, take screenshots, extract web data, test web apps, log into sites, 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", "open the browser", or any browser interaction request.
DeepseekModel
Curated skill
Quality Excellent · 90
v1.0.0
Get
https://deepseekmodel.com/api/download.php?id=sawyerhood-dev-browser-skills-dev-browser-skill-md&format=skill
Download .skill
Standard format with system_prompt and model_config, ready for any agent framework
The actual content of the system_prompt field in the .skill file.
name dev-browser description Browser automation with persistent named pages via the dev-browser CLI. Use when users ask to navigate websites, fill forms, take screenshots, extract web data, test web apps, log into sites, 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", "open the browser", or any browser interaction request. dev-browser CLI for controlling a real Chrome with short Puppeteer scripts. One warm daemon; named pages persist between runs. npm install -g dev-browser # bun add -g dev-browser works too; the first run downloads the binary if the install script was blocked dev-browser install # only if the first run says "No Chrome found" Run dev-browser --help (full guide; dev-browser help <topic> for one section) before non-trivial work. Quick start: dev-browser << 'EOF' const page = await browser.getPage( "main" ); // named page persists across runs await page.goto( "https://example.com" ); // default waitUntil: domcontentloaded await page.snapshot({ interactive: true }) // ARIA tree with refs; last expression is printed EOF dev-browser -e 'const p = await browser.getPage("main"); await p.click("ref/e6"); await p.waitForLoad(); p.url()' Gotchas: end lines with semicolons (a line starting with ( continues the previous one); return an object as ({ a, b }) ; page.click never waits (use waitForSelector first); page names are per browser ( --headless and headed are separate Chromes and profiles); refs reset on navigation — re-snapshot; file paths resolve against your cwd (uploadFile, screenshot/pdf path ); do not run parallel dev-browser calls against the same named page.
Keywords that activate this skill. Click one to copy it.
This skill does not provide trigger words.
The downloaded .skill package contains the following fields.
| Field | Description |
|---|---|
| format | Format tag (skill/v1) |
| skill_id | Unique skill ID |
| name | Skill name |
| version | Version |
| description | Description |
| category | Categories (array) |
| trigger_words | Trigger words |
| tags | Tags |
| source | Source |
| source_url | Source URL (this page) |
| exported_at | Exported at (set per download) |
| system_prompt | System prompt body |
| model_config | Model config: provider / model / temperature / max_tokens / top_p |
| examples | Examples |
| install_guide | Import guide for Coze / Dify / Claude / custom frameworks |
The same skill can be exported in different platform formats.