Midscene Automations Skills for Browser with Bridge

Vision-driven browser automation using Midscene Bridge mode. Operates entirely from screenshots — no DOM or accessibility labels required. Can interact with...

MIT-0 · Free to use, modify, and redistribute. No attribution required.
0 · 743 · 3 current installs · 3 all-time installs
byLeyang@quanru
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
high confidence
!
Purpose & Capability
The SKILL.md describes vision-driven automation of the user's real Chrome via a Midscene Chrome extension and requires model credentials to run. However the registry metadata lists no required environment variables or binaries and there is no source/homepage. The SKILL.md implicitly depends on node/npx and a remote @midscene/web package (via npx), which are not declared. The required capabilities (access to browser state and external model endpoints) are plausible for the stated purpose, but the missing declarations and absent source/homepage are incoherent and concerning.
!
Instruction Scope
The instructions explicitly tell the agent to connect to the user's real Chrome, preserve cookies/sessions, take screenshots, read the saved image files, and send high-level prompts to the Midscene tool. That means screenshots (and therefore potentially passwords, 2FA, private messages, bank details, etc.) will be seen by downstream model endpoints. The SKILL.md also tells the agent not to verify extension status and to connect directly, which removes a safety/check step. The agent is given broad discretion to interact with any visible element and to scrape data, which is consistent with the stated purpose but increases privacy risk.
Install Mechanism
There is no declared install spec (instruction-only), which lowers static install risk. However the runtime commands use 'npx @midscene/web@1', meaning npx will download and execute code from the npm registry at runtime. That is an implicit install/execute step not represented in the registry metadata and carries risk if the package or its release source is untrusted.
!
Credentials
SKILL.md requires multiple environment variables (MIDSCENE_MODEL_API_KEY, MIDSCENE_MODEL_NAME, MIDSCENE_MODEL_BASE_URL, MIDSCENE_MODEL_FAMILY, etc.) for external model providers (Google, OpenRouter, Aliyun, Doubao examples). None of these required env vars appear in the registry metadata. These credentials would allow external services to receive screenshots and page content — a high-sensitivity capability. Requesting model API keys is consistent with the skill's function, but the absence of these requirements from the declared metadata is an incoherence and increases risk.
Persistence & Privilege
The skill is not always-enabled and does not declare config paths or persistent system-wide changes. Autonomous model invocation is allowed (platform default) but not combined with 'always: true'. The skill does instruct storing a .env in the working directory (local only), which is normal for credentials but should be treated carefully.
What to consider before installing
This skill will drive your real Chrome and send screenshots and interactions to external model endpoints. Before installing or using it: 1) Ask the publisher for a source repository or homepage and a clear provenance for the Midscene Chrome extension and the @midscene/web package. Do not proceed if there is no trusted source. 2) Recognize that model API keys configured for this skill will allow third-party services to receive screenshots — do NOT use on accounts/sites containing sensitive information (banking, healthcare, private messages, MFA tokens) unless you fully trust the endpoint. 3) Verify the npm package @midscene/web@1 (check the code, release signatures, and publisher) or request a pinned tarball/sha to avoid unexpected remote code execution via npx. 4) Prefer running in an isolated environment: a disposable browser profile or VM, and limit the scope of pages the skill may access. 5) Require explicit user confirmation before interacting with any sensitive page and consider using a private/local model endpoint (set MIDSCENE_MODEL_BASE_URL to a trusted internal host) so screenshots are not sent to third parties. 6) Ask the author to update registry metadata to declare required env vars and runtime binaries (npx/node), and to publish source/homepage; until then treat this skill as untrusted. If you cannot verify these items, do not install or use it on sensitive systems.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.3
Download zip
latestvk97708vayqxp93d5254z7gfrdh82en4m

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

SKILL.md

Chrome Bridge Automation

CRITICAL RULES — VIOLATIONS WILL BREAK THE WORKFLOW:

  1. Never run midscene commands in the background. Each command must run synchronously so you can read its output (especially screenshots) before deciding the next action. Background execution breaks the screenshot-analyze-act loop.
  2. Run only one midscene command at a time. Wait for the previous command to finish, read the screenshot, then decide the next action. Never chain multiple commands together.
  3. Allow enough time for each command to complete. Midscene commands involve AI inference and screen interaction, which can take longer than typical shell commands. A typical command needs about 1 minute; complex act commands may need even longer.
  4. Always report task results before finishing. After completing the automation task, you MUST proactively summarize the results to the user — including key data found, actions completed, screenshots taken, and any relevant findings. Never silently end after the last automation step; the user expects a complete response in a single interaction.

Automate the user's real Chrome browser via the Midscene Chrome Extension (Bridge mode), preserving cookies, sessions, and login state. You (the AI agent) act as the brain, deciding which actions to take based on screenshots.

Command Format

CRITICAL — Every command MUST follow this EXACT format. Do NOT modify the command prefix.

npx @midscene/web@1 --bridge <subcommand> [args]
  • --bridge flag is MANDATORY here — it activates Bridge mode to connect to the user's desktop Chrome browser

Prerequisites

The user has already prepared Chrome and the Midscene Extension. Do NOT check browser or extension status before connecting — just connect directly.

Midscene requires models with strong visual grounding capabilities. The following environment variables must be configured — either as system environment variables or in a .env file in the current working directory (Midscene loads .env automatically):

MIDSCENE_MODEL_API_KEY="your-api-key"
MIDSCENE_MODEL_NAME="model-name"
MIDSCENE_MODEL_BASE_URL="https://..."
MIDSCENE_MODEL_FAMILY="family-identifier"

Example: Gemini (Gemini-3-Flash)

