dev
Development workflows for the playwright-cli repository. Use when the user asks about rolling dependencies, releasing, or other…
Automate browser interactions, test web pages and work with Playwright tests.
Claude Code
$ npx -y skills add microsoft/playwright-cli --skill playwright-cli --agent claude-code
Codex
$ npx skills add microsoft/playwright-cli --skill playwright-cli -a codex -y
Cursor
$ npx skills add microsoft/playwright-cli --skill playwright-cli -a cursor -y
Gemini CLI
$ npx skills add microsoft/playwright-cli --skill playwright-cli -a gemini-cli -y
GitHub Copilot
$ npx skills add microsoft/playwright-cli --skill playwright-cli -a github-copilot -y
OpenCode
$ npx skills add microsoft/playwright-cli --skill playwright-cli -a opencode -y
Windsurf
$ npx skills add microsoft/playwright-cli --skill playwright-cli -a windsurf -y
name: playwright-cli description: Automate browser interactions, test web pages and work with Playwright tests. allowed-tools: Bash(playwright-cli:*) Bash(npx playwright:*) Bash(npx --no-install playwright:*)
# open new browser playwright-cli open # navigate to a page playwright-cli goto https://playwright.dev # interact with the page using refs from the snapshot playwright-cli click e15 playwright-cli type "page.click" playwright-cli press Enter # take a screenshot (rarely used, as snapshot is more common) playwright-cli screenshot # close the browser playwright-cli close
playwright-cli open
# open and navigate right away
playwright-cli open https://example.com/
playwright-cli goto https://playwright.dev
playwright-cli type "search query"
playwright-cli click e3
playwright-cli dblclick e7
# --submit presses Enter after filling the element
playwright-cli fill e5 "user@example.com" --submit
playwright-cli drag e2 e8
# drop files or data onto an element (from outside the page)
playwright-cli drop e4 --path=./image.png
playwright-cli drop e4 --data="text/plain=hello world"
playwright-cli hover e4
playwright-cli select e9 "option-value"
playwright-cli upload ./document.pdf
playwright-cli check e12
playwright-cli uncheck e12
playwright-cli snapshot
# search the snapshot for text or a regexp, returns matching nodes with surrounding context
playwright-cli find "Sign in"
playwright-cli find --regex "Sign (in|up)"
# wrap the regexp in slashes to add flags, e.g. /i for case-insensitive
playwright-cli find --regex "/sign (in|up)/i"
# save results to a file when a query produces too many matches
playwright-cli find "Add" --filename=results.md
playwright-cli eval "document.title"
playwright-cli eval "el => el.textContent" e5
# get element id, class, or any attribute not visible in the snapshot
playwright-cli eval "el => el.id" e5
playwright-cli eval "el => el.getAttribute('data-testid')" e5
playwright-cli dialog-accept
playwright-cli dialog-accept "confirmation text"
playwright-cli dialog-dismiss
playwright-cli resize 1920 1080
playwright-cli closeplaywright-cli go-back playwright-cli go-forward playwright-cli reload
playwright-cli press Enter playwright-cli press ArrowDown playwright-cli keydown Shift playwright-cli keyup Shift
playwright-cli mousemove 150 300 playwright-cli mousedown playwright-cli mousedown right playwright-cli mouseup playwright-cli mouseup right # scroll by <dx> <dy> pixels, negative dy scrolls up # the element under the mouse pointer scrolls, so mousemove over it first playwright-cli mousewheel 0 100 playwright-cli mousewheel 0 -100
playwright-cli screenshot playwright-cli screenshot e5 playwright-cli screenshot --filename=page.png playwright-cli screenshot --hires playwright-cli pdf --filename=page.pdf
playwright-cli tab-list playwright-cli tab-new playwright-cli tab-new https://example.com/page playwright-cli tab-new https://example.com/page --isolated-context=user-b playwright-cli tab-close playwright-cli tab-close 2 playwright-cli tab-select 0
playwright-cli state-save playwright-cli state-save auth.json playwright-cli state-load auth.json # Cookies playwright-cli cookie-list playwright-cli cookie-list --domain=example.com playwright-cli cookie-get session_id playwright-cli cookie-set session_id abc123 playwright-cli cookie-set session_id abc123 --domain=example.com --httpOnly --secure playwright-cli cookie-delete session_id playwright-cli cookie-clear # LocalStorage playwright-cli localstorage-list playwright-cli localstorage-get theme playwright-cli localstorage-set theme dark playwright-cli localstorage-delete theme playwright-cli localstorage-clear # SessionStorage playwright-cli sessionstorage-list playwright-cli sessionstorage-get step playwright-cli sessionstorage-set step 3 playwright-cli sessionstorage-delete step playwright-cli sessionstorage-clear
playwright-cli set-color-scheme dark playwright-cli clear-color-scheme playwright-cli set-reduced-motion reduce playwright-cli clear-reduced-motion playwright-cli set-forced-colors active playwright-cli clear-forced-colors playwright-cli set-contrast more playwright-cli clear-contrast playwright-cli set-media print playwright-cli clear-media
playwright-cli route "**/*.jpg" --status=404
playwright-cli route "https://api.example.com/**" --body='{"mock": true}'
playwright-cli route-list
playwright-cli unroute "**/*.jpg"
playwright-cli unrouteplaywright-cli console playwright-cli console warning playwright-cli requests playwright-cli request 5 playwright-cli run-code "async page => await page.context().grantPermissions(['geolocation'])" playwright-cli run-code --filename=script.js playwright-cli tracing-start playwright-cli tracing-stop # record user actions in the browser, print them as Playwright code on stop playwright-cli recording-start playwright-cli recording-stop playwright-cli video-start video.webm playwright-cli video-chapter "Chapter Title" --description="Details" --duration=2000 playwright-cli video-stop # annotate each subsequent action (click, type, ...) with a callout naming the action, optionally styling the action point and target highlight playwright-cli video-show-actions --duration=600 --position=top-right --highlight-style="outline: 2px solid #333" playwright-cli video-hide-actions # launch the dashboard for UI review / design feedback — user annotates the page, you receive the annotated screenshot, snapshot, and notes playwright-cli show --annotate # generate a Playwright locator for an element from its ref or selector playwright-cli generate-locator e5 --raw # show a persistent highlight overlay for an element, optionally with a custom style playwr
Development workflows for the playwright-cli repository. Use when the user asks about rolling dependencies, releasing, or other…
Triage and fix an issue in microsoft/playwright-cli. Where the code of the CLI is, how to reproduce on tip-of-tree in…
Produce the "Playwright 1.xx API Review" artifact for a range of commits - the public API additions and the breaking or behavior…
Write, refine, run, and QA promptfoo evaluation suites: promptfooconfig.yaml, prompts, providers, vars, tests, assertions,…
DeepEval evaluation workflow for AI agents and LLM applications. TRIGGER when the user wants to evaluate or improve an AI agent,…