signal-choice-advisor

Recommend OpenTelemetry signal types for stated observability requirements.

2|Updated May 28, 2026
One-click install
npx skills add https://github.com/tsuga-dev/agent-plugins --skill signal-choice-advisor
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: signal-choice-advisor
Source: https://github.com/tsuga-dev/agent-plugins/tree/main/plugins/telemetry/skills/signal-choice-advisor
Command: npx skills add https://github.com/tsuga-dev/agent-plugins --skill signal-choice-advisor

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

It helps you avoid instrumenting the wrong telemetry type by translating vague “what should we observe?” requests into the correct OTel signal choice and naming strategy.

Core Features & Use Cases

  • Signal type decision support: Recommends Counter, Histogram, UpDownCounter, Observable Gauge, Span, structured logs, or resource attributes based on the stated goal.
  • Cardinality and anti-pattern guardrails: Prevents common mistakes like embedding service names or high-cardinality identifiers in metric dimensions.
  • OTel semconv-first guidance: Encourages standard conventions before inventing custom names, with a workflow to verify semantic correctness.
  • Language-appropriate implementation pointers: Prompts you to follow up with the relevant OTel language skill for a concrete implementation sketch.

Quick Start

Ask: “Should I add a metric or a span for the duration of X, and which instrument type should I use?” and the skill will produce a reasoned recommendation plus an implementation direction.

Frequently Asked Questions about signal-choice-advisor

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I choose between OpenTelemetry metrics, traces, or logs for a specific observability requirement?

OpenTelemetry signal selection depends on your data shape: use metrics for counts and durations, spans for distributed tracing workflows, and structured logs for discrete point-in-time events with trace context attached.

When should I use a Histogram versus a Span to measure request duration in OpenTelemetry?

Use a Histogram to measure request duration when you need aggregated latency distributions and percentiles. Use a Span when you need to trace the causal path and execution context of individual requests across distributed service boundaries.

What is metric cardinality and how do I prevent high-cardinality dimension mistakes in observability instrumentation?

Metric cardinality refers to the number of unique label combinations in a metric. Prevent high-cardinality mistakes by avoiding high-cardinality identifiers like user IDs or raw IP addresses in metric dimensions, using resource attributes instead.

Should I use OpenTelemetry semantic conventions before creating custom metric names?

Yes, you should use OpenTelemetry semantic conventions before creating custom metric names. Standard conventions ensure interoperability and reduce redundancy, providing a verified workflow to model duration, counts, and events semantically correct.

Can I attach trace context to structured logs in OpenTelemetry?

Yes, you can attach trace context to structured logs in OpenTelemetry. This combines discrete point-in-time event recording with distributed tracing, allowing you to correlate specific log entries with their originating spans for better debugging.

What is the best way to model point-in-time events versus aggregated counts in OpenTelemetry instrumentation?

The best way to model point-in-time events is using structured logs with trace context, while aggregated counts require UpDownCounter or Counter instruments. Gauges capture instantaneous values, preventing the need for high-cardinality metric dimensions.