Agent Native

dash0-configure

Writes the Dash0 telemetry plugin config file to enable or reconfigure the Cursor-to-Dash0 integration.

by Dash0Official publisherNot reviewed

Identity proven by GitHub's verified organisation badge (dash0hq)

Agents
Cursor
License
Apache-2.0 (permissive)
Pin
7753eccpinned Oct 9, 2026
Context cost
about 1,500 tokenswhen the skill loads
GitHub stars
5on dash0hq/dash0-agent-plugin
Scripts
None found

What it does

“Set up or finish setting up the Dash0 → Cursor telemetry integration by writing ~/.cursor/dash0-agent-plugin.local.md (or the project-local equivalent). Use when the user wants to configure Dash0, enable telemetry, paste credentials, fix an inactive plugin install, or act on a "dash0: no team configured" message — spans carry no dash0.team.name until the team name is set.”
The author's description, from SKILL.md

Generated summary from the skill's own text

Writes the Dash0 telemetry plugin config file to enable or reconfigure the Cursor-to-Dash0 integration. The skill prompts for OTLP URL, auth token, team name, and dataset, then writes a YAML config to either user-level or project-level scope with restricted file permissions.

When to use it

  • User wants to enable Dash0 telemetry in Cursor for the first time
  • Hook log shows 'dash0: telemetry is not active' or 'no team configured'
  • User needs to set or update team name, dataset, or other plugin options
  • Configuring telemetry at user-level or project-level scope

When not to

  • Telemetry credentials come only from DASH0_* environment variables
  • User prefers managing config through other means than a markdown file

Install

These commands install from the publisher's repository and need no account.

skills CLI

npx skills add dash0hq/dash0-agent-plugin --skill dash0-configure

Installs from the repository's default branch, which may have changed since the commit we checked.

GitHub CLI 2.90 or later

gh skill install dash0hq/dash0-agent-plugin dash0-configure@7753ecc09e2a3ecd3583bed37ff7f05696d79b74

Installs the commit we checked (7753ecc).

Copy by hand

Download the folder at 7753ecc and put it in .claude/skills/dash0-configure for Claude Code and in .agents/skills/dash0-configure for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.

Skill folder on GitHub at 7753ecc

Claude Code plugin

/plugin install dash0@claude-plugins-official

The publisher's plugin in Claude's official marketplace. It may hold more than this skill, and we have not pinned it.

Copy for your agent

A prompt for any coding agent. It installs this skill from GitHub at the pinned commit, copies the files as they are, and runs nothing unless you ask.

Prompt

Install the agent skill "dash0-configure" by Dash0.

Source, pinned to commit 7753ecc09e2a3ecd3583bed37ff7f05696d79b74:
https://github.com/dash0hq/dash0-agent-plugin/tree/7753ecc09e2a3ecd3583bed37ff7f05696d79b74/cursor/skills/dash0-configure

1. Download that folder at exactly this commit. Do not use the default branch.
2. Copy every file unchanged, keeping the folder structure, into .claude/skills/dash0-configure/ for Claude Code and .agents/skills/dash0-configure/ for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode. Create the folders if they do not exist.
3. Do not edit the files, and do not run any script in the folder unless I ask you to.
4. When you are done, list the files you copied and where you put them.

Listing and checks: https://www.agentnative.dev/skills/dash0/dash0-configure-dash0-agent-plugin-4

SKILL.md at the pin

---
name: dash0-configure
description: 'Set up or finish setting up the Dash0 → Cursor telemetry integration by writing ~/.cursor/dash0-agent-plugin.local.md (or the project-local equivalent). Use when the user wants to configure Dash0, enable telemetry, paste credentials, fix an inactive plugin install, or act on a "dash0: no team configured" message — spans carry no dash0.team.name until the team name is set.'
---

# Configure Dash0

Write the config file the `cursor-on-event` hook reads on every Cursor event. The file holds every plugin option in YAML frontmatter.

## Trigger

The user wants to configure or reconfigure the Dash0 plugin. Two common shapes:

- **First-time setup.** They have an OTLP URL and an auth token, or the hook log said `dash0: telemetry is not active`.
- **Finishing setup.** Telemetry works, but the hook log said `dash0: no team configured`. Offer this once per session, then leave it alone unless the user brings it up.

## Before you start

Note the precedence order (highest first) so the user isn't surprised when a value doesn't apply:

