Expect — скилл

Скилл проверки кода агента в настоящем браузере: читает ваши изменения, составляет план теста и прогоняет его через Playwright с вашими куки

  • 3 561 ★ репозитория
  • Последний коммит
Скилл

Широкий доступ

Почему такой уровень

  • По умолчанию инструмент извлекает куки вашего браузера и открывает страницы под вашими учетными записями, отключается флагом `--no-cookies`
  • Скилл запускает подагентов и управляет браузером: кликает, заполняет формы и выполняет код на страницах
  • Установка идет через init-скрипт, который агент загружает с сайта
Все причины и проверки

millionco/expect

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add skills/expect

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • По умолчанию инструмент извлекает куки вашего браузера и открывает страницы под вашими учетными записями, отключается флагом `--no-cookies`
  • Скилл запускает подагентов и управляет браузером: кликает, заполняет формы и выполняет код на страницах
  • Установка идет через init-скрипт, который агент загружает с сайта

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Expect — скилл и консольная утилита `expect-cli` от Million Software. Он читает изменения в git, составляет по ним план проверки и прогоняет его в настоящем браузере через Playwright. Запускается команда /expect внутри Claude Code, Codex, GitHub Copilot, Gemini CLI, Cursor, OpenCode или Factory Droid, и Expect запускает подагентов, которые изображают реальных залогиненных пользователей. Найденные проблемы агент исправляет и перезапускает проверку. Среди проверок производительность (длинные кадры анимации, INP, LCP), безопасность (зависимости npm, CSRF, уязвимости), дизайн (сломанные состояния наведения, ссылки и кнопки) и полнота приложения (метаданные, мертвые ссылки). По умолчанию браузер открывается в окне, но есть режим без окна, подключение к уже запущенному Chrome по CDP и повторное использование профиля Chrome. Параметр `--ci` и команда `add github-action` переносят проверку в CI на каждый запрос на слияние.

Для кого. Для фронтенд-разработчиков и тестировщиков, которые правят интерфейс вместе с агентом и хотят проверять результат в браузере без написания скриптов.

Подходит, если

  • Агент поправил компонент или форму, и нужно убедиться, что страница работает в браузере
  • Вы не хотите поддерживать селекторы и утверждения в тестах Playwright или Cypress для каждой правки
  • Нужен прогон под залогиненным пользователем с куки из вашего браузера
  • Каждый запрос на слияние должен проверяться в CI автоматически, без окна браузера
  • Хочется быстро проверить LCP, INP, мертвые ссылки и метаданные нового экрана

Не подходит, если

  • Нужно тестировать мобильное приложение: поддержка мобильных устройств еще не вышла
  • Тест нужно запускать без доступа к вашим куки: отключите извлечение флагом `--no-cookies` или не берите инструмент
  • Нужен детерминированный регрессионный набор с фиксированными шагами: план генерирует агент под каждую правку
  • Ваш агент не входит в список поддерживаемых: Expect выбирает его автоматически среди семи провайдеров

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

/expect Проверь форму входа после моих правок: ошибки валидации, редирект после логина и мертвые ссылки на странице

Ограничения

Лицензия FSL-1.1-MIT, не чистая MIT, поэтому перед коммерческим использованием прочитайте ее условия. Поддержка мобильного тестирования и размещенная версия пока анонсированы как «скоро». Для работы нужен установленный агент из списка: Claude Code, Codex, GitHub Copilot, Gemini CLI, Cursor, OpenCode или Factory Droid. Результат зависит от плана, который строит модель, и от состояния вашего dev-сервера. Режим CI работает без куки, с автоматическим подтверждением плана и ограничением в 30 минут.

Как отключить. Удалите скилл expect из каталога скиллов вашего агента и снимите пакет командой `npm uninstall -g expect-cli`, если ставили его глобально. Workflow для GitHub Actions удалите из .github/workflows.

Частые вопросы

Как поставить Expect в Claude Code?

Попросите агента: «Fetch https://www.expect.dev/ and run init script». После установки в сессии Claude Code, Codex или другого поддерживаемого агента доступна команда /expect.

Чем Expect отличается от Playwright и Cypress?

В Playwright и Cypress вы пишете скрипты, поддерживаете селекторы и утверждения. Expect читает изменения кода, сам строит план проверки и запускает его в браузере через Playwright. Для разовой проверки правки не нужно писать ни одного теста.

Чем Expect отличается от агентов, которые управляют компьютером?

Общие инструменты работают по скриншотам и координатам мыши. Expect создан для тестов: быстро управляет DOM через Playwright, учитывает ваши правки, запускается с вашими куки и возвращает агенту отчет о том, что сломано.

