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.
npx agentmods add skills/oumaimah-qa/qios/playwright-test-bootstrapnpx skills add oumaimah-QA/QIOS --skill playwright-test-bootstrapgit clone --depth 1 https://github.com/oumaimah-QA/QIOSWrote 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/oumaimah-qa/qios/playwright-test-bootstrap)<a href="https://agentmods.dev/skills/oumaimah-qa/qios/playwright-test-bootstrap"><img src="https://agentmods.dev/badge/skills/oumaimah-qa/qios/playwright-test-bootstrap.svg" alt="Measured on agentmods" height="20"></a>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.00146 | $0.00791 |
| Opus 5 | $0.00073 | $0.00396 |
| Sonnet 5 | $0.00029 | $0.00158 |
| Haiku 4.5 | $0.00015 | $0.00079 |
Grade A, and why
playwright-test-bootstrap 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 6d 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 — 100 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Playwright Test Bootstrap
Purpose
Scaffold a production-ready Playwright project or generate structured test files following best practices — organized for maintainability, reliability, and QA team reuse.
Input Accepted
- Request to init a new Playwright project from scratch
- Feature name or module to add tests for
- User Story or Gherkin scenarios to automate
- API endpoint to validate through UI + API setup
- Existing Playwright suite to extend
Project Structure (Full Bootstrap)
[project-name]/
├── playwright.config.ts
├── package.json
├── tsconfig.json
├── .env.example
├── .gitignore
├── tests/
│ ├── auth.setup.ts ← API login + storage state setup
│ └── [module]/
│ └── [feature].spec.ts
├── pages/
│ └── [FeatureName]Page.ts ← Page Object Model
└── utils/
└── api-client.ts ← API helper functions
Generation Process
Full Project Bootstrap — generates:
playwright.config.ts— config with projects, artifacts, retries, base URLpackage.json— dependencies and run scriptstsconfig.json— TypeScript configuration.env.example— environment variable template.gitignore— excludes artifacts, credentials, node_modulestests/auth.setup.ts— API login + storage state bootstraputils/api-client.ts— reusable API helper functionspages/TransferPage.ts— sample page object- Sample transfer spec ready to adapt to the target feature
Single Spec File — generates:
test.describe()block for the featurebeforeEachwith navigation and stable setuptest()blocks for Happy Path / Negative / Boundary cases- Assertions with
await expect(...)— neverwaitForTimeout() - Stable locators with
getByTestId()when available
Key Conventions
✅ For authenticated features, create auth state via API in setup — not via UI in every test
✅ Use getByTestId() or equally stable locators
✅ Use await expect(...) for web-first assertions
✅ Use test.describe() and test.step() for readable structure
✅ Avoid waitForTimeout() and brittle sleeps
✅ Keep each test independent and cleanup-friendly
✅ Store credentials and URLs in environment variables only
What ships with it
7 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 6d ago First seen · 100 lines · 146 tokens per session scan A 9e9cd74371c8
playwright-test-bootstrap is a skill published in the GitHub repository oumaimah-QA/QIOS (3 stars, last pushed 1mo ago), licensed MIT. It adds 146 tokens to every session and 791 once invoked, about $0.0007 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-31.
Other skills, from other repositories
Console Error Hunter
Systematically detect, capture, and categorize browser console errors, warnings, and unhandled exceptions during automated test execution.
playwright-e2e
Comprehensive end-to-end testing skill using Playwright for web applications, covering page objects, selectors, assertions, waits, fixtures, and test organization.
JMeter Load Testing
Load and performance testing skill using Apache JMeter, covering test plans, thread groups, assertions, listeners, timers, and distributed testing.
e2e-testing-claude-code
Make Claude Code write and maintain end-to-end tests like a senior SDET — Playwright and Cypress flows with stable locators, the Page Object Model, fixtures, reused auth state, network mocking, and flake-free CI. Claude Code E2E testing, done right.
selectors
Selector strategy, exploration-first workflow, locator priority order (getByRole then getByLabel then getByPlaceholder then getByText then getByTestId), and feedback/validation-message selector rules for Playwright page objects. Use when creating page objects, writing or updating locators, generating UI tests, or…
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.