Skip to content
cccskills
FreePublished on GitHub

browser_cdp

Connect to an existing Chrome browser or launch one with an explicit debugging port for sharing across agents and tools. It also covers scanning local CDP ports, the connection endpoints used to control a browser.

OriginalShow the original description

Use this skill when the user explicitly wants to connect to a running Chrome browser, scan local CDP ports, specify a `cdp_port`, or share a single browser across multiple agents/tools. By default browser opens no debugging port; pass an explicit `cdp_port` only when the user wants another local tool to attach.

Works withPlaywright
See how to install

Good for

  • Connect to Chrome with existing logins and open tabs
  • Find available local browser debugging ports
  • Launch a browser with a fixed debugging port
  • Share one browser across agents or local tools

Files included (1)

  • SKILL.md6.9 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Deprecated: This reference supports the stable browser implementation. hatch. Prefer the unified browser tool when experimental mode is enabled.

Browser CDP Reference

By default, browser opens no debugging port: the browser is managed directly by Playwright. This skill covers the cases where a CDP port is wanted on purpose.

This skill focuses on more "explicit" CDP usage:

  1. Scanning local CDP ports
  2. Connecting to an existing Chrome (connect_cdp)
  3. Explicitly specifying a cdp_port when launching the browser
  4. Sharing a single browser instance across multiple agents/tools

In other words:

  • The default start opens no debugging port, so users typically do not need to understand or be aware of CDP details
  • Only enter the scope of this skill when the user explicitly mentions "connect to an existing browser / scan ports / specify a port / share a browser"

Privacy Recommendation

The default start exposes nothing — no debugging port is opened. Only pass cdp_port when the user explicitly wants another local tool to attach, and warn about the exposure first.

Warning: One browser instance per workspace

Only one browser can be running or connected per workspace at a time. If a browser instance already exists, you must execute stop first before switching to a new browser or a new CDP connection.


When to Use

Use this skill only when the user explicitly expresses one of the following intentions:

  • "Connect to my already-open Chrome"
  • "Scan for available CDP ports on this machine"
  • "Launch the browser with a fixed debug port"
  • "Let other agents/tools connect to this browser too"
  • "Attach to the browser via the remote debugging port"

In the following cases, you should typically not use this skill:

  • The user just says "open the browser"
  • The user just says "open a visible window"
  • The user does not mention sharing, ports, CDP, or remote debugging

In these cases, use the standard start, adding headed=true if needed — refer to browser_visible.


Scenario 1: Scanning Local CDP Ports

Default scan range is 9000–10000:

{"action": "list_cdp_targets"}

Specify a single port:

{"action": "list_cdp_targets", "port": 9222}

Custom scan range:

{"action": "list_cdp_targets", "port_min": 8000, "port_max": 12000}

Use cases:

  • The user has manually launched Chrome with a remote debugging port
  • You do not know the exact port and need to scan first
  • You need to verify available attach targets on the local machine before connecting

Scenario 2: Connecting to an Existing Chrome

Connect to an existing CDP endpoint:

{"action": "connect_cdp", "cdp_url": "http://localhost:9222"}

Characteristics:

  • After a successful connection, you can continue using standard operations such as open, snapshot, click, type, etc.
  • This attaches to an external browser, not a new process launched by QwenPaw
  • stop only disconnects — it will not close the external browser
  • External CDP connections are also subject to idle auto-stop management, but the auto-stop semantics for external CDP is "auto-disconnect, not close the external browser"

Use cases:

  • The user has their own Chrome open and wants the agent to take over directly
  • You need to attach to the user's existing login state or open tabs

Scenario 3: Launching with an Explicit cdp_port

If the user explicitly requests a fixed port, or needs to provide the endpoint to other tools, specify cdp_port in start:

{"action": "start", "cdp_port": 9222}

To also open a visible window:

{"action": "start", "headed": true, "cdp_port": 9222}

Current behavior:

  • If the explicitly specified cdp_port is already in use, an error is raised immediately — it will not forcefully reuse the port
  • If cdp_port is not specified, no port is opened and none is chosen automatically
  • An explicitly specified port still has a tiny race window: between "checking that the port is free" and "Chrome actually binding to it", another process could theoretically claim it; on failure, cleanup occurs and an error is reported, but there is no automatic retry

