CtrlK
BlogDocsLog inGet started
Tessl Logo

dash0/agent-skills

Expert guidance for configuring and deploying the OpenTelemetry Collector. Use when setting up a Collector pipeline, configuring receivers, exporters, or processors, deploying a Collector to Kubernetes or Docker, or forwarding telemetry to Dash0. Triggers on requests involving collector, pipeline, OTLP receiver, exporter, or Dash0 collector setup.

95

1.39x
Quality

93%

Does it follow best practices?

Impact

96%

1.39x

Average score across 12 eval scenarios

SecuritybySnyk

Advisory

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

README.mdskills/otel-instrumentation/

otel-instrumentation

Expert guidance for implementing high-quality, cost-efficient OpenTelemetry telemetry across multiple languages and platforms.

Structure

otel-instrumentation/
├── SKILL.md              # Skill manifest and entry point
├── README.md             # This file
└── rules/
    ├── telemetry.md      # Signal overview and correlation
    ├── resources.md      # Resource attributes
    ├── metrics.md        # Instrument types, naming, cardinality
    ├── logs.md           # Structured logging, severity, trace correlation
    └── sdks/
        ├── nodejs.md     # Node.js instrumentation
        ├── go.md         # Go instrumentation
        ├── python.md     # Python instrumentation
        ├── java.md       # Java instrumentation
        ├── dotnet.md     # .NET instrumentation
        ├── ruby.md       # Ruby instrumentation
        ├── php.md        # PHP instrumentation
        ├── browser.md    # Browser instrumentation
        └── nextjs.md     # Next.js full-stack instrumentation

Getting Started

Install the skill:

npx skills add dash0/otel-instrumentation

The skill activates automatically when working on observability tasks.

Rules

RuleImpactDescription
telemetryCRITICALSignal overview and correlation
resourcesCRITICALResource attributes - service identity, environment, Kubernetes
metricsCRITICALInstrument types, naming, units, cardinality
logsCRITICALStructured logging, severity, trace correlation
nodejsHIGHNode.js auto-instrumentation setup
goHIGHGo instrumentation setup
pythonHIGHPython auto-instrumentation setup
javaHIGHJava auto-instrumentation setup
dotnetHIGH.NET auto-instrumentation setup
rubyHIGHRuby instrumentation setup
phpHIGHPHP auto-instrumentation setup
browserHIGHBrowser instrumentation with Dash0 SDK
nextjsHIGHNext.js full-stack instrumentation (App Router)

Rule File Structure

Each rule follows a consistent format:

---
title: "Rule Title"
impact: CRITICAL | HIGH | MEDIUM | LOW
tags:
  - telemetry
  - spans
---

Content sections:

  1. Core concepts and quick start
  2. Implementation with code examples
  3. Best practices (do's and don'ts)
  4. Troubleshooting common issues

Impact Levels

LevelMeaning
CRITICALAffects data quality, costs, or system reliability
HIGHSignificant impact on observability effectiveness
MEDIUMImproves telemetry quality or developer experience
LOWNice-to-have optimizations

Quick Start

Get your credentials:

  • OTLP Endpoint: In Dash0: Settings → Organization → Endpoints
  • Auth Token: In Dash0: Settings → Auth Tokens → Create Token

Node.js:

npm install @opentelemetry/auto-instrumentations-node

export OTEL_SERVICE_NAME="my-service"
export OTEL_TRACES_EXPORTER="otlp"  # Required! Defaults to "none"
export OTEL_EXPORTER_OTLP_ENDPOINT="https://<OTLP_ENDPOINT>"
export OTEL_EXPORTER_OTLP_HEADERS="Authorization=Bearer <AUTH_TOKEN>"
# Use --import for ESM projects, --require for CommonJS
export NODE_OPTIONS="--import @opentelemetry/auto-instrumentations-node/register"

node app.js

Browser:

npm install @dash0/sdk-web
import { init } from "@dash0/sdk-web";

init({
  serviceName: "my-frontend",
  endpoint: { url: "https://<OTLP_ENDPOINT>", authToken: "<AUTH_TOKEN>" }
});

Key Principles

  • Signal density over volume - Every telemetry item should help detect, localize, or explain issues
  • Push reduction early - SDK sampling → Collector filtering → Backend retention
  • SLO-aware policies - Never sample data feeding your SLOs

Resources

Contributing

  1. Follow the rule template in rules/_template.md
  2. Use concrete code examples over abstract explanations
  3. Include both "good" and "bad" patterns
  4. Keep examples copy-pasteable

License

Apache-2.0

README.md

tile.json