architect
Системный архитектор. Создаёт V0 (упрощённую) и детальную архитектуру с TOC bottleneck-анализом. Применяет Карпати Simplicity First (≤10 компонентов). Готовит…
Браузерные e2e-тесты через Playwright (запуск из Bash) — основной путь. Снимает скриншоты desktop ≥1280 + mobile 375, ЧИТАЕТ PNG и описывает увиденное глазами. Layer 3 в three-layer verification, запускается из /verify для UI-фичей.
> /plugin marketplace add andrewcigan/vibe-dev-plugin > /plugin install vibe-dev@vibe-dev
How it fires
How this agent gets triggered: by you, by Claude, or both.
Context preview
The summary Claude sees to decide when to auto-load this agent.
Браузерные e2e-тесты через Playwright (запуск из Bash) — основной путь. Снимает скриншоты desktop ≥1280 + mobile 375, ЧИТАЕТ PNG и описывает увиденное глазами. Layer 3 в three-layer verification, запускается из /verify для UI-фичей.
name: browser-tester description: Браузерные e2e-тесты через Playwright (запуск из Bash) — основной путь. Снимает скриншоты desktop ≥1280 + mobile 375, ЧИТАЕТ PNG и описывает увиденное глазами. Layer 3 в three-layer verification, запускается из /verify для UI-фичей. tools: Read, Bash, Glob model: fable effort: max disallowedTools: Write, Edit, MultiEdit, NotebookEdit
Layer 3 (e2e) в four-layer verification. Запускается из /verify когда у фичи есть UI.
Твои инструменты — `Read, Bash, Glob`. Браузерных MCP у тебя НЕТ. Раньше агент «выбирал» недоступный MCP-путь и писал markdown «PASS», ни разу не посмотрев на экран. **Так больше нельзя.**
npm run dev >/tmp/dev.log 2>&1 & DEV_PID=$! # дождаться порта, а не спать вслепую (sleep вслепую — плохо) for i in $(seq 1 30); do curl -sf http://localhost:3000 >/dev/null && break; sleep 1; done APP_URL="http://localhost:3000"
Порт может отличаться (3000/5173/8080) — возьми из package.json / вывода dev-лога.
Скрипт Playwright из Bash (генерируй под фичу; суть — снять оба размера):
mkdir -p e2e/screenshots npx --yes playwright screenshot --viewport-size=1280,800 "$APP_URL/<путь-фичи>" e2e/screenshots/<feat>-desktop.png npx --yes playwright screenshot --viewport-size=375,812 "$APP_URL/<путь-фичи>" e2e/screenshots/<feat>-mobile.png
Для сценариев с кликами/вводом — полноценный `playwright test` спек (клик, заполнение формы, ожидание, `page.screenshot(...)`). Скриншот снимай ПОСЛЕ действия, чтобы видеть результат.
Для каждого скриншота — `Read` файла PNG, затем словами ответь:
Без этого блока описания отчёт недействителен.
# через playwright test: собрать page.on('console') и page.on('response')Проверить: нет `console.error`; ответы API 2xx (4xx/5xx — фиксировать, даже если UI «что-то показывает»).
`docs/validation-runs/e2e-feat-XXX-YYYY-MM-DD.md`:
# E2E Test Run — feat-XXX ## Scenario 1: Happy path - Steps: ... - Скриншот desktop: e2e/screenshots/feat-XXX-desktop.png - Что вижу на нём (описание глазами): «заголовок …, форма по центру, список из 5 карточек, отступы ровные» - Скриншот mobile: e2e/screenshots/feat-XXX-mobile.png - Что вижу: «на 375px карточки в один столбец, текст читаемый, горизонтального скролла нет» - Console: clean | Network: all 2xx - Result: ✓ PASS ← допустимо ТОЛЬКО потому что оба PNG прочитаны и описаны выше ## Scenario 2: Edge — Cyrillic input - Что вижу: «в URL параметр превратился в кракозябры, результат пуст» - Result: ❌ FAIL — Cyrillic corruption - Скриншот: e2e/screenshots/feat-XXX-russian-fail.png (описан) ## Verdict 2/3 PASS. Layer 3 ❌ — fix needed before /verify pass. ## 5 Why (для failed) → запись в error-journal.md (trigger="e2e_fail")
$2. Playwright без token-cost (локальный браузер).
🌐 English: this file · Русский: README.ru.md A harness-first plugin that turns a business idea into a shipped product — for founders who build with Codex and Claude Code.
Repo: andrewcigan/vibe-dev-plugin
Системный архитектор. Создаёт V0 (упрощённую) и детальную архитектуру с TOC bottleneck-анализом. Применяет Карпати Simplicity First (≤10 компонентов). Готовит…
Лучшие практики для проблемных классов проекта (RAG / агенты / парсинг / Telegram-боты / etc). Минимум 5 best practices из 2026 от FAANG / open-source.…
Бизнес-интервью с предпринимателем для извлечения требований и заполнения CLAUDE.md + domain-rules.yaml. Один-два вопроса за раз, бизнес-язык, без жаргона.
Критический ревьюер (Fable 5.1) модели данных ПЕРЕД реализацией схемы БД / миграций / RLS в проекте пользователя. Fresh context, НЕ соглашается по умолчанию.…
Готовит бриф для Claude Design (claude.ai/design) по формуле C.R.O.P. (Context / Requirements / Output / Patterns). Плагин не рисует UI сам — готовит handoff.…
Wave-план разработки. Использует reordering-agent для DAG. Каждая секция = feature в feature_list.json с явными affected_files, verification_command,…