@dash0/agent-skills

中文文档
1.3.6发布于 2026/08/07Apache-2.0零依赖构建来源已验证近 30 天下载 1.4万

OpenTelemetry skills and reference documentation for AI coding assistants

原始使用文档
文档目录15 节
  1. Installation
  2. How to use
  3. Why vendor-neutral OpenTelemetry
  4. Why semantic conventions matter
  5. Instrumentation score
  6. Available skills
  7. otel-instrumentation
  8. otel-semantic-conventions
  9. otel-collector
  10. otel-ottl
  11. Automation with Claude Code
  12. Project instructions via CLAUDE.md
  13. Headless mode in CI/CD
  14. Skill structure
  15. Contributing

OpenTelemetry Skills for AI Coding Agents

Vendor-neutral skills that teach AI coding agents how to instrument applications with OpenTelemetry. Covers SDK setup across languages, semantic conventions, Collector pipelines, and OTTL transformations. Works with any OTLP-compatible backend.

Skills are packaged instructions and scripts that extend agent capabilities, following the Agent Skills format. Maintained by Dash0.

[!TIP] These skills have been improved using Tessl. Try it out for your own agent skills, it's worth it.

tessl

Installation

Install with skills CLI (universal, works with any Agent Skills-compatible tool):

npx skills add https://github.com/dash0hq/agent-skills --all
# or a single skill:
npx skills add https://github.com/dash0hq/agent-skills --skill otel-semantic-conventions

For tool-specific installation instructions (Claude Code, Cursor, Tessl, and others), see INSTALL.md.

Consume programmatically via npm (for agent runtimes that embed the skills rather than install them into a tool):

npm install @dash0/agent-skills

The package ships the skills/ directory trees verbatim — no code. Resolve a skill's location at runtime, for example:

const { createRequire } = require("node:module");
const path = require("node:path");

const pkgJson = createRequire(__filename).resolve("@dash0/agent-skills/package.json");
const skillDir = path.join(path.dirname(pkgJson), "skills", "otel-instrumentation");

How to use

Once installed, skills load automatically and the agent picks them up when a task matches.

Examples:

Add OpenTelemetry instrumentation to my app
My traces are broken — spans show up as separate roots instead of a connected trace
Set up an OpenTelemetry Collector pipeline that forwards to Dash0
Write an OTTL expression to redact credit card numbers from log bodies
Ensure that my HTTP server spans have the correct attributes
Help me fix high-cardinality metrics that are blowing up my costs

Why vendor-neutral OpenTelemetry

These skills are built around the OpenTelemetry specification, not any single backend. The output is standard OTLP telemetry that any OpenTelemetry-compatible backend can ingest.

Vendor lock-in in observability comes from proprietary agents and attribute schemas. Skills in this repository avoid both: they guide agents to use OpenTelemetry SDKs and the OpenTelemetry Collector, and to follow the upstream Semantic Conventions for attribute, span, and metric naming.

Why semantic conventions matter

OpenTelemetry Semantic Conventions define standardized names, types, and semantics for telemetry attributes, metric names, span names, and status codes. Following them is the single highest-leverage thing you can do for observability quality.

When instrumentation follows semantic conventions:

  • Auto-instrumentation libraries, dashboards, and alerting rules work out of the box.
  • Service maps, operation grouping, and error tracking derive correct results without manual configuration.
  • Cross-service queries return consistent results because every service speaks the same attribute language.

When conventions are missing or inconsistent, these capabilities degrade silently: no errors, just incomplete data, broken topology views, and fragmented queries.

Instrumentation score

Guidance in these skills aligns with the Instrumentation Score specification, a vendor-neutral corpus of guidance that quantifies how well a service follows OpenTelemetry best practices. The spec defines impact-weighted rules across resources, spans, metrics, and logs. Following this guidance helps your services score higher, which means better observability outcomes downstream.

Available skills

otel-instrumentation

Expert guidance for implementing high-quality, cost-efficient OpenTelemetry telemetry. Covers backend and browser instrumentation across multiple languages.

Use when:

  • Setting up observability for a new service
  • Adding traces, metrics, or logs to an application
  • Debugging instrumentation issues
  • Optimizing telemetry costs (cardinality, sampling)
  • Connecting browser traces to backend traces

Rules covered:

  • Telemetry (signal overview and correlation)
  • Resources (service identity, environment, Kubernetes attributes)
  • Metrics (instrument types, naming, units, cardinality)
  • Logs (structured logging, severity, trace correlation)
  • Node.js (auto-instrumentation, environment variables, Kubernetes)
  • Go (SDK setup, instrumentation libraries, context propagation)
  • Python (auto-instrumentation, Flask, Django, FastAPI)
  • Java (javaagent, Spring Boot, JVM system properties)
  • .NET (auto-instrumentation, ASP.NET Core, ActivitySource)
  • Ruby (SDK setup, Rails, Sinatra)
  • PHP (auto-instrumentation, Laravel, Symfony)
  • Browser (OpenTelemetry JS, Dash0 SDK, server correlation)
  • Next.js (App Router, full-stack instrumentation, common gotchas)

Platforms:

  • Node.js (Express, Fastify, NestJS, etc.)
  • Go (net/http, gin, echo, fiber, etc.)
  • Python (Flask, Django, FastAPI, etc.)
  • Java (Spring Boot, Servlet, JAX-RS, etc.)
  • .NET (ASP.NET Core, Entity Framework, etc.)
  • Ruby (Rails, Sinatra, etc.)
  • PHP (Laravel, Symfony, etc.)
  • Browser (React, Vue, Next.js, etc.)
  • Any OTLP-compatible backend

otel-semantic-conventions

