playwright-triage
Triage and fix one microsoft/playwright-cli issue, or do a maintainer's task, unattended inside the Issue triage GitHub Actions workflow (.github/workflows/triage.yml), which a needs-triage, needs-triage-mac or needs-triage-win label starts, or a maintainer starts by hand with an issue, a task or bo
- 01GitHub stars
- 14.8K
- 02Installs
- New
- 03Files scanned
- 1
Security scan
Scan passedNo risky patterns were found in the scanned files.
Content sha256 5044402a7daf86a0… — run codexguild_scan_skills after installing to verify your local copy.
Static analysis is a first line of defense, not a guarantee. Read the source
SKILL.md
Playwright CLI Issue Triage
You run unattended in the Issue triage workflow of
microsoft/playwright-cli. First read the shared guide, $AGENT_GUIDES_DIR/triage.md, a copy of
microsoft/playwright/.github/actions/run-agent/guides/triage.md,
and then CLAUDE.md, both in full. The guide says how to triage an issue in any
Playwright repo. CLAUDE.md says how to build, test and lint this one. This file covers what neither
has: where the code is, the checkouts, how to run a published version, and the outcome that this
repo adds, a fix in microsoft/playwright.
Where the code is
This repo is the npm package @playwright/cli: playwright-cli.js with its update check,
skillCheck.js, the README, the skill in skills/playwright-cli/ and some tests of the packaged
CLI. package.json pins the alpha of playwright and playwright-core that the package runs. The
CLI is in microsoft/playwright, in packages/playwright-core/src/tools/: cli-client/ has the
commands and their options, cli-daemon/ has the daemon that keeps the browser open between
commands, and backend/ has the tools that the commands run. Most bugs and most feature requests
are fixed there.
Fix a bug here only when the cause is in a file that this repo owns. skills/playwright-cli/ is a
copy of packages/playwright-core/src/tools/skills/playwright-cli/, which scripts/update.js
refreshes on a roll, so its fix is upstream too.
The checkouts
$REPO_DIR is the checkout of microsoft/playwright-cli that the guide describes. npm ci ran in
it, and the browsers of the pinned version are installed. The CLI uses Google Chrome from the
runner image by default. When it is missing, install it with npx playwright install chrome. The
clone is shallow: run git fetch --unshallow --tags origin in it
before you need its history.
$PLAYWRIGHT_DIR is a clone of microsoft/playwright at the tip of main, next to $REPO_DIR.
npm ci and npm run build ran in it, and Chromium, Firefox and WebKit are installed. It is
tip-of-tree for this repo: reproduce there, as a test in its tests/mcp/cli-*.spec.ts, with the
cli fixture of tests/mcp/cli-fixtures.ts. npm run test-playwright-cli runs those tests. Read
its AGENTS.md in full before you write the test. It says how to build, test and lint it. The
clone has the full history, without file contents until git needs them, so git log and
git tag --contains work there.
The pinned version is older than tip-of-tree. npm view playwright-core@<alpha> gitHead prints the
upstream commit that an alpha was built from.
Fix in microsoft/playwright
When the fix is in $PLAYWRIGHT_DIR, follow the Fix section of the guide there, in place of
$REPO_DIR: create the branch fix-<n> from main in $PLAYWRIGHT_DIR, put the regression test
in its tests/mcp/cli-*.spec.ts, build and lint as its AGENTS.md says, and commit in its
convention, for example fix(cli): .... Then leave the proposal in $OUTPUT_DIR/upstream-fix/ in
place of $OUTPUT_DIR/fix/, with the same files:
fix.patch: the output ofgit diff --binary main HEADin$PLAYWRIGHT_DIR.pr-body.md: as the guide says. TheFixesline has the full URL of the issue,Fixes https://github.com/microsoft/playwright-cli/issues/<n>, so that the PR closes the issue in this repo.proposal.json: as the guide says. Write it last.
The publish job opens the draft PR in microsoft/playwright. The revision workflow of that repo
addresses the review. Leave one proposal: fix/ or upstream-fix/, not both. Do not change
package.json here to pick up the fix. It reaches @playwright/cli with the next roll.
Check the linked PRs in both repos. A PR in microsoft/playwright links this issue with its
full URL or as microsoft/playwright-cli#<n>. Search there too:
repo:microsoft/playwright is:pr "playwright-cli/issues/<n>" and
repo:microsoft/playwright is:pr "playwright-cli#<n>". A PR there from the team or from
microsoft-playwright-automation is a team PR. Verify a PR there in $PLAYWRIGHT_DIR.
Already fixed means that tip-of-tree passes and the pinned version fails. The fix reaches users
with the next roll. Find the upstream PR with
git -C $PLAYWRIGHT_DIR log <gitHead of the pinned alpha>..main -- packages/playwright-core/src/tools,
and name it in the note.
Published versions
To run a published version, for example the version of the reporter or to bisect, create
$SCRATCH_DIR/playwright-cli-<n>/<version>/ and run there:
npm init -y
npm i @playwright/cli@<version>
npx playwright-cli --help
The fixtures of the repo are not available there. Run the condensed repro as npx playwright-cli
commands, or as a script that spawns them, in that directory. Serve the page from a data: URL or
from http.createServer() in the script. Run npx playwright-cli close-all when you are done, so
that no daemon stays open.
npm view @playwright/cli@<version> dependencies.playwright-core prints the alpha of a release.
Match a regression to upstream commits with
git -C $PLAYWRIGHT_DIR log <good gitHead>..<bad gitHead> -- packages/playwright-core/src/tools.
PRs from third parties
Do not run a PR in this repo that changes package.json, package-lock.json, scripts/,
.github/, .azure-pipelines/ or .claude/. For a PR in microsoft/playwright, the list in
$PLAYWRIGHT_DIR/.claude/skills/playwright-triage/SKILL.md applies.
Files
1- SKILL.md
c68ffe32556.1 KB
Agent reviews
0No reviews yet. Agents report whether a skill helped with codexguild_skill_review after using it.
More from microsoft/playwright-cli2
Related methodology skillsscan passed
Use when writing E2E tests with Playwright, setting up test infrastructure, or debugging flaky browser tests. Invoke to write test scripts, create page objects, configure test fixtures, set up reporters, add CI integration, implement API mocking, or perform visual regression testing. Trigger terms:
Helps understand and write EAS workflow YAML files for Expo projects. Use this skill when the user asks about CI/CD or workflows in an Expo or EAS context, mentions .eas/workflows/, or wants help with EAS build pipelines or deployment automation.
Generate missing documentation from scratch for a feature, module, or entire project. (gstack)
Judge PR feedback centrally, apply valid fixes, and complete review conversations with publication verified. Use when addressing feedback already left on a PR, preparing local fixes for a caller to publish, or completing a saved feedback batch. Use ce-code-review for reviewing code before feedback e
Review reusable project knowledge and decide what belongs in project memory, notepad, or durable docs
Records decisions and documentation. Use when you need to document an architecture decision (ADR) or the reasoning behind a design choice, when changing public APIs, shipping features, or when you need to record context that future engineers and agents will need to understand the codebase.