Recording of the visual regression run on app.agentcard.sh · agentcard — authed walkthrough.

In this video· click a step to jump to it

A
Passed ✓

Test recording

agentcard — authed walkthrough

64,265 ms · 404,634 pixels changed

We built this regression test for app.agentcard.sh — it's yours to keep, free.

Take this test with you

This is a real Playwright test, recorded against app.agentcard.sh. Claim it into your own workspace and re-run it on every deploy — free.

export async function test(page, baseUrl, screenshotPath, stepLogger) {
  const BASE = "https://app.agentcard.sh";
  const ENTRY = "/onboarding";
  const BIZ = "Personal";
  const COOKIES = [{"name": "ac_dash", "value": "eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0.._y9muuQjV2y5uQxO.1muSGCS74mk3jhh1KwrsxXQ5MqzjytpBB2qp6EoD27KYc2Y1IIoa3b70oh2zZuoGqjQVv9Em5X5V4XCEyDy2ns39Jn75BACV-Lnktks8fcQj7UHgic5lUOQP2V8yg1ZL1XOK-0zW639KPpHXL-lVyNaQ_c1ybf_Vou5BRfR6QAOW1WfDJpXXhMMBxDY80kvxu1Lx2TQbixgacECr0iFAZw5DXDI2RcE0P0Vxk6nPff6Y-Zlgh7onFC2awJzjleu7BDghA-hK2hwywun0arLsWq8bmn4xSoh2sI3PUlKaPOSWxnZzPaZXoZFBOwa7BbnRET9YHpP4sdbpkKOotSdcznQ40-XQaIauYTOxVKLl10UMjsikd6zJCs1hy3Ur4r-UgGU_m7iGPpwvSO9EtiMhM6OVTHqRY-bsLajuDqYuWpUQesC4Aq9HExghwsrcL1bw0bzMqGHmbnhBLwOmpNt6RHIx6WxGwYIXTCX23iDNiW2Iyujgd5WKW_uPh90pvJwSS-jBZfKbKQSvzpWOSZM3zVFrny8aOQEeFPuXewNk1lFXw4qUROIP7wKvrE-dFoapl6_uG7FqehsOza6lz-XYd89EfSBJ9rIer_ASHhehFntk3J4A-MQSmVUb7IGcoOeZXjp5WGG1e5yIW0hUCeHKyhmb6GM0Usk8mq81O2XNlgQWjOCWl-QzFDOwLzuUS9CCmTnVkSJqx6F5eYnNpgVGAAPJYhKQQx1G5Wmm1pl2Brul-xX87NEwiX-cP5b1dB_uUzGx05QGvGZH-kdTCPzpDf7iOokrkSNqc3yUF6NkMBP-kssEZDsBwhH6jYsm8Nvdm_6gxfoouM-SmI4j5Yco1PXzv0c4tjJY5zY8IYjmizmTVtbICb3SXjjmQIxdyp3BbDaVI66VlPJsfcB9KI0WfH9wi4MdCoVu17kggWSnTC27m5kIZsNm4KGkvbuFBjKeQTmqm3vMMp7o1GMM1PB40n3dXcV8evPN8QbcCitfiwOe4kjPaaDHGzfcZO_Wkk9fIzI_twmAukyEHoulWYnq5W5OqSff5r7O82Ot0gI7tMZHd56y74qvvO1Px-m67OOpG7uPKSjf1JewywMePPpCbsUXMN4EZ3I1_EAwj2CzvkUgeCsJU73BfQBGQ3RbYpBliPil4TzI_g-N01tjAOkTuUUYshmO8VW7fGuzu8N94wXj8hzxrZ3L0MuSh-7uCJdWoCpb8kp4yxBB0iE75OI4S7uzA4PM5Li6q4jRc-fbXrnKYJn5CfGutDXbJDJB-jonUNsBAdvw1sLywMpMB8Qhb5SRmplr6SYM4x12pDUsGoQq373NHv_hWkyYr1rBHLE8Gq29s-frvpMUWfQ40_NO7XDlI880KBTHqpvn.Lsy6c7kl8oaG4LJirpwZJA", "url": "https://app.agentcard.sh/"}, {"name": "ph_phc_1C1Kf78UFYiOTqYbgDn6DjJkma7J2ZNhMEQObS394Ay_posthog", "value": "%7B%22%24device_id%22%3A%22019f6927-c777-7f27-b4b0-99a4ae0eb6d0%22%2C%22distinct_id%22%3A%22cmrn0xx1e0000jc09awhuctbp%22%2C%22%24sesid%22%3A%5B1784177036418%2C%22019f692b-3ad4-7ef4-984c-41b0fb07ebbc%22%2C1784175868587%5D%2C%22%24epp%22%3Atrue%2C%22%24initial_person_info%22%3A%7B%22r%22%3A%22%24direct%22%2C%22u%22%3A%22https%3A%2F%2Fwww.agentcard.sh%2F%22%7D%2C%22%24user_state%22%3A%22identified%22%7D", "url": "https://agentcard.sh/"}];
  const LS = {"https://app.agentcard.sh": [{"name": "ph_phc_1C1Kf78UFYiOTqYbgDn6DjJkma7J2ZNhMEQObS394Ay_posthog", "value": "{\"$device_id\":\"019f6927-c777-7f27-b4b0-99a4ae0eb6d0\",\"distinct_id\":\"cmrn0xx1e0000jc09awhuctbp\",\"$sesid\":[1784177036418,\"019f692b-3ad4-7ef4-984c-41b0fb07ebbc\",1784175868587],\"$initial_person_info\":{\"r\":\"$direct\",\"u\":\"https://www.agentcard.sh/\"},\"$user_state\":\"identified\",\"$initialization_time\":\"2026-07-16T04:43:56.390Z\",\"$configured_session_timeout_ms\":1800000,\"$capture_rate_limit\":{\"tokens\":99,\"last\":1784177036817},\"$client_session_props\":{\"sessionId\":\"019f692b-3ad4-7ef4-984c-41b0fb07ebbc\",\"props\":{\"r\":\"$direct\",\"u\":\"https://app.agentcard.sh/login\"}},\"$error_tracking_suppression_rules\":[],\"$session_recording_remote_config\":{\"cache_timestamp\":1784177036493,\"enabled\":true,\"canvasFps\":3,\"canvasQuality\":\"0.4\",\"consoleLogRecordingEnabled\":true,\"endpoint\":\"/s/\",\"eventTriggers\":[],\"linkedFlag\":null,\"masking\":{\"maskAllInputs\":true},\"minimumDurationMilliseconds\":null,\"networkPayloadCapture\":{\"capturePerformance\":{\"network_timing\":true,\"web_vitals\":true,\"web_vitals_allowed_metrics\":null},\"recordBody\":true,\"recordHeaders\":true},\"recordCanvas\":true,\"recorderVersion\":\"v2\",\"sampleRate\":null,\"scriptConfig\":{\"script\":\"posthog-recorder\"},\"triggerMatchType\":null,\"urlBlocklist\":[],\"urlTriggers\":[],\"version\":1,\"canvasRecording\":{\"enabled\":true,\"fps\":3,\"quality\":\"0.4\"}},\"$autocapture_disabled_server_side\":false,\"$product_tours_enabled_server_side\":false,\"$heatmaps_enabled_server_side\":false,\"$web_vitals_enabled_server_side\":true,\"$web_vitals_allowed_metrics\":null,\"$exception_capture_enabled_server_side\":true,\"$dead_clicks_enabled_server_side\":true,\"$sess_rec_flush_size\":{\"sessionId\":\"019f692b-3ad4-7ef4-984c-41b0fb07ebbc\",\"size\":64877},\"$debug_first_full_snapshot_timestamp\":1784177036467,\"$epp\":true,\"$user_id\":\"cmrn0xx1e0000jc09awhuctbp\",\"$stored_person_properties\":{\"email\":\"[email protected]\",\"plan\":\"free\",\"kyc_verified\":false},\"$feature_flag_errors\":[],\"$active_feature_flags\":[],\"$enabled_feature_flags\":{},\"$feature_flag_payloads\":{},\"$feature_flag_details\":{},\"$feature_flag_request_id\":\"5cf4e94b-4b6f-43c5-af28-b8a67ff35539\",\"$feature_flag_evaluated_at\":1784177039335}"}]};
  const shot = async (n, label) => { try { await page.screenshot({ path: screenshotPath.replace(/\.png$/, '') + '-' + n + '.png', fullPage: true }); } catch (e) {} stepLogger.log(label || n); };
  const dismiss = async () => { try { await page.getByRole('button', { name: /skip|dismiss|got it|maybe later|not now|close|accept|ok$/i }).first().click({ timeout: 2000 }); } catch (e) {} };
  const SAFE = /log ?out|sign ?out|delete|remove|pay|subscribe|upgrade|buy|purchase|checkout|billing|cancel|archive|send email|charge|invite|\bpay\b/i;

  try { await page.context().addCookies(COOKIES); } catch (e) { stepLogger.warn('addCookies: ' + e.message); }
  await page.addInitScript((ls) => {
+70 more lines — claim the test to get the full code.

Checks run

Run
✓
Visual
100.00%
Text
—
DOM
✓
Network
+288 −192
Console
✓
A11y
A
Perf
96 over
URL
228 diverged
Variables
—
Full report
Log in →
404,634
Diff px
1m 04s
Duration
A
Accessible
WCAG 2.2 · 100
B
Fast
Web Vitals · 85

Notes from the demo run

AI-generated

We signed into Agentcard and walked the full onboarding wizard: account-type pick (Personal / Company), through "Connect your agent" with a copy-paste npx agent-cards setup-mcp and Claude/Codex/Cursor/Other tabs. It's a clean, dark, developer-first flow that assumes an MCP-capable agent.

Highlights
  • MCP-native setup
    A one-line npx agent-cards setup-mcp with per-client tabs (Claude/Codex/Cursor) meets developers exactly where they are.
  • Honest progress + escape hatch
    The wizard shows a real step tracker and a "you can also continue and do this later" out, no dead-end waiting on the agent to connect.
Friction points
  • Six steps before a card appears
    The path from signup to an actual card is long; a "skip to dashboard" for the impatient would shorten time-to-value.

12 visual changes

Step 120,694 px changed
Before
Before
After
After
Diff
Diff
Step 220,694 px changed
Before
Before
After
After
Diff
Diff
Step 323,590 px changed
Before
Before
After
After
Diff
Diff
Step 437,887 px changed
Before
Before
After
After
Diff
Diff
Step 538,722 px changed
Before
Before
After
After
Diff
Diff
Step 630,470 px changed
Before
Before
After
After
Diff
Diff
Step 732,271 px changed
Before
Before
After
After
Diff
Diff
Step 833,911 px changed
Before
Before
After
After
Diff
Diff
Step 933,138 px changed
Before
Before
After
After
Diff
Diff
Step 1056,192 px changed
Before
Before
After
After
Diff
Diff
Step 1137,317 px changed
Before
Before
After
After
Diff
Diff
Step 1239,748 px changed
Before
Before
After
After
Diff
Diff

Share this run

Earned · Lastest awards

Proof your app is not AI slop

LASTEST
starter
a11y
WCAG AA
regressions
0
Badges stay live, ratchet upward, only downgrade on confirmed regression.
57,604 test runs recorded · 1,174 products tested with Lastest

This test was built for app.agentcard.sh — claim it free

One click copies the test and baseline screenshots into your own Lastest workspace. Re-run on every deploy and catch regressions before your users do — free, no card required.