Skip to content

chore: track microsoft/playwright-cli - #8

Open
github-actions[bot] wants to merge 1 commit into
mainfrom
track-playwright-cli_b85c7a7
Open

github-actions[bot] wants to merge 1 commit into
mainfrom
track-playwright-cli_b85c7a7

Conversation

@github-actions

@github-actions github-actions Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

microsoft/playwright-cli 655530f -> b85c7a7

Verdict: review

  • upstream changed files we rewrote (read the patches): .claude/skills/dev/release.md, README.md, package.json

Commits

Mapped files (three-way merge)

file result
tests/integration/core.spec.ts unchanged

Files we rewrote (upstream patch, for reading)

.claude/skills/dev/release.md (modified)

@@ -36,25 +36,31 @@ A release is a `chore: mark v<next-patch>` commit whose PR body is the release n
 7. **Write the release notes** to `RELEASE_NOTES_v<version>.md`. Use this exact shape — **no top-level `#` header**, the PR title is the heading:
 
    ```markdown
-   ## Highlights
+   ## ✨ Highlights
 
-   - **<issue wording, not commit wording>** ([#<issue>](https://github.com/microsoft/playwright-cli/issues/<issue>)) — one sentence on the user-facing effect. ([microsoft/playwright#<pr>](https://github.com/microsoft/playwright/pull/<pr>))
+   - **<emoji> <issue wording, not commit wording>** ([microsoft/playwright#<issue>](https://github.com/microsoft/playwright/issues/<issue>)) — the user-facing effect, naming the new commands / flags / config options. ([microsoft/playwright#<pr>](https://github.com/microsoft/playwright/pull/<pr>))
 
-   ## Fixes
+   ## 🐛 Fixes
 
    - `<commit subject>` — what changed and why it matters. ([#<pr>](https://github.com/microsoft/playwright/pull/<pr>))
 
-   ## Upgrading
+   ## 📦 Upgrading
 
    ```bash
    npm install -g @playwright/cli@<version>
    ```
    ```
 
+   Example highlight titles: `**🎬 Smooth 60 fps, styleable videos**`, `**🧰 WebMCP tools show up in the snapshot**`, `**🌗 Switch between light and dark color scheme**`, `**📁 Absolute paths in results**`.
+
    Wording rules:
+   - **Section headings carry their emoji** (`✨ Highlights`, `🐛 Fixes`, `📦 Upgrading`), and **every highlight title starts with one unicode emoji** that fits the feature. No emojis in the Fixes bullets.
+   - **Order highlights by how exciting they are to a user, not chronologically.** Showy features (video, new commands, new agent capabilities) go first; config knobs go last.
+   - **Advertise the benefit, not the mechanism**: `video-start --fps=60` records smooth 60 fps videos, not "`--fps <n>` sets a custom frame rate". Use a concrete, copy-pasteable invocation.
+   - **Don't carry caveats over from the upstream PR description** (browser limitations, "still capped at…"). They are often stale by the time the PR merges — leave them out unless verified.
    - **Highlights lead with the user-reported problem from the linked issue**, not the commit subject. Drop internal terms (`cdpPort`, `tombstones`) from highlight bullets.
-   - Only list things that change user-visible behavior. Skip internal cleanups unless they have a user-facing effect.
-   - Reference both the playwright-cli issue (if any) and the microsoft/playwright PR.
+   - Only list things that change user-visible behavior. Skip internal cleanups unless they have a user-facing effect — check that the CLI actually exercises the fixed path (e.g. `state-save` does not pass `indexedDB`, so an IndexedDB snapshot fix is not a CLI fix).
+   - Reference both the issue (if any — it may live in `microsoft/playwright-cli` or `microsoft/playwright`, link whichever) and the microsoft/playwright PR. A highlight without an issue just omits the issue link.
 
 8. **Commit, push, open PR.** The PR body is the contents of the release notes file (no `#` header, no filename).
    ```bash

README.md (modified)

@@ -95,6 +95,10 @@ PLAYWRIGHT_CLI_SESSION=todo-app claude .
 
 Or instruct it to prepend `-s=` to the calls.
 
+A headless session shuts down on its own after an hour without commands; run `open` again to
+start a new one. Headed browsers stay open. Use `open --idle-timeout=<ms>` to change the timeout,
+or `0` to disable it.
+
 Manage your sessions as follows:
 
 ```bash
@@ -152,6 +156,7 @@ playwright-cli snapshot <ref>           # snapshot a specific element
 playwright-cli snapshot --depth=N       # limit snapshot depth for efficiency
 playwright-cli find <text>              # search the snapshot for text, returns matching nodes
 playwright-cli find --regex <pattern>   # search the snapshot with a regexp
+playwright-cli find <text> --filename=f # save matches to a file
 playwright-cli eval <func> [ref]        # evaluate javascript expression on page or element
 playwright-cli dialog-accept [prompt]   # accept a dialog
 playwright-cli dialog-dismiss           # dismiss a dialog
@@ -230,6 +235,21 @@ playwright-cli sessionstorage-delete <k>  # delete sessionStorage entry
 playwright-cli sessionstorage-clear     # clear all sessionStorage