1. Project-level config file (`.cursor/dash0-agent-plugin.local.md`)
2. User-level config file (`~/.cursor/dash0-agent-plugin.local.md`)
3. `DASH0_*` environment variables

Cursor has no plugin settings UI and no keychain support, so the config file is the only place these values live.

## Scope

Ask whether to write user-level (`~/.cursor/dash0-agent-plugin.local.md`, applies to all projects) or project-level (`.cursor/dash0-agent-plugin.local.md`, only the current workspace — overrides the user-level file entirely, does not merge). Default to user-level unless the user asks for project-only. On Windows the user-level file is `%USERPROFILE%\.cursor\dash0-agent-plugin.local.md`.

> [!WARNING]
> A project-level file takes over the auth token for every session in that workspace. If that token is wrong or scoped to a different organization, exports fail as a silent 401. Prefer user-level unless the user needs a different dataset or team for one project.

## Workflow

1. If the target file already exists, read it and show the user the current values with the `auth_token` masked (show only the last 4 chars). Ask whether to overwrite. If they decline, stop.

2. Decide whether credentials are part of this run. Telemetry is off when the hook log said `dash0: telemetry is not active`; it already works when it said `dash0: connected`, and the user needs only the missing options.

   **When telemetry is off,** ask for both of these, one at a time. Do not invent a value the user did not give.

   - **OTLP URL** (required) — Dash0 OTLP ingress, e.g. `https://ingress.us-west-2.aws.dash0.com`
   - **Auth token** (required) — treat as a secret; do not echo it back in later messages

   **When telemetry already works,** never ask the user for the token again. Find out where it currently comes from, because the answer decides what the target file must contain. Read the target file, and read the other level's file too (the user-level one if the target is project-level, and the reverse).

   | Where the credentials are now | What to write |
   |---|---|
   | In the target file | Carry its `otlp_url` and `auth_token` lines over verbatim. |
   | In the other level's file, and the target is a different level | Copy that file's `otlp_url` and `auth_token` into the target verbatim. The two files do not merge, so a target without them turns telemetry off on the next session. Tell the user the token will exist in a second file, and stop if they would rather set the option user-level instead. |
   | In neither file | They come from `DASH0_*` environment variables. Write neither key, and tell the user where the values live so they know the file is not the source of truth. |

3. Ask for the recommended values. These are what most installs are missing, so ask explicitly rather than defaulting past them.

   - **Team name** (`team_name`) — tags every span with `dash0.team.name`. Without it, spans cannot be attributed to a team. Suggest the user's team as they would name it in Dash0.
   - **Dataset** (`dataset`) — which Dash0 dataset the data lands in. Leave it out and the backend picks its default. There is no literal `default` value to write; an empty value means "no dataset header".

4. Offer the remaining options as one batch the user can decline in a single answer. Only ask about them if the user wants to change a default.

   | Key | Effect | Default |
   |---|---|---|
   | `agent_name` | Reported as `service.name` | `cursor` |
   | `omit_io` | Omit prompt content and tool inputs/outputs | `true` |
   | `omit_user_info` | Hash `user.name` and drop `user.email` | `false` |
   | `omit_identity_fallback` | Report only a real `git config user.name`, never the OS account | `false` |
   | `enabled` | Set to `false` to turn the plugin off for this scope without uninstalling | `true` |

   For every key above except `enabled`, `true` and `1` are true and any other non-blank value is false, so write `true` or `false` and nothing else. `enabled` is the one key the binary reads strictly: only the literal `false` turns the plugin off.

5. Show the user the exact file you are about to write, with `auth_token` masked to its last 4 chars, and ask them to confirm. Write it only after they agree. Omit every key whose value is blank, and include the `otlp_url` and `auth_token` lines exactly as step 2 settled them.

   ```
   ---
   otlp_url: "<OTLP_URL>"
   auth_token: "<AUTH_TOKEN>"
   dataset: "<DATASET>"
   team_name: "<TEAM_NAME>"
   # plus any keys the user chose in step 4, in the same key: "value" form
   ---
   ```

6. Restrict the file to its owner, so the token isn't readable by other accounts.

   - macOS and Linux: `chmod 600 <file>`
   - Windows: `powershell -NoProfile -Command 'icacls "<file>" /inheritance:r /grant:r "$($env:USERNAME):(F)" "SYSTEM:(F)"'`

   Keep the PowerShell wrapper and the single quotes. A Bash shell rewrites the bare `/inheritance:r` and `/grant:r` flags as file paths, and `%USERNAME%` expands in `cmd.exe` only.

