Agent skill

PR Screenshots

by bradygaster in bradygaster/squad

Capture Playwright screenshots and embed them in GitHub PR descriptions

MITAuto-check passedTesting & QA

Install PR Screenshots

skills CLI
$ npx skills add bradygaster/squad --skill pr-screenshots -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install bradygaster/squad pr-screenshots --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/bradygaster/squad.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.squad-templates/skills/pr-screenshots .claude/skills/pr-screenshots && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
pr-screenshots
GitHub stars
3.3k
Token cost
~1.1k tokens
SKILL.md length
313 words
Files
1
Skills in repo
31
Repo updated
First seen
Licence
MIT

At a glance

Capture Playwright screenshots and embed them in GitHub PR descriptions

  • Works in 4 steps: Capture screenshots with Playwright → Host screenshots on a temporary branch → Embed in PR description → …
  • Tasks that involve Pull requests
  • SKILL.md covers Context, Patterns, Examples and Anti-Patterns
  • Calls git, gh and npx; reaches raw.githubusercontent.com

What it does

PR Screenshots is an agent skill from bradygaster/squad. Capture Playwright screenshots and embed them in GitHub PR descriptions

Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Testing & QA, covering Pull requests, Browser testing and Static sites and blogs. It works with Playwright and GitHub. The repository describes itself as: Squad: AI agent teams for any project. The licence is MIT.

When your agent uses it

  • Tasks that involve Pull requests
  • Tasks that involve Browser testing
  • Tasks that involve Static sites and blogs

Example prompts

  • “/pr-screenshots”

Requirements

  • Node.js

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Capture screenshots with Playwright
  2. Host screenshots on a temporary branch
  3. Embed in PR description
  4. Gitignore screenshots locally

What it can do on your machine

Read from SKILL.md and the folder at commit 71818eb. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • gh
    • npx
    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • raw.githubusercontent.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

PR Screenshots loads about 1.1k tokens when it runs. Until then it costs about 22 tokens; SKILL.md has 313 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~22
When it runs · the whole SKILL.md, loaded when a task matches
~1.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from bradygaster/squad at commit 71818eb, republished under its MIT licence (© bradygaster). 313 words, ~1,108 tokens.

