screenshotting-changelog — Claude Code skill: before/after PR shots
Builds a visual changelog for a pull request: captures pages before and after your UI edits and drops the image pairs into the PR body.
npx skills add spencerpauly/awesome-cursor-skills --skill screenshotting-changelog -a claude-codeWhat screenshotting-changelog does
The skill kicks in when you are preparing a pull request that touches the interface. The agent opens the affected pages in Cursor's built-in browser, takes full-page screenshots and saves them to the workspace. The before state comes first: stash your work with git stash or check out the base branch, start the dev server, then call browser_navigate and browser_take_screenshot with fullPage: true.
Then the changes come back (git stash pop or a switch to the feature branch), the server reloads, and the same pages are captured again as after-homepage.png. Those pairs turn into a markdown block with before and after images plus a short list of what changed, pasted straight into the PR description.
There are variations for trickier cases. browser_resize gives you a comparison at mobile, tablet and desktop widths, and you can capture dark mode, hover states, open modals and forms with errors. Screenshots land in the workspace, so you can reference them in markdown or upload them to the PR. Backend-only changes are a waste of time here — there is nothing for a reviewer to look at.
What it helps with
- show a reviewer how a page looked before and after the edits
- assemble a visual changelog for a UI pull request
- compare layout at mobile, tablet and desktop widths
- capture hover states, modals and forms with errors
- screenshot a single component from a Storybook URL
Example prompts for the agent
- Take before and after screenshots of the pages I changed and build a visual changelog into the PR description
- Capture the homepage at 375, 768 and 1280 widths and show me the difference
- Screenshot the modal and the error form in dark mode, before and after
How to install screenshotting-changelog
1Skills CLI (Vercel)
npx skills add spencerpauly/awesome-cursor-skills --skill screenshotting-changelog -a claude-code2Manually: put the files in place
~/.claude/skills/screenshotting-changelog/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/screenshotting-changelog/
1Skills CLI (Vercel)
npx skills add spencerpauly/awesome-cursor-skills --skill screenshotting-changelog -a codex2Manually: put the files in place
.agents/skills/screenshotting-changelog/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add spencerpauly/awesome-cursor-skills --skill screenshotting-changelog -a cursor2Manually: put the files in place
.cursor/skills/screenshotting-changelog/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install spencerpauly/awesome-cursor-skills screenshotting-changelog2Manually: put the files in place
.github/skills/screenshotting-changelog/SKILL.md1Skills CLI (Vercel)
npx skills add spencerpauly/awesome-cursor-skills --skill screenshotting-changelog -a gemini-cli2Platform CLI
gemini skills install https://github.com/spencerpauly/awesome-cursor-skills --path resources/screenshotting-changelogManually: put the files in place
.devin/skills/screenshotting-changelog/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add spencerpauly/awesome-cursor-skills --skill screenshotting-changelog -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about screenshotting-changelog
How do I install screenshotting-changelog in Claude?
Run npx skills add spencerpauly/awesome-cursor-skills --skill screenshotting-changelog -a claude-code. The skill file then lives at ~/.claude/skills/screenshotting-changelog/SKILL.md.
What does screenshotting-changelog do?
It captures the affected pages before and after your edits with the built-in browser, turns the image pairs into a markdown changelog and pastes it into the pull request description.
When should I skip this skill?
On backend-only changes — a reviewer has nothing visual to compare. It is meant for pull requests with UI edits.
Source text
SKILL.md · CC0-1.0
---
name: screenshotting-changelog
description: Generate a visual changelog or PR description by taking before/after screenshots of UI changes using Cursor's built-in browser. Use when preparing a PR with visual changes.
---
# Screenshot Changelog
Use this skill when preparing a pull request that includes visual/UI changes. Capture before and after screenshots to create a visual changelog that reviewers can quickly scan.
## Steps
1. **Capture the "before" state** — before making changes (or on the base branch), start the dev server and screenshot the affected pages:
```bash
git stash # or checkout the base branch
```
Start the dev server, then:
```
Tool: browser_navigate
Arguments: { "url": "http://localhost:3000/affected-page", "take_screenshot_afterwards": true }
```
```
Tool: browser_take_screenshot
Arguments: { "fullPage": true, "filename": "before-homepage.png" }
```
Repeat for each affected page or component state.
2. **Switch to the feature branch** — apply your changes:
```bash
git stash pop # or checkout the feature branch
```
Wait for the dev server to hot-reload (or restart it).
3. **Capture the "after" state** — screenshot the same pages:
```
Tool: browser_take_screenshot
Arguments: { "fullPage": true, "filename": "after-homepage.png" }
```
4. **Generate the changelog** — create a summary describing what changed visually:
```markdown
## Visual Changes
### Homepage
**Before:**

**After:**

Changes: Updated hero section layout, new CTA button color, added testimonials section.
```
5. **Include in the PR description** — paste the visual changelog into the PR body so reviewers can see the changes at a glance without running the app locally.
## Variations
- **Responsive comparison**: use `browser_resize` to capture screenshots at mobile (375px), tablet (768px), and desktop (1280px) widths.
- **Dark mode comparison**: if the app has a dark mode toggle, capture both themes.
- **Interactive states**: capture hover states, open modals, filled forms, and error states.
## Notes
- Screenshots are saved to the workspace. You can reference them in markdown or upload them to the PR.
- For component-level screenshots, navigate to a Storybook URL or a specific component route.
- This is most valuable for design-heavy PRs — skip it for backend-only changes.
© spencerpauly · CC0-1.0 · spencerpauly/awesome-cursor-skills