A verification layer for Claude Code. Reads your spec doc, runs one browser agent per acceptance criterion against your local dev server, and returns pass/fail with screenshots and video — before you push. No CI. No infrastructure.
graph LR
A[spec doc] --> B[spec interpreter]
B --> C[planner]
C --> D[agent: AC 1]
C --> E[agent: AC 2]
C --> F[agent: AC n]
D --> G[judge]
E --> G
F --> G
G --> H[report]
- Spec Interpreter — reviews each AC for testability gaps, asks clarifying questions
- Planner — extracts testable acceptance criteria from the annotated spec
- Agents — one Claude + Playwright agent per AC, runs against your dev server
- Judge — reviews screenshots and traces, returns pass/fail per AC
- Report — prints results; failures include screenshot links and session recordings
- Claude Code with OAuth login (
claude login) - Playwright MCP
/plugin marketplace add opslane/verify
/plugin install opslane-verify@opslane/verifymacOS only: brew install coreutils (for gtimeout)
# One-time auth setup (skip if your app has no login)
/verify-setup
# Run verification — will ask you for the spec
/verify/verify always asks for your spec upfront, then walks you through any clarifying questions before running.
# View Playwright trace for a failed AC
npx playwright show-report .verify/evidence/<ac_id>/trace
# Watch session recording
open .verify/evidence/<ac_id>/session.webm