Agent skill

browser-use-agentcore

AWS AgentCore Browser skill for automated web testing and screenshot capture. Use this skill when the user asks to: - Test if a website works / 测试网站是否正常 - Take a screenshot of a webpage / 截取网页截图 - Check for JavaScript errors or console errors - Verify API health endpoints - Open a URL in a cloud browser - Debug website loading issues This skill uses AWS Bedrock AgentCore Browser (cloud-based, no local browser needed).

Stars 50
Forks 3

Install this agent skill to your Project

npx add-skill https://github.com/tsaol/awesome-claude/tree/main/skills/browser-use-agentcore

SKILL.md

Browser Use AgentCore Skill

Overview

This skill uses AWS Bedrock AgentCore Browser to perform automated web testing in the cloud. No local browser or display required - tests run on AWS infrastructure.

Features

  • Test any URL with a real browser
  • Capture full-page screenshots
  • Check for JavaScript console errors
  • Verify API health endpoints
  • View live browser session in AWS Console

Prerequisites

  1. AWS credentials configured
  2. IAM permissions for AgentCore Browser
  3. Python 3.10+

Required IAM Policy

json
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "bedrock-agentcore:StartBrowserSession",
        "bedrock-agentcore:StopBrowserSession",
        "bedrock-agentcore:GetBrowserSession"
      ],
      "Resource": "*"
    }
  ]
}

Quick Start

Install Dependencies

bash
pip install bedrock-agentcore playwright boto3 nest-asyncio

Basic Usage

bash
# Test a URL
python scripts/browser_test.py https://example.com

# Test with screenshot
python scripts/browser_test.py https://example.com --screenshot screenshot.png

# Test with API health check
python scripts/browser_test.py https://example.com --check-api

# Full test with JSON output
python scripts/browser_test.py https://example.com -s screenshot.png -a --json

Python API

Simple Test

python
from browser_test import test_url

# test_url is a synchronous function
results = test_url(
    url="https://example.com",
    screenshot_path="screenshot.png",
    check_api=True
)

print(f"Status: {results['status']}")
print(f"Title: {results['title']}")
print(f"Errors: {results['errors']}")

Advanced Usage with Playwright

python
from bedrock_agentcore.tools.browser_client import BrowserClient
from playwright.async_api import async_playwright

async def custom_test():
    client = BrowserClient(region="us-west-2")

    session = await client.start_browser_session(
        session_name="my-test",
        timeout=300,
        viewport={"width": 1920, "height": 1080}
    )

    ws_url, headers = await client.generate_ws_headers()

    async with async_playwright() as p:
        browser = await p.chromium.connect_over_cdp(ws_url, headers=headers)
        page = browser.contexts[0].pages[0]

        # Your custom test logic
        await page.goto("https://example.com")
        await page.click("button#submit")
        await page.wait_for_selector(".result")

        content = await page.content()
        await browser.close()

    await client.stop_browser_session()
    return content

Command Line Options

Option Short Description
url - URL to test (required)
--screenshot -s Path to save screenshot
--check-api -a Check /api/health endpoint
--region -r AWS region (default: us-west-2)
--json -j Output results as JSON

Output Format

Console Output

🚀 Starting browser session in us-west-2...
✅ Browser session started: sess-abc123
🔗 Connecting to remote browser...
🌐 Navigating to https://example.com...
📄 Page title: Example Domain
📊 HTTP status: 200
📸 Screenshot saved: screenshot.png

==================================================
📋 Test Results
==================================================
URL: https://example.com
Status: 200
Title: Example Domain
Errors: 0

✅ All checks passed!

JSON Output

json
{
  "url": "https://example.com",
  "status": 200,
  "title": "Example Domain",
  "errors": [],
  "api_check": {
    "url": "https://example.com/api/health",
    "status": 200,
    "body": "{\"status\":\"healthy\"}"
  },
  "screenshot": "screenshot.png"
}

Live View

While tests are running, you can watch the browser in real-time:

  1. Open AWS Console - AgentCore Browser
  2. Navigate to Built-in tools
  3. Find your active session
  4. Click View live session

Troubleshooting

Session Timeout

If tests timeout, increase the session timeout:

python
session = await client.start_browser_session(
    session_name="long-test",
    timeout=600  # 10 minutes
)

Permission Denied

Ensure your IAM role/user has the required permissions for AgentCore Browser.

Network Errors

Check that the target URL is accessible from AWS infrastructure. Internal/private URLs may not be reachable.

Regional Availability

AgentCore Browser is available in:

  • us-east-1 (N. Virginia)
  • us-west-2 (Oregon)

Pricing

AgentCore Browser uses consumption-based pricing with no upfront costs. See AWS Pricing for details.

Expand your agent's capabilities with these related and highly-rated skills.

tsaol/awesome-claude

git-review

Review code changes against requirements and original design. Validates implementation correctness, design alignment, code quality, and runs tests. Use before committing or creating a PR.

50 3
Explore
tsaol/awesome-claude

git-commit

Review project consistency and commit changes. Checks code vs docs alignment, updates CHANGELOG/README/DESIGN.md, updates ~/history.log, bumps version, then commits, pushes, and deploys if configured. Use after finishing code modifications.

50 3
Explore
tsaol/awesome-claude

pdf

Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms. When Claude needs to fill in a PDF form or programmatically process, generate, or analyze PDF documents at scale.

50 3
Explore
tsaol/awesome-claude

docx

Comprehensive document creation, editing, and analysis with support for tracked changes, comments, formatting preservation, and text extraction. When Claude needs to work with professional documents (.docx files) for: (1) Creating new documents, (2) Modifying or editing content, (3) Working with tracked changes, (4) Adding comments, or any other document tasks

50 3
Explore
tsaol/awesome-claude

xlsx

Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization. When Claude needs to work with spreadsheets (.xlsx, .xlsm, .csv, .tsv, etc) for: (1) Creating new spreadsheets with formulas and formatting, (2) Reading or analyzing data, (3) Modify existing spreadsheets while preserving formulas, (4) Data analysis and visualization in spreadsheets, or (5) Recalculating formulas

50 3
Explore
tsaol/awesome-claude

product-review

Product review from a PM perspective. Uses multi-agent pipeline to analyze any project/codebase for product discovery, goal alignment, UX/DX audit, competitive analysis, and roadmap planning.

50 3
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results