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

criteria.jsonevals/scenario-12/

{
  "context": "Tests whether the agent correctly configures resource attributes for a Kubernetes-hosted microservice, uses k8s.pod.uid instead of k8s.pod.ip, sets peer.service or server.address on client spans to enable service topology, avoids placing Kubernetes/service identity attributes on individual spans, and does not manually set Dash0-derived or otel.* attributes.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "service.name as resource attr",
      "description": "Sets `service.name` on the Resource object, NOT on individual spans",
      "max_score": 10
    },
    {
      "name": "service.version as resource attr",
      "description": "Sets `service.version` on the Resource object",
      "max_score": 8
    },
    {
      "name": "deployment.environment.name",
      "description": "Sets `deployment.environment.name` (not deprecated `deployment.environment`) as a resource attribute",
      "max_score": 8
    },
    {
      "name": "k8s.pod.uid not k8s.pod.ip",
      "description": "Uses `k8s.pod.uid` as the Kubernetes pod identifier resource attribute, NOT `k8s.pod.ip`",
      "max_score": 12
    },
    {
      "name": "service.name NOT on spans",
      "description": "Does NOT set `service.name` as a span attribute on any span",
      "max_score": 10
    },
    {
      "name": "k8s metadata NOT on spans",
      "description": "Does NOT set `k8s.pod.name`, `k8s.pod.uid`, or other Kubernetes metadata as span attributes",
      "max_score": 8
    },
    {
      "name": "peer.service or server.address on client spans",
      "description": "Sets `peer.service` or `server.address` on CLIENT spans representing calls to downstream services",
      "max_score": 12
    },
    {
      "name": "Correct span kinds",
      "description": "Uses appropriate span kinds: SERVER for inbound requests, CLIENT for outbound service calls — does NOT use INTERNAL for spans that cross service boundaries",
      "max_score": 10
    },
    {
      "name": "No manual dash0.* attributes",
      "description": "Does NOT manually set any `dash0.*` attributes (e.g., `dash0.operation.name`, `dash0.span.type`) — these are derived automatically",
      "max_score": 12
    },
    {
      "name": "service.instance.id set",
      "description": "Sets `service.instance.id` on the Resource object to uniquely identify this pod/instance",
      "max_score": 10
    }
  ]
}

README.md

tile.json