CtrlK
BlogDocsLog inGet started
Tessl Logo

otel-js

OpenTelemetry in Node.js / JavaScript / TypeScript — NodeSDK, declarative YAML configuration, auto-instrumentations, ESM vs CJS import patterns. Use when adding, reviewing, or configuring OpenTelemetry in a Node.js service. Triggers on "setup otel in node", "js telemetry", "node tracing setup", "NodeSDK", "auto instrumentation node", "TracerProvider node", or any Node.js-related OTel question.

75

Quality

92%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

88%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 clean, well-structured entry-point skill: unambiguous routing to a verified one-level-deep reference, executable fetch commands, and no padding. The two deductions both stem from the same issue — the version-pinned sources table is duplicated between the body and the reference file, adding tokens and blurring the overview/detail split.

Suggestions

Drop the "Sources of Truth" table from the body (or trim it to the two or three most common facts) and keep it solely in references/declarative-setup.md, leaving the body as the routing layer: reference table plus cross-references.

Move the pinned version numbers (2.11.0 / 0.222.0 / 0.80.0) out of the entry-point body or label them explicitly as a known-good snapshot, letting the `npm view <pkg> version` commands carry 'latest' so stale pins don't linger in the overview.

DimensionReasoningScore

Conciseness

The body is lean and teaches nothing Claude already knows, but the "Sources of Truth" table embeds pinned version numbers ("2.11.0", "0.222.0", "0.80.0") that will go stale, and most of its rows are duplicated verbatim in references/declarative-setup.md. This fits the 4 anchor (efficient with minor instances that could be trimmed) rather than the 5 anchor where every token earns its place.

4 / 5

Actionability

Every instruction is executable: a routing table with a concrete "Use when" column, copy-paste commands (`npm view @opentelemetry/configuration version`), exact WebFetch URLs, and an unambiguous directive ("Load a reference below based on the task; each reference is self-contained"). For an index-style skill the guidance is fully actionable, matching the 5 anchor.

5 / 5

Workflow Clarity

This is a simple, single-action entry-point skill and that action is unambiguous: match the task to the reference table and load the (verified, real, self-contained) reference file, or fetch facts via the listed commands. There are no destructive or batch operations, so the validation cap does not apply; per the simple-skill exception this warrants a 5.

5 / 5

Progressive Disclosure

The overview is clear and the single reference is well-signaled, real, and one level deep (verified — it does not chain to further files). However, the body's "Sources of Truth" table substantially duplicates the same table inside references/declarative-setup.md, a minor content-placement gap that keeps it at the 4 anchor rather than the 5 anchor's 'content appropriately split'.

4 / 5

Total

18

/

20

Passed

Description

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

A strong description: it states concrete capabilities, gives an explicit 'Use when...' clause, and provides both natural-language and technical trigger terms. The only weakness is minor overlap risk with sibling OTel skills via the broad catch-all phrase and the shared declarative-YAML topic.

DimensionReasoningScore

Specificity

The description lists multiple concrete capabilities — "NodeSDK, declarative YAML configuration, auto-instrumentations, ESM vs CJS import patterns" — plus actions "adding, reviewing, or configuring", giving comprehensive, specific coverage within its domain. It clearly matches the 'multiple specific concrete actions; comprehensive coverage' anchor rather than the 4 anchor, which expects minor gaps.

5 / 5

Completeness

It explicitly answers 'what' (NodeSDK, declarative YAML configuration, auto-instrumentations, ESM vs CJS import patterns) and 'when' ("Use when adding, reviewing, or configuring OpenTelemetry in a Node.js service") with concrete trigger phrases. This matches the 5 anchor exactly; the 4 anchor requires the 'when' to be less explicit, which is not the case.

5 / 5

Trigger Term Quality

Natural user phrases ("setup otel in node", "js telemetry", "node tracing setup") are combined with the exact technical names users would echo back ("NodeSDK", "auto instrumentation node", "TracerProvider node") and a broad catch-all. This is comprehensive coverage including both casual and technical variants, fitting the 5 anchor rather than the 4 anchor that expects missing natural terms.

5 / 5

Distinctiveness Conflict Risk

The Node.js scoping and Node-specific triggers ("NodeSDK", "TracerProvider node") make it mostly distinct, but "any Node.js-related OTel question" and the declarative-YAML topic overlap with closely related sibling skills (the body cross-references an `otel-declarative-config` skill covering the same YAML ground). This fits the 4 anchor (minor overlap risk with closely related skills) rather than the 5 anchor's 'minimal conflict risk'.

4 / 5

Total

19

/

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