CtrlK
BlogDocsLog inGet started
Tessl Logo
PluginPublic

testland/otel-collector-config-tester

Validates OpenTelemetry Collector pipeline configurations and verifies spans flow end-to-end through the collector: runs `otelcol validate --config`, wires the `debug`/`file` exporter for span-output assertions, and integrates the full cycle into CI. Use when a collector config change (new receiver, processor swap, exporter wiring) needs correctness verification before deployment.

Quality

91%

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

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.

A well-structured, actionable skill: a five-step workflow with embedded assertions at every stage, executable commands and configs, a genuine anti-patterns checklist, and a correctly split one-level-deep CI reference. The two weaknesses are minor: some redundant/known-concept explanation repeated across sections, and an unspecified test-span payload for the central send-spans step.

Suggestions

Deduplicate the flush_interval (wait 2s) and pinned-image-tag advice, which currently appears in Step 3, Step 5, the Anti-patterns table, Limitations, and the reference file — state each once and cross-reference it.

Specify the shape of the test-span input (an example test-span.json payload or a minimal send_test_spans.py using the OTel SDK) so the central send-and-assert step is copy-paste ready end to end.

Trim explanations of concepts Claude already knows (component `type[/name]` naming, "Processors modify spans in transit", the OTTL acronym expansion) and the motivational intro paragraph.

DimensionReasoningScore

Conciseness

Mostly lean — commands, config blocks, and tables dominate — but there are trimmable elements: a motivational intro ("A misconfigured Collector pipeline silently drops or misroutes spans"), explanations Claude already knows ("Components follow `type[/name]` naming", "Processors modify spans in transit", the OTTL acronym expansion), and the flush-interval/pin-tag advice repeated across Steps 3/5, Anti-patterns, and Limitations. The pinned version "0.153.0" is time-sensitive information outside any deprecated-patterns section. This is more than anchor-5 leanness but noticeably tighter than the padded anchor-3 example.

4 / 5

Actionability

Concrete, executable guidance throughout: `otelcol validate --config=collector-config.yaml`, the jq attribute assertion, the `wc -l` output guard, the pinned `docker run` command, and CI YAML steps. However, the central "send a test span" step is under-specified — "test-span.json" and "tests/send_test_spans.py" are referenced without any payload shape or implementation, so that step is not copy-paste ready. Minor gaps keep this at anchor 4 rather than the fully-executable anchor 5.

4 / 5

Workflow Clarity

Five clearly numbered steps each embed an assertion checkpoint (grep for the trace ID/attribute, `[ $(wc -l < ...) -gt 0 ]`, the jq attribute check), Step 1 is itself a validation gate ("Exit code is non-zero on any validation error, so a failing step blocks the pipeline"), and the Anti-patterns table functions as a failure-mode checklist mapping each failure to its fix. The referenced CI workflow adds `if: always()` teardown. This matches the anchor-5 pattern of explicit validation steps plus a checklist, with no sequence gaps.

5 / 5

Progressive Disclosure

The core method lives inline while the full CI workflow is appropriately split to references/ci-integration.md, which exists and is clearly signaled ("Full workflow with checkout, startup gating, and teardown: [references/ci-integration.md](references/ci-integration.md)"). References are one level deep, navigation is easy via section headers, and the References section labels each external link's purpose.

5 / 5

Total

18

/

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 strong description in third-person voice: it names concrete commands and components, distinguishes validation from end-to-end span verification, and closes with an explicit, trigger-rich 'Use when' clause. The only weakness is missing a few natural trigger synonyms ('test', 'traces') in the description itself.

DimensionReasoningScore

Specificity

Quotes: "Validates OpenTelemetry Collector pipeline configurations", "verifies spans flow end-to-end through the collector", "runs `otelcol validate --config`", "wires the `debug`/`file` exporter for span-output assertions", "integrates the full cycle into CI". Multiple specific concrete actions naming exact commands and components, comprehensively covering every behavior the skill body demonstrates with no coverage gaps.

5 / 5

Completeness

Explicitly answers what ("Validates... runs `otelcol validate --config`, wires the `debug`/`file` exporter..., integrates the full cycle into CI") and when ("Use when a collector config change (new receiver, processor swap, exporter wiring) needs correctness verification before deployment") with concrete trigger phrases — matching the anchor-5 example pattern exactly; the when-clause is fully explicit, so 4's looser standard does not apply.

5 / 5

Trigger Term Quality

Natural domain phrases like "collector config change", "new receiver, processor swap, exporter wiring", "spans", and "otelcol validate" match what users would say, but common natural variations such as "test my collector config", "traces/tracing", and "telemetry pipeline" are absent from the description (they appear only in metadata.keywords, not the description field). Good coverage with a few natural terms missing fits anchor 4 rather than the comprehensive synonym coverage of anchor 5.

4 / 5

Distinctiveness Conflict Risk

Clear niche — collector pipeline config correctness testing — with distinct triggers (`otelcol validate`, debug/file exporters, span flow through the collector) and an explicit when-clause scoping to pre-deployment collector changes, minimizing conflict risk even against the closely related SDK-level trace-assertions skill mentioned in the body.

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

Reviewed

On this page