browser-automation · sickn33 — скилл Claude Code: установка и работа
Скилл помогает проверять браузерные сценарии по состоянию интерфейса и результату операции. Подходит для UI-тестов, диагностики таймингов и разрешённого сбора данных.
npx skills add sickn33/agentic-awesome-skills --skill browser-automation -a claude-codeЧто делает 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-code2Вручную: положить файлы
~/.claude/skills/browser-automation/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/browser-automation/
1Через Skills CLI (Vercel)
npx skills add sickn33/agentic-awesome-skills --skill browser-automation -a codex2Вручную: положить файлы
.agents/skills/browser-automation/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add sickn33/agentic-awesome-skills --skill browser-automation -a cursor2Вручную: положить файлы
.cursor/skills/browser-automation/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install sickn33/agentic-awesome-skills browser-automation2Вручную: положить файлы
.github/skills/browser-automation/SKILL.md1Через Skills CLI (Vercel)
npx skills add sickn33/agentic-awesome-skills --skill browser-automation -a gemini-cli2Командой платформы
gemini skills install https://github.com/sickn33/agentic-awesome-skills --path skills/browser-automationВручную: положить файлы
.devin/skills/browser-automation/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add sickn33/agentic-awesome-skills --skill browser-automation -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Из того же набора3
Весь набор →Другие версии browser-automation
Похожие
Вопросы о 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