Agent Native

visual-web-qa

This skill captures browser screenshots and videos to verify that frontend changes render correctly and behave as expected.

by SentryOfficial publisherNot reviewed

Identity proven by GitHub's verified organisation badge (getsentry)

Agents
Not labelled yet
License
Apache-2.0 (permissive)
Pin
1745a29pinned Oct 9, 2026
Context cost
about 1,500 tokenswhen the skill loads
GitHub stars
367on getsentry/junior
Scripts
None found

What it does

“Verifies user-visible web changes with scoped browser evidence and reports only what the captured screenshots, videos, or state checks support. Use when frontend, docs, CSS, layout, theme, responsive, navigation, loading, animation, or interaction changes need visual validation; use agent-browser for general automation that is not specifically visual QA.”
The author's description, from SKILL.md

Generated summary from the skill's own text

This skill captures browser screenshots and videos to verify that frontend changes render correctly and behave as expected. It navigates to local development servers or preview deployments, waits for specific page states, and shares visual evidence with the user to confirm CSS, layout, animations, responsive behavior, and interactive features work as intended.

When to use it

  • CSS, layout, typography, or theme changes need visual verification
  • Loading states, animations, transitions, or interactions must be validated
  • Responsive design across different viewport sizes requires testing
  • Navigation flows, modals, hover states, or focus indicators need confirmation

When not to

  • General browser automation that is not specifically visual QA
  • Production verification of unmerged changes without explicit approval
  • Capturing sensitive data like credentials or customer information

Install

These commands install from the publisher's repository and need no account.

skills CLI

npx skills add getsentry/junior --skill visual-web-qa

Installs from the repository's default branch, which may have changed since the commit we checked.

GitHub CLI 2.90 or later

gh skill install getsentry/junior visual-web-qa@1745a298365f0f001db0b3eec6de8a8347e0f6d9

Installs the commit we checked (1745a29).

Copy by hand

Download the folder at 1745a29 and put it in .claude/skills/visual-web-qa for Claude Code and in .agents/skills/visual-web-qa for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.

Skill folder on GitHub at 1745a29

Claude Code plugin

/plugin install sentry@claude-plugins-official

The publisher's plugin in Claude's official marketplace. It may hold more than this skill, and we have not pinned it.

Claude Code plugin

/plugin install sentry-cli@claude-plugins-official

The publisher's plugin in Claude's official marketplace. It may hold more than this skill, and we have not pinned it.

Copy for your agent

A prompt for any coding agent. It installs this skill from GitHub at the pinned commit, copies the files as they are, and runs nothing unless you ask.

Prompt

Install the agent skill "visual-web-qa" by Sentry.

Source, pinned to commit 1745a298365f0f001db0b3eec6de8a8347e0f6d9:
https://github.com/getsentry/junior/tree/1745a298365f0f001db0b3eec6de8a8347e0f6d9/packages/junior-agent-browser/skills/visual-web-qa

1. Download that folder at exactly this commit. Do not use the default branch.
2. Copy every file unchanged, keeping the folder structure, into .claude/skills/visual-web-qa/ for Claude Code and .agents/skills/visual-web-qa/ for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode. Create the folders if they do not exist.
3. Do not edit the files, and do not run any script in the folder unless I ask you to.
4. When you are done, list the files you copied and where you put them.

Listing and checks: https://www.agentnative.dev/skills/sentry/visual-web-qa

SKILL.md at the pin

---
name: visual-web-qa
description: Verifies user-visible web changes with scoped browser evidence and reports only what the captured screenshots, videos, or state checks support. Use when frontend, docs, CSS, layout, theme, responsive, navigation, loading, animation, or interaction changes need visual validation; use agent-browser for general automation that is not specifically visual QA.
spec_hash: 7dd651f9311c
allowed-tools: bash sendFiles
---

# Visual Web QA

Verify rendered behavior in a browser instead of inferring visual correctness from code. Choose the smallest set of evidence that directly answers the request.

## Workflow