Therefore:

  • Do not pass cdp_port proactively when the user has not explicitly requested a port
  • Only pass cdp_port explicitly when the user requests a fixed port or external sharing

Multi-Workspace and Port Conflicts

The current port strategy for multiple workspaces:

  • Explicitly specified port: checks whether 127.0.0.1:cdp_port is already in use; if so, fails immediately and prompts the user to choose a different port or stop the old process
  • No explicit port: no port is opened, so there is no conflict to begin with

This means:

  • Multiple workspaces using the default launch always coexist, because no port is opened
  • If multiple workspaces all request the same fixed cdp_port, the later one will fail because the port is already in use

Stop Behavior

CDP-related stop behavior differs depending on the type:

1. Managed CDP launched by QwenPaw

For example:

{"action": "start", "cdp_port": 9222}

These browsers are launched and owned by QwenPaw. stop will:

  • Disconnect the Playwright / CDP connection
  • Terminate the browser process

2. External CDP Browser

For example:

{"action": "connect_cdp", "cdp_url": "http://localhost:9222"}

These browsers are not launched by QwenPaw. stop will only:

  • Disconnect
  • Not close the external browser process

Division of Responsibility with browser_visible

  • browser_visible: handles whether to show a window
  • browser_cdp: handles "whether to connect / expose / specify / scan CDP ports"

In short:

  • User cares about "seeing the browser window" → think browser_visible first
  • User cares about "connecting to an existing browser / specifying a debug port / sharing with others" → think browser_cdp first

Notes

  • The default start opens no debugging port; surface CDP concepts to the user only when they explicitly ask for them
  • Before using explicit CDP capabilities, warn the user about the risk of sensitive data exposure
  • Auto-stop for external CDP means "auto-disconnect," not "auto-close the user's browser"
  • Activity is currently refreshed primarily by tool operations; the user's manual interactions in the browser window typically do not reset the idle timer
  • private_mode is an explicit parameter for each start call and is not persisted as workspace state

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

alicloud_cli

FreeSummary

Find installation steps, configuration guidance, and command examples for Alibaba Cloud CLI using local Chinese documentation. The skill checks its quick reference or relevant documentation pages before suggesting commands, parameters, and options.

  • Look up installation and configuration steps
  • Check commands for querying ECS instances
  • Find output filtering and pagination options
agentscope-ai/QwenPaw35.8KUpdated Oct 16, 2026

browser

FreeSummary

Automate browser tasks through QwenPaw's built-in Browser SDK using asynchronous Python. Read page content, fill forms, click controls, and capture screenshots, checking the resulting page after each action to verify what happened.

  • Search a website and inspect the results
  • Fill forms and operate page controls
  • Capture page screenshots
agentscope-ai/QwenPaw35.8KUpdated Oct 16, 2026

browser

FreeSummary

Use QwenPaw's built-in Browser SDK, a browser control interface, to read pages, search, fill forms, click controls, and capture screenshots through asynchronous Python. The workflow checks the page before and after actions and hands authentication steps to a person.

  • Search a website and inspect the resulting page
  • Fill forms and select options in a browser
  • Read page text and capture screenshots
agentscope-ai/QwenPaw35.8KUpdated Oct 16, 2026

browser_cdp

FreeSummary

Connect an agent to an existing Chrome browser, find local CDP ports used for remote browser control, or start a browser on a specified port for sharing with other agents and tools.

  • Connecting to Chrome with existing logins and open tabs
  • Finding available local browser debugging ports
  • Starting a browser on a fixed debugging port
agentscope-ai/QwenPaw35.8KUpdated Oct 16, 2026

browser_visible

FreeSummary

Configure how the browser starts, including window visibility, proxy settings, extra launch options, and a custom browser executable. It also explains opening a local debugging port so other local tools can connect.

  • Show the browser window during automation
  • Start a browser with a proxy or incognito mode
  • Choose a specific installed browser
agentscope-ai/QwenPaw35.8KUpdated Oct 16, 2026

browser_visible

FreeSummary

Configure browser startup with a visible or hidden window, and optionally open a local debugging port for another tool to connect. The skill explains launch parameters, compatibility behavior, and when a browser restart is required.

  • Show the browser window during automated work
  • Open a local debugging port for another tool
  • Check the behavior of older launch parameters
agentscope-ai/QwenPaw35.8KUpdated Oct 16, 2026

See all skills by agentscope-ai

Report a problem with this skill