Agent skill · software engineering · metabase
e2e-test
Run Cypress E2E tests, analyze failures including screenshots, and stress test for flakiness
Why this skill is useful
Adds specific commands and procedures for running Cypress E2E tests, including handling enterprise tokens and analyzing failures that the AI wouldn't reliably generate on its own.
What it needs
Requires bun, cypress installed locally. About 2k tokens when loaded. Last updated 2026-08-07. 48,568 stars on the source repository.
What this skill does
Run Cypress E2E test: $ARGUMENTS Edition selection Default: MBEDITION=oss — runs without enterprise tokens, simpler and faster. Only use MBEDITION=ee when the user explicitly asks to write or run an enterprise test. For MBEDITION=ee: These tokens must be exported in the shell before starting Claude Code: CYPRESSMBALLFEATURESTOKEN — all features (most EE tests need this) CYPRESSMBPROSELFHOSTEDTOKEN — pro self-hosted (permissions, SSO, sandboxing) CYPRESSMBSTARTERCLOUDTOKEN — starter plan (rarely needed) CYPRESSMBPROCLOUDTOKEN — pro cloud (rarely needed) NEVER echo, print, or log token values. Only check if they are set: If tokens are missing, tell the user: "EE tokens are not set. Either export them and restart Claude Code, or add MBEDITION=oss to run OSS-only tests." Looking up duration without running If the user asks "how long does this test take" / "what's the timing" — do not run it. Read e2e/support/timings.json, which holds the latest CI duration (in ms) per spec. Match on the spec path (entries are stored as ../test/scenarios/...). Per-it() granularity is not recorded there; for that you'd need the Cypress JSON reporter, which requires running the spec. Running First check if snapshots exist: Always pass the spec path via --spec. The runner feeds its arguments to Cypress's CLI parser (cypress.cli.parseRunArguments), which silently drops bare positional paths and then runs the entire suite. A leading run argument is harmless, but the path itself must follow --spec. Sanity-check that the first Running: line says (1 of 1). If snapshots exist, skip regeneration for speed: If snapshots are missing (first run), let the runner generate them: When running enterprise tests, replace MBEDITION=oss with MBEDITION=ee in the commands above. If $ARGUMENTS is empty, ask the user which spec to run. If the user provides a test name or fuzzy name instead of a spec path, find the spec file: Then run with --spec "path/to/matched.cy.spec.js". …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills metabase/e2e-test