Agent skill

Upgrade Browser SDK V7

by datadog-labs in datadog-labs/agent-skills

Upgrade Datadog Browser SDK from v6 to v7. An agent skill from datadog-labs/agent-skills.

MITAuto-check passedProductivity & Automation

Install Upgrade Browser SDK V7

skills CLI
$ npx skills add datadog-labs/agent-skills --skill upgrade-browser-sdk-v7 -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install datadog-labs/agent-skills upgrade-browser-sdk-v7 --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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/upgrade-v7 .claude/skills/upgrade-browser-sdk-v7 && rm -rf skills-src

Use ~/.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/

Facts

Skill name
upgrade-browser-sdk-v7
GitHub stars
177
Token cost
~5.8k tokens
SKILL.md length
1,342 words
Files
1
Skills in repo
39
Repo updated
First seen
Licence
MIT

At a glance

Upgrade Datadog Browser SDK from v6 to v7. An agent skill from datadog-labs/agent-skills.

  • Works in 6 steps: Update SDK version → Add crossorigin="anonymous" (CDN only) → Remove deprecated options → …
  • Encountering removed options like betaEncodeCookieOptions
  • SKILL.md covers Step 1: Update SDK version, Step 2: Add…, Step 3: Remove deprecated… and Step 4: Update changed APIs, plus 4 more sections
  • Calls npm and yarn; reaches datadoghq-browser-agent.com

What it does

Upgrade Browser SDK V7 is an agent skill from datadog-labs/agent-skills. Upgrade Datadog Browser SDK from v6 to v7. Use when encountering removed options like betaEncodeCookieOptions, allowFallbackToLocalStorage, trackBfcacheViews, usePciIntake, changed APIs like forwardErrorsToLogs, startDurationVital, stopDurationVital, or when a project references datadoghq-browser-agent.com CDN with /v6/ paths.

Its SKILL.md is about 5.8k 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 Productivity & Automation, covering Browser automation. It works with Datadog and npm. The repository describes itself as: Public repository for Datadog Agent Skills. The licence is MIT.

When your agent uses it

  • Encountering removed options like betaEncodeCookieOptions
  • AllowFallbackToLocalStorage
  • TrackBfcacheViews
  • Changed APIs like forwardErrorsToLogs

Example prompts

  • “/upgrade-browser-sdk-v7”

Requirements

  • Node.js

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Update SDK version
  2. Add crossorigin="anonymous" (CDN only)
  3. Remove deprecated options
  4. Update changed APIs
  5. Review behavioral changes (no code required, but may need attention)
  6. Update infrastructure

What it can do on your machine

Read from SKILL.md and the folder at commit d2411cc. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • npm
    • yarn

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • datadoghq-browser-agent.com

    Also links to:

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Upgrade Browser SDK V7 loads about 5.8k tokens when it runs. Until then it costs about 88 tokens; SKILL.md has 1,342 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~88
When it runs · the whole SKILL.md, loaded when a task matches
~5.8k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from datadog-labs/agent-skills at commit d2411cc, republished under its MIT licence (© datadog-labs). 1,342 words, ~5,821 tokens.

