Executes E2E tests specifically for Sentry JavaScript SDK test applications.
Install
mkdir -p .claude/skills/e2e && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/4456" && unzip -o skill.zip -d .claude/skills/e2e && rm skill.zipInstalls to .claude/skills/e2e
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Run E2E tests for Sentry JavaScript SDK test applicationsKey capabilities
- →Parse test application names and variants
- →Identify modified SDK packages for rebuilding
- →Build SDK tarballs before test execution
- →Execute E2E tests in browser environments
- →Report test results and build status
How it works
It automates the process of rebuilding SDK tarballs based on file changes and running the corresponding test suite for a specified application.
Inputs & outputs
When to use e2e
- →Running SDK integration tests
- →Verifying Sentry instrumentation
- →Automating regression checks for the JS SDK
About this skill
E2E Test Runner Skill
This skill runs end-to-end tests for Sentry JavaScript SDK test applications. It ensures SDK packages are built before running tests.
Input
The user provides a test application name and optionally a variant:
e2e-tests/test-applications/nextjs-app-dir(full path)nextjs-app-dir(just the app name)nextjs-app-dir --variant nextjs-15(with variant)
Workflow
Step 1: Parse the Test Application Name
Extract the test app name from user input:
- Strip
e2e-tests/test-applications/prefix if present - Extract variant flag if provided (e.g.,
--variant nextjs-15) - Store the clean app name (e.g.,
nextjs-app-dir)
Step 2: Determine Which Packages Need Rebuilding
If the user recently edited files in packages/*, identify which packages were modified:
# Check which packages have uncommitted changes (including untracked files)
git status --porcelain | grep "^[ MARC?][ MD?] packages/" | cut -d'/' -f2 | sort -u
For each modified package, rebuild its tarball:
cd packages/<package-name>
yarn build && yarn build:tarball
cd ../..
Option C: User Specifies Packages
If the user says "I changed @sentry/node" or similar, rebuild just that package:
cd packages/node
yarn build && yarn build:tarball
cd ../..
Step 3: Verify Test Application Exists
Check that the test app exists:
ls -d dev-packages/e2e-tests/test-applications/<app-name>
If it doesn't exist, list available test apps:
ls dev-packages/e2e-tests/test-applications/
Ask the user which one they meant.
Step 4: Run the E2E Test
Navigate to the e2e-tests directory and run the test:
cd dev-packages/e2e-tests
yarn test:run <app-name>
If a variant was specified:
cd dev-packages/e2e-tests
yarn test:run <app-name> --variant <variant-name>
Step 5: Report Results
After the test completes, provide a summary:
If tests passed:
✅ E2E tests passed for <app-name>
All tests completed successfully. Your SDK changes work correctly with this test application.
If tests failed:
❌ E2E tests failed for <app-name>
[Include relevant error output]
If package rebuild was needed:
📦 Rebuilt SDK packages: <list of packages>
🧪 Running E2E tests for <app-name>...
Error Handling
- No tarballs found: Run
yarn build && yarn build:tarballat repository root - Test app not found: List available apps and ask user to clarify
- Packed tarballs missing: Run
yarn build:tarballat the repo root, thenyarn test:prepareindev-packages/e2e-tests - Build failures: Fix build errors before running tests
Common Test Applications
Here are frequently tested applications:
nextjs-app-dir- Next.js App Routernextjs-15- Next.js 15.xreact-create-hash-router- React with React Routernode-express-esm-loader- Node.js Express with ESMsveltekit-2- SvelteKit 2.xremix-2- Remix 2.xnuxt-3- Nuxt 3.x
To see all available test apps:
ls dev-packages/e2e-tests/test-applications/
Example Workflows
Example 1: After modifying @sentry/node
# User: "Run e2e tests for node-express-esm-loader"
# Step 1: Detect recent changes to packages/node
# Step 2: Rebuild the modified package
cd packages/node
yarn build && yarn build:tarball
cd ../..
# Step 3: Run the test
cd dev-packages/e2e-tests
yarn test:run node-express-esm-loader
Example 2: First-time test run
# User: "Run e2e tests for nextjs-app-dir"
# Step 1: Check for existing tarballs
# Step 2: None found, build all packages
yarn build && yarn build:tarball
# Step 3: Run the test
cd dev-packages/e2e-tests
yarn test:run nextjs-app-dir
Example 3: With variant
# User: "Run e2e tests for nextjs-app-dir with nextjs-15 variant"
# Step 1: Rebuild if needed
# Step 2: Run with variant
cd dev-packages/e2e-tests
yarn test:run nextjs-app-dir --variant nextjs-15
Tips
- Always rebuild after SDK changes: Tarballs contain the compiled SDK code
- Watch build output: Build errors must be fixed before testing
Integration with Development Workflow
This skill integrates with the standard SDK development workflow:
- Make changes to SDK code in
packages/* - Run
/e2e <app-name>to test your changes - Fix any test failures
The skill automates the tedious parts of:
- Remembering to rebuild tarballs
- Navigating to the correct directory
- Running tests with the right flags
When not to use it
- →When the SDK packages are not built or updated
- →When the test application does not exist in the repository
Prerequisites
Limitations
- →Requires SDK packages to be in the expected directory structure
- →Build errors must be resolved before testing
How it compares
It automates the entire build-and-test lifecycle, preventing manual errors in package compilation and environment setup.
Compared to similar skills
e2e side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| e2e (this skill) | 1 | 3mo | Review | Intermediate |
| dependency-upgrade | 26 | 5mo | Review | Intermediate |
| vitest | 41 | 6mo | No flags | Intermediate |
| browser-tools | 6 | 9mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by getsentry
View all by getsentry →You might also like
dependency-upgrade
wshobson
Manage major dependency version upgrades with compatibility analysis, staged rollout, and comprehensive testing. Use when upgrading framework versions, updating major dependencies, or managing breaking changes in libraries.
vitest
antfu
Vitest fast unit testing framework powered by Vite with Jest-compatible API. Use when writing tests, mocking, configuring coverage, or working with test filtering and fixtures.
browser-tools
Whamp
Lightweight Chrome automation toolkit with shared configuration, JSON-first output, and six focused scripts for starting, navigating, inspecting, capturing, evaluating, and cleaning up browser sessions.
validate-typescript
BerryKuipers
Run TypeScript compiler type-checking (tsc --noEmit) to validate type safety and catch type errors. Works with any TypeScript project. Returns structured output with error counts, categories (type/syntax/import errors), and affected files. Used for quality gates and pre-commit validation.
ts-testing
johnlindquist
Design, implement, and maintain high‑value TypeScript test suites using popular JS/TS testing libraries. Use this skill whenever the user is adding tests, debugging failing tests, or refactoring code that should be covered by tests.
react-best-practices
redpanda-data
Client-side React performance optimization patterns.