Skip to content
Development
Skill

/browser-automation

Local Python-based browser automation toolkit using Playwright. Provides command-line tools for navigating, interacting with, and testing web applications. Supports clicking, typing, hovering, screenshots, content extraction, and JavaScript execution. Use this skill when you

From plugin
workspace-architect
1932 skills200 agents

Claude Code

$ npx -y skills add archubbuck/workspace-architect --skill browser-automation --agent claude-code

SKILL.md

browser-automation.SKILL.md
name: browser-automation
description: Local Python-based browser automation toolkit using Playwright. Provides command-line tools for navigating, interacting with, and testing web applications. Supports clicking, typing, hovering, screenshots, content extraction, and JavaScript execution. Use this skill when you need to automate browser interactions, test web applications, or extract data from web pages.
license: ISC

Browser Automation Skill

This skill provides local browser automation capabilities using Python and Playwright. All browser automation is performed locally via CLI commands.

When to Use This Skill

Use this skill when you need to:

  • Automate interactions with web pages (clicking, typing, navigating)
  • Test web application functionality
  • Extract content or data from web pages
  • Take screenshots of web pages
  • Execute custom JavaScript in browser context
  • Hover over elements to trigger UI states

Prerequisites

Before using this skill, ensure Playwright is installed:

pip install playwright
playwright install chromium

Available Tools

All tools are implemented as subcommands in `assets/skills/browser-automation/scripts/browser_tools.py`. Each command is stateless - it launches a new browser instance, performs the action, and closes the browser.

browser_navigate

Navigate to a URL and wait for the page to load.

**Usage:**

python assets/skills/browser-automation/scripts/browser_tools.py browser_navigate <url>

**Example:**

python assets/skills/browser-automation/scripts/browser_tools.py browser_navigate https://example.com

browser_click

Click an element on a page using a CSS selector or text match.

**Usage:**

python assets/skills/browser-automation/scripts/browser_tools.py browser_click <url> <selector> [--text TEXT]

**Parameters:**

  • `url`: URL to navigate to
  • `selector`: CSS selector for the element (optional if using --text)
  • `--text`: (Optional) Text to match instead of using selector

**Examples:**

# Click by selector
python assets/skills/browser-automation/scripts/browser_tools.py browser_click https://example.com "#submit-button"

# Click by text
python assets/skills/browser-automation/scripts/browser_tools.py browser_click https://example.com "button" --text "Submit"

browser_type

Type text into an input field, with optional form submission.

**Usage:**

python assets/skills/browser-automation/scripts/browser_tools.py browser_type <url> <selector> <text> [--submit]

**Parameters:**

  • `url`: URL to navigate to
  • `selector`: CSS selector for the input field
  • `text`: Text to type
  • `--submit`: (Optional) Press Enter after typing

**Examples:**

# Type into field
python assets/skills/browser-automation/scripts/browser_tools.py browser_type https://example.com "#email" "user@example.com"

# Type and submit
python assets/skills/browser-automation/scripts/browser_tools.py browser_type https://example.com "#search" "query" --submit

browser_screenshot

Capture a screenshot of the current page.

**Usage:**

python assets/skills/browser-automation/scripts/browser_tools.py browser_screenshot <url> <path> [--full_page]

**Parameters:**

  • `url`: URL to navigate to
  • `path`: Output file path for the screenshot
  • `--full_page`: (Optional) Capture the entire scrollable page

**Examples:**

# Viewport screenshot
python assets/skills/browser-automation/scripts/browser_tools.py browser_screenshot https://example.com /tmp/screenshot.png

# Full page screenshot
python assets/skills/browser-automation/scripts/browser_tools.py browser_screenshot https://example.com /tmp/full.png --full_page

browser_get_content

Extract text or HTML content from the page or a specific element.

**Usage:**

python assets/skills/browser-automation/scripts/browser_tools.py browser_get_content <url> [--selector SELECTOR] [--html]

**Parameters:**

  • `url`: URL to navigate to
  • `--selector`: (Optional) CSS selector, defaults to 'body'
  • `--html`: (Optional) Return HTML instead of text

**Examples:**

# Get all page text
python assets/skills/browser-automation/scripts/browser_tools.py browser_get_content https://example.com

# Get specific element text
python assets/skills/browser-automation/scripts/browser_tools.py browser_get_content https://example.com --selector "#main-content"

# Get HTML
python assets/skills/browser-automation/scripts/browser_tools.py browser_get_content https://example.com --selector "article" --html

browser_hover

Hover over an element to trigger hover states or tooltips.

**Usage:**

python assets/skills/browser-automation/scripts/browser_tools.py browser_hover <url> <selector>

**Parameters:**

  • `url`: URL to navigate to
  • `selector`: CSS selector for the element

**Example:**

python assets/skills/browser-automation/scripts/browser_tools.py browser_hover https://example.com ".menu-item"

browser_evaluate

Execute custom JavaScript code in the browser context.

**Usage:**

python assets/skills/browser-automation/scripts/browser_tools.py browser_evaluate <url> <script>

**Parameters:**

  • `url`: URL to navigate to
  • `script`: JavaScript code to execute

**Examples:**

# Get page title
python assets/skills/browser-automation/scripts/browser_tools.py browser_evaluate https://example.com "document.title"

# Get element count
python assets/skills/browser-automation/scripts/browser_tools.py browser_evaluate https://example.com "document.querySelectorAll('button').length"

# Manipulate DOM
python assets/skills/browser-automation/scripts/browser_tools.py browser_evaluate https://example.com "document.body.style.backgroundColor = 'red'"

Best Practices

1. **Always use full URLs**: Include the protocol (http:// or https://) 2. **Wait for content**: The tool automatically waits for 'networkidle' state before actions 3. **Use robust selectors**: Prefer ID selectors (#id

Read more
@archubbuck
Ships withworkspace-architect

A comprehensive library of specialized AI agents and personas for GitHub Copilot, ranging from architectural planning and specific tech stacks to advanced cognitive reasoning models.

1932 skills200 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
19
Star history of archubbuck/workspace-architect on GitHub, a chart by star-history.com

Other skills on workspace-architect.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about browser-automation.

Which coding agents can use browser-automation?
browser-automation installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.