Installs into .claude/skills of the current project.
Sponsors
SSkills DirectorySkills Directory
Know which skills are safe β weekly.
SSkills DirectorySkills Directory
Is that skill safe to install?
Are you the author of Screenshot?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/johnalbertini14-glitch-screenshot)
---
name: Screenshot
description: Capture screens, windows, and regions across platforms with the right tools.
metadata: {"clawdbot":{"emoji":"πΈ","os":["linux","darwin","win32"]}}
---
## macOS
- Use `screencapture` (built-in): `screencapture -x output.png` for silent capture, `-i` for interactive selection
- Capture specific window by PID: `screencapture -l$(osascript -e 'tell app "AppName" to id of window 1') out.png`
- For retina displays, output is 2x resolution by default β add `-R x,y,w,h` to capture exact pixel region
- iOS Simulator: `xcrun simctl io booted screenshot output.png` β faster and more reliable than screencapture
## Linux
- `gnome-screenshot` for GNOME, `spectacle` for KDE, `scrot` for minimal/headless
- Headless X11: `xvfb-run scrot output.png` β creates virtual display for CI environments
- Wayland sessions break X11 tools silently β use `grim` for Wayland, `slurp` for region selection
## Windows
- PowerShell built-in: `Add-Type -AssemblyName System.Windows.Forms; [System.Windows.Forms.Screen]::PrimaryScreen | ...` is verbose β prefer `nircmd savescreenshot`
- `nircmd savescreenshot output.png` works from CLI without dependencies on most Windows versions
- For programmatic capture, `python -m PIL.ImageGrab` works cross-platform but requires Pillow installed
## Web Pages
- Playwright: `npx playwright screenshot URL output.png --full-page` β handles JavaScript rendering and scrolling
- Always wait for network idle: `--wait-for-timeout=5000` or page never finishes loading dynamic content
- Full-page screenshots of long pages pixelate when viewed β split into viewport-sized chunks instead
- Puppeteer equivalent: `page.screenshot({fullPage: true})` after `networkidle0`
## Format and Quality
- PNG for UI/text (lossless), JPEG for photos (smaller files)
- JPEG quality 85-92 is optimal β below 80 shows artifacts on text, above 95 gains little
- WebP offers 25-35% smaller files than JPEG at same quality β supported everywhere except older Safari
## Automation Patterns
- Add timestamps to filenames: `screenshot-$(date +%Y%m%d-%H%M%S).png` β prevents overwrites in batch jobs
- For comparison testing, use identical viewport sizes β different resolutions create false diffs
- CI screenshot artifacts: compress with `pngquant` or `jpegoptim` before upload β saves storage and transfer time