Purpose
Thin check-centric setup per the uniform setup contract (docs/PLUGIN-PHILOSOPHY.md
"Setup is explicit and repeatable" in the marketplace repository): check inspects and
reports, apply resolves. This plugin owns no consumer-project configuration and no
userConfig. It recommends @playwright/cli's own defaults, so the only tunable
prerequisite is the CLI binary itself. apply is guidance-and-verify with exactly one
write path: the explicitly invoked apply install-cli global npm install described
below.
Action routing: no argument or check runs the check; apply runs the check first, then
offers the resolution for each finding; apply install-cli additionally authorizes the global
CLI install. All are non-interactive. Never prompt when the action is given.
check (read-only)
The main skill and its reference files are the single source of truth for what the CLI
requires: ${CLAUDE_PLUGIN_ROOT}/skills/playwright/SKILL.md (Prerequisite + quick start) and
${CLAUDE_PLUGIN_ROOT}/skills/playwright/reference/ (commands.md, windows-quirks.md).
Read it first. Probe what it actually does, don't recite this file. Then run each probe via Bash and report a PASS/FAIL/INFO table with one remediation line per FAIL. Do not modify anything.
playwright-clibinary.command -v playwright-cli(the binary name the skill drives; the npm package is@playwright/cli). FAIL if absent. Remediation isapply install-clibelow. When present, report the version (playwright-cli --version).- Browser availability. The CLI needs a browser beyond its own install. Per the plugin's
own
skills/playwright/reference/windows-quirks.md, local sessions on Windows/macOS/Linux auto-detect system Chrome, while a sandboxed/cloud session must runplaywright-cli install-browserand that download can be egress-blocked. INFO: state whether a system browser is resolvable on this host and, when it is not, surface theplaywright-cli install-browserstep and the sandbox-egress caveat from that reference. Do not assert a browser requirement the shipped docs do not; read them and report what they say. - Artifact directory. INFO: artifacts land in
.playwright-cli/relative to the working directory; note whether it is gitignored in the current project (the skill recommends adding it). No write. Reporting only.
apply (idempotent)
Run check, then for each FAIL offer the resolution. apply install-cli is the one write
path. State the change before running it:
- CLI absent.
apply install-clirunsnpm install -g @playwright/cli. This is a global install that mutates the user's machine (the global npm prefix), stated before it runs; without theinstall-cliargument,applyonly prints this command for the user to run. After the install, re-runcommand -v playwright-cliand report the actual result. Never claim success on npm's exit code alone. - browser not resolvable. Point at
playwright-cli install-browserper the plugin's reference, and note the sandbox-egress caveat when relevant. Guidance only. This skill does not provision browsers. .playwright-cli/not gitignored. Suggest adding it to the project.gitignore; guidance only, no edit.
The vendored-baseline update flow (/playwright:playwright update) is not this skill's
job. Point at it, do not wrap it. Re-running apply when everything already passes changes
nothing and reports "already configured".
What this skill does NOT do
- Write the plugin cache, Claude Code user settings, or
pluginConfigs. Nor project files. The one explicitly invokedapply install-cliglobal npm install is the only write it performs. - Provision browsers, run E2E flows, or take screenshots. That is
/playwright:playwright. - Run or wrap the maintainer update flow (
/playwright:playwright update).