.claude/skills/replay-playwright/SKILL.md
Set up and run Playwright tests with Replay Browser to record test executions for debugging and performance analysis.
npx skillsauth add blackgirlbytes/team-starter-repo replay-playwrightInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Description: Use when the user wants to set up Replay for Playwright tests, configure the Replay Playwright plugin, or run Playwright tests with the Replay Browser. Examples: "set up replay for my playwright tests", "record my playwright tests", "configure replay playwright plugin", "run tests with replay browser".
Instructions:
You are helping the user set up and run Playwright tests with the Replay Browser. Here is the complete reference:
npm install --save-dev @replayio/playwright
# or
yarn add --dev @replayio/playwright
# or
pnpm add --save-dev @replayio/playwright
# or
bun add --dev @replayio/playwright
npx replayio install
Create a Test Suite Team at https://app.replay.io/team/new/tests to generate an API key.
Store the API key using one of these methods:
.env file (recommended): Add REPLAY_API_KEY=<your_api_key> to your .env file and use the dotenv package to load it.export REPLAY_API_KEY=<your_api_key>set REPLAY_API_KEY=<your_api_key>Update playwright.config.ts to use the Replay reporter and Replay Chromium browser:
import { replayReporter, devices as replayDevices } from "@replayio/playwright";
const config: PlaywrightTestConfig = {
reporter: [
replayReporter({
apiKey: process.env.REPLAY_API_KEY,
upload: true,
}),
["line"],
],
projects: [
{
name: "replay-chromium",
use: { ...replayDevices["Replay Chromium"] },
},
],
};
Key configuration details:
replayReporter handles uploading recordings after test runsupload: true automatically uploads recordings when tests finishreplay-chromium project uses the Replay Browser to capture recordingsreplay-chromium for regular test runsRun Playwright tests with the Replay Browser:
npx playwright test --project replay-chromium
Recordings are automatically uploaded when upload: true is set in the reporter config.
Set up Replay for an existing Playwright project:
npm install --save-dev @replayio/playwrightnpx replayio installplaywright.config.ts with the Replay reporter and projectREPLAY_API_KEY environment variablenpx playwright test --project replay-chromiumWhen modifying the user's playwright.config.ts:
replayReporter and devices as replayDevices from @replayio/playwrightdefineConfig, add the Replay project to the existing projects arrayreplayReporter to the existing arrayRun Replay MCP Server to debug your recored application to install the MCP server in Claude, run the following command:
claude --mcp-config "{
"mcpServers": {
"replay": {
"type": "http",
"url": "https://dispatch.replay.io/nut/mcp",
"headers": {
"Authorization": "${REPLAY_API_KEY}"
}
}
}
}"
If the Replay browser runs tests successfully but no recordings appear (replayio list shows nothing),
the recording driver likely failed to load.
Run the Replay browser directly with recording enabled and check stderr:
RECORD_ALL_CONTENT=1 $(node -e "console.log(require('os').homedir() + '/.replay/runtimes/chrome-linux/chrome')") --headless https://google.com
If the recording driver loads correctly, you should see no DoLoadDriverHandle errors. There should be recordings available from replayio list
If you see:
DoLoadDriverHandle: dlopen failed ... libcrypto.so.1.1: cannot open shared object file
The Replay recording driver requires OpenSSL 1.1, but the system only has OpenSSL 3.
Download the Ubuntu 18.04 libssl1.1 package and extract the libraries:
curl -sL -o /tmp/libssl1.1.deb \
http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1-1ubuntu2.1~18.04.23_amd64.deb
dpkg-deb -x /tmp/libssl1.1.deb $HOME/.local/openssl11
rm /tmp/libssl1.1.deb
Then set LD_LIBRARY_PATH before launching the browser:
export LD_LIBRARY_PATH=$HOME/.local/openssl11/usr/lib/x86_64-linux-gnu
Verify the fix by running the diagnostic command again — the DoLoadDriverHandle error should be gone.
This should be set in launchOptions.env in your Playwright config, or globally via the Dockerfile.
development
Manages shadcn components and projects — adding, searching, fixing, debugging, styling, and composing UI. Provides project context, component docs, and usage examples. Applies when working with shadcn/ui, component registries, presets, --preset codes, or any project with a components.json file. Also triggers for "shadcn init", "create an app with --preset", or "switch to --preset".
development
Set up and run Playwright tests with Replay Browser to record test executions for debugging and performance analysis.
tools
Use Replay MCP to inspect the contents of https://replay.io recordings.
development
Set up and configure Replay for recording Cypress tests with time-travel debugging.