⌘ Agent-readiness console

Find the DOM bugs AI agents trip on.

Make your site agent-ready. AgentGlass scans your production journey with Claude, OpenAI, and Gemini, scores agent readiness 0-100 (like Lighthouse), and ships verified patches for anything agents can't navigate.

Watch demo60-90 seconds, no signupReview patches
$15Mbusiness scale
17failure modes
aria-labeltop blocker
24sscan loop
SCANNER · live3 agents onlinequeue · 2 sitesregion · us-east-1
Live scan

Scan your site.

3 agents · 1 site · 24 seconds — Filter the event stream before your patch.

Maya Lin · Boltline · boltline.example

t+0.0sscripted replayno external services
t+0.0s / 24.0s
agentglass scan --agents=3 --duration=24s
waiting for first event…
Claude Computer Use78

Best recovery behavior on semantically labeled journeys and calendar selection flows.

Browser Agent

OpenAI Operator64

Recovers after inner-text fallback, but loses time on unlabeled CTAs and hidden controls.

Browser Agent

Gemini Baseline51

Cheap Playwright-plus-Flash baseline that exposes hover traps and ambiguous selector failures.

Synthetic Agent

ARIA Patch Verifier92

Checks whether proposed DOM diffs improve accessible roles, names, and keyboard affordances.

Verifier

Voice Journey Probe74

Confirms visible labels match spoken intent for hands-free agent workflows.

Voice

Selector Hint Indexer88

Indexes stable selector hints and journey labels for agents.json so agents route without brittle guessing.

Embedding

0.4s
page_loadLABELINGClaude Computer Use · /
pass
0.9s
page_loadLABELINGOpenAI Operator · /
pass
1.1s
clickLABELINGClaude Computer Use · .cta-book-demo
pass
1.6s
page_loadLABELINGGemini Baseline (Playwright + Flash) · /
pass
2.3s
clickLABELINGOpenAI Operator · .cta-book-demo · no aria-label resolved on element
fail
3.2s
form_focusClaude Computer Use · #email-field
pass
3.8s
page_loadGemini Baseline (Playwright + Flash) · /pricing
pass
4.4s
scroll_searchTIMINGOpenAI Operator · Book demo button · scroll-to-element timeout 3.0s
fail
5.2s
form_fillClaude Computer Use · #email
pass
6.1s
clickHOVERGemini Baseline (Playwright + Flash) · .tier-growth-cta · button shows hover-only state
fail
7.0s
clickClaude Computer Use · .cta-continue
pass
7.1s
clickHOVEROpenAI Operator · .size-selector · hover-required dropdown
fail
Methodology

How AgentGlass actually tests your site

33 agentsClaude · OpenAI · Gemini
parallel sandboxes
Run the same production journeyidentical task, real DOM
100Score per agent0-100 readiness
Adversarial verifierchecks the patch set
PRPatches → PRsafe merge path

Each of the 3 agents independently navigates the same production journey in parallel sandboxes. Per eval cell, we replay 5 runs and average against ground-truth success criteria — not LLM-as-judge.

What's running under the hood

Multi-agent

3 browser agents run the same journey in parallel

Multi-step

Each agent navigates a multi-page production flow, not single-page actions

Evals

Every scan replays 5 runs per cell against ground-truth success criteria — not LLM-as-judge

Self-improvement loop

Failed patches feed back into the patch generator's training signal nightly

Sandboxed agents

Each agent runs in its own isolated Chromium container — no shared cookies, no cross-contamination

Realtime via Redis

Scan events stream to the dashboard via Redis pub/sub — sub-200ms latency

Containerized DB

Postgres + Redis run in docker-compose locally; same containers in production

Findings

Expandable failure cards.

Every finding expands inline with the before/after DOM snippets and a concrete fix summary. No modal, no hidden state.

Severity
Agent
Category
Reset
Patch queue

DOM diffs agents can navigate.

Verified patches — safe to merge. They passed our adversarial verifier with all 3 agents.

components/BookDemoCTA.tsx

critical verified

Booking CTA missing aria-label

components/BookDemoCTA.tsx
- <button className="btn-primary cta-book-demo">Book a demo</button>+ <button className="btn-primary cta-book-demo" aria-label="Book a demo with our sales team">Book a demo</button>

components/ui/Modal.tsx

medium needs review

Modal dismiss requires Esc — no close button — Verified-false — adversarial verifier flagged: dismiss button needs tab-trap fix in same component for full AA compliance

components/ui/Modal.tsx
+ <button onClick={onClose} aria-label="Close dialog" className="modal-close">×</button>

components/SizeSelector.tsx

critical verified

Size selector requires hover-then-click

components/SizeSelector.tsx
- <div className="size-selector" onMouseOver={openMenu}>{size}</div>+ <button className="size-selector" onClick={openMenu} aria-expanded={open} aria-haspopup="listbox">{size}</button>

pages/dashboard/api-keys.tsx

critical verified

API key copy button requires double-click

pages/dashboard/api-keys.tsx
- <button className="copy-key" onDoubleClick={copy}>Copy</button>+ <button className="copy-key" onClick={copy} aria-label="Copy API key to clipboard">Copy</button>

components/docs/CodeTabs.tsx

high verified

Code example tabs are <div> with click handler — no keyboard

components/docs/CodeTabs.tsx
- <div className="tab" onClick={() => setLang('py')}>Python</div>+ <button className="tab" role="tab" aria-selected={lang==='py'} onClick={() => setLang('py')}>Python</button>
agents.json

