Playwright scout
Deterministic Playwright QA scout and AI-agent skill that crawls web apps and generates Playwright tests.
npx -y skills add Zenolitee/playwright-scoutAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 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
AI-agent skill for crawling a running web app and generating deterministic Playwright QA tests, plans, and reports through the local playwright-scout Node.js CLI. Use when an agent needs to inspect localhost, staging, or production URLs, infer page intent, create generated Playwright specs, or produce a QA report without relying on an external LLM API.
SKILL.md
5.0 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
Playwright Scout
Use this skill to generate QA coverage for a running website. The skill instructions guide the agent; the executable backend is the local Node.js CLI in this folder.
What It Does
playwright-scout crawls same-origin pages, extracts page inventories, infers likely page purpose, and writes Playwright test files plus a QA test plan and final report. It is deterministic and local-first; do not call an external LLM API for the MVP workflow.
When To Use
Use when the user provides a running app URL and wants generated QA automation, a test plan, smoke/navigation/form/table/API tests, or a QA report. Suitable targets include localhost, preview/staging URLs, and production URLs with read-only behavior.
Required Input
--url <url>: Running website URL, for examplehttp://localhost:3000.
Optional Inputs
--mode frontend|functionality|backend|full--max-pages <number>--max-depth <number>--safe-mode--allow-destructive-actions--install--run--output-dir <dir>--auth-file <path>--hints-file <path>
Defaults: frontend mode, 30 pages, depth 3, safe mode enabled, destructive actions disabled, generated output in tests/generated.
Dependencies
Playwright is required: @playwright/test.
Crawlee is optional. If installed, the CLI uses the Crawlee-backed crawl path. If missing, the CLI falls back to the Playwright-only crawler. The CLI should install dependencies only when the user explicitly passes --install.
How To Run
From a project that has the package available:
npx playwright-scout generate --url http://localhost:3000
From this skill/source folder during development:
npm install
npm run build
node bin/playwright-scout.js generate --url http://localhost:3000
For OpenCode, place this folder at one of OpenCode's skill discovery paths, such as ~/.config/opencode/skills/playwright-scout, .opencode/skills/playwright-scout, or .agents/skills/playwright-scout. The containing folder name must match playwright-scout.
For Pi, install this as a Pi package or place it in one of Pi's skill locations. Pi package usage:
pi install ./playwright-scout
Direct skill usage:
~/.pi/agent/skills/playwright-scout/SKILL.md
.pi/skills/playwright-scout/SKILL.md
~/.agents/skills/playwright-scout/SKILL.md
.agents/skills/playwright-scout/SKILL.md
Run generated tests only when requested:
npx playwright-scout generate --url http://localhost:3000 --run
Safety Rules
Keep safe mode enabled unless the user explicitly asks for destructive workflows and the target is a safe local or staging environment.
Never execute actions whose text or intent suggests delete, remove, archive, deactivate, disable, cancel subscription, pay, purchase, checkout, submit payment, transfer, withdraw, confirm deletion, reset database, drop, or destroy. Inspect those controls, generate skipped tests, and mention skipped actions in the report.
Production URLs
Treat production-like URLs as read-only. Do not submit forms, mutate data, upload files, perform payment/account actions, or delete anything. The CLI forces safe behavior for production-like hosts.
Auth Files
Use --auth-file <path> for non-production test credentials and login metadata. Do not print passwords in summaries or reports. Generated auth tests expect the password at runtime through QA_GENERATOR_PASSWORD.
Example shape:
{
"loginUrl": "http://localhost:3000/login",
"username": "[email protected]",
"password": "password123",
"usernameSelectorHint": "email",
"passwordSelectorHint": "password",
"expectedRedirect": "/dashboard"
}
Hints Files
Use --hints-file <path> to provide business rules, important workflows, seed data assumptions, and forbidden actions. Prefer hints when deterministic inference cannot know domain rules.
Generated Files
By default, generated files are written to tests/generated:
smoke.generated.spec.tsnavigation.generated.spec.tsforms.generated.spec.tstables.generated.spec.tsauth.generated.spec.tsapi.generated.spec.tsqa-test-plan.mdqa-report.mddiscovered-pages.json
Report Interpretation
Read qa-test-plan.md first to understand discovered pages, inferred intents, confidence scores, planned tests, skipped destructive workflows, and hints needed.
Read qa-report.md for scan counts, generated files, inferred features, destructive actions avoided, console errors, failed network requests, optional run results, and recommended next steps. Treat low confidence pages as review targets and improve future runs with hints.