โ† Back to Skills Marketplace
jiaonvmo-maker

web-screenshot

by jiaonvmo-maker ยท GitHub โ†— ยท v1.1.3 ยท MIT-0
linuxdarwinwin32 โœ“ Security Clean
1512
Downloads
0
Stars
7
Active Installs
5
Versions
Install in OpenClaw
/install web-screenshot
Description
๐Ÿ–ผ๏ธ ไปปๆ„URLๅ…จ้กต้ขๆˆชๅ›พ + PDFๅฏผๅ‡บๅทฅๅ…ทใ€‚ๅฝ“็”จๆˆท่ฆๆฑ‚ๆˆชๅ–็ฝ‘้กตใ€ไฟๅญ˜็ฝ‘้กตๅฟซ็…งใ€ๆˆชๅ›พๅญ˜ๆกฃใ€ๅšQAๅฏนๆฏ”ใ€ๅฏผๅ‡บPDFๆ—ถไฝฟ็”จใ€‚ๆ”ฏๆŒ็™พๅบฆ/็ŸฅไนŽ/ๅพฎไฟกๅ…ฌไผ—ๅท/ๅฐ็บขไนฆ็ญ‰ไธญๆ–‡็ฝ‘็ซ™๏ผŒ่‡ชๅŠจ็ญ‰ๅพ…JSๆธฒๆŸ“ไบคไป˜PNG/JPG/PDFใ€‚
README (SKILL.md)

When to Use๏ผˆไธญๆ–‡ๅœบๆ™ฏ๏ผ‰

  • ็”จๆˆท่ฆๆฑ‚ใ€Œๆˆชๅ–ๆŸไธช็ฝ‘้กตใ€
  • ็”จๆˆท่ฆๆฑ‚ใ€Œไฟๅญ˜็ฝ‘้กตๅฟซ็…งใ€ใ€Œๆˆชๅ›พๅญ˜ๆกฃใ€
  • ๅš QA ๅฏนๆฏ”ใ€ๆŠฅๅ‘Š้…ๅ›พ
  • ้œ€่ฆๆŠŠ็ฝ‘้กตๅฏผๅ‡บไธบ PDF
  • ๅฟซ้€ŸๆŸฅ็œ‹ๆŸไธช URL ็š„่ง†่ง‰ๆ•ˆๆžœ
  • ็™ปๅฝ•ๅŽๆ‰ๅฏ่ง็š„้กต้ข๏ผšไธๆ”ฏๆŒ๏ผŒ่ฏฆ่ง Limitations

้€‚็”จๅœบๆ™ฏ็คบไพ‹

็”จๆˆท๏ผš"ๅธฎๆˆ‘ๆˆชไธ€ไธ‹่ฟ™ไธช็ŸฅไนŽๅ›ž็ญ”"
็”จๆˆท๏ผš"ๆŠŠ็™พๅบฆๆœ็ดข็ป“ๆžœๆˆชๅ›พๅ‘็ป™ๆˆ‘"
็”จๆˆท๏ผš"่ฟ™ไธชๅ…ฌไผ—ๅทๆ–‡็ซ ๆˆชๅ›พๅญ˜ๆกฃ"
็”จๆˆท๏ผš"ๆŠŠ่ฟ™ไธช้กต้ขๅฏผๅ‡บPDF"
็”จๆˆท๏ผš"ๅ…จ้กต้ขๆˆชๅ›พ๏ผŒ่ฆ็œ‹ๅˆฐ้กต้ขๅบ•้ƒจ"

Tool

Playwright Node.js (via npx cache, no install needed) Path: /root/.npm/_npx/e41f203b7505f1fb/node_modules

Quick Use โ€” Shell Script

bash skills/web-screenshot/scripts/screenshot.sh \x3Curl> [output] [--fullpage|--pdf]

Examples:

# Basic screenshot (viewport)
bash scripts/screenshot.sh https://www.baidu.com /tmp/baidu.png

# Full-page screenshot (scrolls to capture entire page)
bash scripts/screenshot.sh https://example.com /tmp/full.png --fullpage

# PDF export
bash scripts/screenshot.sh https://example.com /tmp/page.pdf --pdf

Quick Use โ€” Inline Node.js

NODE_PATH=/root/.npm/_npx/e41f203b7505f1fb/node_modules node -e "
const { chromium } = require('playwright');
(async () => {
  const browser = await chromium.launch({ headless: true, args: ['--no-sandbox'] });
  const page = await browser.newPage({ viewport: { width: 1440, height: 900 } });
  await page.goto('YOUR_URL', { waitUntil: 'domcontentloaded', timeout: 15000 });
  await page.waitForTimeout(2000);
  await page.screenshot({ path: '/tmp/output.png', fullPage: false });
  await browser.close();
})().catch(e => { console.error(e.message); process.exit(1); });
"

Parameters

Parameter Default Notes
URL required Target URL, must be valid
output path auto timestamp /tmp/openclaw/screenshot_YYYYMMDD_HHMMSS.png
--fullpage viewport only Captures entire scrollable page
--pdf screenshot Exports as A4 PDF

Tips

  • For Chinese content: Playwright handles UTF-8 fine, no extra config needed
  • For dynamic pages: increase waitForTimeout (e.g. 5000 instead of 2000)
  • For PDF: printBackground: true ensures background colors/images are included
  • Output size: ~100-150KB for typical pages, ~300KB+ for full-page

Limitations

Login-gated / anti-automation pages: Some sites detect headless browsers and return blank content. Workaround:

  • Use the site's API for data instead of screenshots
  • Use a real logged-in browser for those pages
  • Public static pages work fine

Known sites with issues: GitHub (sometimes), A2H Market (confirmed), sites with Cloudflare protection

