Agent skill

Browser Testing With Screenshots

by AgentWorkforce in AgentWorkforce/relay

A skill your agent uses when testing web applications with visual verification - automates Chrome browser interactions, element selection, and screenshot capture for confirming UI functionality

Apache-2.0Auto-check passedTesting & QA

Install Browser Testing With Screenshots

skills CLI
$ npx skills add AgentWorkforce/relay --skill browser-testing-with-screenshots -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install AgentWorkforce/relay browser-testing-with-screenshots --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/AgentWorkforce/relay.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/browser-testing-with-screenshots .claude/skills/browser-testing-with-screenshots && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
browser-testing-with-screenshots
GitHub stars
865
Used in
1 other repo
Token cost
~2.2k tokens
SKILL.md length
437 words
Files
1
Skills in repo
14
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when testing web applications with visual verification - automates Chrome browser interactions, element selection, and screenshot capture for confirming UI functionality

  • Works in 3 steps: Start Chrome with Remote Debugging → Navigate to Application → Capture Baseline Screenshot
  • Testing web applications with visual verification - automates Chrome browser interactions
  • SKILL.md covers Overview, Prerequisites, When to Use and Quick Reference, plus 8 more sections
  • Calls git; reaches github.com

What it does

Browser Testing With Screenshots is an agent skill from AgentWorkforce/relay. Use when testing web applications with visual verification - automates Chrome browser interactions, element selection, and screenshot capture for confirming UI functionality

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Testing & QA, covering Browser testing. The repository describes itself as: Infrastructure for coding agents. The licence is Apache-2.0.

When your agent uses it

  • Testing web applications with visual verification - automates Chrome browser interactions
  • Element selection
  • Screenshot capture for confirming UI functionality

Example prompts

  • “/browser-testing-with-screenshots”

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. Start Chrome with Remote Debugging
  2. Navigate to Application
  3. Capture Baseline Screenshot

What it can do on your machine

Read from SKILL.md and the folder at commit 734600d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Browser Testing With Screenshots loads about 2.2k tokens when it runs. Until then it costs about 52 tokens; SKILL.md has 437 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~52
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from AgentWorkforce/relay at commit 734600d, republished under its Apache-2.0 licence (© AgentWorkforce). 437 words, ~2,183 tokens.