1. Classify the requested behavior as stable, temporal, or exact-state verification.
2. Resolve a valid local, preview, or explicitly requested target URL.
3. Choose representative pages, states, viewports, and themes.
4. Capture browser evidence with meaningful waits and fresh element refs.
5. Share requested artifacts with `sendFiles` and verify delivery success.
6. Report the exact target, evidence, result, findings, and limitations.

## Choose Evidence

| Request                                   | Primary evidence                   | Optional support                                 |
| ----------------------------------------- | ---------------------------------- | ------------------------------------------------ |
| Layout, CSS, content, typography          | Screenshot                         | DOM text or style check                          |
| Light and dark themes                     | Screenshot per relevant theme      | Theme attribute check                            |
| Responsive behavior                       | Screenshot per relevant breakpoint | Video only if resize motion matters              |
| Loading state, animation, transition      | Short video                        | Screenshot for a distinct final-state question   |
| Navigation or interaction sequence        | Short video                        | Screenshot for a specific defect                 |
| Stable menu, modal, hover, or focus state | Screenshot                         | Video if the transition matters                  |
| Exact text, route, ARIA, or attribute     | DOM check                          | Screenshot or video if the visible state matters |

Use screenshots for stable rendered states. Use short videos for timing, motion, loading, or sequence. A purely temporal request may use video without a redundant screenshot. DOM checks support visual evidence; they do not replace it when the user asks how something looks.

```bash
agent-browser --session visual-qa screenshot /tmp/visual-qa.png
agent-browser --session visual-qa screenshot --full /tmp/visual-qa-full.png
agent-browser --session visual-qa screenshot --annotate /tmp/visual-qa-issue.png
```

## Keep Scope Representative

- Check one to four representative pages or states unless the user requests broader coverage or the change spans more templates.
- Choose the viewport-theme combinations most likely to expose the issue instead of building an exhaustive matrix by default.
- State clearly when only part of the requested surface was verified.

## Resolve The Target

Use this order:

1. User-provided URL
2. Running local development server
3. Repo-native server such as `pnpm dev`
4. Preview deployment
5. Production as an explicitly requested or read-only baseline
6. `file://` output only when the site renders correctly without a server

Do not check production and claim an unmerged change is present. If no valid target is reachable, report **blocked** and name the missing server, preview, build, or authentication requirement.

## Capture Reliable State

Wait for the state that proves progress instead of adding arbitrary delays:

```bash
agent-browser --session visual-qa wait --url "**/expected-path"
agent-browser --session visual-qa wait --text "Expected text"
agent-browser --session visual-qa wait --load networkidle
agent-browser --session visual-qa wait 100
```

- Prefer URL or text waits for route and content changes.
- Use `networkidle` only when the action triggers real network activity.
- Use a short fixed wait only when an animation has no semantic completion signal.
- Run `snapshot -i` after navigation or significant DOM changes before using element refs.

For initial loading behavior, start recording before the first navigation:

```bash
agent-browser --session visual-qa set viewport 1440 900
agent-browser --session visual-qa record start /tmp/visual-qa-load.webm "$URL"
agent-browser --session visual-qa wait --load networkidle
agent-browser --session visual-qa record stop
```

For post-load interactions, explore first, then start recording. `record start` creates a fresh browser context and reloads the page, so discard earlier refs and run `snapshot -i` again before interacting. Stop recording as soon as the target behavior is captured. Never end a QA run with an active recording.

## Share Evidence

Use `sendFiles` for every artifact the user should receive:

```json
{
  "files": [
    { "path": "/tmp/visual-qa.png" },
    { "path": "/tmp/visual-qa-load.webm" }
  ]
}
```

- Claim an artifact was shared only when `sendFiles` succeeds in this turn.
- If delivery fails or `sendFiles` is unavailable, report the error and saved paths without claiming attachment success.

## Protect Sensitive Data

Never capture or share credential entry, session tokens, customer data, or unrelated sensitive UI state. If reaching the target requires exposing that data, use an existing safe authenticated session or report the authentication requirement as a limitation or blocker.

## Report The Result

Report:

