About ui-test-puppeteer
A skill for planning and producing Puppeteer UI tests, intended for projects using Puppeteer or needing Puppeteer-ready work. It focuses on project-specific setup, browser behavior, and verification of business outcomes and failures.
Key features
- 01Puppeteer-focused test planning
- 02Project-context requirements
- 03Browser and launch checks
- 04Business-state verification
- 05Failure and cleanup handling
Use cases
- 01Planning UI tests for an existing Puppeteer project
- 02Accounting for popups and navigation
- 03Verifying business state and failure behavior
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ naodeng/ awesome-qa-skills --skill ui-test-puppeteerAfter installing, type/ui-test-puppeteerin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
README.mdagents/openai.yamlevals/eval.yamlevals/cases/basic-success.yamldomain-method-regression.yamledge-incomplete-input.yamledge-scope-boundary.yamlevals/fixtures/check_domain_decisions.pycheck-domain-decisions.shdomain-oracle.jsonevals/fixtures/checkout-app/checkout.mjsindex.htmlREADME.mdreceipt.htmlserver.mjsexamples/sample-context.mdoutput-templates/template-markdown.mdprompts/ui-test-puppeteer.mdreferences/domain-decision-example.mdframework-spec.mdsetup-and-ci.mdscripts/run-tests.shDetails
From the project READMEPuppeteer UI Testing (EN)
Chinese version: See the corresponding Chinese skill.
When to Use
- Need outputs that should land in a Puppeteer UI testing workflow.
- The project already uses Puppeteer or wants Puppeteer-ready planning.
Output Format Options
Markdown by default unless the request explicitly asks for another format.
How to Use
- Open
prompts/ui-test-puppeteer.mdand use it as the main prompt. - Add the real project context: scope, environment, constraints, risks, dependencies, and expected deliverable.
- If the input is incomplete, return a usable first version and mark missing information and assumptions.
Reference Files
-
When calibrating domain outcomes, valid controls, or evidence gaps, read references/domain-decision-example.md for sanitized input, per-item oracles, and reproducible calculations.
-
prompts/ui-test-puppeteer.md: main prompt for this skill. -
references/framework-spec.md: tool-specific structure and coverage notes. -
references/setup-and-ci.md: setup, execution, and CI notes. -
examples/sample-context.md: sample request context. -
scripts/run-tests.sh: lightweight local execution entry point.
Domain Execution Essentials
- Read actual Puppeteer/Node/browser and launch config/support scope. Incompatibility is CONFIG_ERROR; successful launch does not prove every feature is compatible.
- Identify new windows through target creation/opener association and wait for a usable page, verifying URI/authority. Navigation readiness and business readiness are separate; real state is the oracle, not a fixed sleep.
- Close owned pages/browser in try/finally and preserve timeout/load errors. Report primary and cleanup failures separately; never swallow exceptions and return success.
- Minimum fixtures include good payment, wrong state, popup, load failure, and timeout. Verify business state/principal plus screenshot/URL/log/version evidence; generated files and successful loads are no business pass.
Common Pitfalls
- Do not use it with vague scope and no context.
- Do not treat every area as equally important.
- Do not skip assumptions and missing information.
Best Practices
-
Start from the prompt file, then add only the context that matters.
-
Keep the output risk-driven and executable.
-
If the request is incomplete, return a usable first version and mark gaps.
-
To verify generated business assertions, failure propagation or isolation, read evals/fixtures/checkout-app/README.md and its local good/bug/timeout controls; execute only when a run is requested.