Set up the Artillery Playwright reporter in an existing Playwright E2E test suite. Installs @artilleryio/playwright-reporter, configures it in playwright.config.ts, sets up Artillery Cloud API key, and runs the suite to verify reporting works. Use when the user wants to add Artillery Cloud reporting to their Playwright tests, monitor E2E test results in a dashboard, or integrate Playwright with Artillery Cloud.
Install with Tessl CLI
npx tessl i github:artilleryio/agent-skills --skill setup-artillery-playwright-reporter90
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillValidation for skill structure
You are setting up the Artillery Playwright reporter (https://artillery.io) for an existing Playwright E2E test suite. This reporter sends test results to Artillery Cloud for real-time viewing in a web dashboard. Follow the steps below. Ask the user questions at each decision point marked with DECISION.
Examine the project to determine:
playwright.config.ts (or playwright.config.js). If multiple configs exist, proceed to DECISION below.package-lock.json (npm), pnpm-lock.yaml (pnpm), yarn.lock (yarn), bun.lockb (bun).turbo.json, pnpm-workspace.yaml, lerna.json, or workspaces in package.json. Determine which workspace contains the Playwright test suite.playwright.config.ts already has a reporter section..env files, .env.local, .env.example, or other secret management approaches used in the project.DECISION — If multiple playwright.config.ts files exist, ask the user which one to target.
Install @artilleryio/playwright-reporter as a dev dependency using the detected package manager, in the correct workspace if applicable:
| Package manager | Command |
|---|---|
| npm | npm install -D @artilleryio/playwright-reporter |
| pnpm | pnpm add -D @artilleryio/playwright-reporter |
| yarn | yarn add -D @artilleryio/playwright-reporter |
| bun | bun add -D @artilleryio/playwright-reporter |
In a monorepo, run the install command in the workspace that contains the Playwright test suite (e.g. pnpm add -D --filter <workspace> @artilleryio/playwright-reporter).
Add @artilleryio/playwright-reporter to the reporter array in playwright.config.ts.
reporter section already existsAdd the Artillery reporter to the beginning of the existing array.
Before:
export default defineConfig({
reporter: [['html', { open: 'never' }], ['dot']],
});After:
export default defineConfig({
reporter: [
['@artilleryio/playwright-reporter', {}],
['html', { open: 'never' }],
['dot'],
],
});reporter section existsAdd a reporter property to the defineConfig object:
export default defineConfig({
// ... existing config ...
reporter: [
['@artilleryio/playwright-reporter', {}],
],
});The reporter accepts an optional name property to label the test suite in Artillery Cloud:
['@artilleryio/playwright-reporter', { name: 'My E2E Suite' }]Use a descriptive name based on the project or workspace name.
The reporter needs an ARTILLERY_CLOUD_API_KEY environment variable to send results to Artillery Cloud.
DECISION — Ask the user:
.env / .env.local files are used: add ARTILLERY_CLOUD_API_KEY=<key> to the appropriate .env file. Verify it is listed in .gitignore..env pattern exists: instruct the user to export it in their shell:
export ARTILLERY_CLOUD_API_KEY=<their-key>Run the Playwright test suite to verify the reporter works. Use the project's existing test command — check package.json scripts for a Playwright test command (e.g. npm test, npm run test:e2e). If none exists, use:
npx playwright testThe Artillery Playwright reporter will print a URL to the Artillery Cloud dashboard where the test results can be viewed in real time.
Tell the user:
npx playwright test run will automatically report to Artillery Cloud as long as the API key is set.d40c764
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.