MIDSCENE_MODEL_API_KEY="your-google-api-key"
MIDSCENE_MODEL_NAME="gemini-3-flash"
MIDSCENE_MODEL_BASE_URL="https://generativelanguage.googleapis.com/v1beta/openai/"
MIDSCENE_MODEL_FAMILY="gemini"

Example: Qwen 3.5

MIDSCENE_MODEL_API_KEY="your-aliyun-api-key"
MIDSCENE_MODEL_NAME="qwen3.5-plus"
MIDSCENE_MODEL_BASE_URL="https://dashscope.aliyuncs.com/compatible-mode/v1"
MIDSCENE_MODEL_FAMILY="qwen3.5"
MIDSCENE_MODEL_REASONING_ENABLED="false"
# If using OpenRouter, set:
# MIDSCENE_MODEL_API_KEY="your-openrouter-api-key"
# MIDSCENE_MODEL_NAME="qwen/qwen3.5-plus"
# MIDSCENE_MODEL_BASE_URL="https://openrouter.ai/api/v1"

Example: Doubao Seed 2.0 Lite

MIDSCENE_MODEL_API_KEY="your-doubao-api-key"
MIDSCENE_MODEL_NAME="doubao-seed-2-0-lite"
MIDSCENE_MODEL_BASE_URL="https://ark.cn-beijing.volces.com/api/v3"
MIDSCENE_MODEL_FAMILY="doubao-seed"

Commonly used models: Doubao Seed 2.0 Lite, Qwen 3.5, Zhipu GLM-4.6V, Gemini-3-Pro, Gemini-3-Flash.

If the model is not configured, ask the user to set it up. See Model Configuration for supported providers.

Commands

Connect to a Web Page

npx @midscene/web@1 --bridge connect --url https://example.com

Take Screenshot

npx @midscene/web@1 --bridge take_screenshot

After taking a screenshot, read the saved image file to understand the current page state before deciding the next action.

Perform Action

Use act to interact with the page and get the result. It autonomously handles all UI interactions internally — clicking, typing, scrolling, hovering, waiting, and navigating — so you should give it complex, high-level tasks as a whole rather than breaking them into small steps. Describe what you want to do and the desired effect in natural language:

# specific instructions
npx @midscene/web@1 --bridge act --prompt "click the Login button and fill in the email field with 'user@example.com'"
npx @midscene/web@1 --bridge act --prompt "scroll down and click the Submit button"

# or target-driven instructions
npx @midscene/web@1 --bridge act --prompt "click the country dropdown and select Japan"

Disconnect

npx @midscene/web@1 --bridge disconnect

Workflow Pattern

Bridge mode connects to the user's real Chrome browser. Each CLI command establishes its own temporary connection, but the browser, tabs, and all state (cookies, login sessions) are always preserved regardless of whether you disconnect. This makes reconnecting lightweight and lossless.

Follow this pattern:

  1. Connect to a URL to establish a session
  2. Take screenshot to see the current state, make sure the page is loaded.
  3. Execute action using act to perform the desired action or target-driven instructions.
  4. Report results — summarize what was accomplished, present key findings and data extracted during the task, and list any generated files (screenshots, logs, etc.) with their paths
  5. Disconnect only when the user's overall task is fully complete. Do NOT disconnect if the user may have follow-up actions — keep the session available for continued interaction in subsequent conversation turns.

Best Practices

  1. Always connect first: Navigate to the target URL with connect --url before any interaction.
  2. Be specific about UI elements: Instead of "the button", say "the blue Submit button in the contact form".
  3. Use natural language: Describe what you see on the page, not CSS selectors. Say "the red Buy Now button" instead of "#buy-btn".
  4. Handle loading states: After navigation or actions that trigger page loads, take a screenshot to verify the page has loaded.
  5. Disconnect only when fully done: Only disconnect when the user's overall task is completely finished and no follow-up actions are expected. In multi-turn conversations, skip the disconnect to allow continued browser interaction. Disconnecting is safe — it only closes the CLI-side bridge connection, not the browser or tabs — but reconnecting adds unnecessary overhead if the user wants to continue.
  6. Never run in background: Every midscene command must run synchronously — background execution breaks the screenshot-analyze-act loop.
  7. Batch related operations into a single act command: When performing consecutive operations within the same page, combine them into one act prompt instead of splitting them into separate commands. For example, "fill in the email and password fields, then click the Login button" should be a single act call, not three. This reduces round-trips, avoids unnecessary screenshot-analyze cycles, and is significantly faster.
  8. Always report results after completion: After finishing the automation task, you MUST proactively present the results to the user without waiting for them to ask. This includes: (1) the answer to the user's original question or the outcome of the requested task, (2) key data extracted or observed during execution, (3) screenshots and other generated files with their paths, (4) a brief summary of steps taken. Do NOT silently finish after the last automation command — the user expects complete results in a single interaction.

Example — Dropdown selection:

npx @midscene/web@1 --bridge act --prompt "click the country dropdown and select Japan"
npx @midscene/web@1 --bridge take_screenshot

Example — Form interaction:

npx @midscene/web@1 --bridge act --prompt "fill in the email field with 'user@example.com' and the password field with 'pass123', then click the Log In button"
npx @midscene/web@1 --bridge take_screenshot

Troubleshooting

Bridge Mode Connection Failures

Timeouts

  • Web pages may take time to load. After connecting, take a screenshot to verify readiness before interacting.
  • For slow pages, wait briefly between steps.

Screenshots Not Displaying

  • The screenshot path is an absolute path to a local file. Use the Read tool to view it.

Files

1 total
Select a file
Select a file to preview.

Comments

Loading comments…