CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

otel-ottl

OpenTelemetry Transformation Language (OTTL) expert. Use when writing or debugging OTTL expressions for any OpenTelemetry Collector component that supports OTTL (processors, connectors, receivers, exporters). Triggers on tasks involving telemetry transformation, filtering, attribute manipulation, data redaction, sampling policies, routing, or Collector configuration. Covers syntax, contexts, functions, error handling, and performance.

Quality

88%

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

78%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 lean and highly actionable, with valid OTTL examples, a concrete validate-then-test-then-promote workflow, and a useful error-mode reference table. The main defect is progressive disclosure: all detailed content is delegated to ./rules/*.md files that do not exist in the bundle, so every reference link dead-ends. Minor conciseness penalty comes from inline version-dependent default history.

Suggestions

Ship the referenced ./rules/ bundle files (components.md, function-reference.md, patterns.md, redaction.md, cardinality.md, enrichment.md) alongside SKILL.md, or inline the essential content (e.g., the most common editors/converters and top patterns) so the body is self-sufficient if the files are missing.

Add an explicit feedback loop to the validation workflow, e.g. "If `otelcol validate` reports compilation errors, fix the statement and re-validate before starting the Collector", to earn full workflow-clarity credit.

Move version-sensitive details ("default to `ignore` since Collector Contrib v0.153.0 and to `propagate` before it") into a version-compatibility or deprecated-defaults note so the main error-handling section stays evergreen.

DimensionReasoningScore

Conciseness

The body is lean and code-first (short syntax sections, tables, BAD/GOOD examples) with no padding, matching 'efficient; minor instances that could be trimmed'. The inline version history "default to `ignore` since Collector Contrib v0.153.0 and to `propagate` before it" is time-sensitive detail not placed in a deprecated/version-notes section, keeping it below the lean anchor.

4 / 5

Actionability

Fully executable throughout: valid OTTL snippets ("set(span.attributes[\"region\"], \"us-east-1\")", the `where`-clause nil check), a concrete validation command ("otelcol validate --config=config.yaml"), and complete copy-paste-ready YAML for the debug exporter and `error_mode`. Specific examples cover the common cases.

5 / 5

Workflow Clarity

The "Validation workflow" is a clearly sequenced 4 steps with concrete checkpoints (validate command, debug-exporter inspection with config). Not 5 because there is no explicit feedback loop — no "if validation fails, fix and re-run" guidance between the validate step and promotion.

4 / 5

Progressive Disclosure

Structure and signaling are excellent (one-level-deep links with descriptive anchors and a keep-in-sync comment), but every bundle reference — "./rules/components.md", "./rules/function-reference.md", "./rules/patterns.md", "./rules/redaction.md", "./rules/cardinality.md", "./rules/enrichment.md" — points to files that are absent from the bundle (no rules/ directory exists). Navigation dead-ends, so the split is illusory rather than a minor organization gap.

3 / 5

Total

16

/

20

Passed

Description

95%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 explicitly states what the skill does and when to use it, with a clear 'Use when' clause and a broad list of concrete trigger phrases covering transformation, filtering, redaction, sampling, and routing. It stays in a well-defined niche with minimal conflict risk and avoids fluff. The only minor gap is that capability coverage is expressed more as topics than as distinct concrete actions.

DimensionReasoningScore

Specificity

"writing or debugging OTTL expressions" names two concrete actions and "Covers syntax, contexts, functions, error handling, and performance" enumerates scope comprehensively, matching the 'several specific actions; minor gaps' anchor. Not 5 because the 'Covers...' list is topical scope rather than additional concrete actions.

4 / 5

Completeness

Explicitly answers both: what ("OTTL expert... writing or debugging OTTL expressions for any OpenTelemetry Collector component that supports OTTL") and when ("Use when writing or debugging OTTL expressions..." plus "Triggers on tasks involving..."). Matches the anchor for concrete trigger phrases answering both what AND when.

5 / 5

Trigger Term Quality

"telemetry transformation, filtering, attribute manipulation, data redaction, sampling policies, routing, or Collector configuration" plus component names ("processors, connectors, receivers, exporters") and "OTTL" are exactly the natural phrases a user would say when needing this skill. Comprehensive coverage with synonyms; no gaps identified.

5 / 5

Distinctiveness Conflict Risk

"OpenTelemetry Transformation Language (OTTL)" is a clear niche with distinct triggers scoped to Collector components and OTTL expressions. Only negligible overlap with a hypothetical general OpenTelemetry skill; minimal conflict risk.

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.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 12 missing

Warning

Total

15

/

16

Passed

Repository

dash0hq/agent-skills

Path

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