
browser-screenshots
by palewire
The syllabus for "JOUR 73361: Coding the News," a course taught at the City University of New York's Craig Newmark Graduate School of Journalism
SKILL.md
name: browser-screenshots description: Captures browser screenshots on request using Playwright for embedding in tutorials.
Browser Screenshot Capture
Capture browser screenshots when the user requests them. This skill uses a Playwright-based script to automate browser interactions and save screenshots directly to disk.
When to Use
Use this skill when the user asks you to:
- Capture a screenshot of a specific URL
- Document a web page or web application state
- Take screenshots of a locally running development server
- Capture a sequence of browser interactions
How to Capture
Use the Playwright capture script located at skills/browser-screenshots/scripts/capture.cjs.
Basic Screenshot
node skills/browser-screenshots/scripts/capture.cjs \
--url https://example.com \
--output static/screenshots/week-1/example-homepage.png
Common Options
| Option | Description | Default |
|---|---|---|
--url | URL to capture (required) | - |
--output | Output file path (required) | - |
--width | Viewport width | 1280 |
--height | Viewport height | 800 |
--fullpage | Capture full scrollable page | false |
--element | CSS selector to capture specific element | - |
--highlight | CSS selector to highlight with red border | - |
--execute | JavaScript to run before capture | - |
--wait | Milliseconds to wait before capture | 500 |
--dark | Use dark color scheme | false |
Examples
Capture with dark mode:
node skills/browser-screenshots/scripts/capture.cjs \
--url https://code.visualstudio.com \
--dark \
--output static/screenshots/week-1/vscode-homepage.png
Highlight a specific element:
node skills/browser-screenshots/scripts/capture.cjs \
--url https://github.com/new \
--highlight ".repo-name-input" \
--output static/screenshots/week-1/github-repo-name.png
Capture a specific element only:
node skills/browser-screenshots/scripts/capture.cjs \
--url https://example.com \
--element ".hero-section" \
--output static/screenshots/week-1/hero-only.png
Execute JavaScript before capture (e.g., click a button):
node skills/browser-screenshots/scripts/capture.cjs \
--url https://example.com \
--execute "document.querySelector('button').click()" \
--wait 1000 \
--output static/screenshots/week-1/after-click.png
Full page screenshot:
node skills/browser-screenshots/scripts/capture.cjs \
--url https://example.com \
--fullpage \
--output static/screenshots/week-1/full-page.png
Saving Screenshots
Save to /static/screenshots/week-{week}/ with descriptive kebab-case filenames.
Naming convention: Use kebab-case:
-
github-new-repo.png -
homepage-hero-section.png -
GitHubNewRepo.png
Directory structure:
static/screenshots/
week-1/
vscode-homepage.png
github-new-repo.png
week-2/
...
Embedding in Tutorials
When embedding in .svx files, use the Screenshot component:
<script>
import Screenshot from '$lib/components/Screenshot.svelte';
</script>
<Screenshot
src="/screenshots/week-1/github-new-repo.png"
alt="GitHub new repository form"
chromeTitle="Create a new repository"
chromeUrl="https://github.com/new"
/>
Component Props
| Prop | Type | Default | Description |
|---|---|---|---|
src | string | required | Path relative to /static/ |
alt | string | required | Accessibility description |
showChrome | boolean | true | Browser window styling |
chromeTitle | string | '' | Title bar text |
chromeUrl | string | '' | Address bar URL |
Prerequisites
Playwright must be installed. If not already installed:
npm install playwright
npx playwright install chromium
Limitations
- Cannot capture: VS Code windows, terminal output, system dialogs (these require manual screenshots)
- Requires network access: URLs must be reachable from the machine running the script
スコア
総合スコア
リポジトリの品質指標に基づく評価
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
レビュー
レビュー機能は近日公開予定です


