Set up Playwright in a project. An agent skill from alirezarezvani/claude-skills.

MITAuto-check passedTesting & QA

Install Pw Init

skills CLI
$ npx skills add alirezarezvani/claude-skills --skill pw-init -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install alirezarezvani/claude-skills pw-init --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/alirezarezvani/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/engineering-team/playwright-pro/skills/pw-init .claude/skills/pw-init && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
pw-init
GitHub stars
28k
Used in
1 other repo
Token cost
~1.2k tokens
SKILL.md length
239 words
Files
1
Skills in repo
342
Repo updated
First seen
Licence
MIT

At a glance

Set up Playwright in a project. An agent skill from alirezarezvani/claude-skills.

  • Works in 9 steps: Analyze the Project → Install Playwright → Generate playwright.config.ts → …
  • User says set up playwright
  • SKILL.md covers Steps and Output
  • Calls npm and npx

What it does

Pw Init is an agent skill from alirezarezvani/claude-skills. Set up Playwright in a project. Use when user says "set up playwright", "add e2e tests", "configure playwright", "testing setup", "init playwright", or "add test infrastructure".

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Testing & QA, covering Browser testing and End-to-end testing. It works with Playwright and npm. The repository describes itself as: 380 Claude Code skills & agent skills & plugins (30+ Agents, 70+ custom commands, 380+ skills, customizable references, scripts)for Claude Code, Codex, Gemini CLI, Cursor, and 8… The licence is MIT.

When your agent uses it

  • User says set up playwright
  • Configure playwright
  • Init playwright
  • Add test infrastructure

Example prompts

  • “set up playwright”
  • “add e2e tests”
  • “configure playwright”
  • “/pw-init”

Requirements

  • Node.js

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. Analyze the Project
  2. Install Playwright
  3. Generate playwright.config.ts
  4. Create Folder Structure
  5. Generate Example Test
  6. Generate CI Workflow
  7. Update .gitignore
  8. Add npm Scripts
  9. Verify Setup

What it can do on your machine

Read from SKILL.md and the folder at commit 19392f7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npm
    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm and npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Pw Init loads about 1.2k tokens when it runs. Until then it costs about 47 tokens; SKILL.md has 239 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~47
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from alirezarezvani/claude-skills at commit 19392f7, republished under its MIT licence (© alirezarezvani). 239 words, ~1,162 tokens.

Download SKILL.mdSave it as .claude/skills/pw-init/SKILL.md (or your agent's skills folder).
name
pw-init
description
Set up Playwright in a project. Use when user says "set up playwright", "add e2e tests", "configure playwright", "testing setup", "init playwright", or "add test infrastructure".

Initialize Playwright Project

Set up a production-ready Playwright testing environment. Detect the framework, generate config, folder structure, example test, and CI workflow.

Steps

1. Analyze the Project

Use the Explore subagent to scan the project:

  • Check package.json for framework (React, Next.js, Vue, Angular, Svelte)
  • Check for tsconfig.json → use TypeScript; otherwise JavaScript
  • Check if Playwright is already installed (@playwright/test in dependencies)
  • Check for existing test directories (tests/, e2e/, __tests__/)
  • Check for existing CI config (.github/workflows/, .gitlab-ci.yml)
2. Install Playwright

If not already installed:

bash
npm init playwright@latest -- --quiet

Or if the user prefers manual setup:

bash
npm install -D @playwright/test
npx playwright install --with-deps chromium
3. Generate playwright.config.ts

Adapt to the detected framework:

Next.js:

typescript
import { defineConfig, devices } from '@playwright/test';

export default defineConfig({
  testDir: './e2e',
  fullyParallel: true,
  forbidOnly: !!process.env.CI,
  retries: process.env.CI ? 2 : 0,
  workers: process.env.CI ? 1 : undefined,
  reporter: [
    ['html', { open: 'never' }],
    ['list'],
  ],
  use: {
    baseURL: 'http://localhost:3000',
    trace: 'on-first-retry',
    screenshot: 'only-on-failure',
  },
  projects: [
    { name: "chromium", use: { ...devices['Desktop Chrome'] } },
    { name: "firefox", use: { ...devices['Desktop Firefox'] } },
    { name: "webkit", use: { ...devices['Desktop Safari'] } },
  ],
  webServer: {
    command: 'npm run dev',
    url: 'http://localhost:3000',
    reuseExistingServer: !process.env.CI,
  },
});

React (Vite):

  • Change baseURL to http://localhost:5173
  • Change webServer.command to npm run dev

Vue/Nuxt:

  • Change baseURL to http://localhost:3000
  • Change webServer.command to npm run dev

Angular:

  • Change baseURL to http://localhost:4200
  • Change webServer.command to npm run start

No framework detected:

  • Omit webServer block
  • Set baseURL from user input or leave as placeholder
4. Create Folder Structure
e2e/
├── fixtures/
│   └── index.ts          # Custom fixtures
├── pages/
│   └── .gitkeep          # Page object models
├── test-data/
│   └── .gitkeep          # Test data files
└── example.spec.ts       # First example test
5. Generate Example Test
typescript
import { test, expect } from '@playwright/test';

test.describe('Homepage', () => {
  test('should load successfully', async ({ page }) => {
    await page.goto('/');
    await expect(page).toHaveTitle(/.+/);
  });

  test('should have visible navigation', async ({ page }) => {
    await page.goto('/');
    await expect(page.getByRole('navigation')).toBeVisible();
  });
});
6. Generate CI Workflow

If .github/workflows/ exists, create playwright.yml:

yaml
name: "playwright-tests"

on:
  push:
    branches: [main, dev]
  pull_request:
    branches: [main, dev]

jobs:
  test:
    timeout-minutes: 60
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: lts/*
      - name: "install-dependencies"
        run: npm ci
      - name: "install-playwright-browsers"
        run: npx playwright install --with-deps
      - name: "run-playwright-tests"
        run: npx playwright test
      - uses: actions/upload-artifact@v4
        if: ${{ !cancelled() }}
        with:
          name: "playwright-report"
          path: playwright-report/
          retention-days: 30

If .gitlab-ci.yml exists, add a Playwright stage instead.

7. Update .gitignore

Append if not already present:

/test-results/
/playwright-report/
/blob-report/
/playwright/.cache/
8. Add npm Scripts

Add to package.json scripts:

json
{
  "test:e2e": "playwright test",
  "test:e2e:ui": "playwright test --ui",
  "test:e2e:debug": "playwright test --debug"
}
9. Verify Setup

Run the example test:

bash
npx playwright test

Report the result. If it fails, diagnose and fix before completing.

Output

Confirm what was created:

  • Config file path and key settings
  • Test directory and example test
  • CI workflow (if applicable)
  • npm scripts added
  • How to run: npx playwright test or npm run test:e2e

© alirezarezvani, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in engineering-team/playwright-pro/skills/pw-init of alirezarezvani/claude-skills.

Open the folder on GitHubat commit 19392f7

Used in 1 other repository

We found 2 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in alirezarezvani/claude-skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Pw Init next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Pw Init compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Pw Init this skillalirezarezvani/claude-skills28k1 repos~1.2kAutomated safety check: PassMIT
PlaywrightKiln-AI/Kiln5.2k—~1.3kAutomated safety check: PassCustom licence
Proxy Setupasmyshlyaev177/test-proxy-recorder112—~4.3kAutomated safety check: PassMIT
Dev Webtestclassmethod/tsumiki974—~4.2kAutomated safety check: PassMIT
Nix Playwrightsrid/emanote963—~557Automated safety check: PassCustom licence
Run Dashboard E2E Local ChangesBlackBeltTechnology/pi-agent-dashboard315—~1.3kAutomated safety check: PassMIT

Similar skills

  • Playwright

    Kiln-AI/Kiln

    Look at Kiln's UI in a real browser, and run its end-to-end tests.

    5.2k GitHub stars~1.3k tokensUpdated today
    Testing & QAAuto-check passed
  • Proxy Setup

    asmyshlyaev177/test-proxy-recorder

    Set up test-proxy-recorder for any Playwright project. An agent skill from asmyshlyaev177/test-proxy-recorder.

    112 GitHub stars~4.3k tokensUpdated 5 days ago
    Testing & QAAuto-check passed
  • Dev Webtest

    classmethod/tsumiki

    This skill should be used when the user asks to "dev-webtest", "Webテスト", "画面の動作確認", "E2Eテスト", "web test", "visual check", "モンキーテスト", "アクセシビリティチェック", "レスポンシブテスト", "フォームテスト".

    974 GitHub stars~4.2k tokensUpdated 2 mo ago
    Testing & QAAuto-check passed
  • Nix Playwright

    srid/emanote

    Use this when adding Nix-based local runs for an existing Playwright e2e suite.

    963 GitHub stars~557 tokensUpdated 2 mo ago
    Testing & QAAuto-check passed
  • Run Dashboard E2E Local Changes

    BlackBeltTechnology/pi-agent-dashboard

    Run Playwright E2E (tests/e2e/) against the docker/ all-in-one harness so it reflects LOCAL code changes, not a stale cached image.

    315 GitHub stars~1.3k tokensUpdated today
    Testing & QAAuto-check passed
  • Activitypub Testing

    Microck/ordinary-claude-skills

    Testing patterns for PHPUnit and Playwright E2E tests. An agent skill from Microck/ordinary-claude-skills.

    403 GitHub stars~712 tokensUpdated 1 mo ago
    Testing & QAAuto-check passed

More from alirezarezvani/claude-skills

All 342 skills in this repo
  • Agile Product Owner

    alirezarezvani/claude-skills

    Writes INVEST-checked user stories with acceptance criteria, splits epics, plans sprints from velocity and ranks the backlog with a weighted score.

    28k GitHub starsUsed in 3 repos~3.2k tokens
    Auto-check passed
  • Product Strategist

    alirezarezvani/claude-skills

    OKR cascade toolkit for product leaders: generates aligned company-to-team OKRs from five strategy types and scores how well they line up.

    28k GitHub starsUsed in 2 repos~1.8k tokens
    Auto-check passed
  • App Store Optimization

    alirezarezvani/claude-skills

    App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store.

    28k GitHub starsUsed in 1 repo~4.2k tokens
    Auto-check passed
  • AWS Solution Architect

    alirezarezvani/claude-skills

    Design AWS architectures for startups using serverless patterns and IaC templates.

    28k GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • Campaign Analytics

    alirezarezvani/claude-skills

    Calculates attribution, funnel and ROI figures for marketing campaigns with three Python scripts that need only the standard library.

    28k GitHub starsUsed in 1 repo~2.1k tokens
    Auto-check passed
  • Code to PRD

    alirezarezvani/claude-skills

    Reverse-engineers a frontend, backend or fullstack codebase into a product requirements document with per-page docs, an enum dictionary and an API inventory.

    28k GitHub starsUsed in 1 repo~4.9k tokens
    Auto-check passed

Works with

Categories

Questions about Pw Init

What does Pw Init do?

Set up Playwright in a project. An agent skill from alirezarezvani/claude-skills. Pw Init is an agent skill from alirezarezvani/claude-skills. Set up Playwright in a project.

When should I use Pw Init?

Pw Init fits situations like: user says set up playwright; configure playwright; init playwright; add test infrastructure.

How do I install Pw Init in Claude Code?

Run `npx skills add alirezarezvani/claude-skills --skill pw-init -a claude-code`. Or copy the skill folder (engineering-team/playwright-pro/skills/pw-init in alirezarezvani/claude-skills) into .claude/skills/pw-init in your project. Claude Code loads it when a task matches its description.

How do I install Pw Init in Codex?

Run `npx skills add alirezarezvani/claude-skills --skill pw-init -a codex`. Or copy the skill folder (engineering-team/playwright-pro/skills/pw-init in alirezarezvani/claude-skills) into .agents/skills/pw-init in your project. Codex loads it when a task matches its description.

Can I use Pw Init in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add alirezarezvani/claude-skills --skill pw-init -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pw-init, .gemini/skills/pw-init, .github/skills/pw-init and .opencode/skills/pw-init in your project.

What does Pw Init need to run?

Going by SKILL.md and its folder, Pw Init needs the command-line tools its instructions call (npm and npx). Our summary lists: Node.js.

Does Pw Init access the network?

SKILL.md contains no URLs. Its commands use npm and npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Pw Init safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Pw Init use?

Pw Init is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Pw Init use?

About 1.2k tokens (SKILL.md is roughly 4.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Pw Init?

Skills that share tags, products or a category with Pw Init: Playwright (Kiln-AI/Kiln, 5.2k stars), Proxy Setup (asmyshlyaev177/test-proxy-recorder, 112 stars), Dev Webtest (classmethod/tsumiki, 974 stars) and Nix Playwright (srid/emanote, 963 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Pw Init?

alirezarezvani (a GitHub user) maintains it in alirezarezvani/claude-skills, which has 27,829 GitHub stars. The repository holds 342 skills in this directory. The repository was last updated on August 30, 2026.

Source: alirezarezvani/claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.