Loading...
Loading...
Add before/after comparison screenshots to a PR using browser automation. Captures UI on the base branch and the PR branch, saves to docs/screenshot/, and updates the PR body with a side-by-side comparison table using GitHub CDN URLs.
npx skill4agent add madeyexz/ian-skills-agents pr-screenshot$ARGUMENTS# Get current repo info
REPO=$(gh repo view --json nameWithOwner -q .nameWithOwner)
# Get PR info (base branch, head branch, title, body)
gh pr view <PR_NUMBER> --json baseRefName,headRefName,title,body
# Save branch names
BASE_BRANCH=<baseRefName> # e.g. main
HEAD_BRANCH=<headRefName> # e.g. feature/new-ui# Stash any uncommitted changes, then checkout the base branch
git stash
git checkout $BASE_BRANCH
# Install dependencies (in case they differ)
pnpm install
# Start dev server
pnpm dev &
DEV_PID=$!
sleep 5
# Create screenshot directories
mkdir -p docs/screenshot/before docs/screenshot/after
# Open the page(s) to screenshot
agent-browser open "http://localhost:3000/path/to/feature"
sleep 2
# Login if needed (check CLAUDE.md for credentials)
agent-browser snapshot -i
agent-browser fill @e1 "email"
agent-browser fill @e2 "password"
agent-browser click @e3
# Navigate to the relevant page and take screenshot(s)
agent-browser screenshot docs/screenshot/before/feature-overview.png
agent-browser screenshot docs/screenshot/before/feature-detail.png
# Stop dev server and close browser
agent-browser close
kill $DEV_PID 2>/dev/null || true
pkill -f "next dev" || true# Checkout the PR branch
git checkout $HEAD_BRANCH
git stash pop || true
# Install dependencies
pnpm install
# Start dev server
pnpm dev &
DEV_PID=$!
sleep 5
# Open the same page(s)
agent-browser open "http://localhost:3000/path/to/feature"
sleep 2
# Login if needed (same steps as before)
agent-browser snapshot -i
agent-browser fill @e1 "email"
agent-browser fill @e2 "password"
agent-browser click @e3
# Navigate to the same page and take screenshot(s)
agent-browser screenshot docs/screenshot/after/feature-overview.png
agent-browser screenshot docs/screenshot/after/feature-detail.png
# Stop dev server and close browser
agent-browser close
kill $DEV_PID 2>/dev/null || true
pkill -f "next dev" || truebefore/after/docs/screenshot/
├── before/
│ ├── feature-overview.png
│ ├── feature-detail.png
│ └── feature-empty.png
└── after/
├── feature-overview.png
├── feature-detail.png
└── feature-empty.pngfeature-overview.pngfeature-detail.pngfeature-empty.pngfeature-loading.pngfeature-mobile.pnggit add docs/screenshot/
git commit -m "$(cat <<'EOF'
docs: add before/after screenshots for [feature]
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
EOF
)"
git push?raw=truehttps://github.com/<REPO>/blob/<BRANCH>/docs/screenshot/<before|after>/<filename>.png?raw=true<REPO>nameWithOwner<BRANCH>gh pr edit <PR_NUMBER> --body "$(cat <<'EOF'
# PR Title
## Summary
[existing summary]
## Screenshots
### Feature Overview
| Before | After |
|--------|-------|
|  |  |
### Detail View
| Before | After |
|--------|-------|
|  |  |
[rest of PR body]
EOF
)"agent-browser close
pkill -f "next dev" || true
git checkout $HEAD_BRANCHhttps://github.com/OWNER/REPO/blob/BRANCH/path/to/image.png?raw=truegh repo view --json nameWithOwner -q .nameWithOwnergh pr viewCLAUDE.mdagent-browser tab listagent-browser tab Nagent-browser click "button.submit"agent-browser scroll down 500agent-browser eval "window.resizeTo(375, 812)"