К основному содержанию
скилл Claude Code CX Codex Cursor GitHub Copilot

browser-automation · sickn33 — скилл Claude Code: установка и работа

Скилл помогает проверять браузерные сценарии по состоянию интерфейса и результату операции. Подходит для UI-тестов, диагностики таймингов и разрешённого сбора данных.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add sickn33/agentic-awesome-skills --skill browser-automation -a claude-code
Открыть на GitHub

Что делает browser-automation

Скилл строит браузерные проверки на наблюдаемом состоянии страницы, семантических локаторах и ограниченных ожиданиях. Он предлагает выбирать инструмент из уже доступных в проекте: Playwright, Puppeteer или Selenium. Для тестов использует изолированные контексты, чтобы cookies и хранилище одного сценария не влияли на другой.

В примерах с Playwright проверяются действия с корзиной, формы и экспорт JSON. Перед скачиванием нужно зарегистрировать событие загрузки, затем осмотреть файл и подтвердить результат. Локаторы выбираются по роли, тексту, label или placeholder; test ID используется, когда пользовательский вариант не подходит. CSS-селекторы, XPath и автоматически созданные селекторы помечены как хрупкие.

Перед работой нужны запущенное приложение, доступный браузер, импорты проекта, runner и fixture routes. Сам скилл ничего из этого не устанавливает. Auto-waiting проверяет готовность действия, но не успешную запись на сервер, а повтор checkout, удаления или отправки сообщения способен создать побочный эффект. Это повод проверять состояние перед повтором.

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

  • проверить пользовательский сценарий в браузере
  • изолировать данные между UI-тестами
  • подобрать локатор по роли или label
  • подтвердить скачивание и содержимое JSON
  • диагностировать сбой из-за тайминга интерфейса

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

  • Проверь сценарий добавления товара в корзину через доступный браузер и подтверди итоговое состояние счётчика.
  • Напиши тест Playwright для экспорта JSON: дождись загрузки, проверь содержимое файла и убедись, что изменение формы делает старый preview недействительным.
  • Исследуй текущую страницу, выбери семантические локаторы и проверь клавиатурный фокус на desktop и mobile viewport.

Как установить browser-automation

1Через Skills CLI (Vercel)

npx skills add sickn33/agentic-awesome-skills --skill browser-automation -a claude-code

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

~/.claude/skills/browser-automation/SKILL.md

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

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

Весь набор →

Другие версии browser-automation

Похожие

solidity-security Seth Hobson Скилл помогает писать и проверять Solidity-контракты с учётом типовых уязвимостей. Пригодится для аудита, DeFi и подготовки к профессиональной проверке. Claude Code CX Codex Cursor 15 382установок deepeval Confident AI Скилл настраивает тестирование AI-агентов и RAG через DeepEval. Помогает собирать тестовые наборы и запускать проверки через pytest. Claude Code CX Codex Cursor +1 2 800установок accessibility-compliance Seth Hobson Скилл помогает проверять доступность интерфейсов и исправлять проблемы с клавиатурной навигацией, экранными дикторами и формами. Подключайте его при работе с WCAG 2.2. Claude Code CX Codex Cursor 14 596установок golang-troubleshooting samber Систематический поиск причин падений, гонок данных и утечек памяти в коде на Go. Помогает пошагово воспроизвести баг тестом и разобрать трейс вместо правок наугад. Claude Code CX Codex Cursor +1 39 800установок golang-cli samber Скилл помогает создавать, изменять и проверять CLI-приложения на Go: команды, флаги, конфигурацию, сигналы и тесты. Claude Code CX Codex Cursor +1 39 300установок golang-stretchr-testify samber Направляет агента при написании тестов на Go с библиотекой stretchr/testify. Помогает разделять assert и require, строить моки и запускать тестовые сьюты. Claude Code CX Codex Cursor +1 39 200установок improve-codebase-architecture Matt Pocock Скилл ищет архитектурные узкие места в кодовой базе и показывает варианты углубления модулей в HTML-отчёте. Подойдёт для ревью перед рефакторингом. Claude Code 1 163 035установок design-taste-frontend Leonxlnx Скилл задаёт арт-дирекцию для публичных страниц и рабочих экранов, а затем проверяет результат в браузере по скриншотам. Нужен, когда интерфейс выглядит шаблонным или недоработанным. Claude Code CX Codex Cursor +1 673 100установок

Вопросы о browser-automation

Как установить browser-automation в Claude Code?

Выполните npx skills add sickn33/agentic-awesome-skills --skill browser-automation -a claude-code, затем повторите npx skills add sickn33/agentic-awesome-skills --skill browser-automation -a claude-code. Файл скилла будет доступен по пути ~/.claude/skills/browser-automation/SKILL.md.

