What problem does it solve?
Raw URLs, IDs, and query strings leaking into Sentry span names create high-cardinality telemetry that breaks grouping and analysis. This Skill guides the systematic porting of a span op (e.g. navigation, db.query, http.client) to low-cardinality names in the sentry-javascript monorepo, applied only when span streaming is enabled.
Core Features & Use Cases
- Convention-driven naming: Looks up the Sentry span name conventions, adds a static fallback constant to
packages/core/src/tracing/spans/spanNames.ts, and applies it via inline ternaries gated on hasSpanStreamingEnabled(client).
- Exhaustive site discovery: Provides grep patterns to find every span start site, name update site, and reader that compares span names against URLs or routes.
- Safety guards: Ensures fallback names never reach
scope.setTransactionName, keeps sentry.segment.name consistent with the segment span, and preserves attributes like sentry.source and url.template unchanged.
- Use Case: When asked to "port navigation spans to low cardinality names", the Skill walks through finding all naming sites, applying the fallback, fixing readers, guarding the scope transaction name, running tests, and documenting the change in MIGRATION.md.
Quick Start
Ask the AI to port the navigation span op to low-cardinality span names following the Sentry span name conventions.