sentry-instrumentation
Sentry Instrumentation
Use this capability whenever a change touches Sentry — its packages, its initialization, its build-time wiring, or the data it is allowed to collect. It owns the vendor layer: which package, which option, which file, which token, and what each one costs.
It does not own what to instrument. Which failures deserve capture, where a try/catch belongs, what a log level means, and whether an event's context is appropriate belong to a software instrumentation capability, which is vendor-neutral and applies whatever tracker a project uses. This skill assumes those decisions are made and says how Sentry carries them out. Where a rule here has a counterpart there, this skill states the Sentry mechanism and names the other as owner.
It also does not own the framework hook an integration occupies. That there is a bundler config to wrap, a server-startup hook to register in, or a root component to wrap is a framework fact owned by that framework's own capability; what goes inside the hook is owned here.
Version discipline. Sentry ships two independent release lines — the JavaScript SDK (@sentry/react, @sentry/nextjs) and the React Native SDK — and the React Native line trails the JavaScript one, so an option documented for one may not exist in the other yet. Options also move within a major: sendDefaultPii is deprecated in favour of dataCollection, and profilesSampleRate in favour of profileSessionSampleRate. Every version-sensitive statement here names what it was verified against, and where a surface is known to move the rule is a lookup — consult the installed SDK's own options page — rather than a frozen option name. Treat an unversioned claim about a Sentry option, in this skill or anywhere else, as suspect.
Verified against @sentry/react and @sentry/nextjs 10.69.0, @sentry/react-native 8.20.0, @sentry/wizard 6.13.0, and @sentry/cli 3.6.2, checked against Sentry's JavaScript and React Native SDK documentation on 2026-08-02.
Out of scope. Sentry's product and organization configuration — alert rules, notification routing, ownership rules, inbound filters, spike protection, retention, and dashboards — is configured in Sentry's own interface, not in a repository, and no rule here was derived for it. When a task reaches one of those, say so rather than extrapolating from the rules below.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.
SDK and Wrapper
See sdk-and-wrapper.md for: