К основному содержанию
скилл Claude Code

pw-init — скилл для Claude Code: что делает и как установить

Разворачивает Playwright для сквозного тестирования в веб-проектах. Находит фреймворк, создаёт конфиг, структуру папок e2e, стартовый тест и пайплайн CI.

Установить в Claude Code · Через маркетплейс плагинов Все способы и платформы ↓
/plugin marketplace add alirezarezvani/claude-skills
/plugin install pw@claude-code-skills
Открыть на GitHub

Что делает pw-init

Скилл анализирует проект через субагент Explore: считывает package.json на наличие Next.js, React с Vite, Vue/Nuxt или Angular, проверяет наличие tsconfig.json и смотрит существующие тесты. Затем он запускает установку @playwright/test с системными браузерами и генерирует playwright.config.ts с подходящим портом локального сервера.

Дальше ассистент создаёт структуру директории e2e/ с фикстурами, Page Object и базовым тестом страницы, обновляет .gitignore и добавляет команды запуска в секцию scripts. Если обнаружена папка .github/workflows/ или конфигурация GitLab CI, скилл генерирует готовый файл пайплайна с сохранением артефактов отчётов.

В финале выполняется запуск npx playwright test, чтобы сразу проверить работоспособность сборки. Ставить скилл стоит тем, кто добавляет e2e-тесты в проект с нуля и не хочет тратить время на ручную подгонку конфигурации.

Какие задачи решает

  • развернуть окружение Playwright с готовой структурой каталогов e2e
  • сгенерировать playwright.config.ts под порты Next.js, Vite, Nuxt или Angular
  • добавить GitHub Actions или GitLab CI для сквозных тестов
  • настроить npm-скрипты для обычного, UI и отладочного запуска тестов

Примеры запросов агенту

  • set up playwright
  • add e2e tests
  • init playwright

Как установить pw-init

1Через маркетплейс плагинов

/plugin marketplace add alirezarezvani/claude-skills
/plugin install pw@claude-code-skills

Команда ставит плагин pw целиком, со всеми его скиллами

2Через Skills CLI (Vercel)

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

3Вручную: положить файлы

~/.claude/skills/pw-init/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/pw-init/

Из того же набора349

Весь набор →
engineering-skills Alireza Rezvani Каталог инженерных скиллов для Claude Code: помогает выбрать роль под задачу и загрузить только нужный SKILL.md. Подходит для архитектуры, тестов, DevOps и работы с данными. Claude Code 2 387установок finance-skills Alireza Rezvani Маршрутизирует финансовые запросы между тремя скиллами бандла: financial-analyst, saas-metrics-coach и month-end-close. Claude Code 2 312установок marketing-skills Alireza Rezvani Каталог и роутер для маркетинговых скиллов в Claude Code. Помогает выбрать нужный скилл для SEO, контента, CRO, каналов и других задач. Claude Code 2 264установок business-growth-skills Alireza Rezvani Маршрутизирует запросы по продажам и клиентскому сервису между четырьмя специализированными скиллами плагина в Claude Code. Claude Code 2 189установок engineering-advanced-skills Alireza Rezvani Индекс из 37 инженерных скиллов для архитектуры, автоматизации, надёжности и платформенных задач. Пригодится, когда проекту нужны отдельные рабочие сценарии. Claude Code 2 019установок product-skills Alireza Rezvani Оркестратор продуктовой работы для Claude Code. Маршрутизирует задачи между 16 направлениями и проверяет дерево возможностей скриптами. Claude Code 1 994установок pm-skills Alireza Rezvani Оркестрирует проектную работу через 8 PM-скиллов: Jira, Confluence, спринты, отчёты и коммуникации. Подходит для маршрутизации запросов и контроля delivery-цикла. Claude Code 1 975установок senior-backend Alireza Rezvani Скилл помогает проектировать архитектуру бэкенда, настраивать REST API и оптимизировать базы данных. Пригодится при создании роутов, ревью кода и нагрузочном тестировании. Claude Code 1 674установок

Похожие

android-performance официальный OpenAI Собирает профили Simpleperf, трейсы Perfetto и метрики gfxinfo через adb. Помогает найти тяжелые функции и зависания в Android-приложениях. CX Codex GP ChatGPT 19установок testing-data-visualizations официальный OpenAI Скилл выстраивает стратегию тестирования графиков, дашбордов и диаграмм в коде. Он помогает разделить проверки между юнит-тестами, E2E и визуальной регрессией без хрупких снепшотов. CX Codex GP ChatGPT 18установок agent-browser-verify официальный Vercel Labs Проверяет страницу запущенного dev-сервера через браузер: ищет ошибки и убеждается, что на ней отображаются ключевые элементы. Пригодится для визуальной проверки после запуска проекта. CX Codex GP ChatGPT 14установок design-qa официальный OpenAI Скилл для сопоставления макета с реализацией перед передачей в разработку. Работает с Figma, скриншотами и URL-адресами; ловит визуальные расхождения на уровне вёрстки, типографики и состояний. CX Codex GP ChatGPT 14установок microsoft-store-publisher официальный github Готовит Windows-приложение к публикации в Microsoft Store: проверяет MSIX, запускает WACK и ведёт работу с Partner Center. GitHub Copilot 3установок improve-codebase-architecture Matt Pocock Скилл ищет архитектурные узкие места в кодовой базе и показывает варианты углубления модулей в HTML-отчёте. Подойдёт для ревью перед рефакторингом. Claude Code 1 163 035установок design-taste-frontend Leonxlnx Скилл задаёт арт-дирекцию для публичных страниц и рабочих экранов, а затем проверяет результат в браузере по скриншотам. Нужен, когда интерфейс выглядит шаблонным или недоработанным. Claude Code CX Codex Cursor +1 673 100установок tdd Matt Pocock Скилл управляет циклом красный-зелёный в TDD: проверяет, что тесты пишутся до кода, держит их на уровне публичных интерфейсов и не завязывает на внутреннюю структуру. Claude Code 1 141 062установок

Вопросы о pw-init

Как установить pw-init в Claude Code?

Установите скилл командой npx skills add alirezarezvani/claude-skills --skill pw-init -a claude-code или добавьте каталог через /plugin marketplace add alirezarezvani/claude-skills.

Что делает pw-init?

Он определяет веб-фреймворк проекта, устанавливает пакеты Playwright, создаёт структуру папки e2e/, генерирует первый тест и настраивает конфигурацию для CI.

Как скилл настраивает локальный сервер в playwright.config.ts?

Конфигурация зависит от зависимостей в package.json: для Vite выставляется порт 5173, для Next.js и Nuxt — 3000, для Angular — 4200, а без распознанного фреймворка блок webServer исключается.

Исходный текст

SKILL.md · MIT
---
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`

© Alireza Rezvani · MIT · alirezarezvani/claude-skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой