e2e

$npx mdskill add vellum-ai/vellum-assistant/e2e

Run end-to-end tests via CI workflow and filter by test case

  • Identify which e2e test to run based on user input or context.
  • Depends on Git branch detection for automatic branching, and optional arguments for filtering.
  • Decides the options based on experimental flags, branch, and provided test case name.
  • Triggers a CI workflow with specified options and returns results.

SKILL.md

.github/skills/e2eView on GitHub ↗
---
name: e2e
description: >
  Run end-to-end tests via the CI workflow.
---

Run end-to-end tests via the CI workflow.

The user may pass `$ARGUMENTS` to filter to a specific test case by name (e.g., `hello-world`, `phone-setup`). If not provided, infer options from context (see below).

## Steps

### 1. Determine options

**Experimental tests:** Always include `--experimental` by default. The user can pass `--no-experimental` to exclude them.

**Branch detection:** Check what branch you're on via `git branch --show-current`. If you're on a branch other than `main`, automatically pass `-b <branch-name>` so the CI run tests against that branch. The user can override with `-b <other-branch>` explicitly.

**Test case filter:** Determine which test case to target:
1. If the user passes a bare word argument (e.g., `phone-setup`), use that as the filter.
2. Otherwise, look at the conversational context - if you've been working on or discussing a specific e2e test case (e.g., editing `playwright/cases/phone-setup.md`), automatically target that test case.
3. If neither applies, run all tests.

**Additional flags from `$ARGUMENTS`:**
- `--xcode` uses the agent-xcode (AXUIElement) runner
- `-d` or `--detach` triggers the run and exits without polling
- `--no-experimental` overrides the default and excludes experimental tests

### 2. Trigger the CI run

```bash
cd playwright && bun run scripts/agent-ci.ts <options>
```

Map the resolved options:
- Test case filter: `-t <case-name>`
- Experimental (default on): `--experimental`
- Branch: `-b <branch-name>`
- Xcode runner: `--xcode`
- Detach mode: `-d`

Examples:
- `/e2e` (on main, no context) → `bun run scripts/agent-ci.ts --experimental`
- `/e2e` (on branch `feat/phone`, after editing `phone-setup.md`) → `bun run scripts/agent-ci.ts --experimental -b feat/phone -t phone-setup`
- `/e2e hello-world` (on main) → `bun run scripts/agent-ci.ts --experimental -t hello-world`
- `/e2e --detach` (on branch `fix/bug`) → `bun run scripts/agent-ci.ts --experimental -b fix/bug -d`
- `/e2e --no-experimental` → `bun run scripts/agent-ci.ts`

### 3. Report

Before running, briefly state the resolved options (branch, test case, experimental) so the user can see what was inferred.

Once the command finishes (or is dispatched in detach mode), summarize:
- Whether the workflow was triggered successfully
- The branch, test case filter, and flags used
- A link to the running workflow

More from vellum-ai/vellum-assistant

SkillDescription
acpSpawn external coding agents via the Agent Client Protocol (ACP)
amazonShop on Amazon and Amazon Fresh through your browser
api-mappingRecord and analyze API surfaces of web services
app-builderBuild and edit small, personal visual tools and artifacts — dashboards, trackers, calculators, data visualizations, charts, simple landing pages, and slide decks the user wants for THEMSELVES. This is the right skill whenever the user asks to "visualize this," "make a chart," or "build an artifact" for their own use, or to edit an app they already built here. Do NOT reach for a ui_show dynamic_page to fake an artifact — build a real persistent app here. NOT for complex, multi-user, or shippable products — those go to a real project folder with a coding agent (see Scope below).
app-controlDrive a specific named macOS app via raw input bypassing the Accessibility tree
assistant-migrationMigrate from ChatGPT, Claude, OpenClaw, Hermes, Manus, and other AI assistants into Vellum by inspecting their data exports, conversation archives, files, prompts, custom instructions, memory, saved memories, tools, GPTs, workflows, integrations, and relationships, then mapping as much as safely possible into Vellum primitives. Handles single-source and multi-source migrations with a unified, deduplicated inventory.
chatgpt-importImport conversation history from ChatGPT into Vellum
cli-discoverDiscover which CLI tools are installed, their versions, and authentication status
contactsManage contacts, communication channels, access control, and invite links
conversation-launcherOffer the user several spin-off conversations as clickable buttons on a single persistent card. Each click spawns a fresh seeded conversation in the sidebar; the user keeps their place in the current conversation. Use when you want to branch into N focused threads (research directions, draft choices, pending replies, triage of N items) without losing the current context. Not for single-destination pivots — just reply inline.