Web Application Testing
anthropics/skills
Tests local web applications with Python Playwright scripts, checking frontend behavior, capturing screenshots and reading browser console logs.
Run a rigorous end-to-end product or feature review across architecture, data, APIs, permissions, billing, tests, and real browser UX.
$ npx skills add BetterWright/betterwright --skill full-stack-e2e-review -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install BetterWright/betterwright full-stack-e2e-review --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/BetterWright/betterwright.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/full-stack-e2e-review .claude/skills/full-stack-e2e-review && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "full-stack-e2e-review" agent skill from https://github.com/BetterWright/betterwright/tree/main/skills/full-stack-e2e-review into .claude/skills/full-stack-e2e-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "full-stack-e2e-review", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/BetterWright/betterwright/tree/main/skills/full-stack-e2e-reviewType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add BetterWright/betterwright --skill full-stack-e2e-review -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install BetterWright/betterwright full-stack-e2e-review --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/BetterWright/betterwright.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/full-stack-e2e-review .agents/skills/full-stack-e2e-review && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "full-stack-e2e-review" agent skill from https://github.com/BetterWright/betterwright/tree/main/skills/full-stack-e2e-review into .agents/skills/full-stack-e2e-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "full-stack-e2e-review", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add BetterWright/betterwright --skill full-stack-e2e-review -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install BetterWright/betterwright full-stack-e2e-review --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/BetterWright/betterwright.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/full-stack-e2e-review .cursor/skills/full-stack-e2e-review && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "full-stack-e2e-review" agent skill from https://github.com/BetterWright/betterwright/tree/main/skills/full-stack-e2e-review into .cursor/skills/full-stack-e2e-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "full-stack-e2e-review", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/BetterWright/betterwright.git --path skills/full-stack-e2e-review--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add BetterWright/betterwright --skill full-stack-e2e-review -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install BetterWright/betterwright full-stack-e2e-review --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/BetterWright/betterwright.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/full-stack-e2e-review .gemini/skills/full-stack-e2e-review && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "full-stack-e2e-review" agent skill from https://github.com/BetterWright/betterwright/tree/main/skills/full-stack-e2e-review into .gemini/skills/full-stack-e2e-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "full-stack-e2e-review", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install BetterWright/betterwright full-stack-e2e-reviewInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add BetterWright/betterwright --skill full-stack-e2e-review -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/BetterWright/betterwright.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/full-stack-e2e-review .github/skills/full-stack-e2e-review && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "full-stack-e2e-review" agent skill from https://github.com/BetterWright/betterwright/tree/main/skills/full-stack-e2e-review into .github/skills/full-stack-e2e-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "full-stack-e2e-review", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add BetterWright/betterwright --skill full-stack-e2e-review -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install BetterWright/betterwright full-stack-e2e-review --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/BetterWright/betterwright.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/full-stack-e2e-review .opencode/skills/full-stack-e2e-review && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "full-stack-e2e-review" agent skill from https://github.com/BetterWright/betterwright/tree/main/skills/full-stack-e2e-review into .opencode/skills/full-stack-e2e-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "full-stack-e2e-review", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
full-stack-e2e-reviewRun a rigorous end-to-end product or feature review across architecture, data, APIs, permissions, billing, tests, and real browser UX.
Full Stack E2E Review is an agent skill from BetterWright/betterwright. Run a rigorous end-to-end product or feature review across architecture, data, APIs, permissions, billing, tests, and real browser UX. Use for requests such as review this branch end to end, test everything, ensure no bugs, perform a full visual pass, or validate a multi-user workflow before merge or deploy.
Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Testing & QA, covering End-to-end testing. The repository describes itself as: A persistent, policy-guarded Playwright browser for AI agents — network policy, encrypted credential vault, proof screenshots, and CAPTCHA solving. The licence is MIT.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit ec55a32. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Full Stack E2E Review loads about 2.7k tokens when it runs. Until then it costs about 83 tokens; SKILL.md has 1,489 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from BetterWright/betterwright at commit ec55a32, republished under its MIT licence (© BetterWright). 1,489 words, ~2,725 tokens.
.claude/skills/full-stack-e2e-review/SKILL.md (or your agent's skills folder).Treat the task as a closed-loop product validation, not as "run the existing test suite." Build evidence across code, live services, APIs, and ordinary browser interactions. Do not claim full coverage while a requested layer remains untested.
Hosts load only this skill's name and description until the user asks for an end-to-end review. When that happens, follow the ladder below. Load BetterWright's browser skill or MCP tool guidance before driving the browser — this playbook does not repeat that protocol.
Use independent subagents in parallel for bounded exploration, setup reconstruction, or visual review. Keep blockers and the final integration in the parent. Give subagents exact files, URLs, actors, fixtures, expected results, prohibited side effects, and required evidence.
This skill defines what to prove, not one vendor's browser syntax.
When BetterWright is available through MCP, CLI, or a native tool:
browser_doctor or betterwright doctor, then prove navigation and screenshot output before the review. Confirm its network policy permits the local test hosts; loopback must remain allowed for localhost applications.BETTERWRIGHT_PROFILE values; otherwise test roles sequentially with explicit sign-out/sign-in and verify identity after every switch.debug images while diagnosing and a visually inspected proof image for each important completed flow. Keep command output, API matrices, test results, and repository diffs as host-agent evidence.With another browser harness, preserve the same semantics: fresh observed locators, action verification, isolated identities, mobile and desktop viewports, ordinary user controls, and proof screenshots.
Create deterministic local or test-only fixtures that expose boundary failures. Use the application's real persistence layer where practical; do not mock away the behavior being reviewed.
Cover the smallest meaningful matrix:
Use fake credentials and test-only auth helpers. For OAuth-only applications, seed test users and mint local sessions through the application's supported session mechanism without bypassing authorization middleware. Never reuse or expose production secrets. Make fixture scripts idempotent so they can be rerun after fixes.
Do not rely only on tests that already exist. Trace each journey and actively search for holes such as:
For sensitive fields, assert absence as well as presence. For mutations, verify both the response and persisted state.
Run from narrow and fast to broad and realistic:
For live API checks, build an explicit actor-by-scenario matrix. Verify status code and response body for positive and negative cases, including:
Do not use a destructive billing, invitation, deletion, or external side effect merely to prove a button works. Prefer local fakes, dry runs, seeded states, or stop before submission and mark the final step blocked when approval is required.
Use ordinary browser controls. Click through; do not infer UI behavior from source or screenshots alone.
For each actor and state:
A dedicated visual subagent should receive a numbered walkthrough with exact fixtures and expected states. Its return must include what worked, bugs by severity, role/action confirmation, interaction failures, and screenshot paths.
For each failure:
Never commit, push, open or update a PR, upgrade global toolchains, or mutate shared services unless explicitly requested. Keep dependency-install and generated-file churn out of the reviewed diff.
Do not stop at "tests pass" if the user asked for an end-to-end or visual review. Do not silently weaken an assertion to make a test green.
The review is complete only when every requested journey is passed or explicitly marked [blocked] with the missing dependency or approval.
Return:
Prefer concrete statements such as "member received 403 and no secret fields were returned" over "permissions look correct." Attach focused visual proof when browser work was performed.
Adapted from full-stack-e2e-review (MIT).
© BetterWright, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/full-stack-e2e-review of BetterWright/betterwright.
Open the folder on GitHubat commit ec55a32
Full Stack E2E Review next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Full Stack E2E Review this skillBetterWright/betterwright | 329 | — | ~2.7k | Automated safety check: Pass | MIT | |
| Web Application Testinganthropics/skills | 180k | 51 repos | ~966 | Automated safety check: Pass | Apache-2.0 | |
| TDD WorkflowhellangleZ/burn-in-cceverywhere-ralph | 112 | 11 repos | ~2.4k | Automated safety check: Pass | None | |
| Uloop Replay Inputkurotu/VRCQuestTools | 373 | 3 repos | ~615 | Automated safety check: Pass | MIT | |
| Ui4 Convert Testspayloadcms/payload | 45k | — | ~3.5k | Automated safety check: Pass | MIT | |
| E2Estackia/rtp2httpd | 2.2k | — | ~517 | Automated safety check: Pass | GPL-2.0 |
anthropics/skills
Tests local web applications with Python Playwright scripts, checking frontend behavior, capturing screenshots and reading browser console logs.
hellangleZ/burn-in-cceverywhere-ralph
A skill your agent uses when writing new features, fixing bugs, or refactoring code.
kurotu/VRCQuestTools
Replay recorded PlayMode keyboard and mouse input. An agent skill from kurotu/VRCQuestTools.
payloadcms/payload
A skill your agent uses when UI changes are complete and e2e tests need updating.
stackia/rtp2httpd
Write, run, review, or debug rtp2httpd E2E tests and their harness in e2e/ and scripts/run-e2e.sh.
MotherofallVPNs/MoaV
Run and debug MoaV's end-to-end tests — real protocol connectivity (client-test.sh) and the moav CLI smoke test — against a LIVE server, via the self-hosted e2e workflow or a local test VPS.
BetterWright/betterwright
Drive a persistent, policy-guarded real web browser via the betterwright CLI.
BetterWright/betterwright
Read this when the browser profile has the 1Password extension and a login, signup, or payment form should be filled with it.
BetterWright/betterwright
Read this before any login, signup, password change, or checkout so the right credential source is used in the right order without ever exposing a secret.
BetterWright/betterwright
Diagnose browser console errors and uncaught JavaScript exceptions without dumping routine logs.
BetterWright/betterwright
Read this when the browser profile has the Bitwarden extension and a login, signup, or payment form should be filled with it.
BetterWright/betterwright
GitHub navigation, review, and account-context guidance for working repos, issues, and pull requests in the browser.
Categories
Run a rigorous end-to-end product or feature review across architecture, data, APIs, permissions, billing, tests, and real browser UX. Full Stack E2E Review is an agent skill from BetterWright/betterwright. Run a rigorous end-to-end product or feature review across architecture, data, APIs, permissions, billing, tests, and real browser UX.
Full Stack E2E Review fits situations like: requests such as review this branch end to end; test everything; perform a full visual pass; validate a multi-user workflow before merge.
Run `npx skills add BetterWright/betterwright --skill full-stack-e2e-review -a claude-code`. Or copy the skill folder (skills/full-stack-e2e-review in BetterWright/betterwright) into .claude/skills/full-stack-e2e-review in your project. Claude Code loads it when a task matches its description.
Run `npx skills add BetterWright/betterwright --skill full-stack-e2e-review -a codex`. Or copy the skill folder (skills/full-stack-e2e-review in BetterWright/betterwright) into .agents/skills/full-stack-e2e-review in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add BetterWright/betterwright --skill full-stack-e2e-review -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/full-stack-e2e-review, .gemini/skills/full-stack-e2e-review, .github/skills/full-stack-e2e-review and .opencode/skills/full-stack-e2e-review in your project.
SKILL.md names no scripts, command-line tools or credentials: Full Stack E2E Review is instructions for the agent only.
SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Full Stack E2E Review is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Full Stack E2E Review: Web Application Testing (anthropics/skills, 180k stars), TDD Workflow (hellangleZ/burn-in-cceverywhere-ralph, 112 stars), Uloop Replay Input (kurotu/VRCQuestTools, 373 stars) and Ui4 Convert Tests (payloadcms/payload, 45k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
BetterWright (a GitHub organization) maintains it in BetterWright/betterwright, which has 329 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on September 29, 2026.
Source: BetterWright/betterwright on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.