Skip to content
Back to skills

Pr Evidence

ASecurity

How a PR shows its change instead of describing it - before/after screenshots for UI work captured in a clean environment (emulator, simulator, or fresh browser profile) with a throwaway account, hosting images on a non-merging pr-assets branch with a fresh path per capture, the one-snippet rule for non-UI changes, and the six-section PR body. Use when opening or drafting a PR or MR, writing a PR description, attaching screenshots, or at the start of any UI-facing unit so the "before" baselin...

  • 8 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 27, 2026
ai-agentsgotestinggitapidocumentation

Works with

  • api

Security analysis

A100/100

Scanned September 27, 2026

npx -y skills add ArefMozafari/pr-evidence --skill pr-evidence --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Pr Evidence?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Pr Evidence
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/arefmozafari-pr-evidence/badge)](https://www.skillsdirectory.com/skills/arefmozafari-pr-evidence)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: pr-evidence
description: How a PR shows its change instead of describing it - before/after screenshots for UI work captured in a clean environment (emulator, simulator, or fresh browser profile) with a throwaway account, hosting images on a non-merging pr-assets branch with a fresh path per capture, the one-snippet rule for non-UI changes, and the six-section PR body. Use when opening or drafting a PR or MR, writing a PR description, attaching screenshots, or at the start of any UI-facing unit so the "before" baseline is captured on the base branch first.
---

# PR evidence — show the change, don't describe it

A reviewer should grasp what moved without reading the diff.

## What to show

- **UI/UX change → before *and* after screenshots**, same screen, same device or viewport, same
  state.
- **Everything else → the one short snippet that *is* the change** — the few lines that
  carry it, not a tour of every file.

## Capture the "before" first

Capture the baseline **while still on the base branch, at the start of the unit**.
Reconstructing it afterwards costs a second build, install, and re-drive of the app. If a unit
turns out to be UI-facing after work has started, capture the baseline before going further.

## Where to capture

**In a clean environment with a throwaway account, never on your personal device or browser
profile.** For mobile work that means an emulator or simulator; for web work, a fresh browser
profile. A personal device holds real sessions, and scrubbing it means destroying them. A clean
environment starts empty, is disposable, and nothing private can leak into a public repo. Keep
hands-on testing on a real device where it matters — that is about whether it works; this is
about what a reviewer sees.

Screenshots are published artifacts. On a **public** repo they carry whatever is on screen —
account names, server hostnames, room IDs, message content. Check the frame before attaching,
and ask if real data can't be avoided.

## Hosting images on GitHub

GitHub has no API for PR image attachments — the drag-and-drop `user-attachments` flow is
browser-session only, so `gh` cannot do it. Images need a public URL first:

1. Push them to a **non-merging `pr-assets` branch**, so binaries never enter the main history.
2. Reference `https://github.com/<owner>/<repo>/blob/pr-assets/<pr>/<rev>/<name>.png?raw=true`.
   That form renders for anyone with access to the repo, private repos included;
   `raw.githubusercontent.com` links only render on public repos.
3. Lay them out as a two-column before/after table.

**Never overwrite an image path.** GitHub proxies external images through its camo cache, so
replacing a file at a URL that has already been rendered can keep serving the stale picture.
Give every capture a fresh path (`<pr>/<rev>/<name>.png`) instead of re-uploading over an old
one.

## PR body

Use the repo's own template if it has one. Otherwise these six sections, in this order:

1. **Task summary**
2. **Scope of work** — a checklist
3. **Testing instructions**
4. **Screenshots** — UI changes; the before/after table goes here
5. **Breaking changes** — yes/no, and what
6. **Documentation / links**

Reference issues as "tracked in #NN" unless the PR should close them — `Closes/Fixes/Resolves
#NN` auto-closes on merge.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…