# E2e Flow Verifier

Use when verifying complete user flows end-to-end with the qe-browser skill (Vibium)...

- Repository: https://github.com/proffesor-for-testing/agentic-qe (521 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add proffesor-for-testing/agentic-qe --skill e2e-flow-verifier -g -a claude-code -y`
Codex: `npx skills add proffesor-for-testing/agentic-qe --skill e2e-flow-verifier -g -a codex -y`
Cursor: `npx skills add proffesor-for-testing/agentic-qe --skill e2e-flow-verifier -g -a cursor -y`
Gemini CLI: `npx skills add proffesor-for-testing/agentic-qe --skill e2e-flow-verifier -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add proffesor-for-testing/agentic-qe`

## Description

Use when verifying complete user flows end-to-end with the qe-browser skill (Vibium), recording session evidence, and asserting state at each step. For product verification with real browser automation.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# E2E Flow Verifier

Product verification skill that drives user flows with the **qe-browser** fleet skill (Vibium engine), asserts state at each step, and records evidence as a ZIP of screenshots + DOM snapshots.

## Activation

```
/e2e-flow-verifier [flow-name]
```

## Dependency

This skill uses `.claude/skills/qe-browser/` for all browser automation. The `vibium` binary is installed automatically by `aqe init`. See `qe-browser/SKILL.md` for the full command reference.

## Flow Verification Pattern (qe-browser + batch + assert)

Define the flow as a JSON batch plan and drive it with the qe-browser batch runner:

```bash
# flows/{{flow-name}}.json
cat > /tmp/{{flow-name}}.json <<'EOF'
[
  {"action": "go",      "url": "{{base_url}}"},
  {"action": "wait_load"},
  {"action": "fill",    "selector": "[data-testid=email]",    "text": "{{test_user}}"},
  {"action": "fill",    "selector": "[data-testid=password]", "text": "{{test_password}}"},
  {"action": "click",   "selector": "[data-testid=login-btn]"},
  {"action": "wait_url","pattern": "/dashboard"},
  {"action": "assert",  "checks": [
    {"kind": "url_contains",    "text": "/dashboard"},
    {"kind": "selector_visible","selector": "[data-testid=dashboard]"},
    {"kind": "no_console_errors"},
    {"kind": "no_failed_requests"}
  ]},
  {"action": "click",   "selector": "[data-testid={{action_element}}]"},
  {"action": "assert",  "checks": [
    {"kind": "text_visible", "text": "{{expected_text}}"}
  ]}
]
EOF

# Record evidence AND drive the flow
vibium record start --screenshots --snapshots --name "{{flow-name}}"
node .claude/skills/qe-browser/scripts/batch.js --steps "@/tmp/{{flow-name}}.json"
FLOW_EXIT=$?
vibium record stop -o "test-results/{{flow-name}}/evidence.zip"
exit $FLOW_EXIT
```

The batch runner exits non-zero if any step fails, so CI gates work with a plain `$?` check.

## Evidence Collection

After each flow verification, `vibium record` produces a ZIP containing:

The rest: https://github.com/proffesor-for-testing/agentic-qe/blob/HEAD/.claude/skills/e2e-flow-verifier/SKILL.md
