playwright-cherry-pick
Cherry-pick a commit or PR from main into a release branch (release-<version>) and retitle it as cherry-pick(#<pr>): <original…
Write the release notes for a Playwright release - the Node.js notes in docs/src/release-notes-js.md together with the Python, Java and .NET translations, and the GitHub markdown for each language's release. Use when asked to write, translate or publish release notes.
$ npx -y skills add microsoft/playwright --skill playwright-release-notes --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/playwright-release-notesContext preview
The summary Claude sees to decide when to auto-load this skill.
Write the release notes for a Playwright release - the Node.js notes in docs/src/release-notes-js.md together with the Python, Java and .NET translations, and the GitHub markdown for each language's release. Use when asked to write, translate or publish release notes.
name: playwright-release-notes description: Write the release notes for a Playwright release - the Node.js notes in docs/src/release-notes-js.md together with the Python, Java and .NET translations, and the GitHub markdown for each language's release. Use when asked to write, translate or publish release notes.
In this skill, `1.xx` is the release (for example `1.64`).
Every release has a `## Version 1.xx` section in four files in `docs/src/`:
| Language | Notes | Docs base URL | GitHub release in | |---|---|---|---| | Node.js | `release-notes-js.md` | `https://playwright.dev/docs/` | `microsoft/playwright` | | Python | `release-notes-python.md` | `https://playwright.dev/python/docs/` | `microsoft/playwright-python` | | Java | `release-notes-java.md` | `https://playwright.dev/java/docs/` | `microsoft/playwright-java` | | .NET | `release-notes-csharp.md` | `https://playwright.dev/dotnet/docs/` | `microsoft/playwright-dotnet` |
Write the Node.js notes and the three translations in the same PR, so every language has its notes when it starts its release. The language repos then add only their own significant changes, and each one writes its GitHub release from its section (step 3).
In `docs/src/release-notes-js.md`, add a `## Version 1.xx` section above the previous version, and use previous versions as a guide:
In each of `release-notes-python.md`, `release-notes-java.md` and `release-notes-csharp.md`, add a `## Version 1.xx` section above the previous version. Translate it from the Node.js section. Compare the `Version 1.63` sections of the files to see what past translations dropped and changed.
For every language:
Rewrite code samples in each language's style. The `infra` workflow checks the syntax of `python`, `java` and `csharp` snippets.
| Node.js | Java | |---|---| | `await page.goto('...')` | `page.navigate("...");`: no `await`, double quotes, semicolons, typed locals (`Locator dialog = ...`) | | `page.getByRole('button', { name: 'Save' })` | `page.getByRole(AriaRole.BUTTON, new Page.GetByRoleOptions().setName("Save"))` | | options object `{ path: 'video.webm', fps: 60 }` | options builder `new Screencast.StartOptions().setPath(Paths.get("video.webm")).setFps(60)` | | object literal `{ name: 'session-id', value: '42', url }` | value class `new Cookie("session-id", "42").setUrl(url)` | | `['a', 'b']`, `{ a: 2 }` | `Arrays.asList("a", "b")`, `Map.of("a", 2)`; `new String[] {"a", "b"}` for assertion arguments | | property `page.webmcp`, `context.tracing` | getter `page.webmcp()`, `context.tracing()` | | event `page.on('dialogclosed', handler)` | `page.onDialogClosed(handler)` | | `expect(locator).toHaveText(...)` | `assertThat(locator).hasText(...)`. Likewise `
Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.
Cherry-pick a commit or PR from main into a release branch (release-<version>) and retitle it as cherry-pick(#<pr>): <original…
Explains how to develop Playwright - add APIs, MCP tools, CLI commands, and vendor dependencies.
DevOps workflows for Playwright - CI failure analysis, workflow debugging, and release operations.
Query Playwright CI test results from the aggregated DuckDB database. Answers questions about flaky tests, failure rates, slow…
Triage a Playwright bug report by reproducing it from the information in the issue. Use when asked to triage, reproduce, or…
Automate browser interactions, test web pages and work with Playwright tests.