Use PilotDeck's browser-use plugin for browser automation, screenshots, form filling, and web UI checks.
67
80%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
Fix and improve this skill with Tessl
tessl review fix ./skills/browser-use/SKILL.mdUse this skill when a task genuinely needs browser automation through PilotDeck's built-in browser-use plugin, especially for local Web UI smoke tests, screenshots, navigation, clicking, typing, and DOM inspection. For static pages, batch scraping, API responses, or plain text extraction, prefer ordinary HTTP/file tools first.
PilotDeck ships the browser-use plugin, which runs @playwright/mcp with Chromium. Before installing anything, first try to use the existing browser/MCP setup or check the browser cache. If the browser is already present or browser-use launches successfully, do not reinstall it.
Check whether the browser is already installed:
if ls "$HOME/Library/Caches/ms-playwright"/mcp-chrome-for-testing-* >/dev/null 2>&1 || \
ls "$HOME/.cache/ms-playwright"/mcp-chrome-for-testing-* >/dev/null 2>&1; then
echo "Chrome for Testing is already installed; no reinstall needed."
else
echo "Chrome for Testing is not installed yet."
fiIf that check reports an existing Chrome for Testing cache, proceed with browser automation directly. Repeated browser downloads are slow, brittle on restricted networks, and unnecessary when the cache is already populated.
Only install the browser when all of the following are true:
The one-line installer uses the same check. If Chrome for Testing is already present, it prints Chrome for Testing already installed and does not download it again.
Install it from a PilotDeck source checkout or installed app directory:
cd /path/to/PilotDeck
corepack pnpm install --frozen-lockfile
corepack pnpm run install:browserFor an installed one-line setup, use the app directory shown by pilotdeck status:
pilotdeck status
cd ~/.pilotdeck/app
corepack pnpm run install:browserTo let the one-line installer install it during setup, opt in explicitly:
PILOTDECK_SKIP_BROWSER_INSTALL=0 bash install.shRepeated installs are safe only when the installer can confirm the cache first. In task containers or time-limited jobs, avoid ad hoc commands such as playwright install chromium unless the missing-browser error is confirmed and installation time is acceptable.
If the download is slow or blocked, configure your network proxy first and rerun the install command. Browser automation is optional; PilotDeck core chat, files, skills, and settings work without it.
PilotDeck starts browser-use through playwright-mcp and uses practical defaults for slower pages:
PILOTDECK_BROWSER_TIMEOUT_ACTION_MS: browser action timeout, default 30000.PILOTDECK_BROWSER_TIMEOUT_NAVIGATION_MS: navigation timeout, default 90000.PILOTDECK_BROWSER_PROXY_SERVER: proxy passed directly to Chromium, for example http://127.0.0.1:7890.PILOTDECK_BROWSER_PROXY_BYPASS: comma-separated proxy bypass list. Defaults include localhost, 127.0.0.1, and host.docker.internal.PILOTDECK_BROWSER_PROXY_FROM_ENV=1: infer a browser proxy from PILOTDECK_PROXY, HTTPS_PROXY, or HTTP_PROXY. This is disabled by default; use PILOTDECK_BROWSER_PROXY_SERVER when the proxy should be passed explicitly to Chromium.pilotdeck.yaml sets proxy.url, browser-use passes it to Chromium when no explicit browser proxy is set. proxy.noProxy is included in the browser proxy bypass list.Use a direct browser proxy when command-line HTTP tools can reach the network but browser navigation hangs or times out. Chromium does not always behave like curl or Python requests with inherited proxy environment variables.
PILOTDECK_BROWSER_PROXY_SERVER is set for Chromium.pilotdeck status, usually http://localhost:3001.Open http://localhost:3001
Verify the page shows LLM Provider Setup when no real provider config exists
Open Settings and verify provider/API key controls are visible
Take a screenshot only when visual evidence is usefulc88d7d1
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.