โ† All skills
Tencent SkillHub ยท Developer Tools

FastPlayWright Skill

High-performance browser automation with Fast Playwright MCP. Features token-optimized batch execution, intelligent element selection with fallback, diff det...

skill openclawclawhub Free
0 Downloads
0 Stars
0 Installs
0 Score
High Signal

High-performance browser automation with Fast Playwright MCP. Features token-optimized batch execution, intelligent element selection with fallback, diff det...

โฌ‡ 0 downloads โ˜… 0 stars Unverified but indexed

Install for OpenClaw

Quick setup
  1. Download the package from Yavira.
  2. Extract the archive and review SKILL.md first.
  3. Import or place the package into your OpenClaw setup.

Requirements

Target platform
OpenClaw
Install method
Manual import
Extraction
Extract archive
Prerequisites
OpenClaw
Primary doc
SKILL.md

Package facts

Download mode
Yavira redirect
Package format
ZIP package
Source platform
Tencent SkillHub
What's included
SKILL.md

Validation

  • Use the Yavira download entry.
  • Review SKILL.md after the package is downloaded.
  • Confirm the extracted package contains the expected setup assets.

Install with your agent

Agent handoff

Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.

  1. Download the package from Yavira.
  2. Extract it into a folder your agent can access.
  3. Paste one of the prompts below and point your agent at the extracted folder.
New install

I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.

Upgrade existing

I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.

Trust & source

Release facts

Source
Tencent SkillHub
Verification
Indexed source record
Version
1.0.0

Documentation

ClawHub primary doc Primary doc: SKILL.md 52 sections Open source page

Fast Playwright MCP

High-performance browser automation skill using the Fast Playwright MCP server (@tontoko/fast-playwright-mcp). This fork of the Microsoft Playwright MCP provides significant token optimization, batch execution, and enhanced element discovery.

Key Advantages Over Standard Playwright MCP

FeatureBenefitToken Optimization70-80% reduction via expectation parameterBatch Execution90% token savings for multi-step workflowsDiff DetectionTrack only changes, not full snapshotsEnhanced SelectorsMultiple selector types with automatic fallbackDiagnostic ToolsAdvanced debugging and element discoveryImage CompressionJPEG format, quality control, resizing

MCP Configuration

{ "mcpServers": { "playwright": { "command": "npx", "args": ["@tontoko/fast-playwright-mcp@latest"] } } }

Critical Workflow

Follow these steps in order for optimal results:

1. Navigate First

Use browser_navigate to load the target page before any other operations.

2. Use Batch Execution for Multi-Step Tasks

For 2+ operations, ALWAYS use browser_batch_execute instead of individual tool calls.

3. Optimize Token Usage

Apply expectation parameters to reduce response size.

4. Use Diff Detection for State Changes

Enable diffOptions when tracking changes without navigation.

The Expectation Parameter

