browser-screenshot
Skill9 starsChanged 3 months agoMITView on GitHub
Take a screenshot of the running web application for visual verification of UI/CSS changes. Use when iterating on frontend changes and need to see the result.
- Installs packages
2 other projects use a version of this.
Adopted by
Most recently taken up by
- MrTrenchTrucker/contak-browser-skillstheir own version, first seen Nov 8, 2026
- Igosuki/claude-skillstheir own version, first seen Oct 21, 2025
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- MrTrenchTrucker/contak-browser-skills★ 5same name
- Igosuki/claude-skills★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository81 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- architectSkill
- artifact-hygieneSkill
- backlog-groomSkill
- beads-check-dolt-migrationSkill
- beads-migrate-to-doltSkill
- beads-setupSkill
- beadsSkill
- breakdownSkill
- circleci-statusSkill
- clean-codeSkill
- complete-taskSkill
- confluenceSkill
- contract-checkSkill
- contract-testSkill
- create-prSkill
- delegate-workSkill
- dependabot-remediationSkill
- developSkill
- diagnose-bugSkill
- do-i-need-thisSkill
- eas-build-errorSkill
- handoffsSkill
- handoffs-tidySkill
- image-studioSkill
- implement-solutionSkill
- jira-commentSkill
- jira-ticketSkill
- landscapeSkill
- model-update-checkSkill
- name-sessionSkill
- nextSkill
- outstanding-workSkill
- pair-programmingSkill
- pedantic-reviewSkill
- peer-sessionSkill
- pickupSkill
- pi-spendSkill
- plan-daySkill
- plan-to-backlogSkill
- project-briefSkill
- prompt-patternsSkill
- pr-reviewersSkill
- pr-review-requestsSkill
- pr-statusSkill
- ready-to-mergeSkill
- ready-to-releaseSkill
- reassessSkill
- rebaseSkill
- refineSkill
- release-maintenanceSkill
- release-managerSkill
- release-statusSkill
- reply-commentsSkill
- review-commentsSkill
- review-prSkill
- sanity-checkSkill
- second-opinionSkill
- setup-multirepo-gitSkill
- skills-reviewSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
11 rules. About 0 are common, 3 are distinctive, and 8 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 18
No project setup or link is needed.
- Very specific: line 20
Never install packages or browsers from this skill.
- Very specific: line 63
If $ARGUMENTS contains a URL, use it
- Very specific: line 68
If $ARGUMENTS contains mobile, use mobile viewport (375x812)
- Very specific: line 69
If $ARGUMENTS contains tablet, use tablet viewport (768x1024)
- Very specific: line 70
If $ARGUMENTS contains a custom size like 1024x768, use those dimensions
- Distinctive: line 71
Default: desktop viewport (1280x900)
- Very specific: line 72
If $ARGUMENTS contains both, take two screenshots (desktop and mobile)
- Distinctive: line 73
Keep both dimensions under 2000px to avoid image limit errors
- Very specific: line 75
Run the installed helper directly as one command, passing the directory whose node_modules contains Playwright with -C (for example a …
- Distinctive: line 104
If the user asked you to fix a specific CSS issue, compare what you see against their description and suggest or apply fixes.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Browser Screenshot
Capture screenshots of the web application for visual verification during UI/CSS iteration.
Prerequisites
No project setup or link is needed. The project must already have Node.js, the playwright
package in a node_modules reachable from its dependency directory, and a matching Chromium.
Never install packages or browsers from this skill; when the helper reports them missing, hand the
user its command (npm install playwright && npx playwright install chromium) to run themselves.
Existing project scripts/screenshot links keep working; leave them alone.
Locate the helper
The canonical helper is ~/.agents/skills/browser-screenshot/scripts/screenshot.sh. Only when
it is absent or SKILLS_DIR is set, resolve and validate the installed root read-only first.
A nonempty absolute SKILLS_DIR is authoritative; never replace an invalid override silently.
Otherwise prefer the canonical root, falling back to the Claude alias root only when this skill
unit is absent. Legacy Codex-only roots require explicit SKILLS_DIR.
set -eu
if [[ -z "${SKILLS_DIR:-}" ]]; then
SKILLS_DIR="$HOME/.agents/skills"
if [[ ! -d "$SKILLS_DIR/browser-screenshot" ]]; then
SKILLS_DIR="${CLAUDE_SKILLS_DIR:-${CLAUDE_HOME:-$HOME/.claude}/skills}"
fi
fi
[[ "$SKILLS_DIR" = /* ]] || { echo "SKILLS_DIR must be absolute" >&2; exit 1; }
for resource in SKILL.md scripts/screenshot.sh; do
[[ -f "$SKILLS_DIR/browser-screenshot/$resource" && -r "$SKILLS_DIR/browser-screenshot/$resource" ]] || {
echo "Missing browser-screenshot resource: $resource" >&2; exit 1;
}
done
[[ -x "$SKILLS_DIR/browser-screenshot/scripts/screenshot.sh" ]] || { echo "screenshot.sh is not executable" >&2; exit 1; }Missing resources stop the run; do not repair the installation. Reuse the verified absolute path in later tool calls, since shell variables may not persist between them.
Usage
/browser-screenshot
/browser-screenshot http://localhost:3000
/browser-screenshot http://localhost:3000 mobileInstructions
- Determine the URL to screenshot:
- If
$ARGUMENTScontains a URL, use it - Otherwise use the
SCREENSHOT_URLenv var if set - Default:
http://localhost:3000
- If
- Determine the viewport:
- If
$ARGUMENTScontainsmobile, use mobile viewport (375x812) - If
$ARGUMENTScontainstablet, use tablet viewport (768x1024) - If
$ARGUMENTScontains a custom size like1024x768, use those dimensions - Default: desktop viewport (1280x900)
- If
$ARGUMENTScontainsboth, take two screenshots (desktop and mobile) - Keep both dimensions under 2000px to avoid image limit errors
- If
- Run the installed helper directly as one command, passing the directory whose
node_modulescontains Playwright with-C(for example a nestedwebapp). Omit-Cwhen the current directory already resolves it; parentnode_modulesdirectories also count. Quote paths containing spaces, and never prefix the call withcd … &&.
~/.agents/skills/browser-screenshot/scripts/screenshot.sh -C web <url> <viewport>With an override or fallback root, use its verified absolute path instead:
"<verified-root>/browser-screenshot/scripts/screenshot.sh" -C "<dependency dir>" <url> <viewport>.
A relative output path (third argument) stays relative to the invocation directory.
Permissions: the frontmatter grant is Claude Code metadata matching the canonical
~/.agents/... prefix, the convention other skills use; exact matching of an expanded or
override path is not verified, so expect a prompt there. Pi does not enforce allowed-tools,
and Codex applies its own sandbox and approval policy. Report any prompt rather than widening
permissions.
Screenshots are saved to a fresh private directory (mode 0700) created per run, unless you pass an explicit output path as the third argument. The script prints the full path it wrote — read it from the output rather than assuming a location. Screenshots may capture authenticated pages, which is why the directory is not a predictable shared one.
- Read the screenshot using the available image-reading tool to view the captured image. This is the critical step because the model can inspect the captured UI directly.
- Analyze the screenshot and report what you see, especially:
- Layout issues (overlapping elements, alignment problems)
- Spacing/margin problems
- Color or styling discrepancies
- Responsive behavior (if both viewports captured)
- If the user asked you to fix a specific CSS issue, compare what you see against their description and suggest or apply fixes.
Notes
- The script uses
waitUntil: 'networkidle'with a 15s timeout — if the page loads async content, the screenshot will wait for it. - Screenshots capture the viewport only (not full-page scroll) to stay within the 2000px image dimension limit.
- For rapid iteration: make the CSS change, then run
/browser-screenshotto verify, repeat.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