Что делает browser-automation?

Скилл помогает создавать проверки браузерных сценариев с наблюдением состояния интерфейса, семантическими локаторами, ограниченными ожиданиями и явной проверкой результата. Он также описывает изоляцию тестовых данных и ограничения повторных действий.

Что нужно для запуска примеров browser-automation?

Нужны запущенное приложение, доступный браузер, импорты проекта, runner и fixture routes. Примеры используют Playwright, Puppeteer или Selenium в зависимости от уже выбранной интеграции.

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

SKILL.md · MIT
---
name: browser-automation
description: Build reliable browser checks using observed UI state, semantic locators, bounded waits, isolated test data and explicit outcome verification.
risk: critical
source: vibeship-spawner-skills (Apache 2.0)
date_added: 2026-02-27
---

# Browser Automation

Use the browser tool already selected by the user or installed in the project. Playwright, Puppeteer and Selenium have different integrations; choose from actual requirements rather than unsupported success-rate claims. Modified by AAS maintainers on 2026-09-05: removed unverified comparisons and bypass defaults, clarified waiting and evidence limits.

Separate tests of applications you control from interaction with an existing authenticated browser. Do not replace the latter with a fresh unauthenticated session or extract credentials to make an automation test work.

## Detailed Guide

Read [the detailed guide](references/detailed-guide.md) before executing this skill. It retains the complete procedure and reference material. Treat its safety, prerequisites, and validation requirements as mandatory. For focused work, load the relevant sections; for end-to-end work, read the guide completely.

## Playwright Test Example
"""
import { test, expect } from '@playwright/test';

// Each test runs in isolated browser context
test('user can add item to cart', async ({ page }) => {
  // Fresh context - no cookies, no storage from other tests
  await page.goto('/products');
  await page.getByRole('button', { name: 'Add to Cart' }).click();
  await expect(page.getByTestId('cart-count')).toHaveText('1');
});

test('user can remove item from cart', async ({ page }) => {
  // Completely isolated - cart is empty
  await page.goto('/cart');
  await expect(page.getByText('Your cart is empty')).toBeVisible();
});
"""

## Good Examples (User-Facing)
"""
// By role - THE BEST CHOICE
await page.getByRole('button', { name: 'Submit' }).click();
await page.getByRole('link', { name: 'Sign up' }).click();
await expect(page.getByRole('heading', { name: 'Dashboard' })).toBeVisible();
await page.getByRole('textbox', { name: 'Search' }).fill('query');

// By text content
await expect(page.getByText('Welcome back')).toBeVisible();
await page.getByText(/Order #\d+/).click();  // Regex supported

// By label (forms)
await page.getByLabel('Email address').fill('[email protected]');
await page.getByLabel('Password').fill('secret');

// By placeholder
await page.getByPlaceholder('Search...').fill('query');

// By test ID (when no user-facing option works)
await page.getByTestId('submit-button').click();
"""

## Bad Examples (Fragile)
"""
// DON'T - CSS selectors tied to structure
await page.locator('.btn-primary.submit-form').click();
await page.locator('#header > div > button:nth-child(2)').click();

// DON'T - XPath tied to structure
await page.locator('//div[@class="form"]/button[1]').click();

// DON'T - Auto-generated selectors
await page.locator('[data-v-12345]').click();
"""

## When to Use

Use to verify a real browser workflow, diagnose a UI timing failure or collect explicitly authorized page data. Inspect the current page and available tool APIs before selecting locators or actions.

## Worked example and prerequisites

Input: exporting a reviewed JSON file from a local web app. Have the app running, the intended browser available and a synthetic form value. Observe the export control, register the download event before clicking, inspect the downloaded JSON and confirm that editing the input invalidates the old preview. Expected: one file containing the reviewed value, with no hidden project data or network submission.

Use explicit desktop/mobile viewports and inspect keyboard/focus behavior when the task includes usability. A locked desktop leaves interactive verification pending; unit tests and headless probes are separate evidence.

## Limitations

- Auto-waiting checks actionability, not business correctness or successful backend writes.
- Screenshots, HTML, traces and auth-state files may contain private information; capture only the authorized scope.
- Retrying a read can be safe; retrying checkout, deletion or sending a message may duplicate a side effect. Verify state before repeating it.
- Resource blocking and mocked responses change the environment and cannot establish unmodified production behavior.
- Examples require the project’s imports, runner and fixture routes; no browser, service or account is installed by this skill.

© sickn33 · MIT · sickn33/agentic-awesome-skills

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

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

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