write-playwright-test

write-playwright-test is a skill for Claude Code, Codex from ademdeniz/playwright-mcp. It costs 97 tokens per session (1,279 once invoked), scanned A, original, MIT.

A tool-guided recipe for turning a browser journey you have checked into a Playwright Test file. Playwright is a browser testing tool, and the file follows the repository's existing test, page-object, fixture, and locator conventions.

In plain words
What is it for?
Use it to create a committable end-to-end test after exploring a web app, including the needed page-object methods or existing login fixtures.
Why use it?
It avoids writing tests from guesses or producing a file that does not fit the project. It uses only behavior observed in the browser or described in a scenario.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to create a committable end-to-end test after exploring a web app, including the needed page-object methods or existing login fixtures.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/ademdeniz/playwright-mcp/write-playwright-test
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add ademdeniz/playwright-mcp --skill write-playwright-test
Clone the repo
git clone --depth 1 https://github.com/ademdeniz/playwright-mcp

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for write-playwright-test

README.md
[![agentmods](https://agentmods.dev/badge/skills/ademdeniz/playwright-mcp/write-playwright-test/github.svg)](https://agentmods.dev/skills/ademdeniz/playwright-mcp/write-playwright-test)
Your own site
<a href="https://agentmods.dev/skills/ademdeniz/playwright-mcp/write-playwright-test"><img src="https://agentmods.dev/badge/skills/ademdeniz/playwright-mcp/write-playwright-test/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for write-playwright-test

Your own site · 80×15
<a href="https://agentmods.dev/skills/ademdeniz/playwright-mcp/write-playwright-test"><img src="https://agentmods.dev/badge/skills/ademdeniz/playwright-mcp/write-playwright-test.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 97 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,279 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00097 $0.01279
Opus 5.5 $0.00039 $0.00512
Sonnet 5.5 $0.00019 $0.00256
Haiku 4.5 $0.00010 $0.00128

Measured 9d ago against content hash f96f062da5fb, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

write-playwright-test scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/write-playwright-test/SKILL.md · 100 lines

How it starts

The opening of the file, as written. The whole thing — 100 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Write a Playwright test from a verified flow

Goal: a spec that drops into the user's repo, passes on the first run, and reads like their existing tests. Verified behavior is the input — never assert something you did not see in the browser or the scenario.

1. Learn the repo before writing anything

If you can read the project, check (quickly — skim, don't audit):

  • playwright.config.* → testDir, baseURL, projects, testIdAttribute
  • Two or three existing specs → naming, test.describe use, tag style (@smoke in titles vs { tag: '@smoke' }), assertion style
  • Page objects (pages/, page-objects/, pom/, *.page.ts) → class shape, how locators are exposed (getters, readonly fields, methods)
  • Custom fixtures (fixtures/, test.extend) → import path, available fixtures, any pre-authenticated fixture
  • Auth setup (storageState, global-setup, auth.setup.ts)

Follow what the repo does. If it has page objects, add methods to the existing one or create a new one in the same style — don't inline selectors. If it has a logged-in fixture, use it instead of re-doing login. If there is no repo to read, use the defaults in section 4 and say so.

2. Map the verified steps to Playwright

Verified step Playwright Test
navigate to /path await page.goto('/path') (relative when baseURL is set)
fill field await page.getByLabel('Email').fill('…')
click await page.getByRole('button', { name: 'Sign in' }).click()
select option await page.getByLabel('Country').selectOption({ label: 'Canada' })
press key await page.getByRole('searchbox').press('Enter')
wait for text nothing — the following expect auto-waits
URL contains await expect(page).toHaveURL(/\/dashboard/)
text visible await expect(page.getByText('Welcome back')).toBeVisible()
element hidden await expect(locator).toBeHidden()
field value await expect(locator).toHaveValue('2')
element count await expect(locator).toHaveCount(3)

Read the full file on GitHub · 100 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 9d ago First seen · 100 lines · 97 tokens per session scan A f96f062da5fb

Subscribe to this mod's changes

write-playwright-test is a skill published in the GitHub repository ademdeniz/playwright-mcp (3 stars, last pushed 4d ago), licensed MIT. It adds 97 tokens to every session and 1,279 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-19.

Related

Other skills, from other repositories

browse

Drive a real browser through Aside: open a page, read it, click through a flow, take screenshots, check console errors. (gstack).

garrytan/gstack · 32 tokens

cua-driver

Use Cua Driver for desktop or browser tasks that are awkward or unavailable through Bash/APIs, or when the user explicitly wants GUI interaction: app testing, visual bug reproduction, form filling, calendar entry, screenshots, and demo recording. Also covers Cua setup; not OpenAI Codex Computer Use or web research.

davidondrej/skills · 68 tokens

create-verification-skill

Create a repo-local verification skill and exhaustive feature map for driving a real app through its UI, CLI, or API. Use for "create a verification skill", "make a verify skill for this repo", or "document how agents can verify this app".

get-bb/bb · 57 tokens

browser-qa

A browser-based quality check for deployed web pages and user flows. It uses browser automation to test rendering, navigation, forms, interactions, responsive behaviour, and accessibility-related issues.

hashgraph-online/awesome-codex-plugins · 58 tokens

webapp-testing

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

anthropics/skills · 35 tokens

test-electron-app

Drive the real running PostHog Electron app (live tRPC, workspace-server, real data) over CDP with agent-browser. Connect to the running app on port 9222, test desktop changes against a local Django stack, snapshot the accessibility tree, inspect network requests, and screenshot only when explicitly asked. Use when…

PostHog/posthog-foss · 112 tokens