Railway's official agent skill: create projects, provision databases and buckets, deploy, manage variables and domains, and read build failures back — from the CLI, API or MCP server.
Datadog Browser RUM InstrumentationSkill
Summary
Official Datadog skill that adds or repairs Browser RUM in a web app — detects framework, router, bundler and existing setup, then wires init once and verifies the build still passes.
Features
- Detects framework, router, package manager, bundler and entrypoint before editing
- Supports React, Next.js App and Pages Router, Angular, Vue, Nuxt, Svelte, vanilla JS and iframe-hosted apps
- Guarantees a single RUM init and refuses to create a competing one
- Treats an existing valid init's credentials and options as immutable
- Keeps @datadog/browser-rum and all integration packages on one exact version
- Runs a terminating build to verify the app still compiles before reporting success
Install This Skill
Add this skill to your favorite AI agent in a few steps.
Skill Content
Description
Adding Real User Monitoring to a front end is the kind of task an agent gets wrong in a specific way: it adds a second init() call next to the one that already exists, or it overwrites working credentials with the ones from the prompt. This official Datadog skill is written around preventing exactly that.
How it works
The skill inspects the project before touching anything — framework, router, package manager, bundler, entrypoint, available credentials, and whether RUM is already initialised. It then adds or safely completes a classic Browser RUM setup for React, Next.js (both App and Pages Router), Angular, Vue, Nuxt, Svelte, plain JavaScript SPAs and iframe-hosted apps, posting a short checklist first and updating it as work lands.
The guardrails
Initialise exactly once. init() goes as early in the browser lifecycle as is safe, and never inside a component render, a lifecycle hook, a route handler or any repeated callback.
Existing credentials are immutable. When a valid RUM init already exists, its applicationId, clientToken, site, service tags, sampling, privacy and tracking options are treated as untouchable. Credentials supplied in the task are for a new init only — they are not an override. Framework plugin wiring is added to the existing init in place rather than beside it.
Stay in scope. The skill explicitly refuses to drift into APM, tracing, LLM Observability, Logs, source-map upload, user identification or vendor-specific metadata. Only the browser app in scope gets instrumented.
Version lockstep. @datadog/browser-rum and every @datadog/browser-rum-* integration package are pinned to the same exact SDK version, and dependencies are written to the manifest and lockfile the real build uses rather than relying on whatever happens to be in node_modules.
Stop rather than guess. Missing credentials, an invalid site, unmet plugin prerequisites, insufficient permissions, or multiple conflicting init calls that cannot be safely consolidated all halt the work instead of producing a broken edit. Nothing — paths, credentials, client tokens or RUM application IDs — is written to persistent memory, and a terminating build runs before success is reported.
Useful for teams rolling RUM and Session Replay across a fleet of front ends, and for repairing half-finished instrumentation. MIT licensed.
Related Skills
Diagnoses wrong gradients in differentiable NVIDIA Warp programs by measuring first — comparing autodiff against finite differences on a shrunk reproduction before proposing any fix.
Google's official skill for the gws CLI — drive Gmail, Drive, Calendar, Sheets, Docs, Chat and Admin APIs from an agent, with Model Armor screening.
Netlify's official skill for zero-config managed Postgres — querying from Functions, Drizzle setup, migrations and per-preview database branches.