CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

otel-ruby

OpenTelemetry in Ruby — SDK setup, manual tracing, experimental metrics and logs, Bundler integration, contrib instrumentation for Rails/Rack/Sinatra/Sidekiq and other gems, propagation, performance, and upgrades. Use when adding, reviewing, configuring, or troubleshooting OpenTelemetry in a Ruby or Rails service. Triggers on "setup otel in ruby", "ruby telemetry", "Rails OpenTelemetry", "OpenTelemetry::SDK.configure", "opentelemetry-instrumentation-all", "Ruby tracing", "Rack otel", "Sidekiq otel", or any Ruby-related OTel question.

74

Quality

93%

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

85%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.

The body is an exemplary progressive-disclosure entry point: a precise routing table over verified one-level-deep references, non-obvious domain rules about signal stability, and live source-of-truth commands. Its only weaknesses are a dense time-sensitive version snapshot that inflates token cost and sibling-skill cross-references that lack actionable links.

Suggestions

Move the per-gem version snapshot (tracing/metrics/logs API, SDK, and exporter versions) into references/breaking-changes.md and keep a single line in the body pointing to it, retaining only the live gh/gem lookup commands for version-sensitive work.

Link the cross-referenced sibling skills (e.g., otel-sdk-versions, otel-semantic-conventions, otel-collector, otel-telemetrygen) with relative paths the way the otel-declarative-config pointer is done, so routing to them is directly actionable.

Shape the releases lookup with a concrete example (e.g., a --jq filter for tag_name and published_at) so the gh api command returns an immediately usable answer instead of a raw paginated JSON dump.

DimensionReasoningScore

Conciseness

The body is lean and assumes Claude's competence — no explanations of what OpenTelemetry or Ruby is, just routing, stability caveats, and lookup commands. However, the "Released snapshot verified 2026-10-19" block embeds six lines of specific dates and version numbers without being placed in an old-patterns/deprecated section, which per the judging guidelines penalizes conciseness; it is partially mitigated by the explicit "audit anchor, not a version-alignment rule" framing and the paired live-lookup commands, so this sits above the level-3 anchor (mostly efficient, one time-sensitive block that could be trimmed) rather than at level 5.

4 / 5

Actionability

Concrete copy-paste commands are present ("gh api repos/open-telemetry/opentelemetry-ruby/releases --paginate", "gem specification <gem> dependencies --remote --yaml") and the reference table gives precise per-task routing, which is actionable for an entry-point skill. Minor gaps keep it below level 5: the cross-references name sibling skills ("otel-sdk-versions skill", "otel-collector and otel-telemetrygen skills") without paths or links, and the raw releases JSON is not shaped (no --jq or follow-up step), so the guidance is mostly-but-not-fully turnkey.

4 / 5

Workflow Clarity

This is a router skill whose single action is unambiguous: "Load only the reference that matches the task", backed by a five-row table with distinct "Use when" conditions covering setup, API usage, instrumentation selection, performance, and upgrades, plus a decision rule for signal-stability version resolution and live lookups for version-sensitive facts. Per the scoring notes, a skill with a single unambiguous action can score 5; no destructive or batch operations exist that would require validation checkpoints, and the sibling-skill routing extends the decision path coherently.

5 / 5

Progressive Disclosure

The SKILL.md is a clear overview with a well-signaled reference table linking five one-level-deep files, all of which exist in references/ (setup.md, api.md, instrumentation-libraries.md, performance.md, breaking-changes.md), and each is described with a distinct "Use when" condition so navigation is easy. Detail is appropriately deferred to those files with nothing inlined that belongs there, matching the level-5 anchor; the one out-of-bundle pointer (../otel-declarative-config/SKILL.md) is an explicit, clearly labeled cross-skill attribution rather than nested content.

5 / 5

Total

18

/

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.

The description is exemplary: it states what the skill covers in concrete terms, gives an explicit "Use when" clause, and supplies a rich set of natural trigger phrases including synonyms and gem/API identifiers. It is tightly scoped to Ruby, keeping conflict risk with sibling OTel skills minimal.

DimensionReasoningScore

Specificity

The description enumerates concrete capabilities — "SDK setup, manual tracing, experimental metrics and logs, Bundler integration, contrib instrumentation for Rails/Rack/Sinatra/Sidekiq", "propagation, performance, and upgrades" — giving comprehensive coverage of the skill's scope, matching the level-5 anchor. It exceeds level 4 because the action list is comprehensive rather than having minor gaps, and is not level-3 since far more than 1-2 actions are named.

5 / 5

Completeness

Both questions are explicitly answered: the "what" via the enumerated capability list, and the "when" via "Use when adding, reviewing, configuring, or troubleshooting OpenTelemetry in a Ruby or Rails service" followed by concrete trigger phrases. This matches the level-5 anchor exactly; level 4 would require the "when" clause to be less explicit, but here it is fully explicit with triggers.

5 / 5

Trigger Term Quality

It lists natural trigger phrases users would actually say — "setup otel in ruby", "ruby telemetry", "Rails OpenTelemetry", "Ruby tracing", "Rack otel", "Sidekiq otel" — plus API/gem identifiers like "OpenTelemetry::SDK.configure" and "opentelemetry-instrumentation-all", covering synonyms (otel/OpenTelemetry/telemetry/tracing) and framework variants. This matches the level-5 anchor of comprehensive natural-term coverage including synonyms; level 4 would leave noticeable natural terms missing, which is not the case.

5 / 5

Distinctiveness Conflict Risk

The description occupies a clear niche (OpenTelemetry specifically in Ruby/Rails) with framework-specific triggers, and the trailing catch-all is gated to "any Ruby-related OTel question", minimizing overlap with sibling OTel skills (collector, semantic conventions, other languages). Matches the level-5 anchor of a clear niche with distinct triggers and minimal conflict risk; level 4 would imply noticeable overlap with closely related skills, which the Ruby scoping prevents.

5 / 5

Total

20

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 1 suspicious

Warning

Total

15

/

16

Passed

Repository

ollygarden/opentelemetry-agent-skills

Path

skills/otel-ruby/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.