Expect

A skill for testing your agent's code in a real browser.

Getting started

  • Run /expect inside Claude Code, Codex,
    and more
  • Expect spawns subagents simulating real logged-in users to find issues and regressions
  • Your agent will fix any issues Expect finds, then re-run to verify

MCP clients

Expect supports all MCP clients that implement the stdio transport. Below are configuration examples for popular clients.

Agent: Claude Code

claude mcp add --scope user expect -- npx -y expect-cli@latest mcp

FAQ

What is Expect?

A skill that reads your git changes, generates a test plan, and runs it in a real browser with Playwright.
It hooks into your existing agent (Claude Code, Codex, Cursor) and runs entirely on your machine.
It checks for:

  • Performance
    long animation frames, INP, LCP
  • Security
    npm deps, CSRF attacks, vulns
  • Design tweaks
    broken hover states, links, buttons
  • App completeness
    missing metadata, dead links

Why not just use Puppeteer, Playwright, or Cypress?

Instead of writing scripts, maintaining selectors, and wiring up assertions, Expect reads your code changes and tests them in a real browser automatically. It's like giving your agent QA superpowers.

How is this different from computer-use agents?

General-purpose browser tools rely on screenshots and mouse coordinates. Expect is purpose-built for testing: it uses Playwright for fast DOM automation, reads your code changes, generates a test plan, and runs it with your real cookies, then reports back what's broken so the agent can fix it.

Does it work in CI?

Yes. Use --ci or the add github-action command to set up a workflow that tests every PR. In CI mode it runs headless, skips cookie extraction, auto-approves the plan, and enforces a 30-minute timeout.

Does it support mobile testing?

Coming soon.

Is there a hosted or enterprise version?

Coming soon. Email aiden@million.dev if you have questions or ideas.