Write and Verify Playwright Tests
appsmithorg/appsmith
Writes a Playwright end-to-end test from a prompt, runs it against a live Appsmith deployment and retries with fixes up to three times until it passes.
Discovers and runs Browser4 test suites (unit, integration, E2E, CLI, PowerShell, real-world scenarios, production acceptance).
$ npx skills add platonai/Browser4 --skill run-tests -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install platonai/Browser4 run-tests --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/platonai/Browser4.git skills-src && mkdir -p .claude/skills && cp -r skills-src/coworker/skills/run-tests .claude/skills/run-tests && 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 "run-tests" agent skill from https://github.com/platonai/Browser4/tree/main/coworker/skills/run-tests into .claude/skills/run-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "run-tests", 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/platonai/Browser4/tree/main/coworker/skills/run-testsType 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 platonai/Browser4 --skill run-tests -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install platonai/Browser4 run-tests --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/platonai/Browser4.git skills-src && mkdir -p .agents/skills && cp -r skills-src/coworker/skills/run-tests .agents/skills/run-tests && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "run-tests" agent skill from https://github.com/platonai/Browser4/tree/main/coworker/skills/run-tests into .agents/skills/run-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "run-tests", 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 platonai/Browser4 --skill run-tests -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install platonai/Browser4 run-tests --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/platonai/Browser4.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/coworker/skills/run-tests .cursor/skills/run-tests && 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 "run-tests" agent skill from https://github.com/platonai/Browser4/tree/main/coworker/skills/run-tests into .cursor/skills/run-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "run-tests", 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/platonai/Browser4.git --path coworker/skills/run-tests--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 platonai/Browser4 --skill run-tests -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install platonai/Browser4 run-tests --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/platonai/Browser4.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/coworker/skills/run-tests .gemini/skills/run-tests && 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 "run-tests" agent skill from https://github.com/platonai/Browser4/tree/main/coworker/skills/run-tests into .gemini/skills/run-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "run-tests", 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 platonai/Browser4 run-testsInstalls 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 platonai/Browser4 --skill run-tests -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/platonai/Browser4.git skills-src && mkdir -p .github/skills && cp -r skills-src/coworker/skills/run-tests .github/skills/run-tests && 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 "run-tests" agent skill from https://github.com/platonai/Browser4/tree/main/coworker/skills/run-tests into .github/skills/run-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "run-tests", 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 platonai/Browser4 --skill run-tests -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install platonai/Browser4 run-tests --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/platonai/Browser4.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/coworker/skills/run-tests .opencode/skills/run-tests && 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 "run-tests" agent skill from https://github.com/platonai/Browser4/tree/main/coworker/skills/run-tests into .opencode/skills/run-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "run-tests", 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.
run-testsDiscovers and runs Browser4 test suites (unit, integration, E2E, CLI, PowerShell, real-world scenarios, production acceptance).
Run Tests is an agent skill from platonai/Browser4. Discovers and runs Browser4 test suites (unit, integration, E2E, CLI, PowerShell, real-world scenarios, production acceptance). Use when asked to run, check, or verify tests.
Its SKILL.md is about 1.9k 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 and Test generation. It works with PowerShell. The repository describes itself as: Browser4 — an AI-native browser engine for autonomous agents, intelligent extraction, and large-scale web automation. The licence is Apache-2.0.
11 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 0fdba82. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
Bash(pwsh:*)Bash(./bin/test.ps1:*)From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
cargoFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From 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.
Run Tests loads about 1.9k tokens when it runs. Until then it costs about 46 tokens; SKILL.md has 649 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 platonai/Browser4 at commit 0fdba82, republished under its Apache-2.0 licence (© platonai). 649 words, ~1,924 tokens.
.claude/skills/run-tests/SKILL.md (or your agent's skills folder).Two test entrypoints:
bin/test.ps1 — unified test orchestrator for the Browser4 monorepo.
Supports Maven tests, Rust CLI tests, PowerShell *.tests.ps1 files, real-world
scenario agent evaluations, and mock-server launch.
bin/test-production.ps1 — acceptance test for the latest production
release of browser4-cli. Downloads, installs, exercises, uninstalls, and
re-installs the global CLI from the public OSS distribution channel.
bin/test.ps1 buckets test-type arguments into dispatch categories (Maven, CLI,
PowerShell, RWS, server) and runs each in sequence. The script must be invoked
from the repository root (it Set-Locations there automatically).
Test results are persisted per invocation to .test-sessions/<session-id>/test-session.json
(see bin/common/test-session.psm1). Pass -NoSession to skip persistence or -SessionPath
to write to a custom location.
./bin/test.ps1 [OPTIONS] [TEST-TYPES...] [EXTRA-ARGS...]| Flag | Description |
|---|---|
-DryRun | Compile only (test-compile), do not run tests |
-Show | Print the final command, do not execute anything |
-NoSession | Skip persisting test results to .test-sessions/ |
-SessionPath <path> | Custom path for the test-session JSON file |
| Type | Category | Description |
|---|---|---|
fast | Maven | Fast unit tests |
it | Maven | Integration tests (-DrunITs=true) |
e2e | Maven | End-to-end tests (-DrunE2ETests=true) |
rest | Maven | REST module tests (-DrunRestTests=true) |
skills | Maven | Skills-focused agentic tests (browser4-agentic) |
mcp | Maven | MCP-focused agentic tests (browser4-agentic) |
main | Maven | All Browser4 main tests: fast + it + e2e + rest |
cli | CLI | Rust Browser4 CLI tests (cargo test --test e2e). Alias: browser4-cli |
ps | PowerShell | All *.tests.ps1 files in the project |
resume | Maven | Resume from the last failed module (-rf) |
mock-site | Server | Launch MockSiteBoot (aliases: server, mocksite) |
rws | RWS | Real-world scenario agent evaluations. Bare rws shows help; pass --scenarios or --task to run. |
rws)| Flag | Description |
|---|---|
--scenarios [names...] | Run agent-scenario tasks (requires claude or kimi) |
--task <file> | Run a single task file |
--production | Use installed browser4-cli instead of cargo run |
--fail-fast | Stop after the first failing scenario |
--list | List discovered scenarios, don't run |
--silent | Suppress agent output |
--skip-version-check | Skip browser4-cli version check |
--timeout <minutes> | Per-task timeout (default: no timeout) |
# Run fast unit tests
./bin/test.ps1 fast
# Show the Maven command without executing
./bin/test.ps1 -DryRun fast
# Run integration tests with extra Maven args
./bin/test.ps1 it -pl browser4-core
# Run end-to-end tests
./bin/test.ps1 e2e
# Run CLI tests (Rust cargo test)
./bin/test.ps1 cli
# Pass extra cargo test args to CLI tests
./bin/test.ps1 cli -- --help
# Run all PowerShell test files (+ the skills/ document conformance check)
./bin/test.ps1 ps
# Run all PS tests quietly
./bin/test.ps1 ps -Quiet
# Run all main tests together
./bin/test.ps1 main
# Run fast tests and PS tests together
./bin/test.ps1 fast ps
# Run fast tests without persisting session
./bin/test.ps1 -NoSession fast
# Write session to a custom path
./bin/test.ps1 -SessionPath out/session.json ps
# Preview what tests would be run
./bin/test.ps1 -Show main
# Resume from the last failed Maven module
./bin/test.ps1 resume
# Launch the mock server
./bin/test.ps1 mock-site -Dmock.site.port=18080
# Run all real-world scenarios
./bin/test.ps1 rws --scenarios
# Run a specific scenario
./bin/test.ps1 rws --scenarios amazon
# Run scenarios against installed production CLI
./bin/test.ps1 rws --scenarios --production
# List discovered scenarios
./bin/test.ps1 rws --scenarios --list
# Run a single task file directly
./bin/test.ps1 rws --task tasks/real-world/generic/amazon.md
# Run scenarios with 30-minute per-task timeout
./bin/test.ps1 rws --scenarios --timeout 30After each invocation, results are persisted to .test-sessions/<session-id>/test-session.json.
To inspect the latest session:
ls -t .test-sessions/*/test-session.json | head -1 | xargs catThe session records the last status, log paths, per-file results (for ps),
system environment, and a rolling 5-entry history per test type.
Pass -NoSession to skip persistence, or -SessionPath <path> to write to a custom location.
bin/test-production.ps1 simulates a real end user's journey with the
published browser4-cli release. It is designed to be run in CI or locally
before tagging a release.
Running with no arguments shows help (safe default):
./bin/test-production.ps1| Flag | Description |
|---|---|
-WorkingDir <path> | Working directory for temporary artifacts (default: random subdir under system temp) |
-Stress | Enable the multi-scenario stress suite (opt-in) |
-MultiScenariosIterations <n> | Iterations for the multi-scenario suite (default: 1, only with -Stress) |
-RemoveWorkingDir | Delete the working directory on exit (default: preserved for review) |
--help, --version, config --help, agent-run --help, invalid commandopen), verifies health endpoint respondsclose-all, kill-all), verifies it's unreachable-Stress) Runs multi-scenarios.ps1 against the global CLIThe script acts like a real end user — it does not patch install scripts, create missing symlinks, or manually clean up after uninstall. If any of those are needed, the test fails because a real user would hit the same broken behavior.
# Show help (no arguments = safe default)
./bin/test-production.ps1
# Run the full acceptance test
./bin/test-production.ps1 -Stress
# Production CI: stress test with multiple iterations, clean up afterward
./bin/test-production.ps1 -Stress -MultiScenariosIterations 3 -RemoveWorkingDir
# Use a specific working directory
./bin/test-production.ps1 -WorkingDir /tmp/my-acceptance-test© platonai, Apache-2.0. 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 coworker/skills/run-tests of platonai/Browser4.
Open the folder on GitHubat commit 0fdba82
Run Tests 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 |
|---|---|---|---|---|---|---|
| Run Tests this skillplatonai/Browser4 | 1.2k | — | ~1.9k | Automated safety check: Pass | Apache-2.0 | |
| Write and Verify Playwright Testsappsmithorg/appsmith | 41k | — | ~2.9k | Automated safety check: Notes | Apache-2.0 | |
| Engine E2Ewix/react-native-navigation | 13k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Senior QAnicepkg/auto-company | 192 | 3 repos | ~1.1k | Automated safety check: Notes | None | |
| Explore Feature E2E Testcomet-ml/opik | 22k | — | ~3.4k | Automated safety check: Pass | Apache-2.0 | |
| Kane CLI Browser TestingLambdaTest/kane-cli | 247 | — | ~8.4k | Automated safety check: Pass | Apache-2.0 |
appsmithorg/appsmith
Writes a Playwright end-to-end test from a prompt, runs it against a live Appsmith deployment and retries with fixes up to three times until it passes.
wix/react-native-navigation
Run Wix Engine (mobile-apps-engine) iOS E2E tests locally to validate RNN changes.
nicepkg/auto-company
Comprehensive QA and testing skill for quality assurance, test automation, and testing strategies for ReactJS, NextJS, NodeJS applications.
comet-ml/opik
Turns a code change into one committed, passing Playwright end-to-end spec by resolving the change scope and handing authoring to a companion skill.
LambdaTest/kane-cli
Drives a real browser through the kane-cli tool and designs requirement-linked test suites from a PRD or a plain description, with mobile and cloud-grid runs.
kubernetes-sigs/cloud-provider-azure
Parse a Go e2e test from tests/e2e/, translate each step to kubectl and az CLI commands, and interactively replay the test against a live cluster.
platonai/Browser4
Validates data against common and custom rules (required fields, formats, ranges).
platonai/Browser4
Automatically fills web forms using provided field data and can optionally submit the form.
platonai/Browser4
Extracts data from web pages using browser automation and CSS/JavaScript selectors.
platonai/Browser4
Lists, pairs, deduplicates, and moves task files across the Coworker task state machine (0draft → 6git-pushed).
platonai/Browser4
Analyzes Claude Code session traces (JSONL) and draft task files to report token usage per task.
platonai/Browser4
Fetches current weather conditions and a 7-day forecast for a requested location using Open-Meteo geocoding and forecast APIs.
Works with
Categories
Discovers and runs Browser4 test suites (unit, integration, E2E, CLI, PowerShell, real-world scenarios, production acceptance). Run Tests is an agent skill from platonai/Browser4. Discovers and runs Browser4 test suites (unit, integration, E2E, CLI, PowerShell, real-world scenarios, production acceptance).
Run Tests fits situations like: tasks that involve End-to-end testing; tasks that involve Test generation.
Run `npx skills add platonai/Browser4 --skill run-tests -a claude-code`. Or copy the skill folder (coworker/skills/run-tests in platonai/Browser4) into .claude/skills/run-tests in your project. Claude Code loads it when a task matches its description.
Run `npx skills add platonai/Browser4 --skill run-tests -a codex`. Or copy the skill folder (coworker/skills/run-tests in platonai/Browser4) into .agents/skills/run-tests 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 platonai/Browser4 --skill run-tests -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/run-tests, .gemini/skills/run-tests, .github/skills/run-tests and .opencode/skills/run-tests in your project.
Going by SKILL.md and its folder, Run Tests needs the command-line tools its instructions call (cargo). Its frontmatter pre-approves these tools: Bash(pwsh:*), Bash(./bin/test.ps1:*).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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.
Run Tests is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.9k tokens (SKILL.md is roughly 7.7k 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 Run Tests: Write and Verify Playwright Tests (appsmithorg/appsmith, 41k stars), Engine E2E (wix/react-native-navigation, 13k stars), Senior QA (nicepkg/auto-company, 192 stars) and Explore Feature E2E Test (comet-ml/opik, 22k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
platonai (a GitHub user) maintains it in platonai/Browser4, which has 1,152 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on October 7, 2026.
Source: platonai/Browser4 on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.