video-analyze
Video analysis and inspection using FFprobe and FFmpeg. Reads metadata, codec info, resolution, bitrate, duration, HDR status,…
Web screenshot capture for video production using Playwright. Takes full-page, viewport, or element-specific screenshots at video-native dimensions (1920x1080, 1080x1920). Device emulation (100+ presets), CSS injection to hide ads/banners, authentication persistence, Ken Burns
$ npx -y skills add AgriciDaniel/claude-video --skill video-screenshot --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/video-screenshotContext preview
The summary Claude sees to decide when to auto-load this skill.
Web screenshot capture for video production using Playwright. Takes full-page, viewport, or element-specific screenshots at video-native dimensions (1920x1080, 1080x1920). Device emulation (100+ presets), CSS injection to hide ads/banners, authentication persistence, Ken Burns
name: claude-video-screenshot description: > Web screenshot capture for video production using Playwright. Takes full-page, viewport, or element-specific screenshots at video-native dimensions (1920x1080, 1080x1920). Device emulation (100+ presets), CSS injection to hide ads/banners, authentication persistence, Ken Burns zoom/pan animation from screenshots, browser session recording, and batch URL capture. Use when user says "screenshot", "web capture", "capture website", "screenshot for video", "web to image", "record browser", "ken burns", "web recording", "page capture", or "capture URL". allowed-tools: - Bash - Read - Write
Check Playwright is installed:
source ~/.video-skill/bin/activate
python3 -c "from playwright.sync_api import sync_playwright; print('Playwright ready')"If not installed:
source ~/.video-skill/bin/activate pip install playwright && playwright install --with-deps chromium
Capture a web page at video-native dimensions:
source ~/.video-skill/bin/activate python3 scripts/web_capture.py \ --url "https://example.com" \ --output capture.png \ --viewport 1920x1080
**Options:**
Use `--preset` for common video dimensions:
| Preset | Viewport | Use Case | |--------|----------|----------| | `--preset landscape` | 1920x1080 | 16:9 YouTube/LinkedIn | | `--preset portrait` | 1080x1920 | 9:16 TikTok/Reels/Shorts | | `--preset square` | 1080x1080 | 1:1 Instagram | | `--preset instagram` | 1080x1350 | 4:5 Instagram portrait | | `--preset 4k` | 3840x2160 | 4K landscape |
Capture multiple URLs at once:
source ~/.video-skill/bin/activate python3 scripts/web_capture.py \ --urls urls.txt \ --output-dir ./captures/ \ --viewport 1920x1080 \ --hide ".cookie-banner"
The `urls.txt` file contains one URL per line. Output files are named after the URL slug.
Record a browser session as video:
source ~/.video-skill/bin/activate python3 scripts/web_capture.py \ --record \ --url "https://example.com" \ --output recording.mp4 \ --viewport 1920x1080 \ --duration 10
Uses Playwright's `record_video_dir` to capture the browser session. Useful for tutorial videos or documenting web interactions.
**Options:**
Convert a screenshot into a zoom/pan video:
source ~/.video-skill/bin/activate python3 scripts/web_capture.py \ --url "https://example.com" \ --output capture.png \ --viewport 1920x1080 \ --ken-burns \ --ken-burns-duration 5
Or apply Ken Burns to an existing image:
python3 scripts/web_capture.py \ --ken-burns-image existing.png \ --ken-burns-duration 5 \ --ken-burns-direction zoom-in \ --output kenburns.mp4
**Ken Burns options:**
**FFmpeg command used internally:**
ffmpeg -loop 1 -framerate 60 -i capture.png \ -vf "scale=8000:-1,zoompan=z='zoom+0.001':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':d=DURATION*60:s=1920x1080:fps=60" \ -t DURATION -c:v libx264 -pix_fmt yuv420p kenburns.mp4
Common device presets (Playwright has 100+):
| Device | Resolution | User Agent | |--------|-----------|------------| | iPhone 15 Pro | 393x852 | Mobile Safari | | iPhone 15 Pro Max | 430x932 | Mobile Safari | | Pixel 7 | 412x915 | Mobile Chrome | | iPad Pro 11 | 834x1194 | Mobile Safari | | Galaxy S21 | 360x800 | Mobile Chrome |
python3 scripts/web_capture.py --url "..." --device "iPhone 15 Pro" --output mobile.png
Hide unwanted elements before capture:
python3 scripts/web_capture.py --url "..." --hide ".ads,.cookie-banner,.popup,.newsletter-modal" --output clean.png
For custom CSS injection:
python3 scripts/web_capture.py --url "..." --inject-css "body { font-size: 24px !important; }" --output styled.pngScreenshots can be used as:
1. Run `bash scripts/preflight.sh` for output path validation 2. Respect robots.txt and site terms of service 3. Do not capture login pages or authenticated content without user consent 4. Clean up temporary browser recording files
Load `references/web-capture.md` for Playwright API details, device presets, and FFmp
AI-powered video production suite for Claude Code. Edit, transcode, caption, analyze, generate, and create promo videos: all from your terminal.
Video analysis and inspection using FFprobe and FFmpeg. Reads metadata, codec info, resolution, bitrate, duration, HDR status,…
Audio processing for video files using FFmpeg. Loudness normalization to streaming standards (LUFS), noise reduction, audio…
Speech-to-text transcription and animated subtitle generation using Whisper and FFmpeg. Creates word-by-word animated captions…
Programmatic video creation using Remotion (React-based). Generates title cards, data visualizations, motion graphics, branded…
Video downloading via yt-dlp with format selection, quality control, subtitle download, audio-only extraction, and playlist…
Video editing operations using FFmpeg: trimming, cutting, splitting, concatenation, speed changes, cropping, scaling, rotation,…