Release
OvenMediaLabs/OvenPlayer
Release ovenplayer to npm — confirm the version, verify the committed dist/ bundle is current, write the release notes, and open a draft GitHub Release for the user to publish.
Configure build-time JavaScript sourcemap upload to Datadog using the Datadog build plugin (@datadog/esbuild-plugin, @datadog/rollup-plugin, @datadog/rspack-plugin, @datadog/vite-plugin…
$ npx skills add datadog-labs/agent-skills --skill setup-browser-sdk-sourcemaps -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install datadog-labs/agent-skills setup-browser-sdk-sourcemaps --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/datadog-labs/agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/dd-browser-sdk/setup-sourcemaps .claude/skills/setup-browser-sdk-sourcemaps && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "setup-browser-sdk-sourcemaps" agent skill from https://github.com/datadog-labs/agent-skills/tree/main/dd-browser-sdk/setup-sourcemaps into .claude/skills/setup-browser-sdk-sourcemaps/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup-browser-sdk-sourcemaps", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/datadog-labs/agent-skills/tree/main/dd-browser-sdk/setup-sourcemapsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add datadog-labs/agent-skills --skill setup-browser-sdk-sourcemaps -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install datadog-labs/agent-skills setup-browser-sdk-sourcemaps --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/datadog-labs/agent-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/dd-browser-sdk/setup-sourcemaps .agents/skills/setup-browser-sdk-sourcemaps && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "setup-browser-sdk-sourcemaps" agent skill from https://github.com/datadog-labs/agent-skills/tree/main/dd-browser-sdk/setup-sourcemaps into .agents/skills/setup-browser-sdk-sourcemaps/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup-browser-sdk-sourcemaps", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add datadog-labs/agent-skills --skill setup-browser-sdk-sourcemaps -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install datadog-labs/agent-skills setup-browser-sdk-sourcemaps --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/datadog-labs/agent-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/dd-browser-sdk/setup-sourcemaps .cursor/skills/setup-browser-sdk-sourcemaps && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "setup-browser-sdk-sourcemaps" agent skill from https://github.com/datadog-labs/agent-skills/tree/main/dd-browser-sdk/setup-sourcemaps into .cursor/skills/setup-browser-sdk-sourcemaps/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup-browser-sdk-sourcemaps", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/datadog-labs/agent-skills.git --path dd-browser-sdk/setup-sourcemaps--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add datadog-labs/agent-skills --skill setup-browser-sdk-sourcemaps -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install datadog-labs/agent-skills setup-browser-sdk-sourcemaps --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/datadog-labs/agent-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/dd-browser-sdk/setup-sourcemaps .gemini/skills/setup-browser-sdk-sourcemaps && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "setup-browser-sdk-sourcemaps" agent skill from https://github.com/datadog-labs/agent-skills/tree/main/dd-browser-sdk/setup-sourcemaps into .gemini/skills/setup-browser-sdk-sourcemaps/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup-browser-sdk-sourcemaps", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install datadog-labs/agent-skills setup-browser-sdk-sourcemapsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add datadog-labs/agent-skills --skill setup-browser-sdk-sourcemaps -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/datadog-labs/agent-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/dd-browser-sdk/setup-sourcemaps .github/skills/setup-browser-sdk-sourcemaps && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "setup-browser-sdk-sourcemaps" agent skill from https://github.com/datadog-labs/agent-skills/tree/main/dd-browser-sdk/setup-sourcemaps into .github/skills/setup-browser-sdk-sourcemaps/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup-browser-sdk-sourcemaps", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add datadog-labs/agent-skills --skill setup-browser-sdk-sourcemaps -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install datadog-labs/agent-skills setup-browser-sdk-sourcemaps --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/datadog-labs/agent-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/dd-browser-sdk/setup-sourcemaps .opencode/skills/setup-browser-sdk-sourcemaps && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "setup-browser-sdk-sourcemaps" agent skill from https://github.com/datadog-labs/agent-skills/tree/main/dd-browser-sdk/setup-sourcemaps into .opencode/skills/setup-browser-sdk-sourcemaps/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup-browser-sdk-sourcemaps", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
setup-browser-sdk-sourcemapsConfigure build-time JavaScript sourcemap upload to Datadog using the Datadog build plugin (@datadog/esbuild-plugin, @datadog/rollup-plugin, @datadog/rspack-plugin, @datadog/vite-plugin…
Setup Browser SDK Sourcemaps is an agent skill from datadog-labs/agent-skills. Configure build-time JavaScript sourcemap upload to Datadog using the Datadog build plugin (@datadog/esbuild-plugin, @datadog/rollup-plugin, @datadog/rspack-plugin, @datadog/vite-plugin, @datadog/webpack-plugin), so RUM and Error Tracking show un-minified stack traces with git metadata attached. Use when errors in Datadog show minified stack traces, when asked to "upload sourcemaps", "set up sourcemaps", "unminify errors", or "configure the Datadog build plugin", or when a project has a bundler config and…
Its SKILL.md is about 4.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Debugging. It works with Datadog, Vite, webpack and Git. The repository describes itself as: Public repository for Datadog Agent Skills. The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 9f3a8b0. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npmnetlifyyarnpnpmbunFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npm, netlify, yarn and pnpm, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
DATADOG_API_KEYDD_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Setup Browser SDK Sourcemaps loads about 4.4k tokens when it runs. Until then it costs about 146 tokens; SKILL.md has 2,163 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from datadog-labs/agent-skills at commit 9f3a8b0, republished under its MIT licence (© datadog-labs). 2,163 words, ~4,441 tokens.
.claude/skills/setup-browser-sdk-sourcemaps/SKILL.md (or your agent's skills folder).Adds build-time sourcemap upload to a frontend project using the Datadog build plugin. Sourcemaps are uploaded as part of the build, so every deploy ships un-minified stack traces to RUM and Error Tracking. Git metadata is attached automatically, which links errors back to source files.
Follow steps 1-7 in order.
Before starting any work: Create exactly 7 todo items — one per step below. Do not begin implementation until all 7 todos are created. Do not compress or merge steps.
Never invent a value. Three fields (service, releaseVersion, minifiedPathPrefix) must
match how the app is actually deployed. If you cannot read a value from the repo, stop and ask the
user. Do not write a placeholder, a TODO, or a guessed hostname.
In scope: projects built by esbuild, Rollup, Rspack, Vite, or webpack — including meta-frameworks
that expose one of these directly in their own config file (e.g. Remix/React Router v7+ framework
mode, SvelteKit, Nuxt via vite.config.ts/nuxt.config.ts's vite: key). If Step 1's config-file
search below finds a real bundler config, the meta-framework sitting on top of it does not change
anything — wire the plugin into that config file exactly as normal.
Out of scope: Next.js and Turbopack specifically. Unlike the meta-frameworks above, Next.js does
not expose a plain webpack/Turbopack config surface the plugin can hook into — it has no Next.js
or Turbopack integration at all. For those, use the datadog-ci sourcemaps upload CLI in a
postbuild script instead — do not attempt to thread the webpack plugin through next.config.js.
If a project uses some other meta-framework not listed here and Step 1 finds no plain bundler config file to edit, stop and ask rather than guessing whether it's supported.
Search for a bundler config file:
find . -maxdepth 1 \( -name "vite.config.*" -o -name "rollup.config.*" -o -name "webpack.config.*" -o -name "rspack.config.*" -o -name "esbuild.config.*" \) 2>/dev/null
grep -l -E "\"(vite|rollup|webpack|@rspack/core|esbuild)\"" package.jsonUse find, not ls with these glob patterns directly — in zsh, an ls invocation with multiple
glob patterns aborts with no matches found the moment any one pattern fails to match, even with
2>/dev/null appended, because the failure happens during shell word-expansion before ls ever
runs. find does its own pattern matching internally, so it works identically in bash and zsh and
correctly returns nothing (not an error) when no bundler config exists.
Map the result:
| Config file | Bundler | Package to install | Named export |
|---|---|---|---|
vite.config.{js,ts,mjs} | Vite | @datadog/vite-plugin | datadogVitePlugin |
webpack.config.{js,ts,mjs} | webpack | @datadog/webpack-plugin | datadogWebpackPlugin |
rollup.config.{js,ts,mjs} | Rollup | @datadog/rollup-plugin | datadogRollupPlugin |
rspack.config.{js,ts,mjs} | Rspack | @datadog/rspack-plugin | datadogRspackPlugin |
| esbuild build script | esbuild | @datadog/esbuild-plugin | datadogEsbuildPlugin |
Supported bundler versions:
| Bundler | Supported range |
|---|---|
| esbuild | any |
| Rollup | >= 3 < 5 |
| Rspack | 1.x or 2.x |
| Vite | >= 5 <= 8 |
| webpack | >= 5 < 6 |
Stop and ask the user if: no bundler config is found, more than one is found (monorepo — ask which app to instrument), Next.js or Turbopack is detected (out of scope, see above), or the bundler version is outside the supported range.
The plugin will not build without these three. Read them from the repo; ask the user for anything you cannot read.
service — must equal the service passed to datadogRum.init(). Datadog matches uploaded
sourcemaps to incoming errors on this value. A mismatch means the sourcemaps upload successfully
and are never used.
grep -rn "datadogRum.init" --include="*.ts" --include="*.tsx" --include="*.js" --include="*.jsx" -A 15If the grep finds no datadogRum.init() call anywhere, stop: this skill only adds sourcemap
upload to an existing RUM setup, it does not instrument RUM itself. Tell the user Browser RUM
needs to be set up first, then re-run this skill.
If datadogRum.init() has no service, stop and tell the user: sourcemaps cannot be matched
without it, and it must be added to the RUM init first.
releaseVersion — must equal the version passed to datadogRum.init(). Typically a git
commit SHA, release tag, or CI build ID. Can be set here, or once at the top level as
metadata.version. If both are set and differ, the build fails with
sourcemaps.releaseVersion must match metadata.version when both are configured.
minifiedPathPrefix — the URL prefix the built JS is served from. Must be a full URL or start
with /, otherwise the build fails with
sourcemaps.minifiedPathPrefix must be a valid URL or start with '/'.
Worked example: if dist/main.js is served at https://example.com/static/main.js, then
minifiedPathPrefix is https://example.com/static/ or /static/. If JS is served from the
server root, / is valid.
This is the field most often wrong, and it cannot be derived from the bundler config alone. Before asking the user, check the repo for how it actually deploys:
base/publicPath/baseURL config first — if set, that already
answers the question..github/workflows/*.yml, .gitlab-ci.yml, vercel.json, netlify.toml, wrangler.toml,
Dockerfile. If the deploy step ships the bundler's output directory verbatim (e.g.
pages deploy ./dist, netlify deploy --dir=build), the prefix is the bundler's default asset
subdirectory relative to that root — Vite's default is /assets/, Create React App's is
/static/js/, etc._routes.json / _redirects, Netlify _redirects, Vercel rewrites in vercel.json. If any
exist, re-derive the prefix from the rewrite rule instead of the raw build output path.Do not write a placeholder, a TODO, or a guessed hostname even after checking all of the above.
npm install --save-dev @datadog/<bundler>-pluginUse the project's package manager: yarn add -D, pnpm add -D, or bun add -d.
This is the most common silent failure. The plugin uploads whatever .map files the build
produces. If the bundler is not configured to emit them it finds nothing, logs only a
No sourcemaps to upload warning, and the build still succeeds. Nothing appears in Datadog and
there is no error to explain why.
These are bundler-native settings, not plugin options. The Datadog build plugin does not set them and does not document them.
| Bundler | Setting |
|---|---|
| webpack | devtool: 'source-map' |
| Rspack | devtool: 'source-map' |
| Vite | build.sourcemap: true |
| Rollup | output.sourcemap: true |
| esbuild | sourcemap: true |
Add the setting if it is missing. If the project deliberately disables sourcemaps in production,
stop and raise it with the user — hidden sourcemaps served publicly is a real concern, and the
plugin uploads then deletes nothing, so the .map files still ship unless the deploy strips them.
Register the plugin first in the plugins array — the plugin's own README recommends this
across all five bundlers for complete build reporting.
Do not put the API key in the config file. The plugin reads DATADOG_API_KEY (or DD_API_KEY)
from the environment, and the environment takes precedence over the config value. Leaving it out
keeps credentials out of version control.
Vite (vite.config.js):
import { defineConfig } from 'vite';
import { datadogVitePlugin } from '@datadog/vite-plugin';
export default defineConfig({
build: { sourcemap: true },
plugins: [
datadogVitePlugin({
errorTracking: {
sourcemaps: {
service: 'my-service',
releaseVersion: process.env.GIT_COMMIT_SHA,
minifiedPathPrefix: '/static/',
},
},
}),
],
});webpack (webpack.config.js):
const { datadogWebpackPlugin } = require('@datadog/webpack-plugin');
module.exports = {
devtool: 'source-map',
plugins: [
datadogWebpackPlugin({
errorTracking: {
sourcemaps: {
service: 'my-service',
releaseVersion: process.env.GIT_COMMIT_SHA,
minifiedPathPrefix: '/static/',
},
},
}),
],
};Rspack (rspack.config.js) — same as webpack, with datadogRspackPlugin from
@datadog/rspack-plugin.
Rollup (rollup.config.js):
import { datadogRollupPlugin } from '@datadog/rollup-plugin';
export default {
output: { sourcemap: true },
plugins: [
datadogRollupPlugin({
errorTracking: {
sourcemaps: {
service: 'my-service',
releaseVersion: process.env.GIT_COMMIT_SHA,
minifiedPathPrefix: '/static/',
},
},
}),
],
};esbuild (build script):
const { datadogEsbuildPlugin } = require('@datadog/esbuild-plugin');
require('esbuild').build({
sourcemap: true,
plugins: [
datadogEsbuildPlugin({
errorTracking: {
sourcemaps: {
service: 'my-service',
releaseVersion: process.env.GIT_COMMIT_SHA,
minifiedPathPrefix: '/static/',
},
},
}),
],
});Replace every value with the ones collected in step 2. Do not leave 'my-service' or '/static/'
in place.
Optional sub-options, only if the user asks:
| Option | Default | Effect |
|---|---|---|
dryRun | false | Documented to do everything except the upload — do not rely on this for safety, see step 7 |
bailOnError | false | Fail the build on the first upload error |
maxConcurrency | 20 | Concurrent uploads |
The upload needs an API key. No application key is required.
| Variable | Purpose |
|---|---|
DATADOG_API_KEY or DD_API_KEY | Required. Without it the upload fails with No authentication token provided. |
DATADOG_SITE or DD_SITE | Required for non-US1 orgs. Defaults to datadoghq.com. Use datadoghq.eu, us3.datadoghq.com, us5.datadoghq.com, ap1.datadoghq.com, ap2.datadoghq.com, ddog-gov.com as appropriate. |
Set these as CI/build secrets. Never write the key to a committed file.
Check the repo for what actually executes the build command (the build script) before asking —
that is where the secret needs to be injected, which is not always the same as the eventual
hosting target. A GitHub Actions workflow can run the build and then deploy the output to
Cloudflare Pages/Netlify/Vercel/S3 as a separate step; in that case the secret goes on the
workflow, not the host.
| Signal found in repo | Where the build actually runs | Where to add the secret |
|---|---|---|
.github/workflows/*.yml with a build/install step | GitHub Actions | Repo Settings → Secrets and variables → Actions |
.gitlab-ci.yml | GitLab CI | Settings → CI/CD → Variables |
vercel.json, or no CI file and deployed via Vercel's own build | Vercel | Project Settings → Environment Variables |
netlify.toml, or no CI file and deployed via Netlify's own build | Netlify | Site Settings → Environment variables |
Dockerfile/docker-compose.yml with no CI workflow calling it | Docker, wherever the image is built | Depends on the deploy pipeline — ask |
Confirm the detected provider with the user rather than assuming — a repo can have leftover config from a provider it no longer uses. If nothing matches, stop and ask where the build runs.
Git metadata is attached automatically. enableGit is a top-level option that defaults to true,
so there is nothing to switch on — only something to avoid breaking. Do not set it unless step 7
turns up the specific error below.
Do not rely on dryRun: true to test safely. It is documented to "do everything except the
upload," but this is not trustworthy — at least one real published plugin version ignores the flag
entirely and makes the live, authenticated upload anyway. Treat dryRun as unverified for safety
purposes; it may or may not actually skip the network call in whatever version is installed.
The only way to test discovery that is actually guaranteed not to upload anything: make sure
DATADOG_API_KEY/DD_API_KEY are not set anywhere in the environment the build runs in —
check for this explicitly, a key left over from unrelated local tooling (e.g. a personal
datadog-ci setup) counts and will be picked up silently. With no key reachable, the plugin cannot
authenticate no matter what dryRun does. Then run a normal production build (no dryRun needed):
No sourcemaps to upload, step 4 is not correct — the plugin found no .map files.
This check happens locally before any network call, regardless of credentials.No authentication token provided — that confirms steps 4 and 5 are correct. The plugin found
the sourcemaps; it only stopped because no key was reachable, which is the expected, safe
outcome when none is set.Only move on to testing the real upload path once that passes, and only deliberately — this is a live action, not a verification step to run casually. Confirm with the user, explicitly, which key will be used:
DATADOG_API_KEY (and DATADOG_SITE if not US1) exported in the shell for this test.If the build fails with Error: No git remotes available: the build environment has no git
remote, which is common in shallow CI clones and container builds. Two options, in order of
preference: make the git remote available in the build (better — keeps the error-to-source
linking), or set enableGit: false at the top level of the plugin config to disable git
collection entirely.
datadogWebpackPlugin({
enableGit: false,
errorTracking: { sourcemaps: { /* ... */ } },
})Confirm end to end: trigger an error in the deployed app and check that the stack trace in Datadog Error Tracking is un-minified.
service or releaseVersion different from the values in datadogRum.init(). The upload
succeeds and the sourcemaps are never matched to any error. This is silent.minifiedPathPrefix from the output directory instead of the served URL. dist/ is not
a URL prefix.apiKey in the committed config file instead of the build environment.enableGit: true because a ticket said to "enable git". It is already the default;
setting it changes nothing.releaseVersion and metadata.version to different values, which fails the build.plugins arrayservice matches datadogRum.init()'s servicereleaseVersion matches datadogRum.init()'s versionminifiedPathPrefix is a full URL or starts with /, and matches where JS is servedDATADOG_API_KEY (and DATADOG_SITE if not US1) set in the build environmentNo authentication token provided), not No sourcemaps to upload — do not use dryRun for
this check, see step 7© datadog-labs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in dd-browser-sdk/setup-sourcemaps of datadog-labs/agent-skills.
Open the folder on GitHubat commit 9f3a8b0
Setup Browser SDK Sourcemaps next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Setup Browser SDK Sourcemaps this skilldatadog-labs/agent-skills | 177 | — | ~4.4k | Automated safety check: Pass | MIT | |
| ReleaseOvenMediaLabs/OvenPlayer | 592 | — | ~1.3k | Automated safety check: Pass | MIT | |
| Code Review ChecklistshareAI-lab/learn-claude-code | 78k | 5 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Code Design Rationale Investigatorcursor/plugins | 10k | 9 repos | ~2.6k | Automated safety check: Pass | None | |
| Convert Internal Package to TypeScriptTryGhost/Ghost | 55k | — | ~1.2k | Automated safety check: Pass | MIT | |
| Debugging and Error Recoveryaddyosmani/agent-skills | 102k | 1 repos | ~2.6k | Automated safety check: Pass | MIT |
OvenMediaLabs/OvenPlayer
Release ovenplayer to npm — confirm the version, verify the committed dist/ bundle is current, write the release notes, and open a draft GitHub Release for the user to publish.
shareAI-lab/learn-claude-code
Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.
cursor/plugins
Digs into why code is shaped the way it is by checking git history, pull requests and connected tools in parallel, then reporting a cited read on the tradeoffs.
TryGhost/Ghost
Moves a legacy internal Ghost package from JavaScript and CommonJS to TypeScript and ESM in three focused commits that keep git file history intact.
addyosmani/agent-skills
Applies a stop-the-line rule and a step-by-step triage when tests fail, builds break or something stops working, aiming at the root cause instead of guesses.
ben-manes/caffeine
Audits a module by walking its git history commit by commit, tracking unresolved issues forward, and reporting the ones that survive to HEAD as findings.
datadog-labs/agent-skills
Bootstrap a reproducible LLM Observability experiment through the Python ddtrace SDK or the Node dd-trace SDK.
datadog-labs/agent-skills
Ensure the user has an authenticated Datadog account with a valid DDAPIKEY on the right region before any Datadog setup or instrumentation.
datadog-labs/agent-skills
Entry point for Datadog onboarding. An agent skill from datadog-labs/agent-skills.
datadog-labs/agent-skills
APM - install, onboard, instrument, enable, set up, configure, traces, services, dependencies, performance analysis, Data Streams Monitoring (DSM), queue lag, pipeline latency.
datadog-labs/agent-skills
Install the Datadog Agent on Kubernetes using the Datadog Operator — required before enabling Single Step Instrumentation (SSI), which automatically instruments applications for APM without code…
datadog-labs/agent-skills
Set up the Datadog AWS integration with Terraform - creates the cross-account IAM role Datadog assumes (external ID, no stored credentials), attaches the permission policies Datadog publishes, and…
Categories
Configure build-time JavaScript sourcemap upload to Datadog using the Datadog build plugin (@datadog/esbuild-plugin, @datadog/rollup-plugin, @datadog/rspack-plugin, @datadog/vite-plugin…. Setup Browser SDK Sourcemaps is an agent skill from datadog-labs/agent-skills. Configure build-time JavaScript sourcemap upload to Datadog using the Datadog build plugin (@datadog/esbuild-plugin, @datadog/rollup-plugin, @datadog/rspack-plugin, @datadog/vite-plugin, @datadog/webpack-plugin), so RUM and Error Tracking show un-minified stack traces with git metadata attached.
Setup Browser SDK Sourcemaps fits situations like: errors in Datadog show minified stack traces; asked to upload sourcemaps; set up sourcemaps; unminify errors.
Run `npx skills add datadog-labs/agent-skills --skill setup-browser-sdk-sourcemaps -a claude-code`. Or copy the skill folder (dd-browser-sdk/setup-sourcemaps in datadog-labs/agent-skills) into .claude/skills/setup-browser-sdk-sourcemaps in your project. Claude Code loads it when a task matches its description.
Run `npx skills add datadog-labs/agent-skills --skill setup-browser-sdk-sourcemaps -a codex`. Or copy the skill folder (dd-browser-sdk/setup-sourcemaps in datadog-labs/agent-skills) into .agents/skills/setup-browser-sdk-sourcemaps in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add datadog-labs/agent-skills --skill setup-browser-sdk-sourcemaps -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/setup-browser-sdk-sourcemaps, .gemini/skills/setup-browser-sdk-sourcemaps, .github/skills/setup-browser-sdk-sourcemaps and .opencode/skills/setup-browser-sdk-sourcemaps in your project.
Going by SKILL.md and its folder, Setup Browser SDK Sourcemaps needs the command-line tools its instructions call (npm, netlify, yarn, pnpm and bun) and credentials named DATADOG_API_KEY and DD_API_KEY. Our summary lists: Node.js; A credential in DATADOG_API_KEY; A credential in DD_API_KEY.
SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Setup Browser SDK Sourcemaps is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.4k tokens (SKILL.md is roughly 18k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Setup Browser SDK Sourcemaps: Release (OvenMediaLabs/OvenPlayer, 592 stars), Code Review Checklist (shareAI-lab/learn-claude-code, 78k stars), Code Design Rationale Investigator (cursor/plugins, 10k stars) and Convert Internal Package to TypeScript (TryGhost/Ghost, 55k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
datadog-labs (a GitHub organization) maintains it in datadog-labs/agent-skills, which has 177 GitHub stars. The repository holds 38 skills in this directory. The repository was last updated on October 2, 2026.
Source: datadog-labs/agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.