Download SKILL.mdSave it as .claude/skills/pr-screenshots/SKILL.md (or your agent's skills folder).
name
pr-screenshots
description
Capture Playwright screenshots and embed them in GitHub PR descriptions
domain
pull-requests, visual-review, docs, testing
confidence
high
source
earned (multiple sessions establishing the pattern for PR #11 TypeDoc API reference)

Context

When a PR includes visual changes (docs sites, UI components, generated pages), reviewers need to see what the PR delivers without checking out the branch. Screenshots belong in the PR description body, not as committed files and not as text descriptions.

Use this skill whenever:

  • A PR touches docs site pages (Astro, Starlight, etc.)
  • A PR adds or changes UI components
  • A PR generates visual artifacts (TypeDoc, Storybook, diagrams)
  • Playwright tests already capture screenshots as part of testing

Patterns

1. Capture screenshots with Playwright

If Playwright tests already exist and produce screenshots, reuse those. Otherwise, write a minimal capture script:

javascript
// scripts/capture-pr-screenshots.mjs
import { chromium } from 'playwright';

const browser = await chromium.launch();
const page = await browser.newPage({ viewport: { width: 1280, height: 720 } });

const screenshots = [
  { url: 'http://localhost:4321/path/to/page', name: 'feature-landing' },
  { url: 'http://localhost:4321/path/to/detail', name: 'feature-detail' },
];

for (const { url, name } of screenshots) {
  await page.goto(url, { waitUntil: 'networkidle' });
  await page.screenshot({ path: `screenshots/${name}.png`, fullPage: false });
}

await browser.close();
2. Host screenshots on a temporary branch

GitHub PR descriptions render images via URLs. The gh CLI cannot upload binary images directly. Use a temporary orphan branch to host the images:

powershell
# Save current branch
$currentBranch = git branch --show-current

# Create orphan branch with only screenshot files
git checkout --orphan screenshots-temp
git reset
git add screenshots/*.png
git commit -m "screenshots for PR review"
git push origin screenshots-temp --force

# Build raw URLs
$base = "https://raw.githubusercontent.com/{owner}/{repo}/screenshots-temp/screenshots"
# Each image: $base/{name}.png

# Return to working branch
git checkout -f $currentBranch
3. Embed in PR description

Use gh pr edit with the raw URLs embedded as markdown images:

powershell
$base = "https://raw.githubusercontent.com/{owner}/{repo}/screenshots-temp/screenshots"

gh pr edit {PR_NUMBER} --repo {owner}/{repo} --body @"
## {PR Title}

### What this PR delivers
- {bullet points of changes}

---

### Screenshots

#### {Page/Feature Name}
![{alt text}]($base/{name}.png)

#### {Another Page}
![{alt text}]($base/{another-name}.png)

---

### To verify locally
```bash
{commands to run locally}

"@


### 4. Cleanup after merge

After the PR is merged, delete the temporary branch:

```bash
git push origin --delete screenshots-temp
5. Gitignore screenshots locally

Screenshots are build artifacts — never commit them to feature branches:

gitignore
# PR screenshots (hosted on temp branch, not committed to features)
screenshots/
docs/tests/screenshots/

Examples

Example: Docs site PR with 3 pages
  1. Start dev server: cd docs && npm run dev
  2. Run Playwright tests (they capture screenshots as a side effect)
  3. Push screenshots to screenshots-temp branch
  4. Update PR body with embedded ![...]() image references
  5. Reviewer sees the pages inline without checking out the branch
Example: Reusing existing Playwright test screenshots

If tests at docs/tests/*.spec.mjs already save to docs/tests/screenshots/:

powershell
cd docs && npx playwright test tests/api-reference.spec.mjs
# Screenshots now at docs/tests/screenshots/*.png
# Push those to screenshots-temp and embed in PR

Anti-Patterns

  • ❌ Committing screenshots to feature branches — they bloat the repo and go stale
  • ❌ Posting text descriptions instead of actual images — reviewers can't see what they're getting
  • ❌ Using gh CLI to "upload" images — gh issue comment and gh pr edit don't support binary uploads
  • ❌ Asking the user to manually drag-drop images — automate it with the temp branch pattern
  • ❌ Skipping screenshots for visual PRs — if the PR changes what users see, show what users see
  • ❌ Leaving the screenshots-temp branch around forever — clean up after merge

© bradygaster, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .squad-templates/skills/pr-screenshots of bradygaster/squad.

Open the folder on GitHubat commit 71818eb

Compare with similar skills

PR Screenshots next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

PR Screenshots compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
PR Screenshots this skillbradygaster/squad3.3k—~1.1kAutomated safety check: PassMIT
Docs AuthoringTracecatHQ/tracecat3.8k—~3.1kAutomated safety check: NotesAGPL-3.0
Record E2E Giflablup/backend.ai-webui133—~907Automated safety check: NotesLGPL-3.0
Dev Issuehmislk/hmis236—~5.1kAutomated safety check: PassGPL-3.0
Code Reviewnteract/semiotic2.7k—~1.5kAutomated safety check: PassApache-2.0
Reprovaadin/web-components582—~1.3kAutomated safety check: PassNone

Similar skills

  • Docs Authoring

    TracecatHQ/tracecat

    A skill your agent uses when adding or updating documentation pages in an existing docs site.

    3.8k GitHub stars~3.1k tokensUpdated today
    DevelopmentAuto-check: notes
  • Record E2E Gif

    lablup/backend.ai-webui

    Record Playwright e2e tests as one GIF per test case (video → ffmpeg palette GIF) and return a markdown table for a PR description.

    133 GitHub stars~907 tokensUpdated today
    Testing & QAAuto-check: notes
  • Dev Issue

    hmislk/hmis

    Run a GitHub issue through its full lifecycle end-to-end: investigate, discuss the approach, gather test context (department/data), implement, rebuild + local redeploy, verify with Playwright and…

    236 GitHub stars~5.1k tokensUpdated today
    Testing & QAAuto-check passed
  • Code Review

    nteract/semiotic

    Review Semiotic pull requests for behavioral bugs, regressions, contract drift, and missing evidence.

    2.7k GitHub stars~1.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Repro

    vaadin/web-components

    Reproduce a Vaadin web component bug from a GitHub issue in vaadin/web-components.

    582 GitHub stars~1.3k tokensUpdated today
    Testing & QAAuto-check passed
  • Playwright Screen Recording

    liaohch3/claude-tap

    Records headless Playwright sessions as .webm videos to show a bug fix working or to give pull request reviewers visual evidence.

    3.3k GitHub stars~714 tokensUpdated 16 days ago
    Testing & QAAuto-check passed

More from bradygaster/squad

All 31 skills in this repo
  • Fact Checking

    bradygaster/squad

    Review and validate claims using counter-hypothesis testing.

    3.3k GitHub stars~503 tokensUpdated today
    Auto-check passed
  • Architectural Review

    bradygaster/squad

    How to review PRs for architectural quality — module boundaries, dependency direction, export surface, pattern consistency

    3.3k GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Archival Integrity

    bradygaster/squad

    Preserve content when moving entries between tracked Squad state files

    3.3k GitHub stars~735 tokensUpdated today
    Auto-check passed
  • CI Validation Gates

    bradygaster/squad

    Defensive CI/CD patterns: semver validation, token checks, retry logic, and draft detection

    3.3k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • CLI Wiring

    bradygaster/squad

    Checklist and patterns for wiring new CLI commands into cli-entry.ts

    3.3k GitHub stars~501 tokensUpdated today
    Auto-check passed
  • Enables squad agents on different machines to share work via git-based task queuing

    3.3k GitHub stars~2.7k tokensUpdated today
    Auto-check passed

Questions about PR Screenshots

What does PR Screenshots do?

Capture Playwright screenshots and embed them in GitHub PR descriptions. PR Screenshots is an agent skill from bradygaster/squad.

When should I use PR Screenshots?

PR Screenshots fits situations like: tasks that involve Pull requests; tasks that involve Browser testing; tasks that involve Static sites and blogs.

How do I install PR Screenshots in Claude Code?

Run `npx skills add bradygaster/squad --skill pr-screenshots -a claude-code`. Or copy the skill folder (.squad-templates/skills/pr-screenshots in bradygaster/squad) into .claude/skills/pr-screenshots in your project. Claude Code loads it when a task matches its description.

How do I install PR Screenshots in Codex?

Run `npx skills add bradygaster/squad --skill pr-screenshots -a codex`. Or copy the skill folder (.squad-templates/skills/pr-screenshots in bradygaster/squad) into .agents/skills/pr-screenshots in your project. Codex loads it when a task matches its description.

Can I use PR Screenshots in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add bradygaster/squad --skill pr-screenshots -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pr-screenshots, .gemini/skills/pr-screenshots, .github/skills/pr-screenshots and .opencode/skills/pr-screenshots in your project.

What does PR Screenshots need to run?

Going by SKILL.md and its folder, PR Screenshots needs the command-line tools its instructions call (git, gh, npx and npm). Our summary lists: Node.js.

Does PR Screenshots access the network?

SKILL.md names 1 domain. In commands or code: raw.githubusercontent.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is PR Screenshots safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does PR Screenshots use?

PR Screenshots is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does PR Screenshots use?

About 1.1k tokens (SKILL.md is roughly 4.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to PR Screenshots?

Skills that share tags, products or a category with PR Screenshots: Docs Authoring (TracecatHQ/tracecat, 3.8k stars), Record E2E Gif (lablup/backend.ai-webui, 133 stars), Dev Issue (hmislk/hmis, 236 stars) and Code Review (nteract/semiotic, 2.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains PR Screenshots?

bradygaster (a GitHub user) maintains it in bradygaster/squad, which has 3,259 GitHub stars. The repository holds 31 skills in this directory. The repository was last updated on October 9, 2026.

Source: bradygaster/squad on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.