testing-e2e-playwright
Skill23 starsChanged 8 days agoApache-2.0View on GitHub
Use when writing, fixing or de-flaking a Playwright/e2e browser test: fixtures, locators, waits, user-visible assertions. Not the pre-delivery UI pass.
Files
Browser tests with a distinct purpose
Identify the user journey and why a lower-level check cannot establish it. Read the installed runner, configuration, supported browsers and existing tests. Extend a journey only when it adds a distinct contract; do not duplicate it for every nearby skill or module. Read references/PLAYWRIGHT_PATTERNS.md for concrete selector, fixture, network and visual-regression patterns; read references/DOC_LINKS.md for the official-docs pointers behind them.
Use isolated data and authorization fixtures. Prefer API or fixture setup over replaying irrelevant UI setup in every test, without bypassing the behavior under test. Control time and nondeterministic external boundaries where appropriate. A simulated provider response can prove the UI reaction, not the provider connection. No paid generation, real messaging or production mutation without authorization.
Pick a scenario representative of the changed risk, not the easiest happy path: realistic data volume, a failure or recovery branch and a permission edge when they apply. End with a repeatable artifact — the command plus the runner report, trace or screenshots — that another person can rerun and compare.
Drive roles, labels and meaningful user interactions rather than incidental DOM structure or arbitrary waits. Assert a user-observable result or durable effect. For pure calculation permutations, use the responsible domain tests and retain a representative wiring journey, not hundreds of browser cases.
Keep signals reliable
Use existing waiting/assertion primitives and sanitized failure traces. A retry that succeeds after failure is flaky evidence, not an unqualified first-run PASS. Investigate fixture isolation, timing and system behavior before raising retries or timeouts. Quarantine only with an explicit gap, owner and correction path; it does not restore the protected claim by itself.
A changed global component, browser-specific defect or required matrix can justify broader runs. Otherwise choose relevant journeys and required gates. Zero collected tests, old assets or unavailable required dependencies prove nothing about the journey.
The pre-delivery pass over a changed screen (real browser, every state, accessibility, the real backend) is a separate done-gate: run it before calling the UI done, and do not stretch a test to stand in for it. When a cheaper layer can hold the same rule, use layered-testing-executor.
In this repository21 other files it gives its agents.
- claude-code-orchestratorSkill
- codebase-designSkill
- code-reviewSkill
- codex-subagent-routingSkill
- diagnosing-bugsSkill
- docker-composeSkill
- exhaustive-repo-cleanup-auditSkill
- gemini-cli-orchestratorSkill
- grok-build-orchestratorSkill
- kill-slopSkill
- kimi-cli-orchestratorSkill
- layered-testing-executorSkill
- legacy-code-changeSkill
- pragmatic-engineeringSkill
- refactoring-catalogSkill
- security-reviewSkill
- tddSkill
- test-auditSkill
- windows-shell-interopSkill
- worktree-lifecycleSkill
- xp-agile-deliverySkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