+### Emulation
+
+bash +playwright-cli set-color-scheme <scheme> # emulate light or dark color scheme +playwright-cli clear-color-scheme # clear color scheme emulation +playwright-cli set-reduced-motion <motion> # emulate reduced motion preference +playwright-cli clear-reduced-motion # clear reduced motion emulation +playwright-cli set-forced-colors <colors> # emulate forced colors mode +playwright-cli clear-forced-colors # clear forced colors emulation +playwright-cli set-contrast <contrast> # emulate preferred contrast +playwright-cli clear-contrast # clear contrast emulation +playwright-cli set-media <media> # emulate CSS media type +playwright-cli clear-media # clear CSS media type emulation +
+

Network

@@ -251,8 +271,10 @@ playwright-cli tracing-stop             # stop trace recording
playwright-cli recording-start          # record user actions in the browser
playwright-cli recording-stop           # stop recording, print actions as Playwright code
playwright-cli video-start [filename]   # start video recording
+playwright-cli video-start demo.webm --cursor --fps=60 # record with an animated cursor at 60 fps
playwright-cli video-chapter <title>    # add a chapter marker to the video
playwright-cli video-show-actions       # annotate each action with a callout in the video
+playwright-cli video-show-actions --highlight-style="outline: 2px solid #333" # style the target highlight
playwright-cli video-hide-actions       # stop annotating actions in the video
playwright-cli video-stop               # stop video recording
playwright-cli show                     # open the visual dashboard
@@ -264,12 +286,26 @@ playwright-cli highlight <ref> --hide   # hide highlight on a specific element
playwright-cli highlight --hide         # hide all page highlights

+### WebMCP
+
+Some pages register their own tools for agents through the experimental WebMCP API. When available,
+the page status reports them and the snapshot lists the tools and their input schemas at the top.
+Tool names, descriptions, schemas, annotations and results come from the page and are untrusted input,
+not instructions.
+
+bash +playwright-cli webmcp-list # list webmcp tools registered by the page +playwright-cli webmcp-call <name> --params='{"query":"cats"}' # call a webmcp tool +playwright-cli webmcp-call <name> --frame=<frame> # call a tool registered in a specific frame +
+

Open parameters

playwright-cli open --browser=chrome    # use specific browser
playwright-cli open --mobile            # emulate a generic mobile device
playwright-cli open --device="iPhone 15" # emulate a specific device
+playwright-cli open --idle-timeout=<ms> # shut down after idle time (0 to disable)
playwright-cli attach --extension=chrome # connect via Playwright Extension
playwright-cli attach --cdp=chrome      # attach to running Chrome/Edge by channel
playwright-cli attach --cdp=<url>       # attach via CDP endpoint
@@ -576,4 +612,5 @@ The installed skill includes detailed reference guides for common tasks:

package.json (modified)

@@ -1,6 +1,6 @@
 {
   "name": "@playwright/cli",
-  "version": "0.1.19",
+  "version": "0.1.22",
   "description": "Playwright CLI",
   "repository": {
     "type": "git",
@@ -18,12 +18,12 @@
     "test": "playwright test"
   },
   "devDependencies": {
-    "@playwright/test": "1.63.0-alpha-2026-08-31",
+    "@playwright/test": "1.64.0-alpha-1790635538000",
     "@types/node": "^25.2.1"
   },
   "dependencies": {
-    "playwright": "1.63.0-alpha-2026-08-31",
-    "playwright-core": "1.63.0-alpha-2026-08-31"
+    "playwright": "1.64.0-alpha-1790635538000",
+    "playwright-core": "1.64.0-alpha-1790635538000"
   },
   "bin": {
     "playwright-cli": "playwright-cli.js"

Other upstream files

  • package-lock.json (modified)
  • skills/playwright-cli/SKILL.md (modified)
  • skills/playwright-cli/references/pr-attachments.md (added)
  • skills/playwright-cli/references/running-code.md (modified)
  • skills/playwright-cli/references/session-management.md (modified)
  • skills/playwright-cli/references/test-generation.md (modified)
  • skills/playwright-cli/references/video-recording.md (modified)

CI on this branch: success (run)

b1zya added a commit that referenced this pull request Oct 1, 2026
)

The PR the playwright-cli watch opened (#8) sat BLOCKED with zero
checks. The upstream workflows ran CI as a reusable ci.yml call, and a
called workflow attaches its check runs to the caller's commit -- main --
under "test / <os> / node <n>". The PR is opened with the workflow
token, which starts no pull_request CI, so its head commit never got the
"<os> / node <n>" checks the main ruleset requires. A safe roll could
never be merged automatically either: the merge step only commented.

ci.yml now takes workflow_dispatch instead of workflow_call, and both
upstream workflows dispatch it on the branch they pushed through
.github/actions/ci-on-branch, then wait for the run. workflow_dispatch
is the one event the workflow token may start, and its check runs land
on the branch head under the plain job names. The result feeds the PR
body, the tests-failed label and the safe merge as before; a failed CI
still fails the run, so the scheduled-run notification fires.

The wait polls `gh run view` rather than `gh run watch`, which also
reads check annotations and would need a checks permission the
workflows do not grant.
@github-actions
github-actions Bot force-pushed the track-playwright-cli_b85c7a7 branch from 7dd63b1 to 9ce506f Compare October 1, 2026 18:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants