| name | sentry-migration-deep-dive |
| description | Migrate to Sentry from other error tracking tools like Rollbar, Bugsnag, or New Relic.
Use when replacing an existing error tracker with Sentry, running tools in parallel
during a transition, or mapping API calls between providers.
Trigger with phrases like "migrate to sentry", "switch from rollbar to sentry",
"replace bugsnag with sentry", "sentry migration plan".
|
| allowed-tools | Read, Write, Edit, Bash(npm:*), Bash(npx:*), Bash(node:*), Grep, Glob |
| version | 1.51.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
| tags | ["saas","sentry","migration","rollbar","bugsnag","new-relic","error-tracking"] |
| compatibility | Designed for Claude Code, also compatible with Codex and OpenClaw |
Sentry Migration Deep Dive
Overview
Replace an existing error tracking tool (Rollbar, Bugsnag, New Relic, Raygun, Airbrake) with Sentry using a phased migration that runs both tools in parallel before cutover. This skill covers concept mapping between providers, SDK swap patterns, alert rule migration, team training, and rollback strategy.
Current State
!npm list 2>/dev/null | command grep -iE "sentry|rollbar|bugsnag|raygun|airbrake|honeybadger|newrelic" || echo 'No error tracking packages found'
Prerequisites
- Admin access to the current error tracking tool (API keys, alert rule access)
- Sentry project created with DSN available in environment variables
- Source maps or debug symbols configured for stack trace resolution
- Parallel run timeline agreed with team (2-4 weeks recommended)
- Inventory of current alert rules, integrations, and custom filters
Instructions
Step 1: Map Concepts Between Providers
Build a translation table mapping the current tool's terminology and API surface to Sentry equivalents. Scan the codebase for all calls to the existing SDK.
| Concept | Rollbar | Bugsnag | New Relic | Sentry |
|---|
| Capture error | rollbar.error(err) | Bugsnag.notify(err) | newrelic.noticeError(err) | Sentry.captureException(err) |
| Log message | rollbar.info(msg) | Bugsnag.notify(msg) | newrelic.recordCustomEvent() | Sentry.captureMessage(msg) |
| User context | rollbar.configure({ person: {...} }) | Bugsnag.setUser(id, email) | newrelic.setUserID(id) | Sentry.setUser({ id, email }) |
| Tags/metadata | rollbar.configure({ custom: {...} }) | bugsnag.addMetadata(tab, data) | newrelic.addCustomAttributes() | Sentry.setTag() / Sentry.setContext() |
| Breadcrumbs |