CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

otel-profiles

OpenTelemetry profiles signal and the eBPF profiler (otelcol-ebpf-profiler, `profiling` receiver). Use when setting up continuous profiling with OpenTelemetry, deploying the eBPF profiler on Linux hosts, Docker, or Kubernetes (DaemonSet, kind, k3d), building a profiles pipeline, sending OTLP profiles to Pyroscope, Grafana Cloud Profiles, or another backend, getting flame graphs from OTel, enabling off-CPU profiling, or debugging profiler errors about tracefs, PID namespaces, missing pods, or the service.profilesSupport feature gate. Not for SDK tracing or metrics setup.

80

Quality

100%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

100%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A dense, high-signal skill body: an executable quick start with verification signals, a decision-rule-driven workflow with real validation steps, and cleanly factored detail files. The only time-sensitive content (the version matrix) is deliberately structured as a dated, evidence-linked section central to the task rather than incidental staleness risk.

DimensionReasoningScore

Conciseness

Every token carries non-obvious, task-critical facts ("The image is built `FROM scratch`: no shell, so debug from logs, not `exec`") and the text assumes Claude's competence, explaining nothing about what OpenTelemetry or profiling is. The version matrix is time-sensitive by necessity — version pinning is the skill's core task — and it is quarantined in a dated "Verified 2026-10-19" section with evidence links rather than scattered through the prose.

5 / 5

Actionability

Guidance is fully executable: a complete `docker run` command with all required flags (--privileged, --pid=host, the tracefs bind-mount, the feature gate), a complete working YAML pipeline, a config validation command, and concrete verification signals (expected startup lines, debug exporter's "resource profiles": N counts). Backend specifics are correctly deferred to a reference rather than left vague.

5 / 5

Workflow Clarity

The five-step workflow has explicit validation checkpoints and error recovery: step 3 runs `validate --config=<file> --feature-gates=+service.profilesSupport` which "catches wrong keys for the pinned version", and step 4 defines what failure looks like ("no lines or zero counts mean the receiver is not producing") and routes to troubleshooting by exact error string. This is not a destructive/batch skill, so no cap applies.

5 / 5

Progressive Disclosure

The body is a concise overview that signals each one-level-deep reference with its purpose: receiver.md "when setting keys beyond `samples_per_second`... or pinning a release not in this table", kubernetes.md for DaemonSet/RBAC, nested-containers.md for kind/k3d, backends.md for endpoints/auth, troubleshooting.md for exact error strings. All five referenced files exist in the bundle and cross-link only to siblings, with no second level of indirection.

5 / 5

Total

20

/

20

Passed

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

An exemplary description: names the exact artifacts, gives a comprehensive set of natural trigger scenarios spanning deployment environments, backends, and specific error strings, and closes with a clear negative boundary. Long, but every clause carries trigger information rather than padding.

DimensionReasoningScore

Specificity

The description enumerates many concrete actions: "setting up continuous profiling", "deploying the eBPF profiler on Linux hosts, Docker, or Kubernetes (DaemonSet, kind, k3d)", "building a profiles pipeline", "sending OTLP profiles to Pyroscope, Grafana Cloud Profiles", "enabling off-CPU profiling", and "debugging profiler errors about tracefs, PID namespaces". Coverage is comprehensive across setup, export, and troubleshooting with no vague filler.

5 / 5

Completeness

Both what and when are explicit: what is "OpenTelemetry profiles signal and the eBPF profiler (otelcol-ebpf-profiler, `profiling` receiver)", and when is a full "Use when..." clause with concrete trigger scenarios plus a negative boundary ("Not for SDK tracing or metrics setup"). This matches the anchor-5 example structure exactly.

5 / 5

Trigger Term Quality

Natural user phrasings are comprehensively covered with synonyms: "continuous profiling", "eBPF profiler", "flame graphs", "off-CPU profiling", "DaemonSet", "kind, k3d", "Pyroscope", "Grafana Cloud Profiles", and specific error surfaces like "tracefs" and "the service.profilesSupport feature gate". These are exactly the terms a user needing this skill would say.

5 / 5

Distinctiveness Conflict Risk

The niche is distinct (OTel continuous profiling infrastructure, not SDK work) and the explicit exclusion "Not for SDK tracing or metrics setup" plus product-specific names (otelcol-ebpf-profiler, Pyroscope, Grafana Cloud Profiles) minimize collision with adjacent otel skills.

5 / 5

Total

20

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

ollygarden/opentelemetry-agent-skills

Path

skills/otel-profiles/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.