Работает ли Expect в CI?

Да. Флаг `--ci` или команда `add github-action` запускают проверку без окна браузера и без куки, с автоматическим подтверждением плана и ограничением в 30 минут.

Какой агент использует Expect, если установлено несколько?

Он определяет доступные в `PATH` агенты автоматически и берет первый найденный. Конкретного провайдера задает параметр `-a`: `claude`, `codex`, `copilot`, `gemini`, `cursor`, `opencode` или `droid`.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы

Скилл, с которым агент пишет и запускает скрипты Playwright: тесты страниц, формы, скриншоты, проверки ссылок

СкиллШирокий доступ3,2 тыс.Звезды репозитория

Playwright CLI

playwright-cli

Официальный

Официальный CLI Playwright со скиллом для агентов: управление браузером короткими командами без тяжелых MCP-схем

CLIРасширенный доступ14,6 тыс.Звезды репозитория

Набор QA-агентов, скиллов и MCP-сервер: генерация тестов, поиск пробелов в покрытии, нестабильные тесты, безопасность и хаос-тестирование

ПлагинШирокий доступ514Звезды репозитория

Скилл состязательного аудита кода: Hunter ищет ошибки, Skeptic их оспаривает, Referee выносит вердикт, а правки без вашего разрешения не вносятся

СкиллРасширенный доступ528Звезды репозитория
Официальный

MCP-сервер, агент и скиллы для сквозных UI-тестов: агент управляет компьютером через компьютерное зрение на облачных машинах

MCP-серверШирокий доступ465Звезды репозитория

Один бинарник для автоматизации браузера агентом: CLI со скиллами browser и check, MCP-сервер и клиенты для JS, Python и Java

CLIШирокий доступ2,9 тыс.Звезды репозитория

Сравнение с похожими

Записи с тем же главным запросом: чем они отличаются.

ЗаписьОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
Expect (эта запись)нет3 561
Playwright CLIда14 557официальный CLI Playwright, которым агент управляет браузером командами; плана проверки под правки нет
BrowserTools MCPнетне нужна7 330отдает агенту консоль, сеть и аудиты Lighthouse открытого Chrome, но сам тесты не строит

Коротко о README

Краткое введение называет Expect скиллом для проверки кода агента в браузере и дает четыре шага запуска. Дальше идут ответы на вопросы о сравнении с Playwright и агентами для управления компьютером, о CI и мобильном тестировании. Таблицы описывают параметры командной строки и семь поддерживаемых агентов с командами их установки. Заканчивается раздел благодарностей проекту `dev-browser`.

Бейдж для README

Исходный SKILL.md

---
name: expect
description: "Use when editing .tsx/.jsx/.css/.html, React components, pages, routes, forms, styles, or layouts. Also when asked to test, verify, validate, QA, find bugs, check for issues, or fix expect-cli failures."
license: MIT
metadata:
  author: millionco
  version: "2.4.0"
---

# Expect

You verify code changes in a real browser before claiming they work. No browser evidence, no completion claim.

Use the expect MCP tools (`open`, `playwright`, `screenshot`, etc.) for all browser interactions. Do not use raw browser tools (Playwright MCP, chrome tools, etc.) unless the user explicitly asks.

## Subagent Usage

Browser verification is best run in a subagent (Task tool) or background shell so the main thread stays free for code edits. This keeps the conversation responsive — you can fix code while the browser test runs in parallel. Strongly prefer launching a subagent for browser work, especially when the test involves multiple steps or long interactions. If the test is truly trivial (single screenshot check), inline is acceptable.

## Resuming Browser State

Before opening a new browser, check if one is already running. Use `browser_tabs` (action `list`) or the expect `screenshot` tool to see if a session is still active. If a tab is already open at the target URL, reuse it — don't close and reopen. When re-verifying after a code fix, prefer navigating or refreshing the existing session over starting from scratch.

## Compounding

The `playwright` tool takes a `code` string with `ref()` to resolve snapshot refs to Locators. One call can do an entire interaction — fills, clicks, AND data collection. Use that.

**BAD — 5 tool calls:**

```
screenshot (snapshot)
playwright: await ref('e3').fill('Jane')
screenshot (snapshot)                        ← WHY? page didn't change
playwright: await ref('e5').fill('jane@example.com')
playwright: await ref('e7').click()
```

**GOOD — 2 tool calls:**

```
screenshot (snapshot)
playwright (snapshotAfter=true):
  await ref('e3').fill('Jane');
  await ref('e5').fill('jane@example.com');
  await ref('e7').click();

Сообщить о проблеме

Foxx AIExpect
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.