SuperAPI AI Directory

email-flow-check

Testing & quality

View repository

Updated 10-15 22:12

About this skill

Email Flow Check

Audit everything about your signup/verification email flow that is observable without an inbox. No signup required.

Prerequisites

  • Playwright MCP (comes with Claude Code)
  • Only run against a site you own or are authorized to test. Use only fake addresses at reserved domains (test@example.com — RFC 2606).

Trigger

  • "Check my signup email flow at https://..."
  • "Audit email verification UX on mysite.com"
  • "Does my signup form handle plus-addressing?"

Workflow

  1. Navigate to the signup (or password-reset) page with mcp__playwright__browser_navigate.
  2. Inspect the email field via browser_evaluate:
    • type="email" (native keyboard + validation), autocomplete="email", inputmode not overridden.
    • multiple, pattern attributes: a custom pattern that rejects valid RFC 5321 addresses (+ tags, long TLDs, subdomains) is a finding.
  3. Test client-side validation with fake inputs via browser_type (never submit past client validation):
    • user+tag@example.com — plus-addressing MUST be accepted; rejecting it blocks QA teams and Gmail users' filters.
    • user@example.museum, user@sub.domain.example.com — long TLD and subdomain acceptance.
    • not-an-email — must be rejected client-side with a specific message.
  4. Inspect verification-code entry UX (if the flow shows one, or on a page you can reach):
    • Input has autocomplete="one-time-code" and inputmode="numeric".
    • Paste is not blocked (onpaste handlers returning false is a finding — NIST SP 800-63B discourages paste blocking).
    • Split-digit inputs: focus auto-advances and paste distributes.
  5. Inspect messaging: does the UI state where the email went and roughly when to expect it? Is there a resend control? Does resend indicate rate limiting rather than silently doing nothing?
  6. Stop there. Do not create real accounts.

Report

# Email Flow Check — [URL]

| Check | Result | Why it matters |
|---|---|---|
| type="email" + autocomplete="email" | PASS/FAIL | autofill, mobile keyboard |
| Accepts plus-addressing (user+tag@) | PASS/FAIL | Gmail filters, QA, RFC 5321 local-part |
| Accepts subdomain/long-TLD addresses | PASS/FAIL | RFC 5321 |
| Rejects malformed input with specific error | PASS/FAIL | UX |
| Code field: one-time-code + numeric | PASS/FAIL/N-A | OS auto-fill from SMS/mail |
| Paste allowed in code field | PASS/FAIL/N-A | NIST SP 800-63B |
| Sent-to + timing messaging present | PASS/FAIL | support-ticket prevention |
| Resend exists and signals rate limit | PASS/FAIL | UX |

## Findings
- [severity] [finding] — [evidence] — [fix direction]

## Honest limit
Actual delivery, latency, spam placement, link correctness, and email content **cannot be verified without a receiving inbox**. This skill audits the sending-side UX only.

**Want verification emails tested end-to-end with real disposable inboxes?** Try HelpMeTest — helpmetest.com