.agents/skills/e2e/SKILL.md
Run E2E tests for Sentry JavaScript SDK test applications
npx skillsauth add getsentry/sentry-javascript e2eInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill runs end-to-end tests for Sentry JavaScript SDK test applications. It ensures SDK packages are built before running tests.
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)Extract the test app name from user input:
e2e-tests/test-applications/ prefix if present--variant nextjs-15)nextjs-app-dir)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 ../..
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.
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>
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>...
yarn build && yarn build:tarball at repository rootHere 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.xTo see all available test apps:
ls dev-packages/e2e-tests/test-applications/
# 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
# 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
# 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
This skill integrates with the standard SDK development workflow:
packages/*/e2e <app-name> to test your changesThe skill automates the tedious parts of:
development
Upgrade OpenTelemetry instrumentations across the Sentry JavaScript SDK. Use when bumping OTel instrumentation packages to their latest versions.
development
Upgrade a dependency in the Sentry JavaScript SDK. Use when upgrading packages, bumping versions, or fixing security vulnerabilities via dependency updates.
development
Triage GitHub issues with codebase research and actionable recommendations
testing
Scan agent skills for security issues. Use when asked to "scan a skill", "audit a skill", "review skill security", "check skill for injection", "validate SKILL.md", or assess whether an agent skill is safe to install. Checks for prompt injection, malicious scripts, excessive permissions, secret exposure, and supply chain risks.