ce-test-browser
everyinc/compound-engineering-plugin
Run browser tests for pages affected by the current branch or PR.
...Expand allAbout ce-test-browser
A workflow for running end-to-end browser tests on the pages affected by a pull request or branch changes, using the agent-browser CLI exclusively. It deliberately avoids any alternative browser-automation system or browser MCP integration; in Claude Code it does not use Chrome MCP tools, and in Codex it does not substitute other browsing tools. agent-browser is used for opening pages, clicking elements, filling forms, taking screenshots, and scraping rendered content. It accepts an argument that can be a PR number, a branch name, the word current, or a --port flag.
The workflow first verifies agent-browser is installed and stops with guidance to run /ce-setup if it is missing. It then asks whether to run headed or headless, except in pipeline mode where it defaults to headless without blocking. Test scope is determined from changed files using gh pr view for a PR number or git diff against main for current or a branch. Changed files are mapped to testable routes via a pattern table covering Rails views, controllers, Stimulus controllers, ViewComponents, layouts, stylesheets, helpers, and Next.js app and component paths, producing a list of URLs to test.
Port handling distinguishes manual from pipeline mode. It determines a preferred port from an explicit --port argument, in-context project instructions, package.json dev/start scripts, environment files, or a default of 3000, deliberately not grepping prose for a port. In pipeline mode it scans upward for a free port because multiple agents may run in parallel and starts a dev server in the background if none is listening, waiting up to 30 seconds; in manual mode it uses the preferred port directly and asks the user to start the server if it is not running. For each affected route it navigates and captures an interactive snapshot, using the --headed flag when the user chose to watch, then verifies key elements such as page title or heading and primary interactive elements. Use it to validate that pages touched by a change still render and behave correctly.
FAQ
Which browser-automation tool does this skill use?
The agent-browser CLI exclusively. It does not use Chrome MCP tools in Claude Code or substitute other browsing tools in Codex.
What happens if agent-browser is not installed?
It tells the user to run /ce-setup for the current install command, install agent-browser, and retry, then stops because the skill cannot function without it.
How does it decide which pages to test?
It gets changed files from gh pr view (for a PR) or git diff against main (for a branch or current), then maps those files to routes using a file-pattern table to build a list of URLs.
How is the dev-server port chosen?
By priority: an explicit --port argument, in-context project instructions, package.json dev scripts, environment files like .env, then a default of 3000. It does not grep prose for a port.
What is different in pipeline mode?
It skips the headed/headless question and defaults to headless, scans upward for a genuinely free port since agents may run in parallel, and auto-starts a dev server in the background if none is listening.
All Files
0 filesInstall ce-test-browser
Download and extract the skill files to your .claude/skills/ directory.
Download ZIPClone the repository and copy the skill files to your project.
git clone # Copy SKILL.md to your .claude/skills/ directory
Copy





Home
