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.
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.
git clone --depth 1 https://github.com/getsentry/skillsnpx agentmods add skills/getsentry/skills/pr-screenshotsWrote 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.
[](https://agentmods.dev/skills/getsentry/skills/pr-screenshots)<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.
<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>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.
| Model | Per session | Once 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 |
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.
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. |
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.
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.
- yesterday First seen · 125 lines · 40 tokens per session scan A b2e2b7a6d8af
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.
Other skills, from other repositories
test-conversion-reviewer
Reviewer for converting unit tests to browser tests for Project Bedrock. Invoke this when the user needs to review their work while removing complex Browser dependencies from tests.
cl-link-from-hash
Use this skill to get a link to a Gerrit Changelist (CL) from a given commit hash in the Chromium repository. Use when you need to find the review discussion, comments, or related issues for a specific commit. Don't use for linking to files or code lines.
remove-unused-includes
Look through a given folder to find and safely remove unused includes specifically for Clang-compiled code (using clang-include-cleaner), verifying that referencing targets compile.
pr-screenshots
Capture Playwright screenshots and embed them in GitHub PR descriptions.
multi-agent-code-review
Multi-agent consensus-driven code review. Audits changes using security, performance, and style checkers.
accessibility-cleanup
Finds common violations of the Android accessibility API in the Clank App Java code and attempts to address them (e.g. hardcoded state change announcements, missing events, focus moving, assertive live regions, etc).