Usage Guidance
This skill appears to be what it claims โ€” a Playwright-based screenshot/PDF tool โ€” but before installing consider: (1) The script hardcodes NODE_PATH to /root/.npm/_npx/...; ensure Playwright is actually available there or modify the script to use npx or an explicit install. (2) There's no install spec โ€” add or run npm/yarn/npx to provide Playwright if your environment lacks it. (3) The script suppresses node stderr (2>/dev/null), which hides errors โ€” remove suppression when debugging. (4) Rendering arbitrary URLs runs untrusted page content inside a headless browser; run the skill in an isolated/sandboxed environment (container) to limit blast radius and potential browser-exploit risk. (5) Login-gated or anti-bot pages may fail as documented. If you need higher assurance, request an install spec (trusted release host) or update the script to fetch Playwright reliably rather than relying on a specific cache path.
Capability Analysis
Type: OpenClaw Skill Name: web-screenshot Version: 1.1.3 The skill is a utility for capturing web screenshots and exporting PDFs using Playwright. The core logic in `scripts/screenshot.sh` generates a temporary Node.js script to automate a headless Chromium browser. While it uses a hardcoded path for Node modules (`/root/.npm/_npx/...`) and disables the browser sandbox (common in containerized environments), there is no evidence of data exfiltration, malicious execution, or prompt injection. The behavior is consistent with the stated purpose of the tool.
Capability Assessment
โ„น Purpose & Capability
Name/description align with the included script and SKILL.md: both implement screenshot and PDF export using Playwright. Minor oddity: the SKILL.md and script assume a specific npx cache path (/root/.npm/_npx/...), which is not justified by the description and may not exist in target environments.
โœ“ Instruction Scope
Runtime instructions and the shell script only generate a temporary Playwright JS file, launch a headless Chromium to visit the provided URL, and save a screenshot or PDF. The skill does not read unrelated system files or environment variables, nor does it send captured data to external endpoints.
โ„น Install Mechanism
There is no install specification; the SKILL.md claims 'via npx cache, no install needed' and the script sets NODE_PATH to a specific /root npx cache. This is fragile (may fail if Playwright isn't present at that path) but not inherently malicious.
โœ“ Credentials
The skill requests no environment variables, no credentials, and no config paths. The only environment usage is a local NODE_PATH override inside the script (pointing to a cached npx path), which is internal to execution and not a secret.
โœ“ Persistence & Privilege
The skill is not always-enabled, can be invoked by users, does not persist configuration or modify other skills, and only writes a temporary JS file and output screenshots/PDFs.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install web-screenshot
  3. After installation, invoke the skill by name or use /web-screenshot
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.1.3
v1.1.3: ไผ˜ๅŒ–ๆ่ฟฐไธบๅŠŸ่ƒฝๅฏผๅ‘๏ผŒๆๅ‡ๆœ็ดขๆŽ’ๅ๏ผ›ๅขžๅŠ ไธญๆ–‡ไฝฟ็”จๅœบๆ™ฏ็คบไพ‹
v1.1.2
ๆ›ดๆ–ฐๆ่ฟฐ๏ผŒ่š็„ฆๅ•†ไธšๆœๅŠก่ƒฝๅŠ›๏ผˆๆ”ฏๆŒๆˆชๅ›พ/PDF/ๅ…จ้กตๆˆชๅ›พ๏ผŒ5ๅ…ƒ/ๅผ ๏ผ‰
v1.1.1
v1.1.1 - ๅขžๅŠ ไธญๆ–‡ๆœ็ดขๆ ‡็ญพ๏ผŒไผ˜ๅŒ–ๆ่ฟฐ๏ผŒๆ้ซ˜ๅ‘็Žฐ็އ
v1.1.0
v1.1.0 - Add PDF export, full-page screenshot, shell wrapper script, error handling
v1.0.0
Initial release: Playwright Node.js headless screenshot for URLs
Metadata
Slug web-screenshot
Version 1.1.3
License MIT-0
All-time Installs 7
Active Installs 7
Total Versions 5
Frequently Asked Questions

What is web-screenshot?

๐Ÿ–ผ๏ธ ไปปๆ„URLๅ…จ้กต้ขๆˆชๅ›พ + PDFๅฏผๅ‡บๅทฅๅ…ทใ€‚ๅฝ“็”จๆˆท่ฆๆฑ‚ๆˆชๅ–็ฝ‘้กตใ€ไฟๅญ˜็ฝ‘้กตๅฟซ็…งใ€ๆˆชๅ›พๅญ˜ๆกฃใ€ๅšQAๅฏนๆฏ”ใ€ๅฏผๅ‡บPDFๆ—ถไฝฟ็”จใ€‚ๆ”ฏๆŒ็™พๅบฆ/็ŸฅไนŽ/ๅพฎไฟกๅ…ฌไผ—ๅท/ๅฐ็บขไนฆ็ญ‰ไธญๆ–‡็ฝ‘็ซ™๏ผŒ่‡ชๅŠจ็ญ‰ๅพ…JSๆธฒๆŸ“ไบคไป˜PNG/JPG/PDFใ€‚ It is an AI Agent Skill for Claude Code / OpenClaw, with 1512 downloads so far.

How do I install web-screenshot?

Run "/install web-screenshot" in the OpenClaw or Claude Code chat to install it in one step โ€” no extra setup required.

Is web-screenshot free?

Yes, web-screenshot is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does web-screenshot support?

web-screenshot is cross-platform and runs anywhere OpenClaw / Claude Code is available (linux, darwin, win32).

Who created web-screenshot?

It is built and maintained by jiaonvmo-maker (@jiaonvmo-maker); the current version is v1.1.3.

๐Ÿ’ฌ Comments