Borrowing it
Nothing to install: this file belongs to debs-obrien/playwright-movies-app. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/debs-obrien/playwright-movies-app/main/.agents/skills/movies-playwright/SKILL.mdgit clone --depth 1 https://github.com/debs-obrien/playwright-movies-appWrote 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.
[](https://agentmods.dev/skills/debs-obrien/playwright-movies-app/movies-playwright)<a href="https://agentmods.dev/skills/debs-obrien/playwright-movies-app/movies-playwright"><img src="https://agentmods.dev/badge/skills/debs-obrien/playwright-movies-app/movies-playwright/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.
<a href="https://agentmods.dev/skills/debs-obrien/playwright-movies-app/movies-playwright"><img src="https://agentmods.dev/badge/skills/debs-obrien/playwright-movies-app/movies-playwright.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium MCP Rug Pull · line 30 npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.Fix: Pin the version: npx @scope/[email protected]
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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00057 | $0.00703 |
| Opus 5 | $0.00028 | $0.00351 |
| Sonnet 5 | $0.00011 | $0.00141 |
| Haiku 4.5 | $0.00006 | $0.00070 |
Grade A, and why
movies-playwright 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 13d 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.
How it starts
The opening of the file, as written. The whole thing — 50 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Movies app — Playwright house style
Policy for this repository. Depth: docs/TESTING.md, docs/AI-TESTING.md, AGENTS.md.
Style contract
- Locators:
getByRole,getByLabel,getByTextwith accessible names. Not CSS/XPath as primary. - Assertions: web-first (
toBeVisible,toHaveText,toHaveURL,toHaveCount,toMatchAriaSnapshot). - Forbidden:
waitForTimeout,force: true,waitForLoadState('networkidle'), sync.count()for waits. - List flows:
tests/helpers/list-utilities.ts(createList,addMovie,openLists, …). - List fixtures: import
test/expectfromtests/helpers/list-fixtures.ts; request the lightest fixture (emptyListPage→listWithMoviesPage→listPage). - Prefer helpers and list fixtures. Optional POM comparison:
tests/pages/search-page.ts+tests/logged-out/lessons/pom-search.spec.ts. Do not rewrite lists as page objects. - Prefer
test.stepfor multi-step flows. - Generated coverage: tag
@agent. Learn style frommanage-lists-before-each.spec.ts/manage-lists-fixtures.spec.ts, not from dense@agentfiles. - Do not use Playwright Codegen / test recorder. Explore with the
playwright-cliskill, then write idiomatic tests.
Explore → draft
- Load the official
playwright-cliskill. - Drive the app (
open/snapshot/ click / fill). Prefer role-based targets. - Draft or update a test that matches this skill and
AGENTS.md. Do not paste CLI-emitted TypeScript verbatim — rewrite to role locators, helpers, and house style. - Run with
npx playwright test(setPLAYWRIGHT_HTML_OPEN=neverwhen appropriate).
Rewrite (raw agent output → house style)
When cleaning generated tests:
- Match
manage-lists-*patterns and helpers /listPage. - Keep
@agenttags if this is generated coverage. - Remove brittle waits; add
test.stepwhere it helps traces.
Heal (evidence first)
- Prefer the official
playwright-traceskill (or UI Mode error snapshot) before changing locators. - State observed vs expected in one short paragraph.
- Fix test or app with role/label locators and web-first asserts.
- Re-run.
test.fixme()only if the product is wrong, with observed vs expected in a comment.
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.
- 13d ago First seen · 50 lines · 57 tokens per session scan A 338f64a6a81f
movies-playwright is a skill published in the GitHub repository debs-obrien/playwright-movies-app (102 stars, last pushed 1mo ago), licensed MIT. It adds 57 tokens to every session and 703 once invoked, about $0.0003 per session on Opus 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-08-30.
Other skills, from other repositories
playwright-cli
Automate browser interactions, test web pages and work with Playwright tests.
playwright-component-testing
Set up component testing with Playwright using a story gallery — scaffold stories and a gallery dev page driven by the built-in mount fixture, no dedicated component-testing runtime. Use when asked to test React or Vue components in isolation with Playwright, or to migrate off @playwright/experimental-ct-react / -vue.
playwright-trace
Inspect Playwright trace files from the command line — list actions, view requests, console, errors, snapshots and screenshots.
Browser Agent QA Testing
Teach agents to use AI browser agents for exploratory and smoke QA with step budgets, evidence-based assertions, guardrails, and Playwright conversion.
proxy-setup
Set up test-proxy-recorder for any Playwright project. Covers the proxy CLI (test-proxy-recorder --port --dir), package.json scripts for the three-service architecture (UI app → proxy → backend API), playwright.config.ts webServer block pointing to /control, per-test fixtures using playwrightProxy.before(page…
playwright-best-practices
Use when writing Playwright tests, fixing flaky tests, debugging failures, implementing Page Object Model, configuring CI/CD, optimizing performance, mocking APIs, handling authentication or OAuth, testing accessibility (axe-core), file uploads/downloads, date/time mocking, WebSockets, geolocation, permissions…