CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/opentelemetry-trace-assertions

Author trace-shape assertions in tests using OpenTelemetry SDK in-memory exporter - capture spans during test execution, assert on span name + attributes + status + parent-child structure + duration. Cross-language patterns (Python `InMemorySpanExporter` + `SimpleSpanProcessor`, JS `getRecordedSpans()`, Java `OpenTelemetryExtension`); CI integration. Use when a service is instrumented with the OpenTelemetry SDK and downstream alerts, SLOs, or dashboards depend on specific span names or attributes that a refactor could silently drop.

68

Quality

86%

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

Overview
Quality
Evals
Security
Files

Quality

Content

75%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 code-dense, actionable skill with clear multi-step sequencing and good section structure. The main weakness is conciseness — it quotes documentation prose and re-states trace/span definitions Claude already knows.

Suggestions

Drop the quoted definitions of 'trace' and 'span' in the intro and Step 3/4/5 'Per the docs…' preambles; Claude already knows these concepts — link the docs instead.

Trim the SDK doc quotation in Step 2 ('passes ended spans directly to the configured SpanExporter…') to a one-line rationale for choosing SimpleSpanProcessor over BatchSpanProcessor.

Consider moving the per-language install + setup blocks (Steps 6–7) into a references/ file so the main body stays focused on the Python reference pattern, reducing token load when only one language is needed.

DimensionReasoningScore

Conciseness

Mostly code-forward and efficient, but it re-explains concepts Claude already knows (e.g. 'a trace is "the path of a request through your application"', 'a span is "a unit of work or operation"') and quotes SDK doc prose that could be trimmed.

3 / 5

Actionability

Fully executable, copy-paste-ready code across Python, JS/TS, and Java, an install table, semantic-convention assertions, and a CI yaml snippet covering the common cases.

5 / 5

Workflow Clarity

Clearly numbered Step 1–8 sequence with the assertions themselves serving as validation checkpoints; no destructive/batch operation, so the missing explicit feedback loop is only a minor gap.

4 / 5

Progressive Disclosure

Well-organized into When-to-use, per-language steps, anti-patterns, limitations, and a signaled References section; no bundle files exist to split out, so the inline code blocks are reasonably placed.

4 / 5

Total

16

/

20

Passed

Description

92%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 precise, well-scoped description that answers both 'what' and 'when' with concrete actions and an explicit Use-when clause in third-person voice. Trigger terms are strong though somewhat jargon-heavy.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'capture spans during test execution, assert on span name + attributes + status + parent-child structure + duration' plus 'CI integration' — giving comprehensive coverage of the skill's capabilities.

5 / 5

Completeness

Explicitly states what it does ('Author trace-shape assertions…') and when to use it ('Use when a service is instrumented with the OpenTelemetry SDK and downstream alerts, SLOs, or dashboards depend on specific span names or attributes that a refactor could silently drop').

5 / 5

Trigger Term Quality

Strong, relevant terms (OpenTelemetry, spans, attributes, 'alerts, SLOs, or dashboards') with good coverage, but the language leans technical (e.g. 'in-memory exporter', 'trace-shape assertions') and a few natural user phrasings are absent.

4 / 5

Distinctiveness Conflict Risk

Occupies a clear niche (in-memory-exporter trace assertions in tests) with distinct triggers and minimal overlap with sibling skills.

5 / 5

Total

19

/

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.

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Reviewed

Table of Contents