BeClaude

playwright-skill

2.3kCommunity RegistryGeneralby lackeyjb · MIT

Claude Code Skill for general-purpose browser automation with Playwright. Claude autonomously writes and executes custom automation for testing pages, validating UX, and any browser task.

First seen 4/17/2026

Summary

This skill enables Claude to autonomously write and execute Playwright scripts for any browser automation task, from testing page behavior to validating complex user flows.

  • It eliminates setup overhead by generating custom code on the fly and running it in a visible browser, making it ideal for developers who need quick, reliable end-to-end testing without maintaining test suites.

Overview

General-purpose browser automation as a Claude Skill

A Claude Skill that enables Claude to write and execute any Playwright automation on-the-fly - from simple page tests to complex multi-step flows. Packaged as a Claude Code Plugin for easy installation and distribution.

Claude autonomously decides when to use this skill based on your browser automation needs, loading only the minimal information required for your specific task.

Made using Claude Code.

Features

  • Any Automation Task - Claude writes custom code for your specific request, not limited to pre-built scripts
  • Visible Browser by Default - See automation in real-time with headless: false
  • Zero Module Resolution Errors - Universal executor ensures proper module access
  • Progressive Disclosure - Concise SKILL.md with full API reference loaded only when needed
  • Safe Cleanup - Smart temp file management without race conditions
  • Comprehensive Helpers - Optional utility functions for common tasks

Installation

This repository is structured as a Claude Code Plugin containing a skill. You can install it as either a plugin (recommended) or extract it as a standalone skill.

Understanding the Structure

This repository uses the plugin format with a nested structure:

code
playwright-skill/              # Plugin root
├── .claude-plugin/           # Plugin metadata
└── skills/
    └── playwright-skill/     # The actual skill
        └── SKILL.md

Claude Code expects skills to be directly in folders under .claude/skills/, so manual installation requires extracting the nested skill folder.


Option 1: Plugin Installation (Recommended)

Install via Claude Code's plugin system for automatic updates and team distribution:

bash
# Add this repository as a marketplace
/plugin marketplace add lackeyjb/playwright-skill

# Install the plugin
/plugin install playwright-skill@playwright-skill

# Navigate to the skill directory and run setup
cd ~/.claude/plugins/marketplaces/playwright-skill/skills/playwright-skill
npm run setup

Verify installation by running /help to confirm the skill is available.


Option 2: Standalone Skill Installation

To install as a standalone skill (without the plugin system), extract only the skill folder:

Global Installation (Available Everywhere):

bash
# Clone to a temporary location
git clone https://github.com/lackeyjb/playwright-skill.git /tmp/playwright-skill-temp

# Copy only the skill folder to your global skills directory
mkdir -p ~/.claude/skills
cp -r /tmp/playwright-skill-temp/skills/playwright-skill ~/.claude/skills/

# Navigate to the skill and run setup
cd ~/.claude/skills/playwright-skill
npm run setup

# Clean up temporary files
rm -rf /tmp/playwright-skill-temp

Project-Specific Installation:

bash
# Clone to a temporary location
git clone https://github.com/lackeyjb/playwright-skill.git /tmp/playwright-skill-temp

# Copy only the skill folder to your project
mkdir -p .claude/skills
cp -r /tmp/playwright-skill-temp/skills/playwright-skill .claude/skills/

# Navigate to the skill and run setup
cd .claude/skills/playwright-skill
npm run setup

# Clean up temporary files
rm -rf /tmp/playwright-skill-temp

Why this structure? The plugin format requires the skills/ directory for organizing multiple skills within a plugin. When installing as a standalone skill, you only need the inner skills/playwright-skill/ folder contents.


Option 3: Download Release

  1. Download and extract the latest release from GitHub Releases
  2. Copy only the skills/playwright-skill/ folder to:

- Global: ~/.claude/skills/playwright-skill - Project: /path/to/your/project/.claude/skills/playwright-skill

  1. Navigate to the skill directory and run setup:

``bash cd ~/.claude/skills/playwright-skill # or your project path npm run setup ``


Verify Installation

Run /help to confirm the skill is loaded, then ask Claude to perform a simple browser task like "Test if google.com loads".

Quick Start

After installation, simply ask Claude to test or automate any browser task. Claude will write custom Playwright code, execute it, and return results with screenshots and console output.

Usage Examples

Test Any Page

code
"Test the homepage"
"Check if the contact form works"
"Verify the signup flow"

Visual Testing

code
"Take screenshots of the dashboard in mobile and desktop"
"Test responsive design across different viewports"

Interaction Testing

code
"Fill out the registration form and submit it"
"Click through the main navigation"
"Test the search functionality"

Validation

code
"Check for broken links"
"Verify all images load"
"Test form validation"

How It Works

  1. Describe what you want to test or automate
  2. Claude writes custom Playwright code for the task
  3. The universal executor (run.js) runs it with proper module resolution
  4. Browser opens (visible by default) and automation executes
  5. Results are displayed with console output and screenshots

Configuration

Default settings:

  • Headless: false (browser visible unless explicitly requested otherwise)
  • Slow Motion: 100ms for visibility
  • Timeout: 30s
  • Screenshots: Saved to /tmp/

Project Structure

code
playwright-skill/
├── .claude-plugin/
│   ├── plugin.json          # Plugin metadata for distribution
│   └── marketplace.json     # Marketplace configuration
├── skills/
│   └── playwright-skill/    # The actual skill (Claude discovers this)
│       ├── SKILL.md         # What Claude reads
│       ├── run.js           # Universal executor (proper module resolution)
│       ├── package.json     # Dependencies & setup scripts
│       └── lib/
│           └── helpers.js   # Optional utility functions
│       └── API_REFERENCE.md # Full Playwright API reference
├── README.md                # This file - user documentation
├── CONTRIBUTING.md          # Contribution guidelines
└── LICENSE                  # MIT License

Advanced Usage

Claude will automatically load API_REFERENCE.md when needed for comprehensive documentation on selectors, network interception, authentication, visual regression testing, mobile emulation, performance testing, and debugging.

Dependencies

  • Node.js
  • Playwright (installed via npm run setup)
  • Chromium (installed via npm run setup)

Troubleshooting

Playwright not installed? Navigate to the skill directory and run npm run setup.

Module not found errors? Ensure automation runs via run.js, which handles module resolution.

Browser doesn't open? Verify headless: false is set. The skill defaults to visible browser unless headless mode is requested.

Install all browsers? Run npm run install-all-browsers from the skill directory.

What is a Skill?

Agent Skills are folders of instructions, scripts, and resources that agents can discover and use to do things more accurately and efficiently. When you ask Claude to test a webpage or automate browser interactions, Claude discovers this skill, loads the necessary instructions, executes custom Playwright code, and returns results with screenshots and console output.

This Playwright skill implements the open Agent Skills specification, making it compatible across agent platforms.

Contributing

Contributions are welcome. Fork the repository, create a feature branch, make your changes, and submit a pull request. See CONTRIBUTING.md for details.

Learn More

License

MIT License - see LICENSE file for details.

Install & Usage

1
Create the skills directory
mkdir -p .claude/skills
2
Download the skill file
mkdir -p .claude/skills && curl -o .claude/skills/playwright-skill.md https://raw.githubusercontent.com/lackeyjb/playwright-skill/main/SKILL.md
3
Invoke in Claude Code
/playwright-skill

Use Cases

Automatically test a login flow on a staging site, including form submission and redirect verification.
Validate that a new UI component renders correctly across different viewport sizes.
Scrape dynamic content from a single-page application that requires JavaScript execution.
Run a multi-step e-commerce checkout process to ensure all steps complete without errors.
Capture screenshots of key pages for visual regression comparison after a deployment.
Monitor a live site for broken links or missing elements by crawling through navigation.

Usage Examples

1

Test the signup form on https://example.com/signup by filling in fields, submitting, and checking for a success message.

2

Open https://myapp.com/dashboard, wait for the chart to load, take a screenshot, and verify the chart title is 'Monthly Revenue'.

3

Navigate to https://shop.example.com, add the first product to cart, proceed to checkout, and confirm the total price is correct.

View source on GitHub
testingclaude-skillclaude-codeplaywrightbrowser-automatione2eweb-testingautomation

Security Audits

LicensePassSourceWarnRepositoryPass

Frequently Asked Questions

What is playwright-skill?

This skill enables Claude to autonomously write and execute Playwright scripts for any browser automation task, from testing page behavior to validating complex user flows. It eliminates setup overhead by generating custom code on the fly and running it in a visible browser, making it ideal for developers who need quick, reliable end-to-end testing without maintaining test suites.

How to install playwright-skill?

To install playwright-skill: create the skills directory (mkdir -p .claude/skills), then run: mkdir -p .claude/skills && curl -o .claude/skills/playwright-skill.md https://raw.githubusercontent.com/lackeyjb/playwright-skill/main/SKILL.md. Finally, /playwright-skill in Claude Code.

What is playwright-skill best for?

playwright-skill is a skill categorized under General. It is designed for: testing, claude-skill, claude-code, playwright, browser-automation, e2e, web-testing, automation. Created by lackeyjb.

What can I use playwright-skill for?

playwright-skill is useful for: Automatically test a login flow on a staging site, including form submission and redirect verification.; Validate that a new UI component renders correctly across different viewport sizes.; Scrape dynamic content from a single-page application that requires JavaScript execution.; Run a multi-step e-commerce checkout process to ensure all steps complete without errors.; Capture screenshots of key pages for visual regression comparison after a deployment.; Monitor a live site for broken links or missing elements by crawling through navigation..