Expert guidance for selecting, applying, and reviewing OpenTelemetry semantic conventions: the standardized names, types, and semantics for telemetry attributes, span names, and status codes.

Use when:

  • Choosing attributes for spans, metrics, or logs
  • Naming spans or selecting span kinds
  • Mapping HTTP status codes to span status
  • Reviewing telemetry for semantic convention compliance
  • Migrating from old to new attribute names
  • Understanding Dash0 derived attributes

Rules covered:

  • Attributes (registry, selection, placement, common attributes by domain, namespaces)
  • Spans (naming patterns, span kind, status code mapping)
  • Versioning (stability levels, migration, Dash0 semantic convention upgrades)
  • Dash0 (derived attributes, feature dependencies)

otel-collector

Expert guidance for configuring and deploying the OpenTelemetry Collector to receive, process, and export telemetry. Covers pipeline configuration, deployment patterns, and forwarding to any OTLP-compatible backend.

Use when:

  • Setting up an OpenTelemetry Collector pipeline
  • Configuring receivers, processors, or exporters
  • Deploying the Collector to Kubernetes or Docker
  • Forwarding telemetry to any OTLP-compatible backend
  • Tuning Collector performance (memory, batching, queuing)

Rules covered:

  • Receivers (OTLP, Prometheus, filelog, hostmetrics)
  • Exporters (OTLP/gRPC, debug, authentication, retry, queuing)
  • Processors (memory limiter, batch, resource detection, Kubernetes attributes, ordering)
  • Pipelines (service section, per-signal configuration, connectors, fan-out)
  • Deployment (agent vs gateway, DaemonSet, Deployment, Docker Compose, health checks)

otel-ottl

Expert guidance for writing and debugging OpenTelemetry Transformation Language (OTTL) expressions for the OpenTelemetry Collector's transform and filter processors.

Use when:

  • Writing OTTL expressions to transform, filter, or enrich telemetry
  • Redacting sensitive data from spans, metrics, or logs
  • Configuring transform or filter processors in the Collector
  • Debugging OTTL syntax or runtime errors
  • Optimizing Collector pipeline performance

Capabilities:

  • Transform (modify attributes and values)
  • Filter (drop unwanted telemetry)
  • Redact (hide sensitive information)
  • Enrich (add contextual metadata)
  • Convert (change data types and formats)

Contexts: resource, scope, span, spanevent, metric, datapoint, log

Automation with Claude Code

You can configure Claude Code to apply these skills automatically, both in interactive sessions and in headless CI/CD pipelines.

Project instructions via CLAUDE.md

Add a CLAUDE.md file to your repository root with instructions that tell Claude Code when to use the skills. Claude Code loads this file at the start of every session.

# Observability

This project uses OpenTelemetry for observability.
When adding or modifying instrumentation, follow the guidance from the installed `dash0hq/agent-skills` skills.

When working on application code or deployment specs, use the `otel-instrumentation` skill.
When working on Collector configuration, use the `otel-collector` skill.
When choosing or reviewing telemetry attributes, use the `otel-semantic-conventions` skill.
When writing or debugging OTTL expressions, use the `otel-ottl` skill.

Headless mode in CI/CD

Use claude -p to run Claude Code non-interactively in a pipeline. This enables automated instrumentation reviews, skill-guided code generation, and PR checks.

# Review instrumentation quality on a pull request
claude -p "Review the OpenTelemetry instrumentation changes in this PR. \
  Check for missing context propagation, incorrect span status handling, \
  and semantic convention violations." \
  --allowedTools "Read,Grep,Glob"

GitHub Actions example

name: Instrumentation review

on: [pull_request]

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Install skills
        run: npx skills add dash0hq/agent-skills

      - name: Review instrumentation
        run: |
          claude -p "Review the OpenTelemetry instrumentation in this PR \
            for correctness and semantic convention compliance. \
            Post your findings as a summary." \
            --allowedTools "Read,Grep,Glob" \
            --output-format json > review.json

      - name: Comment on PR
        run: |
          findings=$(jq -r '.result' review.json)
          gh pr comment "$PR_NUMBER" --body "## Instrumentation review"$'\n\n'"$findings"
        env:
          PR_NUMBER: ${{ github.event.pull_request.number }}

Skill structure

Each skill contains:

  • SKILL.md - Instructions for the agent
  • rules/ - Focused guidance documents
  • README.md - Human-readable documentation

Contributing

See CONTRIBUTING.md for authoring rules and for running the evals locally to judge whether the skills work.

版本与发布记录

@dash0/agent-skills 共发布 6 个版本,首次发布于 2026/07/31;过去 12 个月发布了 6 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.3.6latest2026/08/073 个月前
1.3.52026/08/073 个月前
1.3.42026/08/073 个月前
1.3.32026/08/063 个月前
1.3.22026/08/063 个月前
1.3.12026/07/313 个月前

关于 @dash0/agent-skills 的常见问题

@dash0/agent-skills 是什么?

OpenTelemetry skills and reference documentation for AI coding assistants

如何安装 @dash0/agent-skills?

在项目目录运行 npm install @dash0/agent-skills,或使用 pnpm add / yarn add / bun add。

@dash0/agent-skills 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/dash0__agent-skills 是否存在。

@dash0/agent-skills 可以商用吗?

@dash0/agent-skills 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@dash0/agent-skills 的下载量有多少?

根据 npm 官方下载统计,@dash0/agent-skills 在 2026/10/12 – 2026/11/10 这 30 天内被下载 13,757 次,日均约 459 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@dash0/agent-skills 还在维护吗?

最新版本 1.3.6 发布于 2026/08/07(3 个月前);至今共发布 6 个版本,其中过去 12 个月发布了 6 个;首次发布于 2026/07/31。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。