skills/screenshot/SKILL.md
Universal screenshot tool for capturing web pages, desktop apps, and images. Supports viewport presets (mobile/tablet/desktop), CSS selectors, batch capture, auto-upload to image hosts, and markdown output for PRs. Use when user says "take a screenshot", "screenshot this", "capture the page", "screenshot of [app/url]", "batch screenshots", "all viewports", or "upload screenshot".
npx skillsauth add szoloth/skills screenshotInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
A unified screenshot tool that captures any source (web, desktop, images) with viewport presets, element targeting, batch capture, and auto-upload.
DO:
--mobile, --tablet, or --desktop for web capturesnetworkidle before capturing web pages--markdown when user wants output for PRs or docs--upload when user wants shareable linksDO NOT:
--full unless explicitly asked for full-page/scroll capture| Input Pattern | Source Type | Tool Used |
|---------------|-------------|-----------|
| http://, https://, file:// | Web | playwright-cli |
| App name (e.g., "Figma", "Xcode") | Desktop | OS screenshot |
| .png, .jpg, .pdf path | Image | sips/ImageMagick |
| Figma URL (figma.com/...) | Figma | Web capture |
# Set skill path
export SCREENSHOT_SKILL="$HOME/.claude/skills/screenshot"
# Basic web capture
python3 "$SCREENSHOT_SKILL/scripts/screenshot.py" https://example.com
# Mobile viewport with selector
python3 "$SCREENSHOT_SKILL/scripts/screenshot.py" https://example.com --mobile --selector ".hero"
# Desktop app capture
python3 "$SCREENSHOT_SKILL/scripts/screenshot.py" --app "Figma"
# Capture existing image region
python3 "$SCREENSHOT_SKILL/scripts/screenshot.py" image.png --crop 100,100,800,600
# Batch capture with multiple viewports
python3 "$SCREENSHOT_SKILL/scripts/screenshot.py" --batch urls.txt --viewports mobile,tablet,desktop
# Capture with upload and markdown
python3 "$SCREENSHOT_SKILL/scripts/screenshot.py" https://example.com --upload --markdown
| Flag | Dimensions | Use Case |
|------|------------|----------|
| --mobile | 375x812 | iPhone viewport |
| --tablet | 768x1024 | iPad viewport |
| --desktop | 1440x900 | Default for web |
| --size WxH | Custom | Any dimensions |
| --full | Full scroll | Full page capture |
| Flag | Description |
|------|-------------|
| --selector ".class" | CSS selector |
| --text "Button" | Text content match |
| --id "element-id" | Element ID |
| Flag | Description |
|------|-------------|
| --app "Name" | Capture app by name |
| --window "Title" | Specific window title |
| --active | Capture active window |
| --region x,y,w,h | Capture region |
| Flag | Description |
|------|-------------|
| --crop x,y,w,h | Crop region |
| --resize WxH | Resize output |
| --format png/jpg | Output format |
| Flag | Description |
|------|-------------|
| --batch file.txt | URLs/apps from file |
| --viewports m,t,d | Capture all viewports |
| Flag | Description |
|------|-------------|
| --output dir/ | Output directory |
| --name prefix | Filename prefix |
| --upload | Upload to 0x0.st |
| --upload gist | Upload to GitHub Gist |
| --markdown | Generate markdown table |
| --copy | Copy result to clipboard |
The tool automatically:
npm install -g @playwright/mcp@latestFor .vercel.app URLs returning 401/403:
vercel inspect if Vercel CLI is availableSingle capture:
Screenshot saved: ~/Downloads/example-desktop-1706900000.png
With upload:
Screenshot saved: ~/Downloads/example-desktop-1706900000.png
Uploaded: https://0x0.st/abc123.png
Markdown output:
| Viewport | Screenshot |
|----------|------------|
| Desktop |  |
| Mobile |  |
| Error | Resolution |
|-------|------------|
| playwright-cli not found | Auto-installs via npm |
| Element not found | Verify selector, try broader match |
| 401/403 on URL | Protected deployment, see above |
| App not found | Check app name, ensure visible |
| Upload failed | Retry or try different host |
# Capture staging vs production
python3 "$SCREENSHOT_SKILL/scripts/screenshot.py" https://staging.example.com --upload --markdown > screenshots.md
# Append to PR
gh pr edit --body-file <(cat <(gh pr view --json body -q .body) screenshots.md)
content-media
Fetch transcripts from YouTube videos for summarization and analysis.
documentation
This skill should be used when reviewing or editing written drafts to ensure they match Sam's personal style guide. It prioritizes voice preservation and anti-beige detection while catching structural gaps. Triggers on requests to review, edit, or improve written content.
tools
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
development
Web search and content extraction using Brave Search. Use when researching topics, finding documentation, extracting article content, or gathering information from the web. No browser required - works headlessly.