Generated site contract.

The base schema and shape come from seed data; persona switching updates the visible site identity and score using seeded persona values.

{
  "$schema": "https://agentglass.dev/schemas/agents.v1.json",
  "version": "1.0",
  "site": {
    "name": "Boltline",
    "url": "https://boltline.example",
    "description": "B2B SaaS — scheduling — Booking CTA has no aria-label"
  },
  "agents_welcome": true,
  "ax_score": 94,
  "ax_score_breakdown": {
    "labeling": 96,
    "keyboard": 92,
    "non_semantic_handlers": 95,
    "hover_dependencies": 89,
    "transient_state": 97,
    "responsive_blockers": 100,
    "ambiguous_targets": 91
  },
  "scan_history": [
    {
      "scanned_at": "2026-05-10T14:00:00Z",
      "score": 34
    },
    {
      "scanned_at": "2026-05-11T14:00:00Z",
      "score": 64
    },
    {
      "scanned_at": "2026-05-12T14:00:00Z",
      "score": 94
    }
  ],
  "supported_journeys": [
    {
      "name": "book-demo",
      "entrypoint": "/",
      "selector_hints": {
        "primary_cta": "[aria-label='Book a demo with our sales team']",
        "calendar_slots": "[role='radiogroup'][aria-label='Available booking slots']",
        "confirm": "button.confirm-booking"
      },
      "expected_completion_ms": 12000,
      "min_score_for_agent_traffic": 80
    },
    {
      "name": "view-pricing",
      "entrypoint": "/pricing",
      "selector_hints": {
        "tier_growth": "button[aria-label='Continue with Growth plan']",
        "tier_scale": "button[aria-label='Continue with Scale plan']"
      }
    }
  ],
  "rate_limits_for_agents": {
    "requests_per_minute": 60,
    "scan_concurrency": 3
  },
  "contact": {
    "owner": "maya.lin@boltline.example",
    "agentglass_dashboard": "https://agentglass.dev/orgs/boltline"
  }
}
Integration

How customers ship the outputs

AgentGlass does not stop at a score. It hands teams a manifest path, a patch path, or both — depending on what they want to put into production first.

URLCustomer pastes URLboltline.com
production target
3Spin up agents3 sandboxed Chromium agents
running in parallel
Run the journey“book a demo”
real DOM, fixed task
Record failuresevery click, retry,
timeout, and miss
3Generate outputsAX score · DOM diffs
agents.json manifest
Customer integrateshost the manifest,
apply patches, or both

Two integration models, chosen per output: publish agents.json so agents know how to navigate, or apply DOM patches so the site itself becomes easier for agents to use.

Host the manifest

Download agents.json and host it at /.well-known/agents.json on your domain. Agents read it before navigating — like robots.txt for AI.

manifest check200 OK
curl https://customer.com/.well-known/agents.json
# Claude / GPT / Operator read this before navigating

Apply the patches

Three options: download the .diff and apply manually, enable GitHub auto-PR for one-click merges, or drop in the runtime snippet for zero-deploy fixes.

manual .diff
🔀GitHub auto-PR
</>runtime snippet
30-cell scorecard

Tiny cells, visible numbers.

  • 10sites
  • 1task each
  • 3agents
  • 5runs averaged
boltline.example highlighted
82book-demo
claude-cu
47book-demo
openai-op
38book-demo
gemini
76add-to-cart
claude-cu
61add-to-cart
openai-op
44add-to-cart
gemini
91copy-api-key
claude-cu
58copy-api-key
openai-op
67copy-api-key
gemini
88create-doc
claude-cu
72create-doc
openai-op
51create-doc
gemini
79log-call
claude-cu
54log-call
openai-op
41log-call
gemini
71upload-episode
claude-cu
49upload-episode
openai-op
36upload-episode
gemini
94toggle-flag
claude-cu
81toggle-flag
openai-op
73toggle-flag
gemini
68export-figma
claude-cu
53export-figma
openai-op
39export-figma
gemini
85search-and-edit
claude-cu
67search-and-edit
openai-op
58search-and-edit
gemini
62update-card
claude-cu
41update-card
openai-op
29update-card
gemini
  • GREENAgent completed the journey (score ≥ 75)
  • AMBERPartial recovery (50–74)
  • REDFailed or timeout (< 50)
Decision picker

Which plan fits your team?

Four clicks produce a live recommendation from the seed-data decision logic.

Where does most of your traffic come from today?

Do you ship code on a weekly cadence or faster?

Have you instrumented bot vs. human traffic?

What's your team size for frontend changes?

Pricing

Pricing — Start free, scale on CI

All plans share the same scanner and adversarial verifier. The difference is volume, automation depth, and auto-PR access.

Free

$0 Forever, no card required

1 site · 10 scans/month · community support

  • Public AX score (badge on your homepage)
  • agents.json export (download as .json)
  • Manual patch download (.diff)
  • Single failure-mode lookup

Scale

Contact us Custom pricing

Unlimited sites · SLA · SSO · dedicated CSM

  • Everything in Growth
  • Private model routing (BYO LLM keys)
  • Custom AX score weighting (per-vertical tuning)
  • Multi-tenant workspaces (agencies)
  • On-prem deployment option
  • SOC 2 evidence pack
  • Quarterly business reviews

Get the AgentGlass field guide

Drop your email — we'll send the agent-readiness scorecard for your domain + a heads-up when API access opens.

No spam, unsubscribe anytime. We never share your email.