Download SKILL.mdSave it as .claude/skills/upgrade-browser-sdk-v7/SKILL.md (or your agent's skills folder).
name
upgrade-browser-sdk-v7
description
Upgrade Datadog Browser SDK from v6 to v7. Use when encountering removed options like betaEncodeCookieOptions, allowFallbackToLocalStorage, trackBfcacheViews, usePciIntake, changed APIs like forwardErrorsToLogs, startDurationVital, stopDurationVital, or when a project references datadoghq-browser-agent.com CDN with /v6/ paths.
metadata.version
1.0.0
metadata.author
datadog-labs
metadata.repository
https://github.com/datadog-labs/agent-skills
metadata.tags
datadog,browser-sdk,rum,logs,migration,v7,upgrade

Upgrade Datadog Browser SDK to v7

Systematic migration guide from v6 to v7. Follow steps 1-6 in order. Each step includes a search pattern to find affected code.

Step 1: Update SDK version

CDN setup — update script src URLs:

v6 patternv7 replacement
datadoghq-browser-agent.com/us1/v6/datadog-rum.jsdatadoghq-browser-agent.com/us1/v7/datadog-rum.js
datadoghq-browser-agent.com/us1/v6/datadog-logs.jsdatadoghq-browser-agent.com/us1/v7/datadog-logs.js
datadoghq-browser-agent.com/us1/v6/datadog-rum-slim.jsdatadoghq-browser-agent.com/us1/v7/datadog-rum-slim.js

Replace us1 with your site: eu1, us3, us5, ap1, ap2. For US1-FED, the pattern is flat with no site prefix: datadog-rum-v7.js, datadog-logs-v7.js, datadog-rum-slim-v7.js.

Search: grep -r "datadoghq-browser-agent.com.*v6" --include="*.html" --include="*.js" --include="*.ts" --include="*.tsx" --include="*.jsx"

npm setup — update package.json dependencies:

"@datadog/browser-rum": "^7.0.0"
"@datadog/browser-logs": "^7.0.0"
"@datadog/browser-rum-slim": "^7.0.0"

Then run your package manager (npm install, yarn install, etc.) and rebuild.

Also upgrade framework integrations to v7: @datadog/browser-rum-react, @datadog/browser-rum-angular, @datadog/browser-rum-vue, @datadog/browser-rum-nextjs.

Search: grep -r "@datadog/browser-" --include="package.json" .

Step 2: Add crossorigin="anonymous" (CDN only)

v7 CDN bundles use ESM dynamic imports. Every <script> tag loading the SDK must have crossorigin="anonymous":

html
<script src="https://www.datadoghq-browser-agent.com/us1/v7/datadog-rum.js" crossorigin="anonymous"></script>

For dynamically created script elements:

js
const script = document.createElement('script')
script.crossOrigin = 'anonymous' // Must set BEFORE setting src
script.src = 'https://www.datadoghq-browser-agent.com/us1/v7/datadog-rum.js'

Search: grep -rn "datadoghq-browser-agent" --include="*.html" --include="*.js" --include="*.ts" --include="*.tsx" --include="*.jsx"

Check every match for the crossorigin attribute (HTML) or .crossOrigin property (JS).

Step 3: Remove deprecated options

Search init calls for these options and apply replacements:

Removed from Core (affects both RUM and Logs)
OptionAction
betaEncodeCookieOptionsDelete. Cookie encoding is always enabled.
allowFallbackToLocalStorageReplace with sessionPersistence: ['cookie', 'local-storage']
Removed from RUM
OptionAction
trackBfcacheViewsDelete. BFCache views are always tracked.
trackEarlyRequestsDelete. Early requests are always collected.
betaTrackActionsInShadowDomDelete. Shadow DOM action tracking is always on.
Removed from Logs
OptionAction
usePciIntakeDelete. Standard intake is now PCI compliant. Update CSP if you had PCI-specific domains allowlisted.

Search: grep -rn 'betaEncodeCookieOptions\|allowFallbackToLocalStorage\|trackBfcacheViews\|trackEarlyRequests\|betaTrackActionsInShadowDom\|usePciIntake' --include="*.js" --include="*.ts" --include="*.tsx" --include="*.jsx" --include="*.html" --include="*.vue" --include="*.svelte"

Step 4: Update changed APIs

4a. forwardErrorsToLogs + forwardConsoleLogs (Logs)

These are now independent. In v6, forwardErrorsToLogs: true had a side effect: it also forwarded console.error() calls to Logs. In v7, that side effect is removed.

  • forwardErrorsToLogs — controls forwarding of unhandled errors (uncaught exceptions, unhandled rejections) and network errors to Logs. Keep this unchanged.
  • forwardConsoleLogs — controls forwarding of console.error() calls to Logs. Add 'error' here to restore the v6 side effect.

Only add forwardConsoleLogs: ['error'] when forwardErrorsToLogs is true or omitted — in v6 the side effect only applied when the option was enabled (explicitly or via the default). If forwardErrorsToLogs: false, there was no side effect to restore; leave it unchanged.

js
// v6 — forwardErrorsToLogs: true (explicit or omitted, which defaults to true)
DD_LOGS.init({
  forwardErrorsToLogs: true,
  forwardConsoleLogs: ['warn'], // example: existing levels
})

// v7 — add 'error' to restore the side effect; preserve any existing levels
DD_LOGS.init({
  forwardErrorsToLogs: true, // unchanged
  forwardConsoleLogs: ['warn', 'error'], // add 'error'
})

// v6 — forwardErrorsToLogs: false → no side effect existed; nothing to add
DD_LOGS.init({
  forwardErrorsToLogs: false, // leave unchanged, do NOT add forwardConsoleLogs: ['error']
})

Do not replace forwardErrorsToLogs with forwardConsoleLogs — they control different things.

Search for explicit config: grep -rn "forwardErrorsToLogs" --include="*.js" --include="*.ts" --include="*.tsx" --include="*.jsx" --include="*.html" --include="*.vue" --include="*.svelte"

Also search for Logs init calls that may be relying on the default (forwardErrorsToLogs defaults to true in v6, so omitting it still had the side effect): grep -rn "DD_LOGS\.init\|datadogLogs\.init" --include="*.js" --include="*.ts" --include="*.tsx" --include="*.jsx" --include="*.html" --include="*.vue" --include="*.svelte"

For any Logs init call where forwardErrorsToLogs is true or omitted, and forwardConsoleLogs does not already include 'error' or 'all', add 'error' to preserve v6 behavior.

4b. startDurationVital / stopDurationVital (RUM)

The DurationVitalReference object is replaced by a vitalKey string. startDurationVital now returns void — the v7 API is fire-and-forget; the vital name string is all you need.

js
// v5/v6 — ref-based (CDN: DD_RUM, npm: datadogRum)
var ref = DD_RUM.startDurationVital('checkout_flow')
// ... async work ...
DD_RUM.stopDurationVital(ref)

// v7
DD_RUM.startDurationVital('checkout_flow', { vitalKey: 'checkout_flow' })
DD_RUM.stopDurationVital('checkout_flow', { vitalKey: 'checkout_flow' })

This silently breaks in CDN/plain JS projects. TypeScript catches it with a type error; plain JS does not. ref becomes undefined and stopDurationVital(undefined) is a no-op — the vital starts but never stops, so the event is never emitted.

Step 1 — find all startDurationVital/stopDurationVital usages (both CDN and npm patterns, all file types):

grep -rn 'startDurationVital\|stopDurationVital\|DurationVitalReference' \
  --include="*.js" --include="*.ts" --include="*.tsx" --include="*.jsx" \
  --include="*.html" --include="*.svelte" --include="*.vue"

Step 2 — find every variable that captures the return value (this is the failure point):

grep -rEn '(var|const|let)\s+\w+\s*=\s*.+startDurationVital|[\w.]+\s*=\s*(window\.)?DD_RUM\.startDurationVital|[\w.]+\s*=\s*datadogRum\.startDurationVital' \
  --include="*.js" --include="*.ts" --include="*.tsx" --include="*.jsx" --include="*.html" \
  --include="*.svelte" --include="*.vue"

For every match: remove the variable assignment and update all uses of that variable in the corresponding stopDurationVital call to pass the vital name string directly.

Step 3 — if the SDK is wrapped in a utility (e.g. startTiming / stopTiming):

  1. Update the wrapper — pass vitalKey to startDurationVital, return nothing.
  2. Find callers that capture the wrapper return value:
grep -rEn '(var|const|let)\s+\w+\s*=\s*.+[Ss]tart[Tt]iming|(var|const|let)\s+\w+\s*=\s*.+[Ss]tart.+[Vv]ital' \
  --include="*.js" --include="*.ts" --include="*.tsx" --include="*.jsx" \
  --include="*.html" --include="*.svelte" --include="*.vue"
  1. Remove the capture and update the stop call to pass the vital name string directly:
js
// Caller — before
var ref = startTiming('checkout_flow')
stopTiming(ref) // undefined in v7 → vital never stops

// Caller — after
startTiming('checkout_flow')
stopTiming('checkout_flow')
4c. Plugin API: strategy removed (RUM)

The strategy field has been removed from the plugin API. If you use @datadog/browser-rum-react or other plugin integrations, upgrade them to v7.

Search: grep -rn "strategy" --include="*.js" --include="*.ts" --include="*.tsx" --include="*.jsx" (look for plugin definitions)

Show full SKILL.md (676 more words)Show less

Step 5: Review behavioral changes (no code required, but may need attention)

These are default changes — no code breaks, but behavior differs from v6:

ChangeImpactAction if needed
defaultPrivacyLevel defaults to "mask-user-input" (was "mask")Less restrictive masking out of the box. Only user input is masked.Set defaultPrivacyLevel: "mask" to preserve full masking.
enablePrivacyForActionName defaults to trueAction names are derived from textContent (not innerText) — CSS text-transform is no longer applied. A button with style="text-transform: capitalize" and raw text "audio" yields "Audio" in v6 but "audio" in v7. Names may also be masked based on privacy level. Note: setting this to false does not restore CSS-aware extraction — v7 always uses textContent.Add data-dd-action-name attributes to elements whose display names relied on CSS transforms, or update monitors to match raw text values. Use the Datadog build plugin for annotation-based control.
propagateTraceBaggage defaults to trueCORS: cross-origin APIs must allow baggage header.Add "baggage" to Access-Control-Allow-Headers, or set propagateTraceBaggage: false.
Deterministic samplingSampling computed from session ID + rate, not stored. Consistent across pages.Review if you use different sample rates on different pages.
FID removedFirst Input Delay no longer collected.Use INP (Interaction to Next Paint) instead.
session_renewal view loading typeSession-renewed views have @view.loading_type:session_renewal instead of route_change.Update dashboards/monitors filtering on @view.loading_type.
Document resource initiatorType changed"initial_document" becomes "navigation". Duration may differ slightly.Update any code inspecting document resource performanceEntry.
Action names may changeTree walker + textContent always used in v7 (including Shadow DOM) — CSS text-transform is never reflected regardless of enablePrivacyForActionName. Monitors with case-sensitive filters on visually-transformed names may break.Add data-dd-action-name attributes to affected elements, or update monitors to match raw text values.
Cancelled request errors removed (Logs)Aborted fetch/XHR no longer generate network error logs.No action needed — reduces noise.
Logs always requires session storageWithout cookies or localStorage, Logs SDK won't start.Use sessionPersistence: 'memory' for worker environments.
Session Replay: Change RecordsNew serialization format. More accurate, less bandwidth.Update if you depend on raw segment format.
Async chunk names prefixed with datadoge.g., datadogRecorder-<hash>-datadog-rum.js, datadogProfiler-<hash>-datadog-rum.js.Update CSP script-src rules or caching configs (allow datadog*-datadog-rum.js).

Step 6: Update infrastructure

  • CSP:
    • Add crossorigin to script-src.
    • Update chunk names like datadog*-datadog-rum.js (e.g. datadogRecorder, datadogProfiler).
    • If you removed usePciIntake, update CSP for standard intake domain.
  • Cookies: Add _dd_s_v2 to cookie allowlists. The SDK auto-migrates from _dd_s on first load. Rollback to v6 starts new sessions.
  • CORS: Search for tracing config: grep -rn "allowedTracingUrls\|propagateTraceBaggage" --include="*.js" --include="*.ts" --include="*.tsx" --include="*.jsx" --include="*.html" --include="*.vue" --include="*.svelte". For any project with allowedTracingUrls and no explicit propagateTraceBaggage: false, add "baggage" to your existing Access-Control-Allow-Headers on traced origins — or set propagateTraceBaggage: false to opt out.
  • Browser support: Minimum Chrome 80+, Firefox 78+, Safari 14+ (ES2020). ~0.048% less coverage.

Common Mistakes

MistakeWhat goes wrongFix
Replacing forwardErrorsToLogs: true with forwardConsoleLogs: ['error']Unhandled errors (uncaught exceptions, unhandled rejections) stop being forwarded to LogsKeep forwardErrorsToLogs: true unchanged and add forwardConsoleLogs: ['error'] alongside it — they control different things
Updating startDurationVital wrapper but not its callersCallers pass the old ref variable (now undefined) to stopDurationVital — vital never stops, event never emittedAfter updating the wrapper, search for every caller that captures the return value and update the stop call to pass the vital name string directly
Missing vitalKey option on stopDurationVitalv7 stopDurationVital requires { vitalKey: string } to identify which vital to stopPass the same string used in startDurationVital: stopDurationVital('name', { vitalKey: 'name' })
Not checking CDN/plain JS files for ref-based vitalsTypeScript projects surface this as a type error; plain JS silently breaksRun the Step 2 grep explicitly — don't rely on type errors to find all sites

Verification checklist

After upgrading, confirm:

  • SDK loads without console errors
  • crossorigin="anonymous" on all CDN script tags
  • No references to removed options in init config
  • Session Replay recordings working (if used)
  • Distributed tracing working (no CORS errors from baggage header)
  • No _dd_s cookie remaining after first page load (should be _dd_s_v2)
  • Action names acceptable under new privacy defaults
  • No variables capturing the return value of startDurationVital (or wrappers around it) — all stop calls use the vital name string directly

© 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

Files

Just SKILL.md in dd-browser-sdk/upgrade-v7 of datadog-labs/agent-skills.

Open the folder on GitHubat commit d2411cc

Compare with similar skills

Upgrade Browser SDK V7 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.

Upgrade Browser SDK V7 compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Upgrade Browser SDK V7 this skilldatadog-labs/agent-skills177—~5.8kAutomated safety check: PassMIT
Browser Useopenvetta/open-vetta291—~1.6kAutomated safety check: PassApache-2.0
Chrome CDP Browser Controlzenstory-ai/oh-story-claudecode7.4k2 repos~1.2kAutomated safety check: PassMIT
OpenCLI Usage Mapjackwener/OpenCLI30k1 repos~2.3kAutomated safety check: PassApache-2.0
Agent Browser Automationwithkynam/vibecode-pro-max-kit1.1k—~2.6kAutomated safety check: PassApache-2.0
Still2rig Psdshinshin86/still2rig-psd129—~1.4kAutomated safety check: PassMIT

Similar skills

  • Browser Use

    openvetta/open-vetta

    Install and operate the agent-browser CLI for interactive pages, forms, dashboards, and multi-account media workflows.

    291 GitHub stars~1.6k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Chrome CDP Browser Control

    zenstory-ai/oh-story-claudecode

    Drives a Chrome window over the DevTools Protocol with the agent-browser CLI, so the agent can reuse your logged-in sessions, read pages and pull tokens.

    7.4k GitHub starsUsed in 2 repos~1.2k tokens
    Productivity & AutomationAuto-check passed
  • OpenCLI Usage Map

    jackwener/OpenCLI

    Orients an agent on OpenCLI, which turns websites and Electron apps into opencli site-command calls, covering adapters, strategies, install and which skill to load next.

    30k GitHub starsUsed in 1 repo~2.3k tokens
    Productivity & AutomationAuto-check passed
  • Agent Browser Automation

    withkynam/vibecode-pro-max-kit

    Drives a browser through the agent-browser CLI, using compact snapshots with element refs to keep context small in long sessions, plus video recording and cloud browsers.

    1.1k GitHub stars~2.6k tokensUpdated 3 mo ago
    Productivity & AutomationAuto-check passed
  • Still2rig Psd

    shinshin86/still2rig-psd

    Convert a user-provided static anime character image into a verified rig-ready PSD by coordinating the Still2Rig PSD local job CLI with a user-approved Google Colab session through Colab MCP Go.

    129 GitHub stars~1.4k tokensUpdated 10 days ago
    Productivity & AutomationAuto-check passed
  • Test the Electron app interactively using Chrome DevTools Protocol.

    496 GitHub stars~2.4k tokensUpdated 1 mo ago
    Productivity & AutomationAuto-check passed

More from datadog-labs/agent-skills

All 39 skills in this repo
  • Bootstrap a reproducible LLM Observability experiment through the Python ddtrace SDK or the Node dd-trace SDK.

    177 GitHub stars~2.3k tokensUpdated yesterday
    Auto-check passed
  • Dd Account Setup

    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.

    177 GitHub stars~4.5k tokensUpdated yesterday
    Auto-check: notes
  • Dd Orchestrator

    datadog-labs/agent-skills

    Entry point for Datadog onboarding. An agent skill from datadog-labs/agent-skills.

    177 GitHub stars~6.7k tokensUpdated yesterday
    Auto-check passed
  • Dd Apm

    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.

    177 GitHub stars~2k tokensUpdated yesterday
    Auto-check passed
  • Agent Install

    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…

    177 GitHub stars~2.1k tokensUpdated yesterday
    Auto-check: warnings
  • Dd AWS Integration

    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…

    177 GitHub stars~6.8k tokensUpdated yesterday
    Auto-check: notes

Works with

Questions about Upgrade Browser SDK V7

What does Upgrade Browser SDK V7 do?

Upgrade Datadog Browser SDK from v6 to v7. An agent skill from datadog-labs/agent-skills. Upgrade Browser SDK V7 is an agent skill from datadog-labs/agent-skills. Upgrade Datadog Browser SDK from v6 to v7.

When should I use Upgrade Browser SDK V7?

Upgrade Browser SDK V7 fits situations like: encountering removed options like betaEncodeCookieOptions; allowFallbackToLocalStorage; trackBfcacheViews; changed APIs like forwardErrorsToLogs.

How do I install Upgrade Browser SDK V7 in Claude Code?

Run `npx skills add datadog-labs/agent-skills --skill upgrade-browser-sdk-v7 -a claude-code`. Or copy the skill folder (dd-browser-sdk/upgrade-v7 in datadog-labs/agent-skills) into .claude/skills/upgrade-browser-sdk-v7 in your project. Claude Code loads it when a task matches its description.

How do I install Upgrade Browser SDK V7 in Codex?

Run `npx skills add datadog-labs/agent-skills --skill upgrade-browser-sdk-v7 -a codex`. Or copy the skill folder (dd-browser-sdk/upgrade-v7 in datadog-labs/agent-skills) into .agents/skills/upgrade-browser-sdk-v7 in your project. Codex loads it when a task matches its description.

Can I use Upgrade Browser SDK V7 in Cursor, Gemini CLI or GitHub Copilot?

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 upgrade-browser-sdk-v7 -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/upgrade-browser-sdk-v7, .gemini/skills/upgrade-browser-sdk-v7, .github/skills/upgrade-browser-sdk-v7 and .opencode/skills/upgrade-browser-sdk-v7 in your project.

What does Upgrade Browser SDK V7 need to run?

Going by SKILL.md and its folder, Upgrade Browser SDK V7 needs the command-line tools its instructions call (npm and yarn). Our summary lists: Node.js.

Does Upgrade Browser SDK V7 access the network?

SKILL.md names 2 domains. In commands or code: datadoghq-browser-agent.com; the agent is likely to contact it when it follows the instructions. As links in the text: github.com. This is read from the text; nothing was executed.

Is Upgrade Browser SDK V7 safe to install?

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.

What licence does Upgrade Browser SDK V7 use?

Upgrade Browser SDK V7 is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Upgrade Browser SDK V7 use?

About 5.8k tokens (SKILL.md is roughly 23k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Upgrade Browser SDK V7?

Skills that share tags, products or a category with Upgrade Browser SDK V7: Browser Use (openvetta/open-vetta, 291 stars), Chrome CDP Browser Control (zenstory-ai/oh-story-claudecode, 7.4k stars), OpenCLI Usage Map (jackwener/OpenCLI, 30k stars) and Agent Browser Automation (withkynam/vibecode-pro-max-kit, 1.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Upgrade Browser SDK V7?

datadog-labs (a GitHub organization) maintains it in datadog-labs/agent-skills, which has 177 GitHub stars. The repository holds 39 skills in this directory. The repository was last updated on October 8, 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.