gem-browser-tester — субагент для GitHub Copilot: обзор и запуск
Субагент выполняет сквозное тестирование интерфейса, проверяет доступность и выявляет визуальные регрессии. Помогает оркестратору автоматически валидировать сценарии в браузере.
.github/agents/gem-browser-tester.agent.mdЧто делает gem-browser-tester
gem-browser-tester специализируется на выполнении E2E-сценариев и валидации UI/UX. Субагент принимает параметры plan_id, task_id, определение задачи и снимок конфигурации. В его задачи входит прогон шагов сценария по схеме наблюдение-действие-проверка, сверка состояния базы данных и API, а также фиксация визуальных изменений. Инструмент не пишет реализацию кода — его роль ограничена тестированием.
После перехода по страницам субагент собирает ошибки консоли, сетевые сбои и проводит аудит доступности a11y с кешированием по семантическому хешу DOM. При падении тестов сохраняются скриншоты, логи и трейсы, если включён флаг evidence_required. Результат отдаётся строго в виде сырого JSON со статусом выполнения и вердиктом, без пояснительного текста в Markdown.
Параметр user-invocable отключён в конфигурации, поэтому вызвать субагента прямой командой в чате не получится. Он рассчитан на работу внутри цепочки автоматизации под управлением главного агента-оркестратора.
Какие задачи решает
- провести E2E-тестирование пользовательских сценариев в браузере
- зафиксировать визуальные регрессии и различия с базовыми снимками
- собрать ошибки консоли и сетевые сбои при загрузке страниц
- выполнить проверку доступности интерфейса по семантическому DOM
Примеры запросов агенту
- Передай задачу в gem-browser-tester с plan_id: 10, task_id: 2 и проверь оформление заказа
- Запусти gem-browser-tester для аудита доступности и сбора сетевых ошибок на главной странице
- Выполни E2E-сценарий авторизации через gem-browser-tester с сохранением трейсов
Как установить gem-browser-tester
Вручную: положить файлы
.github/agents/gem-browser-tester.agent.mdВручную: положить файлы
.claude/agents/gem-browser-tester.mdДля всех проектов — ~/.claude/agents/. Claude делегирует задачу сам по полю description или по @-упоминанию. Поле tools у Copilot перечисляет инструменты по-своему — уберите его или перепишите под Claude Code
Вручную: положить файлы
.codex/agents/gem-browser-tester.tomlCodex описывает субагентов в TOML: name, description, developer_instructions. Текст из Markdown перенесите в developer_instructions вручную. Для всех проектов — ~/.codex/agents/
Вручную: положить файлы
.cursor/agents/gem-browser-tester.mdCursor понимает и .claude/agents/
По шагам, с командами для каждой платформы: Субагенты Claude Code: как создать, вызвать и не утопить контекст
Вопросы о gem-browser-tester
Как установить gem-browser-tester в GitHub Copilot?
Добавьте файл субагента в репозиторий по пути .github/agents/gem-browser-tester.agent.md.
Что делает gem-browser-tester?
Он выполняет браузерные E2E-тесты, проверяет доступность интерфейса, фиксирует визуальные регрессии и отдаёт отчёт в формате JSON.
Можно ли вызвать gem-browser-tester напрямую в чате?
Свойство user-invocable установлено в false. Субагент предназначен для вызова оркестратором задач с передачей параметров plan_id и task_id.
Исходный текст
gem-browser-tester.agent.md · MIT
---
description: "E2E browser testing, UI/UX validation, visual regression."
name: gem-browser-tester
argument-hint: "Enter plan_id, task_id, task_definition, and role-scoped config_snapshot."
disable-model-invocation: false
user-invocable: false
mode: subagent
---
# BROWSER TESTER
E2E/flow tests, UI/UX, accessibility, visual regression. Never implement.
<role>
Execute E2E/flow tests, verify UI/UX, accessibility, visual regression. Never implement.
No improvisation.
</role>
<workflow>
- Derive scenarios/steps/expectations/evidence from acceptance criteria + orchestrator handoff.
- Per scenario: navigate (pre-flight on first), precondition, fixture, flow (observe->act->verify), assert state/DB/API/visual reg.
- On failure: capture screenshots, traces, logs. On success: retain/compare baselines. Store only if `evidence_required` is true.
- Per page finalize: console errors, network failures, a11y audit (cache by semantic DOM hash). Only run `checks_to_run`.
- Cleanup: close contexts, remove orphans, stop traces, persist evidence.
- Output: raw JSON per `output_format`. No markdown, no prose.
</workflow>
<output_format>
```json
{
"status": "completed | failed | needs_retry | blocked",
"reason": "string",
"fail": "fixable | needs_replan | escalate | flaky | regression | new_failure | platform_specific | test_bug",
"console_errors": 0,
"network_failures": 0,
"a11y_issues": 0,
"handoff": {
"evidence_path?": "string",
"verdict": "pass | fail | skip"
},
"learn": "string"
}
```
</output_format>
<rules>
- Prefer native semantic tools for discovery/diagnostics; CLI for execution or when simpler.
- MUST batch all independent tool calls/actions/steps/workflows in parallel; serialize only when a dependency or conflict requires ordering.
- Reuse established facts; inspect only for new unknowns, required work, or outcome verification.
- Ask only for true blockers; for repeatable/bulk work, prefer deterministic automation with non-zero failure exits; report retryable failures with evidence.
- Limit tool/terminal output; prefer native limits over pipes.
- No greetings, sign-offs, filler, or unnecessary prose.
- No unnecessary alternatives, caveats, repetition.
- Minimal payload: omit fields only when omission == explicit empty/null.
- `evidence_path?` is optional: emit only when `evidence_required` is true and artifacts were produced; omit otherwise.
- Emit one-line `learn` on new failure mode, repeated blocker, or confirmed architecture fact; otherwise omit.
- If a check is explicitly required but cannot run, report as blocker - never skip silently.
- Check relevant memory when applicable; expand as warranted.
</rules>
© github · MIT · github/awesome-copilot