sentry-integration

Configure Sentry error tracking and performance monitoring for Expo React Native apps and Supabase Edge Functions.

16|1|Updated May 5, 2026
One-click install
npx skills add https://github.com/AIBiz-Automatyzacje/workspace-template-mobile --skill sentry-integration-aibiz-automatyzacje
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: sentry-integration
Source: https://github.com/AIBiz-Automatyzacje/workspace-template-mobile/tree/main/.claude/skills/sentry-integration
Command: npx skills add https://github.com/AIBiz-Automatyzacje/workspace-template-mobile --skill sentry-integration-aibiz-automatyzacje

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires @sentry/react-native, @sentry/deno, and includes references (resource) components.

What problem does it solve? Mobile and serverless errors often go unnoticed in production because console logs are invisible and stack traces are minified. This Skill provides complete, production-grade patterns for wiring Sentry into an Expo (React Native) app and Supabase Edge Functions so every crash, JS error, and failed operation is captured with rich context and GDPR-compliant data masking. ## Core Features & Use Cases - React Native (Expo) setup: Canonical @sentry/react-native initialization with Sentry.wrap, expoRouterIntegration for navigation breadcrumbs, Session Replay, native crash capture, and automatic sourcemap/debug-symbol upload via EAS Build plus manual OTA upload after eas update. - Supabase Edge Functions (Deno): Shared initSentry/captureError helpers using @sentry/deno with withScope() isolation per request, await Sentry.flush() before responses, and Stripe webhook error-handling patterns. - GDPR compliance built in: Centralized email masking in beforeSend, sensitive-header stripping, and default-on Session Replay masking for text, images, and webviews. - Use Case: A payment fails in your Stripe webhook at 3 AM. With these patterns, Sentry captures the exception with the event type, user ID, and operation context, flushes before the isolate freezes, and you wake up to a readable, actionable alert instead of a silent failure. ## Quick Start Ask the AI to set up Sentry error tracking in your Expo app and Supabase Edge Functions following the sentry-integration guidelines, including GDPR email masking and sourcemap upload for EAS Build.

Frequently Asked Questions about sentry-integration

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up Sentry in an Expo React Native app?▼

Install @sentry/react-native with expo install, add the @sentry/react-native/expo plugin to app.json, then call Sentry.init in app/_layout.tsx with expoRouterIntegration and export the root component wrapped in Sentry.wrap. Set SENTRY_AUTH_TOKEN via eas env:create for automatic sourcemap upload.

How do I capture errors in Supabase Edge Functions with Sentry?▼

Use @sentry/deno with a shared initSentry helper, then wrap captureException calls in Sentry.withScope to isolate context per request. Always await Sentry.flush before returning the Response, because the Deno isolate can freeze immediately after the response is sent.

Does Sentry work in Expo Go for crash reporting?▼

Expo Go reports JavaScript errors automatically but cannot report native crashes due to its sandbox. Test crash reporting on a development build or preview/release build with enableNative set to true.

Why are my Sentry stack traces minified after an EAS Update?▼

The Sentry Expo plugin only uploads sourcemaps during native eas build runs, not during eas update OTA releases. After each OTA update, run npx sentry-expo-upload-sourcemaps dist manually to upload the new sourcemaps.

How do I mask user emails in Sentry for GDPR compliance?▼

Mask emails centrally in the beforeSend callback using a regex that keeps the first two characters and domain, such as replacing user@example.com with us***@example.com. Session Replay on mobile masks all text, images, and vectors by default.

Why does Sentry show context from a different request in Edge Functions?▼

The @sentry/deno SDK does not provide scope separation between requests sharing the same isolate, so global setTag and setUser calls leak across requests. Set tags and user context inside Sentry.withScope to isolate them per operation.