Latchshot Page Capture
GitHubOfficialFirst committed by BaiqingLDistributed by GitHub
- Skill
- Tool integration
- Automation and integrations
- MIT
- Low risk
- Has scripts
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
Latchshot page capture provides a command-line interface to generate visual artifacts from public URLs. It supports standard viewport screenshots, full-page captures, and PDF exports. The tool is designed for public-facing web content and includes options for basic cleanup, such as hiding cookie banners or blocking trackers, while maintaining strict boundaries against authenticated or private content.
What it does
- Generates PNG, JPEG, or PDF files from public HTTP/HTTPS URLs.
- Supports full-page rendering with optional scrolling for lazy-loaded content.
- Provides a no-key demo mode for quick, limited-use testing.
- Includes options to hide common web UI elements like popups and cookie banners.
- Allows checking remaining render quota via a dedicated usage command.
- Ensures atomic file writing for generated artifacts.
When to use it
- When you need a visual record or PDF archive of a public website.
- When creating social media previews or documentation assets from live pages.
- When performing QA checks on public-facing web layouts.
- When you need to generate a report containing a snapshot of a web resource.
Advantages
- Simple, dependency-free client integration.
- Supports various output formats including PDF and full-page images.
- Includes built-in cleanup options for cleaner visual output.
- Provides clear, structured error reporting for failed renders.
Usage examples
- “Take a screenshot of https://example.com and save it as example.png.”
- The agent runs the capture command and saves the resulting image to the specified path.
- “Generate a full-page PDF of https://example.com.”
- The agent executes the capture command with the PDF format and paper size arguments.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/github/latchshot-page-capture/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip latchshot-page-capture.zip -d .agents/skills
Documentation by BaiqingL
Latchshot page capture
Use the bundled dependency-free client to turn one public webpage URL into a validated local PNG, JPEG, or PDF. Start with a constrained no-key JPEG demo when appropriate. Authenticated commands send the API key only to the fixed https://latchshot.fly.dev origin, and every artifact is written atomically.
Latchshot is a hosted third-party service maintained by this skill's contributor. Keep its use optional and preserve an existing local-browser workflow when the task needs private pages or unsupported browser actions.
Prerequisite
Require Node.js 20 or newer and network access. Read the key only from LATCHSHOT_API_KEY for authenticated capture and usage commands.
If the variable is missing, use the no-key demo for one bounded JPEG when it fits the request. For PNG, PDF, full-page, cleanup, or repeat work, direct the user to the Agent Skills setup documentation, then stop. Never ask the user to paste a key into chat, a command argument, source code, a committed file, or output. Never print or return the key.
No-key demo
Use this command for a public page when a viewport JPEG is acceptable:
node scripts/latchshot.mjs demo \
--url 'https://example.com' \
--output './artifacts/example-demo.jpg'The demo is JPEG-only, does not use an account or render quota, and allows three attempts per IP address per hour. It accepts only width, height, query confirmation, and explicit overwrite options. The public URL is still sent to Latchshot, and the request carries the coarse agentskill acquisition label. Reject private pages, secrets, signed URLs, and authenticated access exactly as in the capture workflow. Treat the result as a proof artifact, not as a customer activation or plan signup.
Capture workflow
Confirm the target is a public HTTP or HTTPS page. Reject credentials, private/internal pages, non-web ports, signed URLs, query secrets, and any request requiring login, cookies, CAPTCHA handling, proxy rotation, arbitrary scripts, clicks, typing, or anti-bot bypass.
Choose a user-approved output path. Infer the format from
.png,.jpg/.jpeg, or.pdf, or pass the matching--formatexplicitly.Run the client from this skill directory:
node scripts/latchshot.mjs capture \ --url 'https://example.com' \ --output './artifacts/example.png'For a bounded full-page screenshot that activates lazy content:
node scripts/latchshot.mjs capture \ --url 'https://example.com' \ --output './artifacts/example-full.png' \ --full-page \ --scroll-pageFor a PDF:
node scripts/latchshot.mjs capture \ --url 'https://example.com' \ --output './artifacts/example.pdf' \ --paper A4Parse the one-line JSON result. Confirm
ok,output,format,contentType, andbytes; inspect the local artifact when the surrounding task requires visual or document verification. Report the path and relevant render/quota diagnostics without exposing the key.
Run node scripts/latchshot.mjs --help for the exact bounded options. Use --block-ads, --block-trackers, --block-chats, --hide-cookie-banners, and --hide-popups only as best-effort cleanup—not bypass. Use --allow-query only after confirming that the query contains no credential, signature, token, customer data, or other secret. The client refuses to overwrite a file unless --force is explicit.
Read quota
Use the read-only command when the user asks about remaining renders or reset time:
node scripts/latchshot.mjs usageThis does not consume render quota or change a plan.
Failure handling
Read the structured error code and message from stderr; do not retry validation or authentication failures.
For
demo_limit, wait for the hourly reset rather than looping or switching identities.For
rate_limited, wait for the reported reset or retry-after boundary rather than looping.For a render failure, state the failure and preserve any existing output file. Do not silently substitute a local browser, a different provider, or unsupported private-page access.
Do not initiate an upgrade, checkout, payment, implementation request, or other commercial action. Those remain user- and owner-controlled.
Hard boundaries
Latchshot accepts public pages only and returns one binary artifact. It does not offer raw HTML input, DOM extraction, selectors, sessions, arbitrary JavaScript, authenticated/private pages, CAPTCHA solving, residential proxies, or anti-bot evasion. Only successful renders consume quota.
Files
- ATTRIBUTION.mdAdded by AutoGineer877 B
- LICENSELicence file added by AutoGineer1.0 KiB
- SKILL.md5.0 KiB
- scripts/latchshot.mjsScript18.2 KiB
LICENSE
MIT License Copyright GitHub, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Requirements and compatibility
Written for: GitHub Copilot
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 an API key, 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
- First committed by
BaiqingL
- Publisher
- GitHub (Official)
- Distributed by
- GitHub
- Source
- github/awesome-copilot · skills/latchshot-page-capture · commit 797337f
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
- Contributors
- BaiqingL
AutoGineer is not affiliated with or endorsed by BaiqingL or GitHub.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download latchshot-page-capture.zip