Agent skill

Branch Browser Tests

by EveryInc in EveryInc/compound-engineering-plugin

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.

MITAuto-check: notesTesting & QA

Install Branch Browser Tests

skills CLI
$ npx skills add EveryInc/compound-engineering-plugin --skill ce-test-browser -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install EveryInc/compound-engineering-plugin ce-test-browser --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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-src

Use ~/.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/

Facts

Skill name
ce-test-browser
GitHub stars
25k
Token cost
~1.6k tokens
SKILL.md length
920 words
Files
5 (incl. scripts, references)
Skills in repo
37
Repo updated
First seen
Licence
MIT

At a glance

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.

  • Works in 3 steps: Prefer a host-native integrated browser.… → Otherwise fall back to agent-browser.… → Do not introduce a third browser stack.…
  • Checking in a browser that a pull request did not break the pages it touches
  • SKILL.md covers Modes, Browser Driver Policy, Workflow and Driver Reference
  • Runs Shell scripts from its folder; calls git and gh

What it does

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.

When your agent uses it

  • 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

Example prompts

  • “Run the browser tests for the pages changed on this branch.”
  • “Check the routes affected by this PR in a browser and tell me which ones fail.”
  • “Test the changed pages headless and list any skipped routes with their reasons.”

Requirements

  • A local dev server for the app
  • A browser driver: a host-native browser or `agent-browser`

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Prefer a host-native integrated browser. Use a browser-control surface embedded in or directly owned by the active harness when it can…
  2. Otherwise fall back to agent-browser. Read references/agent-browser-driver.md before running any command.
  3. Do not introduce a third browser stack. Never install or substitute standalone Playwright, Puppeteer, a separately configured browser…

What it can do on your machine

