stitched-full-page-capture — скилл для Claude Code: полные скриншоты
Скилл собирает полный скриншот страницы из кусков вьюпорта, когда обычный fullPage даёт пустоту. Пригодится на Framer, WebGL и сайтах с ленивой загрузкой.
npx skills add MengTo/Skills --skill stitched-full-page-capture -a claude-codeЧто делает stitched-full-page-capture
Обычный fullPage в браузере часто врёт: на страницах с ленивой загрузкой, scroll-анимациями и canvas он выдаёт серые полосы, белые зоны или узкую полоску контента. Скилл вместо одного снимка прокручивает страницу сверху вниз шагами размером с вьюпорт, ждёт около 2 секунд после каждой остановки и снимает уже устоявшийся экран. Потом склеивает куски по вертикали в одно изображение.
Внутри есть скрипт scripts/stitch_full_page_capture.mjs на Node. Он читает манифест с items[].pageUrl, fullPageImage и sectionImages, открывает каждую живую страницу в Playwright Chromium, прогревает ленивый контент прокруткой и режет секции уже из склеенного снимка, а не из нативного fullPage. В манифест дописывается метод захвата, вьюпорт, шаг, число сегментов и исправленные координаты кропов. Есть флаги --item, --viewport, --step, --wait, --quality.
Для работы нужен Node и Playwright Chromium, а также ffmpeg для качества JPEG. Открывать надо реальный URL страницы, а не превью маркетплейса или ссылку на ассет. Если склеенный снимок расходится со скролл-видео или в нём остались пустые полосы, кандидат бракуется.
Какие задачи решает
- снять полный скриншот Framer-страницы без серых полос
- починить уже собранный full-page снимок, который вышел пустым
- нарезать секции статьи из достоверного изображения, а не из битого fullPage
- прогреть ленивые медиа и reveal-блоки перед захватом
- сверить склеенный снимок со скролл-видео и отбраковать расхождения
Примеры запросов агенту
- собери полный скриншот страницы из вьюпорт-слайсов и обнови манифест
- почини только item 4: там full-page вышел серым
- пересобери кропы секций из склеенного изображения
Как установить stitched-full-page-capture
1Через Skills CLI (Vercel)
npx skills add MengTo/Skills --skill stitched-full-page-capture -a claude-code2Вручную: положить файлы
~/.claude/skills/stitched-full-page-capture/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/stitched-full-page-capture/
1Через Skills CLI (Vercel)
npx skills add MengTo/Skills --skill stitched-full-page-capture -a codex2Вручную: положить файлы
.agents/skills/stitched-full-page-capture/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add MengTo/Skills --skill stitched-full-page-capture -a cursor2Вручную: положить файлы
.cursor/skills/stitched-full-page-capture/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install MengTo/Skills stitched-full-page-capture2Вручную: положить файлы
.github/skills/stitched-full-page-capture/SKILL.md1Через Skills CLI (Vercel)
npx skills add MengTo/Skills --skill stitched-full-page-capture -a gemini-cli2Командой платформы
gemini skills install https://github.com/MengTo/Skills --path agent-skills/codex/stitched-full-page-captureВручную: положить файлы
.devin/skills/stitched-full-page-capture/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add MengTo/Skills --skill stitched-full-page-capture -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора148
Похожие
Рядом в теме «Браузер и парсинг»
Все скиллы по теме «Браузер и парсинг» →Вопросы о stitched-full-page-capture
Как установить stitched-full-page-capture в Claude?
Выполните npx skills add MengTo/Skills --skill stitched-full-page-capture -a claude-code. Скилл встанет в ~/.claude/skills/stitched-full-page-capture/SKILL.md.
Что делает stitched-full-page-capture?
Прокручивает страницу шагами, ждёт, пока контент устоится, снимает вьюпорт и склеивает куски в один полный скриншот. Секции режутся уже из него.
Что нужно для работы скилла?
Node и Playwright Chromium для захвата, ffmpeg для настройки качества JPEG. Страницу открывают по реальному URL, а не по ссылке на превью или ассет.
Исходный текст
SKILL.md · MIT
--- name: stitched-full-page-capture description: Capture or repair reliable full-page screenshots for lazy-loaded, scroll-animated, Framer, WebGL/canvas, or reveal-heavy web pages. Use when full-page screenshots are blank, gray, white, sparse, show a tiny content strip, disagree with a working scroll video, or when article evidence/section crops must be derived from a trustworthy full-page image. --- # 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 1. Open the real page URL, not a marketplace thumbnail, cover image, remix page, or asset URL. 2. Warm the page by scrolling from top to bottom once so lazy media and reveal sections mount. 3. Return to the top. 4. Scroll downward in viewport-sized or slightly-overlapping steps. 5. Wait about 2 seconds after each scroll stop. 6. Capture the settled viewport. 7. Stitch the viewport captures vertically into one full-page image. 8. Cut section crops from that stitched image, not from the native browser `fullPage` screenshot. 9. 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: ```bash node <skills-root>/stitched-full-page-capture/scripts/stitch_full_page_capture.mjs \ --manifest articles/YYYY-MM-DD-ui-inspiration-capture/manifest.json ``` The script: - reads `items[].pageUrl`, `fullPageImage`, and `sectionImages`; - 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.json` with `fullPageCaptureMethod: "stitchedViewportScreenshots"`, viewport, step, segment count, and corrected crop coordinates. Useful options: ```bash --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 better ``` ## Validation After capture or repair: - Inspect at least the page that was visibly wrong before. - Confirm `sips -g pixelWidth -g pixelHeight full-page/*.jpg` reports 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: ```bash 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; done ``` ## Notes - 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 `fullPage` screenshots 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.
© MengTo · MIT · MengTo/Skills