SkillAgentSearch skills...

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…

Install / Use

npx skills add microsoft/playwright-cli --skill playwright-triage

Installs into whichever agent you are using.

About this skill
πŸ“„

SKILL.md

Installable skill definition

Quality Score

92/100

Category

Automation

Supported Platforms

Universal

Our assessment of playwright-triage

playwright-triage scores 92/100 on our quality scale, 840th of 2,858 Automation skills we index (top 30%).

Its SKILL.md is 6.5 KB long, split into 6 sections with 2 code examples: a thorough specification that gives an agent plenty to work with.

With 13,527 GitHub stars, it is one of the more widely adopted skills in the catalogue.

Substance
29/30
Structure
16/20
Description
15/15
Adoption
18/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated 44 days ago, so playwright-triage is actively maintained.
  • It is released under the Apache-2.0 license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit β€” read the skill file before letting an agent act on it.

playwright-triage compared with similar skills

All 4 of these similar skills score higher than playwright-triage; compare them before choosing.

SkillScoreStarsUpdatedFormat
playwright-triage (this skill)by microsoft9213.5k44d agoSKILL.md
Agent-Reachby Panniantong100107.8k1d agoCLAUDE.md
Scraplingby D4Vinci10091.9ktodayMCP Server
rufloby ruvnet10080.6ktodayMCP Server
algorithmic-artby anthropics100177.9k40d agoSKILL.md

Frequently asked questions

How do I install playwright-triage?
Run npx skills add microsoft/playwright-cli --skill playwright-triage. The install tabs above show the steps for each supported agent.
Which AI agents does playwright-triage work with?
It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
Is playwright-triage safe to use?
It is Apache-2.0-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is playwright-triage still maintained?
The repository was last updated 44 days ago, so playwright-triage is actively maintained.

name: playwright-triage description: 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 both. Reproduces the issue on the runner, then leaves a verified fix proposal for the workflow to open as a draft PR, in this repo or in microsoft/playwright where the source of the CLI is, or an investigation note for it to post on the issue. Only for that workflow.

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/:

  • fix.patch: the output of git diff --binary main HEAD in $PLAYWRIGHT_DIR.
  • pr-body.md: as the guide says. The Fixes line 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.

Add the pull-request call for microsoft/playwright last, as the guide says:

{
  "call": "pull-request",
  "repo": "microsoft/playwright",
  "branch": "triage/playwright-cli-<issue>/<run id>-<run attempt>",
  "title": "fix(cli): description",
  "patch": "upstream-fix/fix.patch",
  "bodyFile": "upstream-fix/pr-body.md",
  "commitBody": "Fixes: https://github.com/microsoft/playwright-cli/issues/<n>"
}

The publish job checks out microsoft/playwright at the commit of $PLAYWRIGHT_DIR and opens the draft PR there. The revision workflow of that repo addresses the review. Make one pull-request call: in this repo or in microsoft/playwright, 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.

Related Skills

View on GitHub
GitHub Stars13.5k
CategoryAutomation
Updated1mo ago
Forks748

Languages

JavaScript

Trust signals

100/100

From repository metadata: license, adoption, age and documentation. Not a code audit β€” see the Safety scan above for what the skill file itself contains.

No cautions
playwright-triage β€” Universal Skill: Install & Safety Check | SkillAgent