Agent skill

E2E Tests

by sean-brydon in sean-brydon/berthd

Write or fix Playwright tests in app/e2e that pass on slow CI runners and against a real fleet (smoke:live).

MITAuto-check passedTesting & QA

Install E2E Tests

skills CLI
$ npx skills add sean-brydon/berthd --skill e2e-tests -a claude-code

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

GitHub CLI
$ gh skill install sean-brydon/berthd e2e-tests --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/sean-brydon/berthd.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/e2e-tests .claude/skills/e2e-tests && 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
e2e-tests
GitHub stars
286
Token cost
~697 tokens
SKILL.md length
360 words
Files
1
Skills in repo
10
Repo updated
First seen
Licence
MIT

At a glance

Write or fix Playwright tests in app/e2e that pass on slow CI runners and against a real fleet (smoke:live).

  • A browser test flakes in CI
  • SKILL.md covers Running, Don't flake on a slow runner, Live runs (pnpm smoke:live) and Accessibility (a11y.spec.ts), plus 1 more section
  • Calls pnpm and npx; needs VITE_BERTH_TOKEN
  • Running the suite

What it does

E2E Tests is an agent skill from sean-brydon/berthd. Write or fix Playwright tests in app/e2e that pass on slow CI runners and against a real fleet (smoke:live). Use when adding a spec, when a browser test flakes in CI, or when running the suite.

Its SKILL.md is about 700 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, Accessibility and Browser testing. It works with Playwright. The repository describes itself as: Run coding agents on your dev boxes: worktrees, terminals, orchestration, kits and automations, with a desktop app. The licence is MIT.

When your agent uses it

  • A browser test flakes in CI
  • Running the suite

Example prompts

  • “/e2e-tests”

Requirements

  • Node.js
  • A credential in VITE_BERTH_TOKEN

What it can do on your machine

Read from SKILL.md and the folder at commit fc5b184. 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

    Shell commands in SKILL.md call:

    • pnpm
    • npx

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

  • Network

    No URLs in SKILL.md. Its commands use pnpm and npx, 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 these keys or tokens, usually read from environment variables:

    • VITE_BERTH_TOKEN

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

Context cost

E2E Tests loads about 697 tokens when it runs. Until then it costs about 51 tokens; SKILL.md has 360 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~51
When it runs · the whole SKILL.md, loaded when a task matches
~697

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 passed

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.

SKILL.md

The full file from sean-brydon/berthd at commit fc5b184, republished under its MIT licence (© sean-brydon). 360 words, ~697 tokens.

