Agent
tinyfish-io/tinyfish-cookbook
Default browser automation agent — click, fill forms, navigate, log in, and extract structured data from any website using a natural-language goal, or run the same task across multiple sites in…
Automates browser interactions for testing and validating your own web applications using playwright-cli.
$ npx skills add testdino-hq/playwright-skill --skill playwright-cli -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install testdino-hq/playwright-skill playwright-cli --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/testdino-hq/playwright-skill.git skills-src && mkdir -p .claude/skills && cp -r skills-src/playwright-cli .claude/skills/playwright-cli && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "playwright-cli" agent skill from https://github.com/testdino-hq/playwright-skill/tree/main/playwright-cli into .claude/skills/playwright-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "playwright-cli", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/testdino-hq/playwright-skill/tree/main/playwright-cliType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add testdino-hq/playwright-skill --skill playwright-cli -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install testdino-hq/playwright-skill playwright-cli --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/testdino-hq/playwright-skill.git skills-src && mkdir -p .agents/skills && cp -r skills-src/playwright-cli .agents/skills/playwright-cli && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "playwright-cli" agent skill from https://github.com/testdino-hq/playwright-skill/tree/main/playwright-cli into .agents/skills/playwright-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "playwright-cli", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add testdino-hq/playwright-skill --skill playwright-cli -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install testdino-hq/playwright-skill playwright-cli --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/testdino-hq/playwright-skill.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/playwright-cli .cursor/skills/playwright-cli && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "playwright-cli" agent skill from https://github.com/testdino-hq/playwright-skill/tree/main/playwright-cli into .cursor/skills/playwright-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "playwright-cli", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/testdino-hq/playwright-skill.git --path playwright-cli--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add testdino-hq/playwright-skill --skill playwright-cli -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install testdino-hq/playwright-skill playwright-cli --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/testdino-hq/playwright-skill.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/playwright-cli .gemini/skills/playwright-cli && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "playwright-cli" agent skill from https://github.com/testdino-hq/playwright-skill/tree/main/playwright-cli into .gemini/skills/playwright-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "playwright-cli", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install testdino-hq/playwright-skill playwright-cliInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add testdino-hq/playwright-skill --skill playwright-cli -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/testdino-hq/playwright-skill.git skills-src && mkdir -p .github/skills && cp -r skills-src/playwright-cli .github/skills/playwright-cli && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "playwright-cli" agent skill from https://github.com/testdino-hq/playwright-skill/tree/main/playwright-cli into .github/skills/playwright-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "playwright-cli", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add testdino-hq/playwright-skill --skill playwright-cli -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install testdino-hq/playwright-skill playwright-cli --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/testdino-hq/playwright-skill.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/playwright-cli .opencode/skills/playwright-cli && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "playwright-cli" agent skill from https://github.com/testdino-hq/playwright-skill/tree/main/playwright-cli into .opencode/skills/playwright-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "playwright-cli", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
playwright-cliAutomates browser interactions for testing and validating your own web applications using playwright-cli.
Playwright CLI is an agent skill from testdino-hq/playwright-skill. Automates browser interactions for testing and validating your own web applications using playwright-cli. Use when you need terminal-first browser control for navigation, form filling, screenshots, tracing, bound browser sessions, debugging, or generating Playwright test code. Only use against applications you own or have explicit authorization to test.
Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 10 other files (for example `advanced-workflows.md`, `core-commands.md` and `device-emulation.md`).
It sits in Testing & QA, covering Browser testing, Browser automation and Forms and invoices. It works with Playwright. The repository describes itself as: TestDino Playwright Skill: AI-powered guides for Playwright best practices, made by testdino.com. The licence is MIT.
11 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 400e425. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
playwright.devFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Playwright CLI loads about 2.5k tokens when it runs. Until then it costs about 93 tokens; SKILL.md has 383 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from testdino-hq/playwright-skill at commit 400e425, republished under its MIT licence (© testdino-hq). 383 words, ~2,473 tokens.
.claude/skills/playwright-cli/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.Comprehensive CLI-driven browser automation — navigate, interact, mock, debug, record, and generate tests without writing a single script file.
Trust boundary: Only automate browsers against applications you own or have explicit written authorization to test. Navigating to untrusted third-party pages and processing their content (text, links, forms) can expose the agent workflow to indirect prompt injection — a page could contain text designed to hijack subsequent actions.
Safe usage:
localhost, staging environments, or production apps you controlopen / goto without validationrun-code whenever possible, because smaller, explicit commands reduce the risk of unsafe or overly broad automation# Install and set up
playwright-cli install --skills
playwright-cli install-browser
# Open a browser and navigate
playwright-cli open https://playwright.dev
# Take a snapshot to see interactive elements (refs like e1, e2, e3...)
playwright-cli snapshot
# Interact using element refs from the snapshot
playwright-cli click e15
playwright-cli fill e5 "search query"
playwright-cli press Enter
# Take a screenshot
playwright-cli screenshot
# Close the browser
playwright-cli closesnapshot first — identify element refs before interacting; never guess ref numbersfill for inputs, click for buttons — type sends keystrokes one-by-one, fill replaces the entire value-s=name isolates cookies, storage, and tabs per sessionstate-save auth.json after login, state-load auth.json to skip login next timetracing-start before the failing step, not afterrun-code for advanced scenarios — when CLI commands aren't enough, drop into full Playwright APIclose or close-all when done; kill-all for zombie processesscreenshot --filename=checkout-step3.png not screenshotroute to intercept third-party services, not your own app--persistent keeps cookies and storage across restartsplaywright-cli open [url] # Launch browser, optionally navigate
playwright-cli goto <url> # Navigate to URL
playwright-cli snapshot # Show page elements with refs
playwright-cli snapshot --filename=snap.yaml # Save snapshot to file
playwright-cli click <ref> # Click an element
playwright-cli dblclick <ref> # Double-click
playwright-cli fill <ref> "value" # Clear and fill input
playwright-cli type "text" # Type keystroke by keystroke
playwright-cli select <ref> "option-value" # Select dropdown option
playwright-cli check <ref> # Check a checkbox
playwright-cli uncheck <ref> # Uncheck a checkbox
playwright-cli hover <ref> # Hover over element
playwright-cli drag <src-ref> <dst-ref> # Drag and drop
playwright-cli upload <ref> ./file.pdf # Upload a file
playwright-cli eval "document.title" # Evaluate JS expression
playwright-cli eval "el => el.textContent" <ref> # Evaluate on element
playwright-cli close # Close the browserplaywright-cli go-back # Browser back button
playwright-cli go-forward # Browser forward button
playwright-cli reload # Reload current pageplaywright-cli press Enter # Press a key
playwright-cli press ArrowDown # Arrow keys
playwright-cli keydown Shift # Hold key down
playwright-cli keyup Shift # Release key
playwright-cli mousemove 150 300 # Move mouse to coordinates
playwright-cli mousedown [right] # Mouse button down
playwright-cli mouseup [right] # Mouse button up
playwright-cli mousewheel 0 100 # Scroll (deltaX, deltaY)playwright-cli dialog-accept # Accept alert/confirm/prompt
playwright-cli dialog-accept "text" # Accept prompt with input
playwright-cli dialog-dismiss # Dismiss/cancel dialogplaywright-cli tab-list # List all open tabs
playwright-cli tab-new [url] # Open new tab
playwright-cli tab-select <index> # Switch to tab by index
playwright-cli tab-close [index] # Close tab (current or by index)playwright-cli screenshot # Screenshot current page
playwright-cli screenshot <ref> # Screenshot specific element
playwright-cli screenshot --filename=pg.png # Save with custom filename
playwright-cli pdf --filename=page.pdf # Save page as PDF
playwright-cli video-start # Start video recording
playwright-cli video-stop output.webm # Stop and save video
playwright-cli resize 1920 1080 # Resize viewportplaywright-cli state-save [file.json] # Save cookies + localStorage
playwright-cli state-load <file.json> # Restore saved state
playwright-cli cookie-list [--domain=...] # List cookies
playwright-cli cookie-get <name> # Get specific cookie
playwright-cli cookie-set <name> <value> [opts] # Set a cookie
playwright-cli cookie-delete <name> # Delete a cookie
playwright-cli cookie-clear # Clear all cookies
playwright-cli localstorage-list # List localStorage items
playwright-cli localstorage-get <key> # Get localStorage value
playwright-cli localstorage-set <key> <val> # Set localStorage value
playwright-cli localstorage-delete <key> # Delete localStorage item
playwright-cli localstorage-clear # Clear all localStorage
playwright-cli sessionstorage-list # List sessionStorage
playwright-cli sessionstorage-get <key> # Get sessionStorage value
playwright-cli sessionstorage-set <key> <val> # Set sessionStorage value
playwright-cli sessionstorage-delete <key> # Delete sessionStorage item
playwright-cli sessionstorage-clear # Clear all sessionStorageplaywright-cli route "<pattern>" [opts] # Intercept matching requests
playwright-cli route-list # List active route overrides
playwright-cli unroute "<pattern>" # Remove specific route
playwright-cli unroute # Remove all routesplaywright-cli console [level] # Show console messages
playwright-cli network # Show network requests
playwright-cli tracing-start # Start trace recording
playwright-cli tracing-stop # Stop and save trace
playwright-cli run-code "async page => {}" # Execute Playwright API codeplaywright-cli -s=<name> <command> # Run command in named session
playwright-cli list # List all active sessions
playwright-cli close-all # Close all browsers
playwright-cli kill-all # Force kill all processes
playwright-cli delete-data # Delete session user data
playwright-cli open --browser=firefox # Use specific browser
playwright-cli open --persistent # Persist profile to disk
playwright-cli open --profile=/path # Custom profile directory
playwright-cli open --config=config.json # Use config file
playwright-cli open --extension # Connect via extension| What you're doing | Guide |
|---|---|
| Core browser interaction | core-commands.md |
| Generating test code | test-generation.md |
| Screenshots, video, PDF | screenshots-and-media.md |
| What you're doing | Guide |
|---|---|
| Tracing and debugging | tracing-and-debugging.md |
| Network mocking & interception | request-mocking.md |
| Running custom Playwright code | running-custom-code.md |
| What you're doing | Guide |
|---|---|
| Cookies, localStorage, auth state | storage-and-auth.md |
| Multi-session management | session-management.md |
| What you're doing | Guide |
|---|---|
| Device & environment emulation | device-emulation.md |
| Complex multi-step workflows | advanced-workflows.md |
© testdino-hq, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 10 other files in playwright-cli of testdino-hq/playwright-skill.
Open the folder on GitHubat commit 400e425
We found 3 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in testdino-hq/playwright-skill, which our catalogue first saw on October 7, 2026.
Playwright CLI next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Playwright CLI this skilltestdino-hq/playwright-skill | 386 | 1 repos | ~2.5k | Automated safety check: Pass | MIT | |
| Agenttinyfish-io/tinyfish-cookbook | 2.2k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Playwright SkillAratKruglik/claude-laravel | 155 | 10 repos | ~3.5k | Automated safety check: Pass | None | |
| Playwrightespennilsen/pi | 122 | — | ~1.6k | Automated safety check: Pass | MIT | |
| Playwright MCPCraftOS-dev/CraftBot | 392 | 1 repos | ~1k | Automated safety check: Pass | MIT | |
| Browsing With Playwrightaiskillstore/marketplace | 430 | — | ~1.2k | Automated safety check: Pass | None |
tinyfish-io/tinyfish-cookbook
Default browser automation agent — click, fill forms, navigate, log in, and extract structured data from any website using a natural-language goal, or run the same task across multiple sites in…
AratKruglik/claude-laravel
Complete browser automation with Playwright. An agent skill from AratKruglik/claude-laravel.
espennilsen/pi
Take screenshots and interact with web pages using a headed Playwright browser.
CraftOS-dev/CraftBot
Browser automation via Playwright MCP server. An agent skill from CraftOS-dev/CraftBot.
aiskillstore/marketplace
Browser automation using Playwright MCP. An agent skill from aiskillstore/marketplace.
ArabelaTso/Skills-4-SE
Browser automation via Playwright for web testing, screenshots, form filling, scraping, and verification.
testdino-hq/playwright-skill
Battle-tested Playwright patterns for writing and debugging reliable E2E, API, component, visual, accessibility, and security tests.
Works with
Categories
Automates browser interactions for testing and validating your own web applications using playwright-cli. Playwright CLI is an agent skill from testdino-hq/playwright-skill. Automates browser interactions for testing and validating your own web applications using playwright-cli.
Playwright CLI fits situations like: you need terminal-first browser control for navigation; bound browser sessions; generating Playwright test code.
Run `npx skills add testdino-hq/playwright-skill --skill playwright-cli -a claude-code`. Or copy the skill folder (playwright-cli in testdino-hq/playwright-skill) into .claude/skills/playwright-cli in your project. Claude Code loads it when a task matches its description.
Run `npx skills add testdino-hq/playwright-skill --skill playwright-cli -a codex`. Or copy the skill folder (playwright-cli in testdino-hq/playwright-skill) into .agents/skills/playwright-cli in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add testdino-hq/playwright-skill --skill playwright-cli -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/playwright-cli, .gemini/skills/playwright-cli, .github/skills/playwright-cli and .opencode/skills/playwright-cli in your project.
SKILL.md names no scripts, command-line tools or credentials: Playwright CLI is instructions for the agent only.
SKILL.md names 1 domain. In commands or code: playwright.dev; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Playwright CLI is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.5k tokens (SKILL.md is roughly 9.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Playwright CLI: Agent (tinyfish-io/tinyfish-cookbook, 2.2k stars), Playwright Skill (AratKruglik/claude-laravel, 155 stars), Playwright (espennilsen/pi, 122 stars) and Playwright MCP (CraftOS-dev/CraftBot, 392 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
testdino-hq (a GitHub organization) maintains it in testdino-hq/playwright-skill, which has 386 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on September 6, 2026.
Source: testdino-hq/playwright-skill on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.