Web Application Testing
anthropics/skills
Tests local web applications with Python Playwright scripts, checking frontend behavior, capturing screenshots and reading browser console logs.
Runs end-to-end browser tests on the pages touched by the current branch or PR and reports every affected route as pass, fail or skip with reasons.
$ npx skills add EveryInc/compound-engineering-plugin --skill ce-test-browser -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install EveryInc/compound-engineering-plugin ce-test-browser --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/EveryInc/compound-engineering-plugin.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ce-test-browser .claude/skills/ce-test-browser && 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 "ce-test-browser" agent skill from https://github.com/EveryInc/compound-engineering-plugin/tree/main/skills/ce-test-browser into .claude/skills/ce-test-browser/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ce-test-browser", 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/EveryInc/compound-engineering-plugin/tree/main/skills/ce-test-browserType 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 EveryInc/compound-engineering-plugin --skill ce-test-browser -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install EveryInc/compound-engineering-plugin ce-test-browser --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/EveryInc/compound-engineering-plugin.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/ce-test-browser .agents/skills/ce-test-browser && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ce-test-browser" agent skill from https://github.com/EveryInc/compound-engineering-plugin/tree/main/skills/ce-test-browser into .agents/skills/ce-test-browser/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ce-test-browser", 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 EveryInc/compound-engineering-plugin --skill ce-test-browser -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install EveryInc/compound-engineering-plugin ce-test-browser --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/EveryInc/compound-engineering-plugin.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/ce-test-browser .cursor/skills/ce-test-browser && 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 "ce-test-browser" agent skill from https://github.com/EveryInc/compound-engineering-plugin/tree/main/skills/ce-test-browser into .cursor/skills/ce-test-browser/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ce-test-browser", 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/EveryInc/compound-engineering-plugin.git --path skills/ce-test-browser--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 EveryInc/compound-engineering-plugin --skill ce-test-browser -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install EveryInc/compound-engineering-plugin ce-test-browser --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/EveryInc/compound-engineering-plugin.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/ce-test-browser .gemini/skills/ce-test-browser && 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 "ce-test-browser" agent skill from https://github.com/EveryInc/compound-engineering-plugin/tree/main/skills/ce-test-browser into .gemini/skills/ce-test-browser/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ce-test-browser", 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 EveryInc/compound-engineering-plugin ce-test-browserInstalls 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 EveryInc/compound-engineering-plugin --skill ce-test-browser -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/EveryInc/compound-engineering-plugin.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/ce-test-browser .github/skills/ce-test-browser && 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 "ce-test-browser" agent skill from https://github.com/EveryInc/compound-engineering-plugin/tree/main/skills/ce-test-browser into .github/skills/ce-test-browser/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ce-test-browser", 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 EveryInc/compound-engineering-plugin --skill ce-test-browser -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install EveryInc/compound-engineering-plugin ce-test-browser --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/EveryInc/compound-engineering-plugin.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/ce-test-browser .opencode/skills/ce-test-browser && 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 "ce-test-browser" agent skill from https://github.com/EveryInc/compound-engineering-plugin/tree/main/skills/ce-test-browser into .opencode/skills/ce-test-browser/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ce-test-browser", 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.
ce-test-browserRuns end-to-end browser tests on the pages touched by the current branch or PR and reports every affected route as pass, fail or skip with reasons.
The agent works out which routes the current branch or pull request affects and exercises them in a real browser. It ends with a summary in which each route is marked Pass, Fail or Skip, and every Skip carries a reason. If a preflight blocker stops testing before any route is reached, it reports that blocker and what would clear it instead. Quietly dropping an unreachable route from the summary counts as a failure of the skill.
A driver policy decides how the browser is controlled. It prefers a host-native integrated browser that can open local URLs, inspect rendered state, click and fill, take screenshots and read console errors, and otherwise falls back to `agent-browser`. It never installs standalone Playwright, Puppeteer or another extension, and one driver is used for the whole run. In manual mode, the default, you control the dev server; in `mode:pipeline` it runs unattended and `resolve-port.sh` picks a free port.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 67035e9. 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.
Ships 1 file in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
gitghFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git and gh, which can reach the network depending on how they are called.
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.
Branch Browser Tests loads about 1.6k tokens when it runs, and up to ~3.9k if it reads all its reference files. Until then it costs about 38 tokens; SKILL.md has 920 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 noted patterns worth knowing about, such as sudo or a known installer.
json` dev/start script; else `PORT=` in `.env`, `.env.local`, or `.env.development`; else `3000`. Pass an explicit portAutomated 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); the scripts in this folder are not scanned.
The full file from EveryInc/compound-engineering-plugin at commit 67035e9, republished under its MIT licence (© EveryInc). 920 words, ~1,615 tokens.
.claude/skills/ce-test-browser/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.Run end-to-end browser tests on pages affected by a PR or branch using the best approved browser driver available in the active harness.
Done: the run ends by reporting what it found — either the summary, with every affected route marked Pass, Fail, or Skip and each Skip carrying its reason, or, when a preflight blocker stops testing before any route can be exercised, the blocker and what would clear it. Reaching neither, or dropping a route from the summary because nobody could reach it, is the failure this done condition exists to prevent.
agent-browser, ask whether to run headed or headless.mode:pipeline): invoked by LFG or another automated runner. The run is unattended — never block on a question. Read references/pipeline-orchestration.md from this skill's directory and follow it; it overrides port selection (step 4, Determine the dev server port), dev-server startup (step 5, Verify the dev server is running), and visibility prompts (step 6, Set visibility), running the same port script with --free inside the block that starts the server.Select the driver before the first browser action:
agent-browser. Read references/agent-browser-driver.md before running any command.Use one driver for the entire run. A selected host-native driver may fall back to agent-browser only if initialization fails before the first route is tested. After testing begins, do not mix driver sessions, element references, screenshots, or authentication state.
Read references/route-and-report.md from this skill's directory before step 3 (Map changed files to routes). It carries the route-mapping patterns, the port and server commands, the per-page checks, the two human-facing prompts, and the summary format.
Select the driver per the policy above and record it. This also requires a git repository with changes to test.
Determine test scope from the argument: a PR number → gh pr view [number] --json files -q '.files[].path'; current or empty → git diff --name-only main...HEAD; a branch name → git diff --name-only main...[branch].
Map changed files to routes and build the list of URLs to test.
Determine the dev server port. scripts/resolve-port.sh resolves it and prints the port alone on stdout: an explicit port argument; else a --port flag in a package.json dev/start script; else PORT= in .env, .env.local, or .env.development; else 3000. Pass an explicit port when the user gave --port N, or when your active project instructions already in context state the dev-server port. Do not grep instruction files for one: prose mentions in docs, examples, and troubleshooting are unreliable and false-positive-prone, while config files and .env are trustworthy. Each mode runs the script in the shell call that needs the port, so no port value has to survive between shell calls or be transcribed out of prose; the reference gives the command. Manual mode uses that port as-is: the user controls their own server, so do not scan for alternatives.
Verify the dev server is running before asking the headed/headless question — a manual run with no server stops here, so asking first would waste the question.
Set visibility, then verify the root. Visibility is independent from unattended execution:
agent-browser fallback, pipeline mode: run headless without asking.agent-browser fallback, manual mode: ask the user whether to run headed or headless using the host's blocking question tool already in the current tool list (match by capability, not by a host-specific name). Presence in the current tool list is proof the tool exists; never call a user-facing question tool to discover whether it exists. If a matching tool is listed but unloaded, use the host's tool-discovery primitive to load that capability — do not search for another host's tool name. Fall back to presenting options on the host's user-visible chat surface only when no such tool is in the list or a real question call errors. Never silently skip the question.Then navigate to http://localhost:<port>, capture its rendered or interactive state, and confirm the root is served before iterating.
Test each affected page — navigate, inspect fresh state, exercise the critical interactions, capture evidence.
Human verification where a flow needs external interaction (OAuth, email, payments, SMS, third-party APIs): pause and ask. Pipeline mode does not pause — log each such flow as Skip with the reason and continue.
Handle failures by capturing the error state and the exact repro, then asking whether to fix now or skip. Pipeline mode does not ask — log the failure and continue.
Report the summary in the format the reference gives.
When agent-browser is selected as the fallback, read references/agent-browser-driver.md from this skill's directory before running its commands. Host-native drivers follow their harness-provided instructions instead.
© EveryInc, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (scripts, references) in skills/ce-test-browser of EveryInc/compound-engineering-plugin.
Open the folder on GitHubat commit 67035e9
Branch Browser 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 |
|---|---|---|---|---|---|---|
| Branch Browser Tests this skillEveryInc/compound-engineering-plugin | 25k | — | ~1.6k | Automated safety check: Notes | MIT | |
| Web Application Testinganthropics/skills | 180k | 51 repos | ~966 | Automated safety check: Pass | Apache-2.0 | |
| Agentic TDDreticlehq/reticle | 1.2k | — | ~1.2k | Automated safety check: Pass | Apache-2.0 | |
| Whole-App Health Sweepreticlehq/reticle | 1.2k | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Foreman Web TestingVisionForge-OU/foreman | 443 | — | ~953 | Automated safety check: Pass | Custom licence | |
| Reticle Runtime Verificationreticlehq/reticle | 1.2k | — | ~2.8k | Automated safety check: Notes | Apache-2.0 |
anthropics/skills
Tests local web applications with Python Playwright scripts, checking frontend behavior, capturing screenshots and reading browser console logs.
reticlehq/reticle
Applies red-green TDD to behavior unit tests cannot reach, by stating the expected outcome against the running app with Reticle before writing the feature.
reticlehq/reticle
Sweeps a running web app by clicking every reachable control, then reports dead buttons, console errors, failed requests and mismatches between API data and the screen.
VisionForge-OU/foreman
Headless end-to-end / web-app testing for the Foreman e2e stage.
reticlehq/reticle
Installs Reticle's dev-only SDK in a running web app and verifies user-facing changes by driving a real flow, returning a verdict with the file and line to fix.
aiskillstore/marketplace
Comprehensive testing and QA workflow covering unit testing, integration testing, E2E testing, browser automation, and quality assurance.
EveryInc/compound-engineering-plugin
Records one solved and verified problem as a durable learning in the repository, but only when the reasoning is not already clear from the final code, tests or docs.
EveryInc/compound-engineering-plugin
Audits a repo's stored learnings against the current codebase, fixes stale, overlapping or superseded docs and reports on every document.
EveryInc/compound-engineering-plugin
Builds a throwaway prototype at just the fidelity needed to settle a specific how-it-should-work-or-feel question, before committing to an approach other work will treat as fixed.
EveryInc/compound-engineering-plugin
Checks Compound Engineering plugin health and repo-local config, or scaffolds a Compound Pack when you ask for one by id.
EveryInc/compound-engineering-plugin
Watches an open GitHub pull request over time, routing review comments and CI failures to other skills until the PR is ready to merge.
EveryInc/compound-engineering-plugin
Turns a vague or ambitious feature idea into a requirements-only plan through dialogue with you, sized to the work, before any code is written.
Categories
Runs end-to-end browser tests on the pages touched by the current branch or PR and reports every affected route as pass, fail or skip with reasons. The agent works out which routes the current branch or pull request affects and exercises them in a real browser. It ends with a summary in which each route is marked Pass, Fail or Skip, and every Skip carries a reason.
Branch Browser Tests fits situations like: checking in a browser that a pull request did not break the pages it touches; running browser tests for only the routes affected by the current branch; getting a per-route pass, fail or skip report before merge.
Run `npx skills add EveryInc/compound-engineering-plugin --skill ce-test-browser -a claude-code`. Or copy the skill folder (skills/ce-test-browser in EveryInc/compound-engineering-plugin) into .claude/skills/ce-test-browser in your project. Claude Code loads it when a task matches its description.
Run `npx skills add EveryInc/compound-engineering-plugin --skill ce-test-browser -a codex`. Or copy the skill folder (skills/ce-test-browser in EveryInc/compound-engineering-plugin) into .agents/skills/ce-test-browser 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 EveryInc/compound-engineering-plugin --skill ce-test-browser -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ce-test-browser, .gemini/skills/ce-test-browser, .github/skills/ce-test-browser and .opencode/skills/ce-test-browser in your project.
Going by SKILL.md and its folder, Branch Browser Tests needs a shell for the scripts in its folder and the command-line tools its instructions call (git and gh). Our summary lists: A local dev server for the app; A browser driver: a host-native browser or `agent-browser`.
SKILL.md contains no URLs. Its commands use git and gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Branch Browser Tests is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.6k tokens (SKILL.md is roughly 6.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.3k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Branch Browser Tests: Web Application Testing (anthropics/skills, 180k stars), Agentic TDD (reticlehq/reticle, 1.2k stars), Whole-App Health Sweep (reticlehq/reticle, 1.2k stars) and Foreman Web Testing (VisionForge-OU/foreman, 443 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
EveryInc (a GitHub organization) maintains it in EveryInc/compound-engineering-plugin, which has 25,424 GitHub stars. The repository holds 37 skills in this directory. The repository was last updated on October 8, 2026.
Source: EveryInc/compound-engineering-plugin on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.