Best for
- Automate interactions with web pages (clicking, typing, navigating)
- Test web application functionality
- Extract content or data from web pages
archubbuck/workspace-architect/assets/skills/browser-automation/SKILL.md
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.
Decision brief
This skill provides local browser automation capabilities using Python and Playwright. All browser automation is performed locally via CLI commands.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/archubbuck/workspace-architect --skill "assets/skills/browser-automation"Inspect the Agent Skill "browser-automation" from https://github.com/archubbuck/workspace-architect/blob/2e129d78b4f633bd7a10791e97961b2e4ae46754/assets/skills/browser-automation/SKILL.md at commit 2e129d78b4f633bd7a10791e97961b2e4ae46754. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Review the “Visual Verification” section in the pinned source before continuing.
For more complex automation scenarios that require maintaining state across multiple actions, see the examples directory or consider using Playwright directly in a Python script.
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 elemen…
Before using this skill, ensure Playwright is installed:
All tools are implemented as subcommands in assets/skills/browser-automation/scripts/browsertools.py. Each command is stateless - it launches a new browser instance, performs the action, and closes the browser.
Permission review
The documentation asks the agent to run terminal commands or scripts.
python assets/skills/browser-automation/scripts/browser_tools.py browser_navigate <url>The documentation includes network, browsing, or remote request actions.
python assets/skills/browser-automation/scripts/browser_tools.py browser_navigate https://example.comThe documentation asks the agent to run terminal commands or scripts.
python assets/skills/browser-automation/scripts/browser_tools.py browser_navigate https://example.comThe documentation includes network, browsing, or remote request actions.
python assets/skills/browser-automation/scripts/browser_tools.py browser_click https://example.com "#submit-button"Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 86/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 17 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
This skill provides local browser automation capabilities using Python and Playwright. All browser automation is performed locally via CLI commands.
Use this skill when you need to:
Before using this skill, ensure Playwright is installed:
pip install playwright
playwright install chromium
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.
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
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 toselector: CSS selector for the element (optional if using --text)--text: (Optional) Text to match instead of using selectorExamples:
# 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"
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 toselector: CSS selector for the input fieldtext: Text to type--submit: (Optional) Press Enter after typingExamples:
# Type into field
python assets/skills/browser-automation/scripts/browser_tools.py browser_type https://example.com "#email" "[email protected]"
# Type and submit
python assets/skills/browser-automation/scripts/browser_tools.py browser_type https://example.com "#search" "query" --submit
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 topath: Output file path for the screenshot--full_page: (Optional) Capture the entire scrollable pageExamples:
# 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
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 textExamples:
# 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
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 toselector: CSS selector for the elementExample:
python assets/skills/browser-automation/scripts/browser_tools.py browser_hover https://example.com ".menu-item"
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 toscript: JavaScript code to executeExamples:
# 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'"
# Fill out a multi-field form
python assets/skills/browser-automation/scripts/browser_tools.py browser_type https://example.com/form "#name" "John Doe"
python assets/skills/browser-automation/scripts/browser_tools.py browser_type https://example.com/form "#email" "[email protected]"
python assets/skills/browser-automation/scripts/browser_tools.py browser_click https://example.com/form "#submit"
# Extract and save page content
python assets/skills/browser-automation/scripts/browser_tools.py browser_get_content https://example.com --selector "article" > article.txt
# Capture page state
python assets/skills/browser-automation/scripts/browser_tools.py browser_screenshot https://example.com /tmp/page.png
# Capture full scrollable page
python assets/skills/browser-automation/scripts/browser_tools.py browser_screenshot https://example.com /tmp/full.png --full_page
# Test hover states
python assets/skills/browser-automation/scripts/browser_tools.py browser_hover https://example.com ".dropdown-trigger"
python assets/skills/browser-automation/scripts/browser_tools.py browser_screenshot https://example.com /tmp/hover-state.png
If you encounter issues:
playwright install chromiumFor more complex automation scenarios that require maintaining state across multiple actions, see the examples directory or consider using Playwright directly in a Python script.
scripts/browser_tools.pyexamples/Alternatives
alirezarezvani/claude-skills
Use when planning, running, or learning from chaos engineering experiments. Triggers on "chaos experiment", "fault injection", "gameday", "resilience test", "blast radius", "steady state", "abort criteria", "Chaos Toolkit", "Chaos Mesh", "Litmus", "Gremlin", "AWS FIS", or any deliberate failure-injection question. Ships experiment designer, blast-radius calculator, and postmortem generator (all stdlib Python), 4 references on chaos principles + experiment design + attack taxonomy + tooling lands
affaan-m/ECC
E2E testing for Windows native desktop apps (WPF, WinForms, Win32/MFC, Qt) using pywinauto and Windows UI Automation.
PramodDutta/qaskills
Practice strict red-green-refactor test-driven development — write one failing test first, make it pass with the minimum code, then refactor under green, with worked cycles in Jest and pytest, AAA structure, and behavior-based test naming.
PramodDutta/qaskills
Expert-level Robot Framework testing skill covering keyword-driven syntax, SeleniumLibrary, RequestsLibrary, custom Python keywords, data-driven testing, resource files, and parallel execution with Pabot.