agentsclimarketplace

Playwright

Skill andrey-learning-machines/swe-harness/plugins/swe-harness/skills/playwright

Portable SWE harness plugin for Codex and Claude Code

Install
npx -y skills add andrey-learning-machines/swe-harness --skill playwright

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Build, review, refactor, and debug Playwright tests, browser automation scripts, and coding-agent browser playbooks. Use when Codex needs to work with Playwright Test, Playwright library scripts, Playwright CLI workflows for coding agents, or Model Context Protocol server browser automation; write resilient locators and assertions; structure fixtures, projects, authentication, traces, code generation output, local web-server config, page objects, or cross-browser setups in TypeScript, JavaScript, Python, Java, or .NET.

SKILL.md

9.4 KB, as published. Nobody here has run it

Playwright

Overview

Use this skill for Playwright work across three common outcomes:

  • checked-in automated browser tests
  • checked-in browser automation scripts
  • repeatable Codex browser playbooks

In this skill, a "playbook" means a reusable browser workflow for Codex. Implement playbooks in the form that best matches the task:

  • Playwright Test when the workflow should become regression coverage in the repo
  • Playwright library scripts when the workflow is a utility or one-off browser automation program
  • Playwright CLI or Playwright Model Context Protocol server workflows when the task is agent-driven browser control and the integration is already available

Treat the official Playwright documentation as the canonical and most up-to-date source. Use this skill as a working guide, not as a substitute for the official docs. If command syntax, configuration, API behavior, language support, or tool availability is uncertain, re-open the official docs before finalizing.

Workflow

  1. Identify which Playwright mode actually fits the task:
    • checked-in tests
    • checked-in scripts
    • agent playbook
  2. Inspect the repo before drafting:
    • detect language and package manager
    • detect existing Playwright usage, config, fixtures, auth setup, projects, reporters, and local dev-server wiring
    • preserve repo conventions unless they are clearly brittle or incorrect
  3. Choose the existing repo binding first:
    • stay in TypeScript or JavaScript repos that already use @playwright/test
    • stay in Python, Java, or .NET repos that already use those Playwright bindings
    • do not introduce a different binding unless the user explicitly wants that
  4. Open the reference file that matches the task:
  5. Draft the smallest change that solves the task without fighting the repo.
  6. Re-open the official Playwright docs if any behavior is uncertain. Do not guess.
  7. Validate against the review checklist before presenting the result as finished.

Codex Execution Notes

  • Prefer the repo's existing Playwright language binding and file layout over personal preference.
  • Prefer the repo's existing package manager and command style over generic npm examples.
  • Prefer checked-in tests for durable coverage and checked-in scripts for utilities. Use agent-only workflows when the task is inherently transient.
  • If Playwright CLI or the Model Context Protocol server is not configured in the environment, do not pretend it is. Fall back to repo-local Playwright usage.
  • Cite the official Playwright docs in user-facing answers when the user wants rule sources, latest guidance, or explanation of a Playwright behavior.
  • Treat generated code from codegen as a starting point that usually needs refactoring.

Core Rules

  • Use resilient locators first. Prioritize user-facing attributes and explicit contracts.
  • Prefer getByRole, getByLabel, getByPlaceholder, getByText, getByAltText, getByTitle, and getByTestId over brittle selectors.
  • Use Playwright's web-first assertions such as await expect(locator).toBeVisible().
  • Rely on auto-waiting and actionability checks instead of manual sleeps.
  • Keep tests isolated. Assume each test should stand alone unless the suite deliberately uses a different pattern.
  • Use authentication state intentionally and keep it out of version control.
  • Use projects for browser, device, environment, or authenticated-state matrices when that matrix is part of the requirement.
  • Use page objects only when repetition and maintenance pressure justify them.
  • Use trace viewer to debug failures rather than guessing from screenshots alone.
  • Use local web-server config when tests depend on a local app startup sequence.

Do Not

  • Do not assume this skill is more current than the official Playwright docs.
  • Do not guess on Playwright API behavior, CLI flags, configuration names, or language-binding differences when the official docs can answer it.
  • Do not introduce Playwright into a repo without first checking whether the repo already has a browser-testing strategy and conventions.
  • Do not switch a repo from one Playwright binding to another unless the user explicitly wants that migration.
  • Do not default to long CSS or XPath chains when role, label, text, or test id locators exist.
  • Do not use first(), last(), or nth() as the first answer to locator ambiguity.
  • Do not rely on page.waitForTimeout() or frame.waitForTimeout() in production test code. Those are for debugging only.
  • Do not rely on networkidle readiness checks for test correctness when web assertions can express readiness directly.
  • Do not write manual assertions such as expect(await locator.isVisible()).toBe(true) when a web-first assertion exists.
  • Do not bypass actionability with force unless there is a concrete, justified reason.
  • Do not commit authentication state files.
  • Do not test third-party services you do not control when mocking or routing the dependency is the better design.
  • Do not accept raw codegen output without review and cleanup.
  • Do not over-abstract early with fixtures or page objects before the suite actually needs them.
  • Do not use stale ElementHandle-style flows for ordinary user actions and assertions when locators are the correct abstraction.

Review Checklist

  • Confirm the chosen Playwright mode matches the task.
  • Confirm the change follows the repo's existing language binding, test runner, and package-manager conventions.
  • Confirm locators are resilient and user-facing where possible.
  • Confirm assertions are web-first and retry-aware.
  • Confirm there are no unnecessary manual waits, brittle selectors, or unjustified forced actions.
  • Confirm authentication state, if used, is stored safely and ignored by version control.
  • Confirm fixtures, projects, and page objects are justified by repetition, matrix coverage, or suite scale.
  • Confirm debugging guidance uses traces, reports, or Playwright-native tools instead of guesswork.
  • Confirm any uncertain API or configuration rule against the official Playwright docs before presenting the result as final.

References

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.