Airsc is free for everyone. If it helps you, support it with $2–$20.

Support
PluginSafeTesting & debuggingSome setup

playwright-skill

lackeyjb · lackeyjb/playwright-skill

A skill that enables coding agents to write and execute custom Playwright scripts for complex web flows.

General-purpose Playwright automation for coding agents

3.2k stars245License: MITUpdated 17 days ago0 opens

Preview

▍

What you can do with it

  • Create custom end-to-end test suites for web applications on the fly
  • Run interactive browser sessions where you can see the agent's actions
  • Record videos or capture network logs of specific web automation sequences

Safety check

Safe

No risky patterns found in the files we scanned.

Automated scan of the repo files. Always review code you run.

From the README

Playwright Skill

General-purpose Playwright automation for coding agents

An Agent Skill that enables coding agents to write and execute Playwright automation on the fly, from simple page tests to complex multi-step flows. It is also packaged as a Claude Code Plugin for convenient installation.

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
  • Portable executor - Runs file and inline scripts with stable module resolution
  • 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 contains a standard Agent Skill and a Claude Code plugin wrapper. The recommended installation method is Vercel's skills CLI, which installs skills into the native locations for supported agents.

Why this skill?

Use this skill when the agent needs to write a real Playwright program: loops, assertions, multiple contexts, network interception, screenshots, video, or a script you want to keep and rerun. It also provides dev-server detection and a small set of focused helpers.

For straightforward interactive browsing, start with Microsoft's official @playwright/cli and install its agent skills with playwright-cli install --skills. For tool-based browser control with accessibility snapshots, use playwright-mcp. This project is the code-first option when the automation itself is the useful artifact.

Understanding the Structure

This repository uses the plugin format with a nested structure:

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

The repository keeps the skill inside the plugin's skills/ directory. Installers handle that layout automatically; manual copying is only a fallback for clients without an installer.


Option 1: Install with skills (Recommended)

Install globally for your user:

npx skills add lackeyjb/playwright-skill --skill playwright-skill --global --yes

Install only for the current project by omitting --global:

npx skills add lackeyjb/playwright-skill --skill playwright-skill --yes

To target specific agents, add --agent followed by one or more agent IDs:

npx skills add lackeyjb/playwright-skill --skill playwright-skill --agent claude-code cursor --global --yes

After installation, run setup from the installed skill directory:

npm run setup

See the skills CLI documentation for supported agents and options.

Option 2: Claude Code Plugin

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

# 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 3: Other Agent Installations

Agent Skills are supported by Claude Code, Cursor, GitHub Copilot, Codex, Gemini CLI, OpenCode, and other clients. Install the directory containing SKILL.md using the client’s documented skill path. If a client has no installer, copy skills/playwright-skill/ into its documented skill directory and run npm run setup there.

Option 4: 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
  3. Navigate to the skill directory and run setup:
    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, ask your agent to test or automate a browser task. It will write custom Playwright code, execute it, and return results with screenshots and console output.

Usage Examples

Test Any Page

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

Visual Testing

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

Interaction Testing

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

Validation

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

How It Works

  1. Describe what you want to test or automate
  2. Your agent 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: 0ms by default; set SLOW_MO w
View source on GitHub