reading-browser-screenshots

Installation
SKILL.md

Reading browser screenshots

Every eval run pairs a code agent (the terminal, e.g. claude-code) with a browser agent (browser-use based) that handles the human-ish web work: logins, signups, OAuth flows, grabbing API keys from dashboards. When friction happened in a browser — an auth wall, a signup form, a dashboard the agent couldn't navigate — the evidence lives in the browser agent's screenshot turns, not the code agent's tool calls.

Tools

  • get_trace({ slug, includeBrowser: true }) — interleaves the browser agent's screenshots into the turn list, timestamp-ordered, as turns of type: "screenshot". Screenshots lacking real timestamps are stacked after the last code-agent turn.
  • get_report({ slug }) — for the surrounding context (the prompt, metrics, legacy.keyFinding) before diving in.

What a screenshot turn carries

Each screenshot block has:

  • screenshotStep — the browser agent's step number.
  • screenshotThinking — the browser agent's reasoning at that moment, in its own words.
  • screenshotAction — what it did (e.g. a navigate, a click).
  • screenshotPageUrl — the URL of the page it was on.
  • a timestamp.

You read text, not pixels

The chat/MCP tools return no image bytes — each screenshot block carries a screenshotUrl, but it is a relative /api/screenshot proxy path that only resolves on the authenticated dashboard, not an image you can fetch or see. You analyze the browser agent entirely through its thinking/action/pageUrl text. The actual images are only viewable on the authenticated dashboard trace page, so when it matters, link the human there (see the linking-to-the-dashboard skill).

Installs
3
First Seen
5 days ago
Security Audits