Agent skill
playwright-cli
Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, test web applications, or extract information from web pages.
Install this agent skill to your Project
npx add-skill https://github.com/yaakaito/env/tree/main/dotfiles/.claude/skills/playwright-cli
SKILL.md
Browser Automation with playwright-cli
Quick start
# open new browser
playwright-cli --browser chromium open
# navigate to a page
playwright-cli --browser chromium goto https://playwright.dev
# interact with the page using refs from the snapshot
playwright-cli --browser chromium click e15
playwright-cli --browser chromium type "page.click"
playwright-cli --browser chromium press Enter
# take a screenshot (rarely used, as snapshot is more common)
playwright-cli --browser chromium screenshot
# close the browser
playwright-cli --browser chromium close
Commands
Core
playwright-cli --browser chromium open
# open and navigate right away
playwright-cli --browser chromium open https://example.com/
playwright-cli --browser chromium goto https://playwright.dev
playwright-cli --browser chromium type "search query"
playwright-cli --browser chromium click e3
playwright-cli --browser chromium dblclick e7
playwright-cli --browser chromium fill e5 "user@example.com"
playwright-cli --browser chromium drag e2 e8
playwright-cli --browser chromium hover e4
playwright-cli --browser chromium select e9 "option-value"
playwright-cli --browser chromium upload ./document.pdf
playwright-cli --browser chromium check e12
playwright-cli --browser chromium uncheck e12
playwright-cli --browser chromium snapshot
playwright-cli --browser chromium snapshot --filename=after-click.yaml
playwright-cli --browser chromium eval "document.title"
playwright-cli --browser chromium eval "el => el.textContent" e5
playwright-cli --browser chromium dialog-accept
playwright-cli --browser chromium dialog-accept "confirmation text"
playwright-cli --browser chromium dialog-dismiss
playwright-cli --browser chromium resize 1920 1080
playwright-cli --browser chromium close
Navigation
playwright-cli --browser chromium go-back
playwright-cli --browser chromium go-forward
playwright-cli --browser chromium reload
Keyboard
playwright-cli --browser chromium press Enter
playwright-cli --browser chromium press ArrowDown
playwright-cli --browser chromium keydown Shift
playwright-cli --browser chromium keyup Shift
Mouse
playwright-cli --browser chromium mousemove 150 300
playwright-cli --browser chromium mousedown
playwright-cli --browser chromium mousedown right
playwright-cli --browser chromium mouseup
playwright-cli --browser chromium mouseup right
playwright-cli --browser chromium mousewheel 0 100
Save as
playwright-cli --browser chromium screenshot
playwright-cli --browser chromium screenshot e5
playwright-cli --browser chromium screenshot --filename=page.png
playwright-cli --browser chromium pdf --filename=page.pdf
Tabs
playwright-cli --browser chromium tab-list
playwright-cli --browser chromium tab-new
playwright-cli --browser chromium tab-new https://example.com/page
playwright-cli --browser chromium tab-close
playwright-cli --browser chromium tab-close 2
playwright-cli --browser chromium tab-select 0
Storage
playwright-cli --browser chromium state-save
playwright-cli --browser chromium state-save auth.json
playwright-cli --browser chromium state-load auth.json
# Cookies
playwright-cli --browser chromium cookie-list
playwright-cli --browser chromium cookie-list --domain=example.com
playwright-cli --browser chromium cookie-get session_id
playwright-cli --browser chromium cookie-set session_id abc123
playwright-cli --browser chromium cookie-set session_id abc123 --domain=example.com --httpOnly --secure
playwright-cli --browser chromium cookie-delete session_id
playwright-cli --browser chromium cookie-clear
# LocalStorage
playwright-cli --browser chromium localstorage-list
playwright-cli --browser chromium localstorage-get theme
playwright-cli --browser chromium localstorage-set theme dark
playwright-cli --browser chromium localstorage-delete theme
playwright-cli --browser chromium localstorage-clear
# SessionStorage
playwright-cli --browser chromium sessionstorage-list
playwright-cli --browser chromium sessionstorage-get step
playwright-cli --browser chromium sessionstorage-set step 3
playwright-cli --browser chromium sessionstorage-delete step
playwright-cli --browser chromium sessionstorage-clear
Network
playwright-cli --browser chromium route "**/*.jpg" --status=404
playwright-cli --browser chromium route "https://api.example.com/**" --body='{"mock": true}'
playwright-cli --browser chromium route-list
playwright-cli --browser chromium unroute "**/*.jpg"
playwright-cli --browser chromium unroute
DevTools
playwright-cli --browser chromium console
playwright-cli --browser chromium console warning
playwright-cli --browser chromium network
playwright-cli --browser chromium run-code "async page => await page.context().grantPermissions(['geolocation'])"
playwright-cli --browser chromium tracing-start
playwright-cli --browser chromium tracing-stop
playwright-cli --browser chromium video-start
playwright-cli --browser chromium video-stop video.webm
Open parameters
# Use specific browser when creating session
playwright-cli --browser chromium open --browser=chrome
playwright-cli --browser chromium open --browser=firefox
playwright-cli --browser chromium open --browser=webkit
playwright-cli --browser chromium open --browser=msedge
# Connect to browser via extension
playwright-cli --browser chromium open --extension
# Use persistent profile (by default profile is in-memory)
playwright-cli --browser chromium open --persistent
# Use persistent profile with custom directory
playwright-cli --browser chromium open --profile=/path/to/profile
# Start with config file
playwright-cli --browser chromium open --config=my-config.json
# Close the browser
playwright-cli --browser chromium close
# Delete user data for the default session
playwright-cli --browser chromium delete-data
Snapshots
After each command, playwright-cli provides a snapshot of the current browser state.
> playwright-cli --browser chromium goto https://example.com
### Page
- Page URL: https://example.com/
- Page Title: Example Domain
### Snapshot
[Snapshot](.playwright-cli/page-2026-02-14T19-22-42-679Z.yml)
You can also take a snapshot on demand using playwright-cli --browser chromium snapshot command.
If --filename is not provided, a new snapshot file is created with a timestamp. Default to automatic file naming, use --filename= when artifact is a part of the workflow result.
Browser Sessions
# create new browser session named "mysession" with persistent profile
playwright-cli --browser chromium -s=mysession open example.com --persistent
# same with manually specified profile directory (use when requested explicitly)
playwright-cli --browser chromium -s=mysession open example.com --profile=/path/to/profile
playwright-cli --browser chromium -s=mysession click e6
playwright-cli --browser chromium -s=mysession close # stop a named browser
playwright-cli --browser chromium -s=mysession delete-data # delete user data for persistent session
playwright-cli --browser chromium list
# Close all browsers
playwright-cli --browser chromium close-all
# Forcefully kill all browser processes
playwright-cli --browser chromium kill-all
Local installation
In some cases user might want to install playwright-cli locally. If running globally available playwright-cli binary fails, use npx playwright-cli to run the commands. For example:
npx playwright-cli --browser chromium open https://example.com
npx playwright-cli --browser chromium click e1
Example: Form submission
playwright-cli --browser chromium open https://example.com/form
playwright-cli --browser chromium snapshot
playwright-cli --browser chromium fill e1 "user@example.com"
playwright-cli --browser chromium fill e2 "password123"
playwright-cli --browser chromium click e3
playwright-cli --browser chromium snapshot
playwright-cli --browser chromium close
Example: Multi-tab workflow
playwright-cli --browser chromium open https://example.com
playwright-cli --browser chromium tab-new https://example.com/other
playwright-cli --browser chromium tab-list
playwright-cli --browser chromium tab-select 0
playwright-cli --browser chromium snapshot
playwright-cli --browser chromium close
Example: Debugging with DevTools
playwright-cli --browser chromium open https://example.com
playwright-cli --browser chromium click e4
playwright-cli --browser chromium fill e7 "test"
playwright-cli --browser chromium console
playwright-cli --browser chromium network
playwright-cli --browser chromium close
playwright-cli --browser chromium open https://example.com
playwright-cli --browser chromium tracing-start
playwright-cli --browser chromium click e4
playwright-cli --browser chromium fill e7 "test"
playwright-cli --browser chromium tracing-stop
playwright-cli --browser chromium close
Specific tasks
- Request mocking references/request-mocking.md
- Running Playwright code references/running-code.md
- Browser session management references/session-management.md
- Storage state (cookies, localStorage) references/storage-state.md
- Test generation references/test-generation.md
- Tracing references/tracing.md
- Video recording references/video-recording.md
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
spec-file-manager
Manage specification files. Use when creating, reading, updating, or listing spec files. Triggers on requests like "create spec", "update spec", "list specs", or "show spec status".
adr-writer
Skill for creating and editing Architecture Decision Records (ADRs). Use when requests involve "create ADR", "record architecture decision", or "document design decisions". Supports creating new ADRs, updating existing ADRs, and reviewing ADR format.
github-workflow
Write and edit GitHub Actions workflow files. Use when creating new workflows, editing existing .github/workflows/*.yml files, or setting up CI/CD pipelines. Triggers on requests like "create a workflow", "add GitHub Actions", "set up CI", or "edit the workflow file".
github-pr-unresolved-review-fetcher
Fetch unresolved PR review comments from GitHub. Use when working with pull request reviews, addressing review feedback, or checking outstanding review comments on a PR. Triggers on requests like "get PR reviews", "fetch review comments", "show unresolved comments", or "what feedback is pending on this PR".
github-workflow-fixer
Analyze and fix GitHub Actions workflow failures. Use when workflows fail, CI/CD issues occur, or when debugging GitHub Actions runs. Triggers on requests like "fix workflow", "why did the build fail", "check CI status", "debug GitHub Actions", or "workflow failed".
codex-review
Codex CLI を使って現在のコード変更を5つの観点(セキュリティ・パフォーマンス・バグ・テスト・アーキテクチャ)から並列レビューし、指摘に基づいてコードを修正するスキル。ユーザーが「codex でレビュー」「codex review」「コードレビューして」「レビュー実行」「codex にレビューさせて」「変更をチェック」などと言った場合や、コード品質チェック・多角的なレビューを求められた場合に使用する。明示的に codex に言及していなくても、包括的なコードレビューを求められたらこのスキルの使用を検討すること。
Didn't find tool you were looking for?