Our review
Takes a screenshot of a web page or runs JavaScript against it, useful for checking layout or inspecting rendered content.
Strengths
- Supports screenshots at custom viewport sizes and scroll offsets
- Can execute arbitrary JavaScript on the target page
- Full page capture with -f option
- Clear output: PNG path for screenshots, direct JS result for -r
Limitations
- Each call spawns a fresh browser with no persistent state (no cookies, localStorage)
- Requires a Read tool to display the screenshot
- No support for complex interactions (clicks, forms)
Use websnap when you need to visually verify page rendering or extract page properties via JavaScript.
Avoid websnap if you need to interact with the page (navigation, forms) or require persistent session state.
Security analysis
CautionThe skill runs a shell command with arguments provided by the user or the agent. While it does not explicitly perform destructive actions, the use of Bash and passing unfiltered arguments to an external tool presents a risk of command injection or unintended behavior if the websnap command fails to sanitize inputs. The -r option allows execution of arbitrary JavaScript, which could be abused if the agent or user provides malicious scripts, though this is inherent to the tool's functionality.
- •Uses Bash to execute a command with user-supplied arguments, which may be vulnerable to command injection if the websnap tool does not properly sanitize inputs.
Examples
/websnap http://localhost:1313/guide//websnap http://localhost:1313/ -w 1920 -h 1080/websnap http://example.com -r 'document.title'name: websnap description: Take a screenshot of a web page or run JavaScript against it. Use when checking page layout, verifying styling changes, inspecting rendered content, or querying page properties like dimensions. argument-hint: <url> [-w width] [-h height] [-y scroll] [-f] [-r js] allowed-tools: Bash, Read disable-model-invocation: true
Take a screenshot of the specified URL using websnap and display the result.
Steps
- Run:
websnap $ARGUMENTS - For screenshots: the command outputs the path to the saved PNG (in
/tmp/), then use the Read tool to display the image - For
-r(run JS): the command outputs the JavaScript result directly (no screenshot)
Options
-w, --width <px>— Viewport width (default: 1280)-h, --height <px>— Viewport height (default: 1080)-x, --xoffset <px>— Horizontal scroll offset-y, --yoffset <px>— Vertical scroll offset-f, --full— Capture full page height (ignores -h)-r, --run <js>— Run JavaScript and output result (no screenshot)
Examples
/websnap http://localhost:1313/guide/
/websnap http://localhost:1313/ -w 1920 -h 1080
/websnap http://localhost:1313/guide/ -y 500
/websnap http://localhost:1313/ -f
/websnap http://example.com -r 'document.title'
/websnap http://example.com -r 'document.documentElement.scrollHeight'
If no URL is provided, ask the user what page they want to screenshot.
Notes
Each call to websnap spawns a fresh browser instance. State does not persist between calls (no cookies, localStorage, or session data).
Next.js App Router Expert
Development
A skill that turns Claude into a Next.js App Router expert.
README Generator
Development
Creates professional and comprehensive README.md files for your projects.
API Documentation Writer
Development
Generates comprehensive API documentation in OpenAPI/Swagger format.