From ralph-playwright
Raw browser automation via playwright-cli with ralph-hero conventions. Use when you need direct access to playwright-cli commands — navigation, interaction, screenshots, snapshots, cookies, storage, network, devtools. All other ralph-playwright skills compose through this one. Requires global install of @playwright/cli.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ralph-playwright:browserThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Direct access to the full `playwright-cli` command surface with enforced conventions.
Direct access to the full playwright-cli command surface with enforced conventions.
playwright-cli must be globally installed:
which playwright-cli || echo "Not installed — run: npm install -g @playwright/cli@latest"
All output is scoped to .playwright-cli/<session>/. Session name defaults to:
<date>-<skill>-<slug>
Example: 2026-03-21-browser-checkout-flow
The CLI does not auto-scope output by session. You MUST construct paths explicitly and pass via --filename:
playwright-cli screenshot --filename=".playwright-cli/<session>/<index>_<slug>.png"
playwright-cli snapshot --filename=".playwright-cli/<session>/<index>_<slug>.md"
At journey start, inject the console error interceptor:
playwright-cli eval "window.__consoleErrors = []; window.__consoleWarnings = []; const origError = console.error; const origWarn = console.warn; console.error = (...args) => { window.__consoleErrors.push(args.map(String).join(' ')); origError.apply(console, args); }; console.warn = (...args) => { window.__consoleWarnings.push(args.map(String).join(' ')); origWarn.apply(console, args); };"
Read console state per step:
playwright-cli eval "JSON.stringify({ errors: window.__consoleErrors || [], warnings: window.__consoleWarnings || [] })"
| Category | Commands |
|---|---|
| Browser | open [url], close |
| Navigation | goto <url>, go-back, go-forward, reload |
| Interaction | click <ref>, dblclick <ref>, fill <ref> <value>, type <text>, hover <ref>, select <ref> <values>, check <ref>, uncheck <ref> |
| Capture | screenshot [ref] [--filename=path.png], snapshot [--filename=path.md] |
| Keyboard | press <key>, keydown <key>, keyup <key> |
| Eval | eval <js-expression> |
| Tabs | tab-list, tab-new [url], tab-close, tab-select <ref> |
| Cookies | cookie-list, cookie-get <name>, cookie-set <name> <value>, cookie-delete <name>, cookie-clear |
| Storage | localstorage-list, localstorage-get <key>, localstorage-set <key> <value>, sessionstorage-* |
| State | state-save --filename=path, state-load --filename=path |
| Network | route <pattern> <handler>, unroute <pattern> |
| DevTools | console [min-level], network, tracing-start, tracing-stop, video-start |
playwright-cli -s=<session-name> <command> # Run command in named session
playwright-cli list # List active sessions
playwright-cli close-all # Close all sessions
npx claudepluginhub cdubiel08/ralph-hero --plugin ralph-playwrightOpens and controls a Playwright browser for web automation, testing, and page interaction via CLI commands.
Automates browsers via playwright-cli CLI commands executed through Bash. Supports navigation, interaction (click, type, fill), screenshots, PDFs, session/tabs management for E2E testing.
Automates browsers via Playwright CLI shell commands: navigate pages, interact with elements (click, fill, type), capture screenshots/snapshots/PDFs, manage tabs for web testing.