pr-screenshots

pr-screenshots is a skill for Claude Code from getsentry/skills. It costs 40 tokens per session (1,639 once invoked), scanned A, original, Apache-2.0.

A browser-based process for capturing Sentry UI screenshots and adding them to a pull request as before-and-after tables. A pull request is a proposed code change for review.

In plain words
What is it for?
It is for finding affected screens, capturing them from the real application, and attaching the images with GitHub's command-line tool.
Why use it?
It gives reviewers visual evidence of how a real product changed across pages and states.

Skill for Claude Code

Written for Claude Code: when-to-use in frontmatter.

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is | Explore › Logs | ![Explore › Logs before](./shots/logs-before.png) | ![Explore › Logs after](./shots/logs-after.png) |.

Part of the sentry-skills plugin — 29 skills, 1 agent shipped together

Good fit It is for finding affected screens, capturing them from the real application, and attaching the images with GitHub's command-line tool.

Compare 6 skills from other repositories ↓
About the project

getsentry/skills is a collection of agent skills that Sentry employees use to guide coding and development tasks according to the company's practices. It supports work such as code review, writing, commits, and repository configuration, rather than setting up Sentry or debugging production issues. The catalogue entries are the project's skills, instructions, setting, agent, and plugin.

getsentry/skills · 1,066 stars · on GitHub

Install

Getting it into your agent

It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.

Clone the repo
git clone --depth 1 https://github.com/getsentry/skills
agentmods
npx agentmods add skills/getsentry/skills/pr-screenshots

Made for: Claude Code.

Or install sentry-skills, the plugin that ships this one along with the rest of its 29 skills, 1 agent.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for pr-screenshots

README.md
[![agentmods](https://agentmods.dev/badge/skills/getsentry/skills/pr-screenshots/github.svg)](https://agentmods.dev/skills/getsentry/skills/pr-screenshots)
Your own site
<a href="https://agentmods.dev/skills/getsentry/skills/pr-screenshots"><img src="https://agentmods.dev/badge/skills/getsentry/skills/pr-screenshots/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for pr-screenshots

Your own site · 80×15
<a href="https://agentmods.dev/skills/getsentry/skills/pr-screenshots"><img src="https://agentmods.dev/badge/skills/getsentry/skills/pr-screenshots.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 40 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,639 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00040 $0.01639
Opus 5.5 $0.00016 $0.00656
Sonnet 5.5 $0.00008 $0.00328
Haiku 4.5 $0.00004 $0.00164

Measured yesterday against content hash b2e2b7a6d8af, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

pr-screenshots scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/pr-screenshots/SKILL.md · 125 lines

How it starts

The opening of the file, as written. The whole thing — 125 lines — stays where its author put it; the contents beside it link to each section on GitHub.

PR Screenshots

Screenshots in a PR are QA evidence. Each one shows what the real product renders at one location, framed so a reviewer who has never opened the page can tell what changed.

Step 1: List the Locations

List every place in the product that the diff reaches: each page, drawer, modal, or widget that renders a changed component, found by tracing its callers and consumers. Then add the states the change affects at each of them, such as loading, error, empty, hover, selected, menu open, expanded, scrolled, narrow viewport, and light or dark theme.

Never group surfaces into one row: for example, "GridEditable, as in Discover, dashboards and insights" is three rows.

Step 2: Capture From the Real Product

Rule Detail
Real build only Screenshot the running app on the PR branch for "after" and on the base branch for "before". Never screenshot a story, mock page, or harness built for the PR, unless the change is to that story.
No injected changes Never inject CSS or change the DOM to imitate the change. Stubbing API responses is fine; the frontend code must be the real code.
Seed missing data If a state needs data no account has, create it in a local environment. Do not report a location as impossible to screenshot until seeding has been tried, and then say exactly what failed.
Identical framing Capture the same region at the same dimensions for both shots of a pair, even when one state is taller. Emulate a fixed viewport instead of resizing the user's own browser window.
Context Keep the heading or label that names the thing, nearby rows or controls, and a little padding on every side. For a hover, focus, or open-menu state, keep the trigger and the overlay in one frame. When the bug only makes sense in its page, show more of the page.
No empty bands Crop out browser chrome, app navigation, and regions the change does not touch. For full-width layouts, shrink the viewport instead of leaving wide blank space beside short content.

Read the full file on GitHub · 125 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 125 lines · 40 tokens per session scan A b2e2b7a6d8af

Subscribe to this mod's changes

pr-screenshots is a skill published in the GitHub repository getsentry/skills (1,066 stars, last pushed today), licensed Apache-2.0. It adds 40 tokens to every session and 1,639 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-16.