Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, UI-flow debugging) via `playwright-cli` or the bundled wrapper script.
.claude/skills/kxiandaoyan-playwright/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-08 | ✗→✓ | ▲ Improved | 26% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 61% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 57% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 44% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 3% | 0% |
This skill requires the following environment variables:
SKILLS_ROOT - Path to the skills directory (automatically set by the system)LOBSTERAI_SKILLS_ROOT - Alternative skills root path (optional, defaults to SKILLS_ROOT)npx command must be available@playwright/mcp package can be installed globally for direct CLI accessDrive a real browser from the terminal using playwright-cli. Prefer the bundled wrapper script so the CLI works even when it is not globally installed. Treat this skill as CLI-first automation. Do not pivot to @playwright/test unless the user explicitly asks for test files.
Before proposing commands, check whether npx is available (the wrapper depends on it):
bashcommand -v npx >/dev/null 2>&1
If it is not available, pause and ask the user to install Node.js/npm (which provides npx). Provide these steps verbatim:
bash# Verify Node/npm are installed node --version npm --version # If missing, install Node.js/npm, then: npm install -g @playwright/mcp@latest playwright-cli --help
Once npx is present, proceed with the wrapper script. A global install of playwright-cli is optional.
bashexport SKILLS_ROOT="${LOBSTERAI_SKILLS_ROOT:-${SKILLS_ROOT:-$HOME/Library/Application Support/LobsterAI/SKILLs}}" export PWCLI="$SKILLS_ROOT/playwright/scripts/playwright_cli.sh"
Installed skills resolve from $LOBSTERAI_SKILLS_ROOT / $SKILLS_ROOT (production default: app userData/SKILLs, macOS usually ~/Library/Application Support/LobsterAI/SKILLs).
Use the wrapper script:
bash"$PWCLI" open https://playwright.dev --headed "$PWCLI" snapshot "$PWCLI" click e15 "$PWCLI" type "Playwright" "$PWCLI" press Enter "$PWCLI" screenshot
If the user prefers a global install, this is also valid:
bashnpm install -g @playwright/mcp@latest playwright-cli --help
Minimal loop:
bash"$PWCLI" open https://example.com "$PWCLI" snapshot "$PWCLI" click e3 "$PWCLI" snapshot
Snapshot again after:
Refs can go stale. When a command fails due to a missing ref, snapshot again.
bash"$PWCLI" open https://example.com/form "$PWCLI" snapshot "$PWCLI" fill e1 "user@example.com" "$PWCLI" fill e2 "password123" "$PWCLI" click e3 "$PWCLI" snapshot
bash"$PWCLI" open https://example.com --headed "$PWCLI" tracing-start # ...interactions... "$PWCLI" tracing-stop
bash"$PWCLI" tab-new https://example.com "$PWCLI" tab-list "$PWCLI" tab-select 0 "$PWCLI" snapshot
The wrapper script uses npx --package @playwright/mcp playwright-cli so the CLI can run without a global install:
bash"$PWCLI" --help
Prefer the wrapper unless the repository already standardizes on a global install.
Open only what you need:
references/cli.mdreferences/workflows.mde12.eval and run-code unless needed.eX and say why; do not bypass refs with run-code.--headed when a visual check will help.output/playwright/ and avoid introducing new top-level artifact folders.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-08 | fail→pass | 11,990 | 7,431 | -38% | 1 | 1 | 0% | 2,022 | 2,544 | +26% | 0 | 0 | — |
case-01 | fail→fail | 11,168 | 3,647 | -67% | 1 | 1 | 0% | 1,989 | 1,485 | -25% | 0 | 0 | — |
case-02 | fail→fail | 11,305 | 2,133 | -81% | 1 | 1 | 0% | 2,292 | 1,427 | -38% | 0 | 0 | — |
case-03 | fail→fail | 5,035 | 6,570 | +30% | 1 | 1 | 0% | 609 | 1,424 | +134% | 0 | 0 | — |
case-04 | fail→pass | 5,495 | 2,806 | -49% | 1 | 1 | 0% | 978 | 1,570 | +61% | 0 | 0 | — |
case-05 | fail→pass | 6,440 | 6,578 | +2% | 1 | 1 | 0% | 1,095 | 1,722 | +57% | 0 | 0 | — |
case-06 | fail→pass | 7,808 | 3,672 | -53% | 1 | 1 | 0% | 1,192 | 1,711 | +44% | 0 | 0 | — |
case-07 | fail→pass | 12,724 | 6,190 | -51% | 1 | 1 | 0% | 2,208 | 2,267 | +3% | 0 | 0 | — |
case-09 | fail→pass | 9,492 | 3,033 | -68% | 1 | 1 | 0% | 1,749 | 1,643 | -6% | 0 | 0 | — |
case-10 | fail→pass | 15,701 | 7,980 | -49% | 1 | 1 | 0% | 2,641 | 2,709 | +3% | 0 | 0 | — |
case-11 | fail→pass | 9,663 | 4,144 | -57% | 1 | 1 | 0% | 1,689 | 1,782 | +6% | 0 | 0 | — |
case-12 | fail→fail | 4,909 | 2,589 | -47% | 1 | 1 | 0% | 704 | 1,540 | +119% | 0 | 0 | — |
case-13 | fail→fail | 11,790 | 1,949 | -83% | 1 | 1 | 0% | 2,062 | 1,448 | -30% | 0 | 0 | — |
case-14 | fail→pass | 10,423 | 3,330 | -68% | 1 | 1 | 0% | 1,607 | 1,611 | +0% | 0 | 0 | — |
case-15 | pass→pass | 9,092 | 3,105 | -66% | 1 | 1 | 0% | 1,440 | 1,608 | +12% | 0 | 0 | — |
case-16 | fail→pass | 7,084 | 5,219 | -26% | 1 | 1 | 0% | 1,177 | 2,080 | +77% | 0 | 0 | — |
case-17 | fail→pass | 9,183 | 4,518 | -51% | 1 | 1 | 0% | 1,566 | 1,993 | +27% | 0 | 0 | — |
case-18 | fail→pass | 10,463 | 3,667 | -65% | 1 | 1 | 0% | 1,795 | 1,719 | -4% | 0 | 0 | — |
case-19 | fail→pass | 7,387 | 1,924 | -74% | 1 | 1 | 0% | 1,184 | 1,373 | +16% | 0 | 0 | — |
case-20 | fail→pass | 6,072 | 1,576 | -74% | 1 | 1 | 0% | 851 | 1,313 | +54% | 0 | 0 | — |
case-21 | fail→pass | 8,978 | 1,752 | -80% | 1 | 1 | 0% | 1,438 | 1,414 | -2% | 0 | 0 | — |
case-22 | pass→pass | 8,705 | 7,241 | -17% | 1 | 1 | 0% | 1,807 | 2,579 | +43% | 0 | 0 | — |
case-23 | pass→pass | 3,778 | 4,092 | +8% | 1 | 1 | 0% | 789 | 1,926 | +144% | 0 | 0 | — |
case-24 | pass→pass | 7,374 | 8,162 | +11% | 1 | 1 | 0% | 1,523 | 2,979 | +96% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 24 cases were attempted, and 23 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +63 percentage points is the difference between those two pass rates over the 23 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.