From open-source-prep
Launches Chrome, navigates pages, evaluates JavaScript, screenshots viewports, and picks DOM elements interactively for automation and scraping.
npx claudepluginhub iamzhihuix/happy-claude-skills --plugin open-source-prepThis skill uses the workspace's default tool permissions.
Minimal CDP tools for collaborative site exploration and scraping.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Minimal CDP tools for collaborative site exploration and scraping.
Credits: Based on Mario Zechner's article What if you don't need MCP?, adapted from Factory.ai.
Before first use, install dependencies:
npm install --prefix skills/browser
./skills/browser/scripts/start.js # Fresh profile
./skills/browser/scripts/start.js --profile # Copy your profile (cookies, logins)
Start Chrome on :9222 with remote debugging.
./skills/browser/scripts/nav.js https://example.com
./skills/browser/scripts/nav.js https://example.com --new
Navigate current tab or open new tab.
./skills/browser/scripts/eval.js 'document.title'
./skills/browser/scripts/eval.js 'document.querySelectorAll("a").length'
Execute JavaScript in active tab (async context).
IMPORTANT: The code must be a single expression or use IIFE for multiple statements:
'document.title''(() => { const x = 1; return x + 1; })()'./skills/browser/scripts/screenshot.js
Screenshot current viewport, returns temp file path.
./skills/browser/scripts/pick.js "Click the submit button"
Interactive element picker. Click to select, Cmd/Ctrl+Click for multi-select, Enter to finish.
start.js --profile to mirror your authenticated state.nav.js https://target.app or open secondary tabs with --new.eval.js for quick counts, attribute checks, or extracting JSON payloads.screenshot.js for visual proof or pick.js when you need precise selectors or text snapshots.--profile flag syncs your actual Chrome profile so you're logged in everywhere