Stitched Full Page Capture
Meng ToCommunityCreated by Meng To
- Skill
- Workflow
- Automation and integrations
- MIT
- Low risk
- Has scripts
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
This skill provides a methodology for generating accurate full-page screenshots of web pages that utilize lazy-loading, scroll-based animations, or complex rendering like WebGL. By scrolling through the page and capturing settled viewport slices, it avoids common issues where automated full-page captures result in blank or incomplete images. The process includes a script to automate the capture, stitching, and validation of these images against existing page manifests.
What it does
- Warms up web pages by scrolling to trigger lazy-loaded content.
- Captures individual viewport-sized screenshots after a set delay.
- Stitches viewport slices into a single full-page image.
- Regenerates section crops from the newly created stitched image.
- Updates manifest files with capture metadata and corrected coordinates.
- Validates the resulting images against expected dimensions and content.
When to use it
- When standard full-page browser screenshots appear blank, gray, or incomplete.
- When capturing pages with heavy scroll-animations or lazy-loaded elements.
- When section crops need to be derived from a reliable full-page source.
- When verifying that captured images match the content shown in scroll videos.
Advantages
- Ensures content is fully rendered before capture.
- Provides a reliable alternative to native browser full-page capture methods.
- Automates the stitching and coordinate update process via script.
- Includes validation steps to ensure image integrity.
Usage examples
- “Repair the full-page screenshot for the UI inspiration article in the current manifest.”
- The agent executes the stitching script to capture, stitch, and update the manifest with a corrected full-page image.
- “Capture a full-page image for a Framer site with custom viewport settings.”
- The agent runs the capture script using the specified viewport dimensions and wait times to ensure all sections are rendered.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/mengto/stitched-full-page-capture/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip stitched-full-page-capture.zip -d .agents/skills
Documentation by Meng To
Stitched Full-Page Capture
Overview
Use settled viewport screenshots instead of trusting one-shot browser fullPage captures. This is especially important for Framer pages and other lazy/scroll-animated sites where the MP4 can look correct while the tall screenshot is mostly blank.
Core Workflow
Open the real page URL, not a marketplace thumbnail, cover image, remix page, or asset URL.
Warm the page by scrolling from top to bottom once so lazy media and reveal sections mount.
Return to the top.
Scroll downward in viewport-sized or slightly-overlapping steps.
Wait about 2 seconds after each scroll stop.
Capture the settled viewport.
Stitch the viewport captures vertically into one full-page image.
Cut section crops from that stitched image, not from the native browser
fullPagescreenshot.Validate the stitched image against the representative still, MP4, and motion frames.
Reject a full-page candidate when it has blank/gray/white bands, very low visual content, missing lazy-loaded sections, an extremely narrow content column, or obvious disagreement with the scroll video.
Script
For daily UI inspiration articles, use the helper script from this skill directory when available:
node <skills-root>/stitched-full-page-capture/scripts/stitch_full_page_capture.mjs \
--manifest articles/YYYY-MM-DD-ui-inspiration-capture/manifest.jsonThe script:
reads
items[].pageUrl,fullPageImage, andsectionImages;opens each live page in Playwright Chromium;
warms lazy content by scrolling once;
captures settled viewport slices;
stitches slices into
fullPageImage;regenerates each existing section crop from the stitched image;
updates
manifest.jsonwithfullPageCaptureMethod: "stitchedViewportScreenshots", viewport, step, segment count, and corrected crop coordinates.
Useful options:
--item 4 # repair only item 4, 1-based
--viewport 1440x1100 # default
--step 950 # default; use less than viewport height for overlap
--wait 2000 # ms to wait after each scroll stop
--quality 3 # ffmpeg JPEG quality, lower is betterValidation
After capture or repair:
Inspect at least the page that was visibly wrong before.
Confirm
sips -g pixelWidth -g pixelHeight full-page/*.jpgreports expected wide/tall dimensions.Confirm the full-page image is not mostly blank and includes lower-page content.
Confirm section crop coordinates are contiguous and end at the full-page image height.
Run the project’s normal checks, for example:
git diff --check -- articles/YYYY-MM-DD-ui-inspiration-capture/content.md articles/YYYY-MM-DD-ui-inspiration-capture/manifest.json
node scripts/check-ui-inspiration-duplicates.mjs articles/YYYY-MM-DD-ui-inspiration-capture/manifest.json
for f in articles/YYYY-MM-DD-ui-inspiration-capture/videos/*.mp4; do ffprobe -v error "$f" >/dev/null; doneNotes
The scroll video is evidence that the page can render during real scrolling, but it is not a substitute for full-page still evidence.
Native
fullPagescreenshots can still be saved as comparison candidates, but do not use them as source of truth unless they visually match the stitched capture.For daily UI articles, update the manifest and commit only the repaired article assets and metadata.
Files
- ATTRIBUTION.mdAdded by AutoGineer869 B
- LICENSELicence file added by AutoGineer1.0 KiB
- SKILL.md3.7 KiB
- agents/openai.yaml270 B
- demo/PROMPT.md2.0 KiB
- demo/expected-output.md230 B
- demo/index.html3.8 KiB
- demo/input.md191 B
- demo/preview.jpg77.7 KiB
- scripts/stitch_full_page_capture.mjsScript7.8 KiB
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs a command-line tool, Needs Node.js
Security
What our scanner noticed· Low risk
- Scripts that your agent may run
This skill includes scripts that your agent may run. Read them before you use it.
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- Meng To
- Publisher
- Meng To (Community)
- Source
- MengTo/Skills · agent-skills/codex/stitched-full-page-capture · commit 5ea1661
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Meng To or Meng To.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download stitched-full-page-capture.zip