Help us improve
Share bugs, ideas, or general feedback.
From pixelbrowse
Captures screenshots of web pages, PDFs, and local files as tiled JPEG images for visual reading. Use instead of raw HTML when you need to see layouts, charts, diagrams, or UI.
npx claudepluginhub startrail-org/pixelrag --plugin pixelbrowseHow this skill is triggered — by the user, by Claude, or both
Slash command
/pixelbrowse:pixelbrowseThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use `pixelshot` to capture any URL or document as tiled JPEG images, then read the images visually.
Captures web page screenshots with a tool cascade (browser MCP → shot-scraper → Playwright → user install). Handles full-page, element, viewport, retina, dark mode, and batched captures.
Captures screenshots of web pages, local files, and Reveal.js presentations using Playwright, enabling visual inspection and iteration for agents that cannot see rendered UI.
Captures clean screenshots of web pages via Playwright MCP for blog posts and documentation. Handles viewport resizing, full-page vs element shots, cookie banners, anchor scrolling, and PNG/JPG output.
Share bugs, ideas, or general feedback.
Use pixelshot to capture any URL or document as tiled JPEG images, then read the images visually.
# Screenshot a URL (optimized for Claude's vision: 1568px tile height)
pixelshot <url> --output /tmp/pixelbrowse --tile-height 1568
# Screenshot multiple URLs in parallel
pixelshot <url1> <url2> --output /tmp/pixelbrowse --tile-height 1568 --workers 4
# Wider viewport for desktop layouts
pixelshot <url> --output /tmp/pixelbrowse --tile-height 1568 --viewport-width 1280
# Render a PDF
pixelshot document.pdf --output /tmp/pixelbrowse
IMPORTANT: Always use --tile-height 1568 for screenshots you will read visually.
Claude's vision model downscales images with long edge > 1568px (Sonnet/Haiku) or 2576px (Opus).
The default 8192px tile height will be downscaled and text becomes unreadable.
After rendering, read the tile images from the output directory to visually understand the content.
pixelshot <url> --output /tmp/pixelbrowse/tmp/pixelbrowse/<domain>.png.tiles/tile_0000.jpg directly (no need to ls — the naming is deterministic)Output path pattern: /tmp/pixelbrowse/<sanitized-url>.png.tiles/tile_NNNN.jpg
https://news.ycombinator.com → /tmp/pixelbrowse/news.ycombinator.com.png.tiles/tile_0000.jpghttps://example.com/page → /tmp/pixelbrowse/example.com_page.png.tiles/tile_0000.jpgDo NOT run ls — just read tile_0000.jpg. If it doesn't exist, the page had no content.
If text or details are too small to read, crop the region of interest and re-read at full resolution. Pillow is always available (it's a pixelshot dependency):
python3 -c "from PIL import Image; Image.open('<tile_path>').crop((x1, y1, x2, y2)).save('/tmp/pixelbrowse/crop.png')"
Use this whenever you see content but can't make out the details — tables, small labels, fine print, chart axes, etc.
--viewport-width 1280 for desktop layouts, default 875 for mobile/article width--backend cdp (default, fastest) or --backend playwright