agentsclimarketplace

Mk playwright cli

Skill ngocsangyem/MeowKit/packages/mewkit/src/migrate/modules/cursor/root/.cursor/skills/mk-playwright-cli

Production ready. AI Agent Workflow System for Claude Code

Install
npx -y skills add ngocsangyem/MeowKit --skill mk-playwright-cli

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 15 stars15 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Session-persistent browser automation via Playwright CLI: form filling, screenshots, data extraction, multi-step flows. NOT for autonomous flows (mk:agent-browser) or .spec.ts E2E code (mk:qa-manual).

SKILL.md

4.9 KB, as published. Nobody here has run it

Browser Automation with playwright-cli

Use playwright-cli when: DOM interaction, navigation, data extraction, or generating reusable .spec.ts E2E test code. Use mk:agent-browser instead when: session persistence (auth flows, MFA, cookie import) is required.

Quick Start

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

Core Workflow

  1. open <url> — navigate to page
  2. snapshot — get accessibility tree with element refs (e1, e2, ...)
  3. Interact using refs: click, fill, type, select, check
  4. Re-snapshot after navigation or DOM changes
  5. close when done
playwright-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

Most-Used Commands

# 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

Snapshots

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

Sessions

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

Storage & Network

# 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

DevTools & Debugging

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'])"

Setup

Requires Playwright MCP server. Configure in .mcp.json:

{ "playwright": { "command": "npx", "args": ["@playwright/mcp@latest"] } }

Copy from .mcp.json.example if not configured. If global binary unavailable: npx playwright-cli <command>

Gotchas

  • Flaky selectors on SPAs: data-testid changes between renders → prefer role-based selectors (getByRole) over CSS selectors
  • Auth state not persisting between tests: each test starts with fresh context → use state-save / state-load to persist auth cookies across runs

References

ReferenceWhen to Use
references/command-reference.mdFull command listing (core, tabs, storage, network, DevTools, open params)
references/session-management.mdNamed sessions, concurrent scraping, persistent profiles, cleanup
references/request-mocking.mdRequest mocking patterns
references/storage-state.mdStorage state (cookies, localStorage)
references/test-generation.mdTest generation
references/tracing.mdTracing
references/video-recording.mdVideo recording
references/running-code.mdRunning Playwright code

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.