Download SKILL.mdSave it as .claude/skills/e2e-tests/SKILL.md (or your agent's skills folder).
name
e2e-tests
description
Write or fix Playwright tests in app/e2e that pass on slow CI runners and against a real fleet (smoke:live). Use when adding a spec, when a browser test flakes in CI, or when running the suite.

Browser tests (app/e2e)

The suite runs the production build in Playwright's Chromium on mock fixtures (?mock=1). The helpers are in fixtures.ts: app.open(), app.openWorktree(), app.chat, app.composer, app.panes.

Running

sh
cd app && pnpm build
E2E_PORT=1427 npx playwright test e2e/thing.spec.ts           # a free port in 1421-1439
E2E_PORT=1427 npx playwright test e2e/thing.spec.ts --repeat-each=5   # before calling a fix done

E2E_WORKERS sets the worker count; CI uses 6 on omarchy and 2 on hosted runners.

Don't flake on a slow runner

Every flake fixed so far was one of these:

  • Never read state once right after an action. Focus, layout and image loads settle a moment later. Use await expect.poll(() => …).toBe(…) or a web-first assertion (toBeVisible, toHaveAttribute), never expect(await …) straight after keyboard.press or a click.
  • Wait for what you need, not for time. No waitForTimeout, except to let an animation finish before a screenshot or axe.
  • Expect in-between states. A resize, a reconnect or a re-render can show a stale frame or value first. Accept the right one within the timeout; don't fail on the first wrong one.
  • Images and blob URLs can take more than 10 s on a busy runner. Give them the timeout, or assert on the app's own state instead.

Live runs (pnpm smoke:live)

smoke:live runs the same specs against the real laptop agent (VITE_BERTH_TOKEN in env, never in the URL).

  • A test that needs mock data or would write to a box starts with mockOnly("why").
  • A test that opens an agent's chat uses await agentWorktree(app, "devl/checkout-fix"), never a hard-coded mock worktree name. It unfolds the sidebar's "N more worktrees" and picks one with an agent.
  • A real fleet may have no agent running. Chat tests can't pass then; that's the fleet, not a bug.
Show full SKILL.md (104 more words)Show less

Accessibility (a11y.spec.ts)

By default, axe runs in Berth Dark over one state per screen (a11y-scenes.ts). A11Y_FULL=1 adds Berth Light and the scenes marked extra. A11Y_THEMES=all checks key screens' contrast in every theme. A new screen gets a scene; another state of an existing screen gets extra: true. Input borders are deliberately subtle: don't raise them for contrast.

New specs

  • Use the mock's synthetic fixtures ("acme"). Add to src/lib/mock*.ts if you need more.
  • Seeded prefs get whatsNewSeen by default, so the What's new note stays away unless the test is about it.
  • One behaviour per test, named as a sentence about what the user gets.

© sean-brydon, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/e2e-tests of sean-brydon/berthd.

Open the folder on GitHubat commit fc5b184

Compare with similar skills

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

E2E Tests compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
E2E Tests this skillsean-brydon/berthd286—~697Automated safety check: PassMIT
Playwright Testingchongdashu/vibejam-starter-pack149—~2.1kAutomated safety check: PassNone
Playwright Testingchongdashu/vibejam-starter-pack149—~2.2kAutomated safety check: PassNone
Agentic Browser Testingpetrkindlmann/qa-skills168—~4.5kAutomated safety check: PassMIT
Web Testing with Playwright and Vitestwithkynam/vibecode-pro-max-kit1.1k—~892Automated safety check: PassApache-2.0
React Testingaffaan-m/ECC276k1 repos~3.3kAutomated safety check: PassMIT

Similar skills

  • Playwright Testing

    chongdashu/vibejam-starter-pack

    Plan, implement, and debug frontend tests: unit/integration/E2E/visual/a11y.

    149 GitHub stars~2.1k tokensUpdated 5 mo ago
    Testing & QAAuto-check passed
  • Playwright Testing

    chongdashu/vibejam-starter-pack

    Plan, implement, and debug frontend tests: unit/integration/E2E/visual/a11y.

    149 GitHub stars~2.2k tokensUpdated 5 mo ago
    Testing & QAAuto-check passed
  • Agentic Browser Testing

    petrkindlmann/qa-skills

    Goal-driven E2E testing where a browser agent (Playwright MCP / computer-use) reads a natural-language goal and explores the app via the accessibility tree to assert outcomes — no pre-written script.

    168 GitHub stars~4.5k tokensUpdated 4 mo ago
    Testing & QAAuto-check passed
  • Web Testing with Playwright and Vitest

    withkynam/vibecode-pro-max-kit

    Covers web testing from unit to E2E, load, visual, accessibility and security checks, with Playwright, Vitest and k6 guides plus a Playwright setup script.

    1.1k GitHub stars~892 tokensUpdated 3 mo ago
    Testing & QAAuto-check passed
  • React Testing

    affaan-m/ECC

    React component testing with React Testing Library, Vitest/Jest, MSW for network mocking, accessibility assertions with axe, and the decision boundary between component tests and Playwright/Cypress…

    276k GitHub starsUsed in 1 repo~3.3k tokens
    Testing & QAAuto-check passed
  • Lit Webview Testing

    forcedotcom/salesforcedx-vscode

    Write or review browser component tests for Lit webviews and VSCode Elements.

    1k GitHub stars~653 tokensUpdated today
    Testing & QAAuto-check passed

More from sean-brydon/berthd

All 10 skills in this repo
  • Berth

    sean-brydon/berthd

    Use berth to work across development boxes — list repos (locations) and their worktrees, make a worktree or a task (a worktree with an agent in it), start or read terminal sessions, find which port…

    286 GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Berth Artifacts

    sean-brydon/berthd

    Show the user data as a chart, table, diagram, notes or one small page in their Shipyard app instead of a wall of text — write a berth.chart JSON, a CSV, Mermaid, Markdown or a self-contained HTML…

    286 GitHub stars~2.6k tokensUpdated today
    Auto-check: notes
  • Berth Browser

    sean-brydon/berthd

    Use your worktree's own page in a headless browser on the box — open it, read a compact snapshot with @refs, click, fill, press keys, wait, take a screenshot to a file, read console errors, and set…

    286 GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Berth Hooks

    sean-brydon/berthd

    Automate berth with hooks — run a command when something happens (an agent finishes or needs the user, a worktree is created or removed, a session starts) or gate an action with a before: hook that…

    286 GitHub stars~944 tokensUpdated today
    Auto-check passed
  • Berth Orchestrate

    sean-brydon/berthd

    Drive other coding agents through berth — prompt a running agent, wait for its turn to end, run a check in its worktree, loop until a check passes, hand work to a fresh agent in a new worktree, ask…

    286 GitHub stars~2.1k tokensUpdated today
    Auto-check passed
  • Berth Preview

    sean-brydon/berthd

    Run a worktree's dev server on its own port and show the page to the user in their Shipyard app — start the app on $BERTHPORT, check it answers, and open it as a browser tab next to your terminal…

    286 GitHub stars~551 tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about E2E Tests

What does E2E Tests do?

Write or fix Playwright tests in app/e2e that pass on slow CI runners and against a real fleet (smoke:live). E2E Tests is an agent skill from sean-brydon/berthd. Write or fix Playwright tests in app/e2e that pass on slow CI runners and against a real fleet (smoke:live).

When should I use E2E Tests?

E2E Tests fits situations like: A browser test flakes in CI; running the suite.

How do I install E2E Tests in Claude Code?

Run `npx skills add sean-brydon/berthd --skill e2e-tests -a claude-code`. Or copy the skill folder (.claude/skills/e2e-tests in sean-brydon/berthd) into .claude/skills/e2e-tests in your project. Claude Code loads it when a task matches its description.

How do I install E2E Tests in Codex?

Run `npx skills add sean-brydon/berthd --skill e2e-tests -a codex`. Or copy the skill folder (.claude/skills/e2e-tests in sean-brydon/berthd) into .agents/skills/e2e-tests in your project. Codex loads it when a task matches its description.

Can I use E2E 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 sean-brydon/berthd --skill e2e-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/e2e-tests, .gemini/skills/e2e-tests, .github/skills/e2e-tests and .opencode/skills/e2e-tests in your project.

What does E2E Tests need to run?

Going by SKILL.md and its folder, E2E Tests needs the command-line tools its instructions call (pnpm and npx) and credentials named VITE_BERTH_TOKEN. Our summary lists: Node.js; A credential in VITE_BERTH_TOKEN.

Does E2E Tests access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is E2E Tests safe to install?

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.

What licence does E2E Tests use?

E2E 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 E2E Tests use?

About 697 tokens (SKILL.md is roughly 2.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to E2E Tests?

Skills that share tags, products or a category with E2E Tests: Playwright Testing (chongdashu/vibejam-starter-pack, 149 stars), Playwright Testing (chongdashu/vibejam-starter-pack, 149 stars), Agentic Browser Testing (petrkindlmann/qa-skills, 168 stars) and Web Testing with Playwright and Vitest (withkynam/vibecode-pro-max-kit, 1.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains E2E Tests?

sean-brydon (a GitHub user) maintains it in sean-brydon/berthd, which has 286 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 9, 2026.

Source: sean-brydon/berthd on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.