# Verifier

> Открыть готовый HTML в headless-браузере перед сдачей: console-ошибки + скриншот. Триггеры: «проверь артефакт», «screenshot verify». НЕ WCAG→a11y-audit.

- Skill: `jhamidun/verifier` (Agent Skill, multi-file: 6 files)
- Install (CLI): `npx skillmds@latest add jhamidun/verifier`
- Raw SKILL.md: https://api.skillmd.com/api/skills/jhamidun/verifier/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: JHamidun (https://skillmd.com/u/jhamidun)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/jhamidun/verifier

---


# Verifier

Sub-роль для Claude Code. Открывает результат в Playwright headless, проверяет:
- console errors / warnings
- невыполнившиеся network requests
- наличие ключевых элементов (опционально через селектор)
- размер документа (не пусто ли)

И сохраняет один скриншот для визуальной самопроверки.

## Скрипт

`templates/verify.mjs`:

```bash
node verify.mjs deck.html
# → verify-out/console.log + verify-out/screenshot.png
# Exit code: 0 если всё чисто, 1 если есть ошибки.
```

Опции:
- `--require-selector ".some-class"` — упасть, если элемента нет
- `--width 1920 --height 1080` — viewport
- `--wait 1000` — дополнительная задержка перед снимком
- `--out verify-out/` — куда писать

## Когда главный агент должен дёргать verifier

1. Прототип / дек / макет готов.
2. Перед тем как писать «готово» в чат.
3. Если получит exit 1 — прочитать `console.log`, исправить, повторить.

Это **не** замена ручному просмотру пользователем — это санитарный фильтр, чтобы пользователь не открывал заведомо сломанное.

## Анти-анкоринг (проверка чужой работы)

Когда verifier зовут проверять результат другого агента/воркера (кросс-чек, ревью артефакта):

1. Сначала сформируй **свой** вердикт: прогони verify.mjs, собери свой список проблем по артефакту.
2. Только потом читай отчёт/самооценку автора и сверяй.

Чтение чужих выводов до собственной проверки анкерит на их версии — получаются «подтверждающие» проверки вместо независимых. Драфт своего вердикта ДО чтения чужого — обязательный порядок.

## Выбор лучшего из вариантов + GAN-паттерн

Когда verifier сравнивает 2+ результата воркеров (или adversarial-review решает «оставить/откатить»):
LLM-судья предпочитает первый вариант — прогоняй ОБА порядка A-vs-B и B-vs-A, оставляй кандидата
только при перевесе голосов, а не по самоотчётной цифре. Генератор не оценивает свою работу.
Полный паттерн (двусторонний pairwise против position bias, скептик-оценщик, crash-proof apply ladder) —
`references/gan-adversarial-improve.md`.

## Проверка аналитики (второй режим)

Когда на проверку приходит не HTML, а **выводы по данным** (отчёт, дашборд, набор SQL, слайд
с цифрами), console-ошибок не будет — сломанный анализ выглядит нормально и просто врёт.
Порядок тот же: свой вердикт до чужого отчёта. Чек-лист перед отдачей, каталог ловушек
(размножение строк на JOIN, неполный период, сдвиг знаменателя, среднее от средних, часовые
пояса, отбор по результату, черри-пикинг окна), способы независимого пересчёта, красные флаги
и трёхуровневый вердикт — `references/data-analysis-qa.md`.

## Legacy reference

Прежняя расширенная версия скилла (дерево @2026-04-30) сохранена целиком в `references/legacy-verifier.md`. Секции там: Зависимости, Базовый verifier, Что проверяет, Скриншот для review, Multi-viewport проверка, Custom assertions, Когда запускать, Не путать с, Антипаттерны.