7. Tell the user:

   > Configuration written. **Quit and relaunch Cursor** (Cmd+Q on macOS) — Cursor only reads `hooks.json` at startup. After that, every prompt you send will emit OTel spans to your Dash0 dataset.

   Re-running this skill later takes effect on the next hook fire without a restart, since the bootstrap script re-reads the config on each invocation.

   The `dash0: no team configured` warning cannot be silenced. If the user deliberately runs without a team, say so plainly rather than looking for a way to hide it.

From dash0hq/dash0-agent-plugin at 7753ecc, shown as plain text under its license: Apache-2.0 (permissive). The license text is in LICENSE.

View SKILL.md on GitHub at 7753ecc

Files

1 file, 6.6 KB in total. Each file has a sha256 in the pin's manifest; the first 12 characters are shown.

Skill folder on GitHub at 7753ecc
All 11 skills from Dash0

More from Dash0

  • otel-collector

    This skill provides expert guidance for configuring and deploying the OpenTelemetry Collector to receive, process, and export telemetry data.

    Claude Code, Codex, Cursor +4 · about 1.7K tokens · pinned 6 days ago

  • otel-instrumentation

    This skill guides agents through configuring OpenTelemetry instrumentation across traces, metrics, and logs.

    Claude Code, Codex, Cursor +4 · about 1.3K tokens · pinned 6 days ago

  • otel-ottl

    This skill provides expertise in OpenTelemetry Transformation Language (OTTL), helping agents write and debug OTTL expressions for OpenTelemetry Collector…

    Claude Code, Codex, Cursor +4 · about 1.4K tokens · pinned 6 days ago

  • otel-semantic-conventions

    This skill helps select and apply OpenTelemetry semantic convention attributes correctly.

    Claude Code, Codex, Cursor +4 · about 1.1K tokens · pinned 6 days ago

  • copilot-local-dev

    This skill installs and runs the Dash0 GitHub Copilot CLI plugin locally for development and testing without requiring a GitHub push or release.

    Contains scripts

    Claude Code, Codex, Cursor +3 · about 940 tokens · pinned 6 days ago

  • dash0-configure

    Writes a Dash0 configuration file that connects Claude Code to Dash0 telemetry by storing OTLP credentials and team settings.

    Claude Code · about 2.6K tokens · pinned 6 days ago

All Observability skills
  • debugging-executions

    Debug workflow execution failures by inspecting failed nodes, re-running executions, and comparing expected versus actual values.

    by n8nOfficial publisher

    Claude Code, Codex, Cursor +3 · about 2.5K tokens · pinned 6 days ago

  • instance-awareness

    This skill teaches the agent to resolve ambiguous requests by reading the instance's activity log and workflow history instead of asking the user to clarify.

    by n8nOfficial publisher

    Claude Code, Codex, Cursor +3 · about 1.3K tokens · pinned 6 days ago

  • creating-replay-vision-scanners

    Guides agents through creating Replay Vision scanners, LLM probes that watch session recordings on a schedule and log findings as observations.

    by PostHogOfficial publisher

    Claude Code, Codex, Cursor +4 · about 3.3K tokens · pinned 6 days ago

  • exploring-replay-vision-observations

    This skill guides agents through reading observations from Replay Vision scanners, understanding their findings across session recordings, and taking action…

    by PostHogOfficial publisher

    Claude Code, Codex, Cursor +4 · about 3.3K tokens · pinned 6 days ago

  • exploring-scouts

    Explore and understand PostHog Signals scouts through read-only tools, examining fleet configuration, recent runs, performance metrics, and durable team…

    by PostHogOfficial publisher

    Contains scripts

    Claude Code, Codex, Cursor +3 · about 11K tokens · pinned 6 days ago

  • investigating-replay

    Gathers session recording metadata, user profile, event timeline, and linked error issues in parallel to give a complete investigation when a user provides a…

    by PostHogOfficial publisher

    Claude Code, Codex, Cursor +4 · about 2.3K tokens · pinned 6 days ago

The skills listed here are third-party software, collected from public GitHub repositories as a catalog of recent skills and provided as is. Agent Native does not write or control them and is not responsible for any harm, loss or damage caused by installing or using them. Labels and checks describe what we saw at one commit and are not a guarantee. Read a skill's files before you run it. Terms of use