Install
$ agentstack add skill-zernie-vigiles-screenshot ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
screenshot — render a local page and capture it
Contributor dev skill. Drives the container's pre-installed Chromium (no playwright install, no browser download) via playwright-core to full-page-screenshot a locally-served page. Built from the hard-won gotchas of doing this by hand (see below).
When to use
- "screenshot the landing page / site", "how does the report look", "render
site/and show me". - Verifying a UI change in
site/(the landing) orreport/(the audit report) before committing.
Procedure
- Build the target (if it's a Vite app, you need
dist/):
- Landing:
cd site && npm install && npm run build→site/dist/ - Report: it builds with the root
npm run build→dist/audit-report.template.html
- Serve it on a port (relative asset refs need the dir as web root):
``bash cd site/dist && python3 -m http.server 8899 >/tmp/httpd.log 2>&1 & sleep 1 && curl -s -o /dev/null -w "%{http_code}\n" http://localhost:8899/ # expect 200 ``
- Ensure the driver (no browser download — uses
PLAYWRIGHT_BROWSERS_PATH):
``bash node -e "require.resolve('playwright-core')" 2>/dev/null || npm install --no-save playwright-core ``
- Shoot with the bundled script → writes
/-desktop.png+-mobile.png:
``bash node .claude/skills/screenshot/scripts/shot.mjs http://localhost:8899/ "$SCRATCHPAD" landing ` Override viewports with SHOT_WIDTHS="1440x900,768x1024,390x844"`.
- Look before sending:
Readthe desktop PNG to sanity-check it rendered, THENSendUserFile
(display: render) so the user sees it. Send to the scratchpad dir, not the repo.
Gotchas this skill encodes (don't relearn them)
- Scroll-reveal = blank cards. Sections that fade in on scroll (
opacity-0+ IntersectionObserver)
are captured INVISIBLE by a naive fullPage screenshot — the hero renders, everything below the fold is blank. The script scrolls top→bottom to trigger the reveals, then returns to top before shooting. If cards are blank, this is why.
- Chromium is pre-installed at
/opt/pw-browsers/chromium-*/chrome-linux/chrome; pass it as
executablePath + --no-sandbox. NEVER run playwright install (blocked; wastes time).
- CJS-from-ESM import:
playwright-core's entry is CJS, and a script run from the scratchpad can't
resolve the repo's node_modules by a bare import — use createRequire(cwd + '/package.json') (the script does this).
- Mobile uploads sometimes 400 on
SendUserFile— retry once, or send desktop alone.
Not shipped
This is a .claude/ contributor skill (this repo's own harness), not a published consumer skill.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: zernie
- Source: zernie/vigiles
- License: MIT
- Homepage: https://vigiles.sh
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.