Read from SKILL.md and the folder at commit 67035e9. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Ships 1 file in scripts/ (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • git
    • gh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    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.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

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.

Always · name and description, kept in context so the agent knows when to use it
~38
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3.9k

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.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:35
    json` dev/start script; else `PORT=` in `.env`, `.env.local`, or `.env.development`; else `3000`. Pass an explicit port

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); the scripts in this folder are not scanned.

SKILL.md

The full file from EveryInc/compound-engineering-plugin at commit 67035e9, republished under its MIT licence (© EveryInc). 920 words, ~1,615 tokens.

Download SKILL.mdSave it as .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.
name
ce-test-browser
description
Run browser tests for pages affected by the current branch or PR. Use when asked to run or check browser tests for the current change.
argument-hint
[PR number, branch name, 'current', or --port PORT]

Browser Test Skill

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.

Modes

  • Manual (default): the user controls the dev server. When the fallback driver is agent-browser, ask whether to run headed or headless.
  • Pipeline (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.

Browser Driver Policy

Select the driver before the first browser action:

  1. Prefer a host-native integrated browser. Use a browser-control surface embedded in or directly owned by the active harness when it can navigate local URLs, inspect rendered and interactive state, click/fill/press, capture screenshots, and inspect console errors. A separately configured browser extension or integration is not host-native. Load and follow the selected capability's own instructions before browser work.
  2. Otherwise fall back to agent-browser. Read references/agent-browser-driver.md before running any command.
  3. Do not introduce a third browser stack. Never install or substitute standalone Playwright, Puppeteer, a separately configured browser extension or MCP, or other ad hoc browser automation. A Playwright API exposed inside the selected host-native browser remains host-native; it is not standalone Playwright.

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.

Workflow

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.

  1. Select the driver per the policy above and record it. This also requires a git repository with changes to test.

  2. 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].

  3. Map changed files to routes and build the list of URLs to test.

  4. 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.

  5. 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.

  6. Set visibility, then verify the root. Visibility is independent from unattended execution:

    • Host-native integrated browser: keep its normal integrated surface visible and non-blocking so the user can watch progress when useful. Do not repeatedly steal focus as routes change. This applies in both manual and pipeline modes.
    • 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.

  7. Test each affected page — navigate, inspect fresh state, exercise the critical interactions, capture evidence.

  8. 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.

  9. 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.

  10. Report the summary in the format the reference gives.

Show full SKILL.md (26 more words)Show less

Driver Reference

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

Files

SKILL.md and 4 other files (scripts, references) in skills/ce-test-browser of EveryInc/compound-engineering-plugin.

  • SKILL.md
  • references/agent-browser-driver.md
  • references/pipeline-orchestration.md
  • references/route-and-report.md
  • scripts/resolve-port.sh

Open the folder on GitHubat commit 67035e9

Compare with similar skills

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.

Branch Browser Tests compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Branch Browser Tests this skillEveryInc/compound-engineering-plugin25k—~1.6kAutomated safety check: NotesMIT
Web Application Testinganthropics/skills180k51 repos~966Automated safety check: PassApache-2.0
Agentic TDDreticlehq/reticle1.2k—~1.2kAutomated safety check: PassApache-2.0
Whole-App Health Sweepreticlehq/reticle1.2k—~1.1kAutomated safety check: PassApache-2.0
Foreman Web TestingVisionForge-OU/foreman443—~953Automated safety check: PassCustom licence
Reticle Runtime Verificationreticlehq/reticle1.2k—~2.8kAutomated safety check: NotesApache-2.0

Similar skills

  • Web Application Testing

    anthropics/skills

    Official

    Tests local web applications with Python Playwright scripts, checking frontend behavior, capturing screenshots and reading browser console logs.

    180k GitHub starsUsed in 51 repos~966 tokens
    Testing & QAAuto-check passed
  • Agentic TDD

    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.

    1.2k GitHub stars~1.2k tokensUpdated today
    Testing & QAAuto-check passed
  • Whole-App Health Sweep

    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.

    1.2k GitHub stars~1.1k tokensUpdated today
    Testing & QAAuto-check passed
  • Foreman Web Testing

    VisionForge-OU/foreman

    Headless end-to-end / web-app testing for the Foreman e2e stage.

    443 GitHub stars~953 tokensUpdated 3 mo ago
    Testing & QAAuto-check passed
  • 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.

    1.2k GitHub stars~2.8k tokensUpdated today
    Testing & QAAuto-check: notes
  • Testing QA

    aiskillstore/marketplace

    Comprehensive testing and QA workflow covering unit testing, integration testing, E2E testing, browser automation, and quality assurance.

    430 GitHub starsUsed in 3 repos~1.2k tokens
    Testing & QAAuto-check passed

More from EveryInc/compound-engineering-plugin

All 37 skills in this repo
  • Compound Learning Writer

    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.

    25k GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Compound Learnings Refresh

    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.

    25k GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Compound Engineering Prototype

    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.

    25k GitHub stars~1.9k tokensUpdated today
    Auto-check passed
  • Compound Engineering Setup

    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.

    25k GitHub stars~2k tokensUpdated today
    Auto-check passed
  • PR Babysitter

    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.

    25k GitHub stars~2k tokensUpdated today
    Auto-check passed
  • CE Brainstorm

    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.

    25k GitHub stars~1.9k tokensUpdated today
    Auto-check passed

Categories

Questions about Branch Browser Tests

What does Branch Browser Tests do?

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.

When should I use Branch Browser Tests?

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.

How do I install Branch Browser Tests in Claude Code?

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.

How do I install Branch Browser Tests in Codex?

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.

Can I use Branch Browser Tests in Cursor, Gemini CLI or GitHub Copilot?

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.

What does Branch Browser Tests need to run?

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`.

Does Branch Browser Tests access the network?

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.

Is Branch Browser Tests safe to install?

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.

What licence does Branch Browser Tests use?

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.

How many tokens does Branch Browser Tests use?

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.

What are the alternatives to Branch Browser Tests?

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.

Who maintains Branch Browser Tests?

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.