Download SKILL.mdSave it as .claude/skills/browser-testing-with-screenshots/SKILL.md (or your agent's skills folder).
name
browser-testing-with-screenshots
description
Use when testing web applications with visual verification - automates Chrome browser interactions, element selection, and screenshot capture for confirming UI functionality

Browser Testing with Screenshots

Overview

Automate Chrome browser testing with visual verification using browser-tools. Connect to Chrome DevTools Protocol for navigation, interaction, and screenshot capture to confirm application functionality.

Prerequisites

REQUIRED: Install agent-tools from https://github.com/badlogic/agent-tools

bash
# Clone and install agent-tools
git clone https://github.com/badlogic/agent-tools.git
cd agent-tools
# Follow installation instructions in the repository
# Ensure all executables (browser-start.js, browser-nav.js, etc.) are in your PATH

Verify installation:

bash
# Check that browser tools are available
which browser-start.js
which browser-nav.js
which browser-screenshot.js

All browser-* commands referenced in this skill come from the agent-tools repository and must be properly installed and accessible in your system PATH.

When to Use

Use this skill when:

  • Testing web application UI flows
  • Verifying visual changes or layouts
  • Automating repetitive browser interactions
  • Documenting application behavior with screenshots
  • Testing localhost applications during development
  • Need to interact with elements that require human-like selection

Don't use for:

  • API testing (use direct HTTP calls)
  • Headless testing where visuals don't matter
  • Simple page content validation (use curl/wget)

Quick Reference

TaskCommandPurpose
Start browserbrowser-start.jsLaunch Chrome with debugging
Navigatebrowser-nav.js http://localhost:5172/dashboardGo to specific URL
Take screenshotbrowser-screenshot.jsCapture current viewport
Pick elementsbrowser-pick.js "Select the login button"Interactive element selection
Run JavaScriptbrowser-eval.js 'document.title'Execute code in page context
Extract contentbrowser-content.jsGet readable page content
View cookiesbrowser-cookies.jsList session cookies

Setup and Basic Workflow

1. Start Chrome with Remote Debugging
bash
# Launch Chrome with debugging enabled (preserves user profile)
browser-start.js

# Or start fresh (no cookies, clean state)
browser-start.js --fresh

Expected Result: Chrome opens on port 9222 with DevTools Protocol enabled

2. Navigate to Application
bash
# Go to your application starting point
browser-nav.js http://localhost:5172/dashboard

Verify: Browser navigates to dashboard page

3. Capture Baseline Screenshot
bash
# Take initial screenshot to confirm page loaded
browser-screenshot.js

Output: Returns path to screenshot file (e.g., screenshot_20231203_141532.png)

Testing Workflow with Screenshots

Complete Test Scenario Example
bash
#!/bin/bash
# Test login and dashboard functionality

echo "🚀 Starting browser test..."

# 1. Launch browser
browser-start.js --fresh

# 2. Navigate to login page
browser-nav.js http://localhost:5172/login
sleep 2

# 3. Take screenshot of login page
LOGIN_SHOT=$(browser-screenshot.js)
echo "📸 Login page: $LOGIN_SHOT"

# 4. Fill login form (interactive element picking)
browser-pick.js "Click the username field"
browser-eval.js 'document.activeElement.value = "testuser"'

browser-pick.js "Click the password field"
browser-eval.js 'document.activeElement.value = "password123"'

# 5. Screenshot filled form
FORM_SHOT=$(browser-screenshot.js)
echo "📸 Filled form: $FORM_SHOT"

# 6. Submit form
browser-pick.js "Click the login button"
sleep 3

# 7. Verify dashboard loaded
browser-nav.js http://localhost:5172/dashboard
DASHBOARD_SHOT=$(browser-screenshot.js)
echo "📸 Dashboard: $DASHBOARD_SHOT"

# 8. Verify specific dashboard elements
browser-pick.js "Select the navigation menu"
browser-eval.js 'console.log("Navigation found:", !!document.querySelector(".nav"))'

echo "✅ Test complete. Screenshots saved."
Element Interaction Pattern
bash
# Interactive element selection (best for dynamic content)
browser-pick.js "Select the submit button"
# User clicks element in browser → returns CSS selector

# Use returned selector for automation
SELECTOR=$(browser-pick.js "Select the submit button" | grep "selector:")
browser-eval.js "document.querySelector('$SELECTOR').click()"

# Take screenshot to verify action
browser-screenshot.js

Advanced Usage

JavaScript Evaluation for Complex Interactions
bash
# Check if element exists before interaction
browser-eval.js 'document.querySelector("#login-form") !== null'

# Wait for dynamic content
browser-eval.js '
  new Promise(resolve => {
    const check = () => {
      if (document.querySelector(".loaded")) resolve(true);
      else setTimeout(check, 100);
    };
    check();
  })
'

# Extract form data
browser-eval.js 'JSON.stringify(Object.fromEntries(new FormData(document.querySelector("form"))))'
Screenshot with Timing
bash
# Navigate and wait before screenshot
browser-nav.js http://localhost:5172/slow-page
sleep 5  # Wait for animations/loading
browser-screenshot.js
Content Extraction for Verification
bash
# Get page title
PAGE_TITLE=$(browser-eval.js 'document.title')
echo "Current page: $PAGE_TITLE"

# Extract readable content
browser-content.js > page_content.md

# Check for specific text
browser-eval.js 'document.body.textContent.includes("Welcome to Dashboard")'
Show full SKILL.md (191 more words)Show less

Common Mistakes

MistakeProblemSolution
No sleep after navigationScreenshots of loading pageAdd sleep 2-5 after nav
Hardcoded selectorsBreaks when UI changesUse browser-pick.js for selection
Missing Chrome setup"Connection refused" errorsRun browser-start.js first
Wrong localhost portNavigation failsVerify application is running on correct port
Screenshot timingCaptures before content loadsWait for page load or specific elements
Not preserving stateLogin lost between commandsUse default profile, not --fresh

Error Handling

bash
# Check if Chrome is running
if ! browser-eval.js 'true' 2>/dev/null; then
  echo "❌ Chrome not connected. Running browser-start.js..."
  browser-start.js
fi

# Verify navigation succeeded
if browser-eval.js 'location.href.includes("dashboard")'; then
  echo "✅ Navigation successful"
else
  echo "❌ Navigation failed"
  exit 1
fi

File Output Patterns

  • Screenshots: screenshot_YYYYMMDD_HHMMSS.png in current directory
  • Content: Markdown format via stdout from browser-content.js
  • Selectors: CSS selectors from browser-pick.js interaction
  • JavaScript results: JSON or string values from browser-eval.js

Integration with Testing Frameworks

bash
# Create test evidence directory
mkdir -p test-results/$(date +%Y%m%d_%H%M%S)
cd test-results/$(date +%Y%m%d_%H%M%S)

# Run tests with organized screenshots
browser-start.js
for page in login dashboard profile; do
  browser-nav.js "http://localhost:5172/$page"
  sleep 2
  screenshot=$(browser-screenshot.js)
  mv "$screenshot" "${page}_page.png"
  echo "✅ $page page tested"
done

Real-World Impact

Benefits:

  • Visual verification: Screenshots provide immediate feedback on UI state
  • Interactive debugging: Element picker works with dynamic/complex selectors
  • State preservation: Maintains login sessions between commands
  • Evidence collection: Automated screenshot capture for test documentation
  • Development workflow: Quick verification of localhost changes

Results:

  • Faster UI testing iteration (visual confirmation vs manual checking)
  • Reliable element selection (human picks, automation uses)
  • Test documentation with visual proof
  • Catches visual regressions immediately

Key principle: Combine automated navigation with human element selection for robust, maintainable browser testing.

© AgentWorkforce, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/browser-testing-with-screenshots of AgentWorkforce/relay.

Open the folder on GitHubat commit 734600d

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in AgentWorkforce/relay, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Browser Testing With Screenshots next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Browser Testing With Screenshots compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Browser Testing With Screenshots this skillAgentWorkforce/relay8651 repos~2.2kAutomated safety check: PassApache-2.0
Web Application Testinganthropics/skills180k51 repos~966Automated safety check: PassApache-2.0
BrowserStack Live Testinghandsontable/handsontable22k—~950Automated safety check: PassCustom licence
Chrome Tracelayoutit/polycss757—~2kAutomated safety check: PassMIT
JS-in-HTML Testingliaohch3/claude-tap3.3k—~924Automated safety check: PassMIT
Diff-Driven QASkyvern-AI/skyvern23k—~4.7kAutomated safety check: WarnAGPL-3.0

Similar skills

  • Web Application Testing

    anthropics/skills

    Official

    Tests local web applications with Python Playwright scripts, checking frontend behavior, capturing screenshots and reading browser console logs.

    180k GitHub starsUsed in 51 repos~966 tokens
    Testing & QAAuto-check passed
  • BrowserStack Live Testing

    handsontable/handsontable

    Opens a live BrowserStack session on a real Android, iOS or desktop browser for a local or public URL, tunneling localhost through Cloudflare when needed.

    22k GitHub stars~950 tokensUpdated today
    Testing & QAAuto-check passed
  • Chrome Trace

    layoutit/polycss

    Capture and analyze Chrome/Chromium performance traces with Playwright around a concrete browser interaction.

    757 GitHub stars~2k tokensUpdated 1 mo ago
    Testing & QAAuto-check passed
  • JS-in-HTML Testing

    liaohch3/claude-tap

    Tests JavaScript embedded in an HTML file in two layers: pytest checks of the logic ported to Python, and Playwright runs in a real browser for the DOM.

    3.3k GitHub stars~924 tokensUpdated 15 days ago
    Testing & QAAuto-check passed
  • Diff-Driven QA

    Skyvern-AI/skyvern

    Reads your git diff, decides whether the change needs browser QA, API checks or repo tests, runs that validation and reports pass or fail with evidence.

    23k GitHub stars~4.7k tokensUpdated today
    Testing & QAAuto-check: warnings
  • Learn Dogfood

    debs-obrien/playwright-movies-app

    Dogfood the learn/ course like a new user: docs site walk, fresh clone setup, then Practice and shell steps from each module.

    102 GitHub stars~1k tokensUpdated 6 days ago
    Testing & QAAuto-check: notes

More from AgentWorkforce/relay

All 14 skills in this repo
  • Agent Relay

    AgentWorkforce/relay

    A skill your agent uses when you need Codex to coordinate multiple agents through Agent Relay for peer-to-peer messaging, lead/worker handoffs, or shared status tracking across sub-agents and…

    865 GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Debugging Websocket Issues

    AgentWorkforce/relay

    A skill your agent uses when seeing WebSocket errors like "Invalid frame header", "RSV1 must be clear", or "WSERRUNEXPECTEDRSV1" - covers multiple WebSocketServer conflicts, compression issues, and…

    865 GitHub starsUsed in 1 repo~1.3k tokens
    Auto-check passed
  • GitHub OAuth Nango Integration

    AgentWorkforce/relay

    A skill your agent uses when implementing GitHub OAuth + GitHub App authentication with Nango - provides two-connection pattern for user login and repo access with webhook handling

    865 GitHub starsUsed in 1 repo~3.4k tokens
    Auto-check passed
  • Implementing Command Palettes

    AgentWorkforce/relay

    A skill your agent uses when building Cmd+K command palettes in React - covers keyboard navigation with arrow keys, keeping selected items in view with scrollIntoView, filtering with shortcut…

    865 GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • Using Agent Relay

    AgentWorkforce/relay

    A skill your agent uses when you are a registered relay agent (a spawned worker, or a lead that called registeragent) coordinating with peers in real time over current Agent Relay MCP tools -…

    865 GitHub starsUsed in 1 repo~2k tokens
    Auto-check passed
  • A skill your agent uses when deploying changes to staging across relay, relay-dashboard, and relay-cloud repos - coordinates multi-repo branch syncing using git worktrees, automatically triggers…

    865 GitHub stars~3.2k tokensUpdated today
    Auto-check passed

Categories

Questions about Browser Testing With Screenshots

What does Browser Testing With Screenshots do?

A skill your agent uses when testing web applications with visual verification - automates Chrome browser interactions, element selection, and screenshot capture for confirming UI functionality. Browser Testing With Screenshots is an agent skill from AgentWorkforce/relay.

When should I use Browser Testing With Screenshots?

Browser Testing With Screenshots fits situations like: testing web applications with visual verification - automates Chrome browser interactions; element selection; screenshot capture for confirming UI functionality.

How do I install Browser Testing With Screenshots in Claude Code?

Run `npx skills add AgentWorkforce/relay --skill browser-testing-with-screenshots -a claude-code`. Or copy the skill folder (.claude/skills/browser-testing-with-screenshots in AgentWorkforce/relay) into .claude/skills/browser-testing-with-screenshots in your project. Claude Code loads it when a task matches its description.

How do I install Browser Testing With Screenshots in Codex?

Run `npx skills add AgentWorkforce/relay --skill browser-testing-with-screenshots -a codex`. Or copy the skill folder (.claude/skills/browser-testing-with-screenshots in AgentWorkforce/relay) into .agents/skills/browser-testing-with-screenshots in your project. Codex loads it when a task matches its description.

Can I use Browser Testing With Screenshots in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add AgentWorkforce/relay --skill browser-testing-with-screenshots -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/browser-testing-with-screenshots, .gemini/skills/browser-testing-with-screenshots, .github/skills/browser-testing-with-screenshots and .opencode/skills/browser-testing-with-screenshots in your project.

What does Browser Testing With Screenshots need to run?

Going by SKILL.md and its folder, Browser Testing With Screenshots needs the command-line tools its instructions call (git).

Does Browser Testing With Screenshots access the network?

SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Browser Testing With Screenshots safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Browser Testing With Screenshots use?

Browser Testing With Screenshots is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Browser Testing With Screenshots use?

About 2.2k tokens (SKILL.md is roughly 8.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Browser Testing With Screenshots?

Skills that share tags, products or a category with Browser Testing With Screenshots: Web Application Testing (anthropics/skills, 180k stars), BrowserStack Live Testing (handsontable/handsontable, 22k stars), Chrome Trace (layoutit/polycss, 757 stars) and JS-in-HTML Testing (liaohch3/claude-tap, 3.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Browser Testing With Screenshots?

AgentWorkforce (a GitHub organization) maintains it in AgentWorkforce/relay, which has 865 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 7, 2026.

Source: AgentWorkforce/relay on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.