From mk
Automates browsers via Playwright CLI for session-persistent form filling, screenshots, data extraction, and multi-step web interactions.
How this skill is triggered — by the user, by Claude, or both
Slash command
/mk:playwright-cliWhen to use
Use when automating browser via Playwright CLI — form filling, screenshots, data extraction, multi-step flows. NOT for AI-autonomous flows (see mk:agent-browser) or .spec.ts E2E generation (see mk:qa-manual).
This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
> **Use playwright-cli when:** DOM interaction, navigation, data extraction, or generating reusable `.spec.ts` E2E test code.
Use playwright-cli when: DOM interaction, navigation, data extraction, or generating reusable
.spec.tsE2E test code. Usemk:agent-browserinstead when: session persistence (auth flows, MFA, cookie import) is required.
playwright-cli open https://playwright.dev
playwright-cli snapshot # Get element refs (e1, e2, ...)
playwright-cli click e15
playwright-cli type "page.click"
playwright-cli press Enter
playwright-cli screenshot
playwright-cli close
open <url> — navigate to pagesnapshot — get accessibility tree with element refs (e1, e2, ...)click, fill, type, select, checkclose when doneplaywright-cli open https://example.com/form
playwright-cli snapshot
playwright-cli fill e1 "[email protected]"
playwright-cli fill e2 "password123"
playwright-cli click e3
playwright-cli snapshot
playwright-cli close
# Navigation
playwright-cli goto <url>
playwright-cli go-back / go-forward / reload
# Interaction
playwright-cli click e3
playwright-cli fill e5 "text" # Clear and type
playwright-cli type "text" # Type at current focus
playwright-cli press Enter
playwright-cli select e9 "option-value"
playwright-cli check e12 / uncheck e12
# Snapshot & capture
playwright-cli snapshot
playwright-cli snapshot --filename=after-click.yaml
playwright-cli screenshot
playwright-cli screenshot --filename=page.png
playwright-cli pdf --filename=page.pdf
# Auth state
playwright-cli state-save auth.json
playwright-cli state-load auth.json
Full command listing: references/command-reference.md
After each command, playwright-cli writes a snapshot YAML of the current browser state.
Use --filename= when the artifact is a workflow result; omit for auto-timestamped files.
.playwright-cli/page-2026-02-14T19-22-42-679Z.yml
playwright-cli -s=mysession open example.com --persistent
playwright-cli -s=mysession click e6
playwright-cli -s=mysession close
playwright-cli list # List all active sessions
playwright-cli close-all # Close all browsers
playwright-cli kill-all # Force kill stale processes
Named sessions run isolated contexts (separate cookies, storage, history). Full session patterns: references/session-management.md
# Cookies / localStorage / sessionStorage
playwright-cli cookie-list / cookie-set / cookie-delete / cookie-clear
playwright-cli localstorage-get theme / localstorage-set theme dark
# Request mocking
playwright-cli route "**/*.jpg" --status=404
playwright-cli route "https://api.example.com/**" --body='{"mock": true}'
playwright-cli unroute
playwright-cli console # View console output
playwright-cli network # View network requests
playwright-cli tracing-start / tracing-stop
playwright-cli video-start / playwright-cli video-stop video.webm
playwright-cli run-code "async page => await page.context().grantPermissions(['geolocation'])"
Requires Playwright MCP server. Configure in .mcp.json:
{ "playwright": { "command": "npx", "args": ["@playwright/mcp@latest"] } }
Copy from .claude/mcp.json.example if not configured.
If global binary unavailable: npx playwright-cli <command>
data-testid changes between renders → prefer role-based selectors (getByRole) over CSS selectorsstate-save / state-load to persist auth cookies across runs| Reference | When to Use |
|---|---|
| references/command-reference.md | Full command listing (core, tabs, storage, network, DevTools, open params) |
| references/session-management.md | Named sessions, concurrent scraping, persistent profiles, cleanup |
| references/request-mocking.md | Request mocking patterns |
| references/storage-state.md | Storage state (cookies, localStorage) |
| references/test-generation.md | Test generation |
| references/tracing.md | Tracing |
| references/video-recording.md | Video recording |
| references/running-code.md | Running Playwright code |
npx claudepluginhub ngocsangyem/meowkit --plugin mkAutomates browser tasks via Playwright CLI for AI agents: navigate pages, take snapshots/screenshots, fill forms, click elements from command line. Use with shell access.
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 browser interactions for web testing, form filling, screenshots, and data extraction. Invoke when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, test web applications, or extract information from web pages.