Help us improve
Share bugs, ideas, or general feedback.
From opentelemetry
Provides OpenTelemetry conventions for span naming, semantic attributes, status setting, in-memory trace testing, and instrumentation boundaries. Use when setting up tracing or writing trace tests.
npx claudepluginhub bendrucker/claude --plugin opentelemetryHow this skill is triggered — by the user, by Claude, or both
Slash command
/opentelemetry:opentelemetryThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use short, low-cardinality names from semantic conventions:
OpenTelemetry tracing discipline: correct spans, propagation, and semantic conventions produce useful traces. Invoke whenever task involves any interaction with distributed tracing — span creation, context propagation, instrumentation, sampling configuration, or OpenTelemetry SDK setup.
Guides OpenTelemetry SDK setup, custom instrumentation (spans, attributes, events, links), sampling, OTel Collector config, and OTLP export to Honeycomb for Go, Python, Node.js, Java, Ruby, .NET, Rust.
Guides OpenTelemetry instrumentation setup across multiple languages (Node.js, Go, Python, Java, .NET, Ruby, PHP, browser, Next.js). Covers spans, metrics, logs, resource attributes, sampling, and sensitive data handling.
Share bugs, ideas, or general feedback.
Use short, low-cardinality names from semantic conventions:
GET /users/{id} (method + route template, never full URL path)SELECT users (operation + table)grpc.health.v1.Health/Checkorders process (destination + operation)Use semantic convention attribute names — never invent your own:
http.request.method, url.full, http.response.status_code, server.addressdb.system, db.statement, db.namespaceerror.type, service.nameImport from the versioned semconv package (e.g., go.opentelemetry.io/otel/semconv/v1.x).
Only set status on errors: span.SetStatus(codes.Error, err.Error()). Never set Ok — unset is the success state. Call RecordError alongside SetStatus (it only adds a span event, doesn't change status).
For HTTP: 4xx is Error on client spans, Unset on server spans. 5xx is always Error.
Use in-memory exporters with SimpleSpanProcessor (not batch — batch introduces timing). Assert on exported spans' names, attributes, and status. No mocking needed.
Instrument network calls, I/O, and queue operations — not every function. Use span events (AddEvent) instead of separate log statements for events within a traced operation.