All browser tools support an expectation parameter to control response content: { "includeSnapshot": false, // 70-80% token reduction "includeConsole": false, // Exclude console messages "includeTabs": false, // Hide tab information "includeCode": false, // Suppress code generation "includeDownloads": false // Exclude download info }

Snapshot Options

Limit snapshot content for focused analysis: { "snapshotOptions": { "selector": ".main-content", // Capture specific section only "maxLength": 2000, // Limit character count "format": "aria" // Use accessibility tree format } }

Diff Detection

Track only changes between operations: { "diffOptions": { "enabled": true, "format": "minimal", // Options: unified, split, minimal "threshold": 0.1, "maxDiffLines": 50, "context": 3 } }

Selector Types (Priority Order)

ref - System-generated element ID from previous results (highest priority) css - Standard CSS selectors (#id, .class, tag) role - ARIA roles with optional text (button, textbox, etc.) text - Text content search with optional tag filter

Selector Arrays with Fallback

All element-based tools accept multiple selectors with automatic fallback: { "selectors": [ { "css": "#submit-btn" }, { "role": "button", "text": "Submit" }, { "text": "Submit", "tag": "button" } ] } Selectors are tried in order until one succeeds. If multiple elements match, returns a candidate list for selection.

Basic Pattern

Execute multiple operations in a single request: { "tool": "browser_batch_execute", "arguments": { "steps": [ { "tool": "browser_navigate", "arguments": { "url": "https://example.com/login" } }, { "tool": "browser_type", "arguments": { "selectors": [{ "css": "#username" }], "text": "user@example.com" } }, { "tool": "browser_type", "arguments": { "selectors": [{ "css": "#password" }], "text": "password123" } }, { "tool": "browser_click", "arguments": { "selectors": [{ "role": "button", "text": "Login" }] } } ] } }

Advanced Configuration

{ "tool": "browser_batch_execute", "arguments": { "steps": [ { "tool": "browser_navigate", "arguments": { "url": "https://example.com" }, "expectation": { "includeSnapshot": false }, "continueOnError": true }, { "tool": "browser_click", "arguments": { "selectors": [{ "css": "#submit" }] }, "expectation": { "includeSnapshot": true, "snapshotOptions": { "selector": ".result-area" }, "diffOptions": { "enabled": true, "format": "minimal" } } } ], "stopOnFirstError": false, "globalExpectation": { "includeConsole": false, "includeTabs": false } } }

Error Handling Options

continueOnError (per-step): Continue even if this step fails stopOnFirstError (global): Stop entire batch on first error

Navigate and Screenshot

{ "tool": "browser_batch_execute", "arguments": { "steps": [ { "tool": "browser_navigate", "arguments": { "url": "https://example.com" } }, { "tool": "browser_take_screenshot", "arguments": { "filename": "homepage.png", "fullPage": true, "expectation": { "includeSnapshot": false } } } ] } }

Form Filling with Submission

{ "tool": "browser_batch_execute", "arguments": { "steps": [ { "tool": "browser_navigate", "arguments": { "url": "https://example.com/contact" } }, { "tool": "browser_type", "arguments": { "selectors": [{ "css": "#name" }], "text": "John Doe" } }, { "tool": "browser_type", "arguments": { "selectors": [{ "css": "#email" }], "text": "john@example.com" } }, { "tool": "browser_type", "arguments": { "selectors": [{ "css": "#message" }], "text": "Hello World" } }, { "tool": "browser_click", "arguments": { "selectors": [{ "role": "button", "text": "Send" }] } } ], "globalExpectation": { "includeSnapshot": false } } }

Responsive Design Testing

{ "tool": "browser_batch_execute", "arguments": { "steps": [ { "tool": "browser_navigate", "arguments": { "url": "https://example.com" } }, { "tool": "browser_resize", "arguments": { "width": 1920, "height": 1080 } }, { "tool": "browser_take_screenshot", "arguments": { "filename": "desktop.png" } }, { "tool": "browser_resize", "arguments": { "width": 768, "height": 1024 } }, { "tool": "browser_take_screenshot", "arguments": { "filename": "tablet.png" } }, { "tool": "browser_resize", "arguments": { "width": 375, "height": 667 } }, { "tool": "browser_take_screenshot", "arguments": { "filename": "mobile.png" } } ] } }

Login Flow with Verification

{ "tool": "browser_batch_execute", "arguments": { "steps": [ { "tool": "browser_navigate", "arguments": { "url": "https://example.com/login" } }, { "tool": "browser_type", "arguments": { "selectors": [{ "css": "#email" }], "text": "user@example.com" } }, { "tool": "browser_type", "arguments": { "selectors": [{ "css": "#password" }], "text": "secret", "submit": true } }, { "tool": "browser_wait_for", "arguments": { "text": "Dashboard" } } ], "globalExpectation": { "diffOptions": { "enabled": true } } } }

Find Elements

Search for elements using multiple criteria: { "tool": "browser_find_elements", "arguments": { "searchCriteria": { "text": "Submit", "role": "button" }, "maxResults": 5, "enableEnhancedDiscovery": true } }

Page Diagnostics

Comprehensive page analysis: { "tool": "browser_diagnose", "arguments": { "diagnosticLevel": "detailed", "includePerformanceMetrics": true, "includeAccessibilityInfo": true, "includeTroubleshootingSuggestions": true } } Diagnostic levels: none, basic, standard, detailed, full

HTML Inspection

Extract and analyze HTML content: { "tool": "browser_inspect_html", "arguments": { "selectors": [{ "css": ".content" }], "depth": 3, "maxSize": 50000, "format": "html", "optimizeForLLM": true } }

Compressed Screenshots

{ "tool": "browser_take_screenshot", "arguments": { "filename": "screenshot.jpg", "type": "jpeg", "expectation": { "imageOptions": { "format": "jpeg", "quality": 50, "maxWidth": 1280 } } } }

Network Request Filtering

Monitor specific network activity: { "tool": "browser_network_requests", "arguments": { "urlPatterns": ["/api/"], "excludeUrlPatterns": ["analytics", "tracking"], "methods": ["GET", "POST"], "statusRanges": [{ "min": 200, "max": 299 }], "maxRequests": 10, "newestFirst": true } }

Multi-Tab Workflow

{ "tool": "browser_batch_execute", "arguments": { "steps": [ { "tool": "browser_tab_new", "arguments": { "url": "https://example.com" } }, { "tool": "browser_tab_list", "arguments": {} }, { "tool": "browser_tab_select", "arguments": { "index": 0 } }, { "tool": "browser_tab_close", "arguments": { "index": 1 } } ] } }

Wait for Text

{ "tool": "browser_wait_for", "arguments": { "text": "Loading complete" } }

Wait for Text to Disappear

{ "tool": "browser_wait_for", "arguments": { "textGone": "Loading..." } }

Wait for Time

{ "tool": "browser_wait_for", "arguments": { "time": 2 } }

Filter Console Messages

{ "tool": "browser_console_messages", "arguments": { "consoleOptions": { "levels": ["error", "warn"], "maxMessages": 10, "patterns": ["^Error:"], "removeDuplicates": true } } }

Page-Level Evaluation

{ "tool": "browser_evaluate", "arguments": { "function": "() => document.title" } }

Element-Level Evaluation

{ "tool": "browser_evaluate", "arguments": { "selectors": [{ "css": "#counter" }], "function": "(element) => element.textContent" } }

Dialog Handling

{ "tool": "browser_handle_dialog", "arguments": { "accept": true, "promptText": "Optional prompt response" } }

File Upload

{ "tool": "browser_file_upload", "arguments": { "paths": ["/absolute/path/to/file.pdf"] } }

Drag and Drop

{ "tool": "browser_drag", "arguments": { "startSelectors": [{ "css": "#draggable" }], "endSelectors": [{ "css": "#dropzone" }] } }

Select Options

{ "tool": "browser_select_option", "arguments": { "selectors": [{ "css": "#country" }], "values": ["us", "de"] } }

Keyboard Input

{ "tool": "browser_press_key", "arguments": { "key": "Enter" } } Special keys: Enter, Tab, Escape, ArrowUp, ArrowDown, ArrowLeft, ArrowRight, Backspace, Delete, Home, End

Token Efficiency

Use batch execution for 2+ operations Disable snapshots for intermediate steps Enable diff detection for state tracking Filter console messages to relevant levels Use selective snapshots with CSS selectors Compress images when quality is not critical

Selector Strategy

Use ref from previous results when available Provide fallback selectors for robustness Prefer role-based selectors for accessibility Use CSS selectors for specific targeting Text selectors as last resort

Error Handling

Use continueOnError for non-critical steps Set stopOnFirstError: false for best-effort execution Use diagnostic tools when automation fails Check console messages for JavaScript errors

Performance

Minimize snapshot size with selectors Use minimal diff format for change tracking Filter network requests to relevant patterns Batch related operations together

Element Not Found

Use browser_find_elements to discover alternatives Run browser_diagnose for page analysis Check for iframes or shadow DOM Verify page has finished loading

Timeout Issues

Use browser_wait_for with specific conditions Increase wait time for slow pages Check network requests for blocked resources

Token Overflow

Enable includeSnapshot: false Use snapshotOptions.selector to limit scope Enable diffOptions.enabled: true Reduce maxRequests in network filtering

Core Automation

browser_navigate - Navigate to URL browser_click - Click element browser_type - Type text browser_hover - Hover over element browser_drag - Drag and drop browser_select_option - Select dropdown option browser_press_key - Press keyboard key browser_file_upload - Upload files browser_evaluate - Execute JavaScript browser_wait_for - Wait for condition

Batch Operations

browser_batch_execute - Execute multiple actions

Information Gathering

browser_snapshot - Capture accessibility snapshot browser_take_screenshot - Take screenshot browser_console_messages - Get console output browser_network_requests - List network requests browser_find_elements - Find elements by criteria browser_diagnose - Page diagnostics browser_inspect_html - HTML content extraction

Tab Management

browser_tab_list - List all tabs browser_tab_new - Open new tab browser_tab_select - Switch to tab browser_tab_close - Close tab

Navigation

browser_navigate_back - Go back browser_navigate_forward - Go forward

Browser Control

browser_resize - Resize window browser_close - Close browser browser_install - Install browser browser_handle_dialog - Handle alerts/confirms

Vision (requires --caps=vision)

browser_mouse_click_xy - Click at coordinates browser_mouse_move_xy - Move mouse to coordinates browser_mouse_drag_xy - Drag between coordinates

PDF (requires --caps=pdf)

browser_pdf_save - Save page as PDF

Category context

Code helpers, APIs, CLIs, browser automation, testing, and developer operations.

Source: Tencent SkillHub

Largest current source with strong distribution and engagement signals.

Package contents

Included in package
1 Docs
  • SKILL.md Primary doc