- **Target:** exact URL verified
- **Evidence:** screenshots, videos, and state checks gathered, with why each was chosen
- **Result:** pass, issues found, or blocked
- **Findings:** specific rendered behavior observed
- **Limitations:** requested pages, states, viewports, or themes not verified

Use **pass** only when the captured evidence matches the requested behavior without an obvious scoped regression. Use **issues found** for broken layout, incorrect motion, flicker, missing assets, or invalid states. Use **blocked** when no safe reachable target exists.

Never generalize beyond the evidence collected, and never claim a rendered change looks correct without opening a browser and gathering supporting evidence.

From getsentry/junior at 1745a29, shown as plain text under its license: Apache-2.0 (permissive). The license text is in LICENSE.

View SKILL.md on GitHub at 1745a29

Files

12 files, 22 KB in total. Each file has a sha256 in the pin's manifest; the first 12 characters are shown.

Skill folder on GitHub at 1745a29
All 50 skills from Sentry

More from Sentry

  • claude-settings-audit

    This skill analyzes a repository to detect its tech stack, build tools, and service integrations, then generates recommended Claude Code settings.json…

    Claude Code · about 2.9K tokens · pinned 6 days ago

  • commit

    This skill enables the agent to create conventional commit messages following Sentry's style guide.

    Claude Code, Codex, Cursor +4 · about 430 tokens · pinned 6 days ago

  • django-access-review

    This skill guides agents through investigating Django and Django REST Framework code for IDOR and access control vulnerabilities.

    Claude Code, Codex, Cursor +4 · about 2.5K tokens · pinned 6 days ago

  • django-perf-review

    This skill audits Django codebases for performance problems by validating issues through code tracing before reporting.

    Claude Code, Codex, Cursor +4 · about 2.8K tokens · pinned 6 days ago

  • iterate-pr

    This skill automates PR iteration by fetching CI check statuses and review feedback, then fixing actionable failures and high/medium priority comments until…

    Contains scripts

    Claude Code · about 1.2K tokens · pinned 6 days ago

  • pr-writer

    This skill helps agents write clear, reviewer-focused PR titles and descriptions by inspecting the branch, diff, and existing PR state, then crafting concise…

    Claude Code, Codex, Cursor +4 · about 1.3K tokens · pinned 6 days ago

All Testing and QA skills
  • next-partial-prefetching-optimizer

    This skill optimizes Next.js client-side navigation under Partial Prefetching by defining what UI loads before and after a click.

    by VercelOfficial publisher

    Claude Code, Codex, Cursor +4 · about 2.8K tokens · pinned 6 days ago

  • Invalid--Name

    This skill cannot be described because its name format is invalid and no functional description or instructions are provided in the skill metadata.

    by CrewAIOfficial publisher

    Claude Code, Codex, Cursor +4 · about 0 tokens · pinned 6 days ago

  • chrome-devtools-cli

    This skill enables agents to automate browser interactions and inspect web pages using Chrome DevTools via command-line interface.

    by GoogleOfficial publisher

    Claude Code, Codex, Cursor +4 · about 2.9K tokens · pinned 6 days ago

  • triaging-visual-review-runs

    Inspects PostHog Visual Review screenshot regression runs that gate pull requests, helping engineers triage diff results, identify flaky stories, and decide…

    by PostHogOfficial publisher

    Claude Code, Codex, Cursor +4 · about 8.9K tokens · pinned 6 days ago

  • code-change-verification

    Runs formatting, linting, type checking, and test verification for SDK code changes after review.

    by OpenAIOfficial publisher

    Contains scripts

    Codex · about 1.3K tokens · pinned 6 days ago

  • runtime-behavior-probe

    This skill guides agents to plan and execute controlled runtime investigations with explicit user approval before each probe runs.

    by OpenAIOfficial publisher

    Contains scripts

    Claude Code, Codex, Cursor +3 · about 3.8K tokens · pinned 6 days ago

The skills listed here are third-party software, collected from public GitHub repositories as a catalog of recent skills and provided as is. Agent Native does not write or control them and is not responsible for any harm, loss or damage caused by installing or using them. Labels and checks describe what we saw at one commit and are not a guarantee. Read a skill's files before you run it. Terms of use