CtrlK
BlogDocsLog inGet started
Tessl Logo

otel-span-events-to-logs-migration

Migrate OpenTelemetry Span Events (AddEvent, RecordException, and language equivalents) to the Logs API following the accepted OTEP 4430 migration plan. Use when migrating instrumentation from span events to log-based events, reviewing code that still uses AddEvent or RecordException, or planning a codebase migration while preserving trace correlation.

68

Quality

83%

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

73%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 migration skill with an exemplary verification loop and clear one-level-deep references. The main weaknesses are inline time-sensitive status/version detail that belongs in the deprecation-plan reference, an empty 'Verify' step, and a bundled scan script that is never referenced.

Suggestions

Move the dated status paragraph ('Status as of 2026-10-03 ...', Go 1.47.0+, contrib v1.60.0, .NET Obsolete note) into references/deprecation-plan.md or a dedicated status section so time-sensitive facts don't sit inline in the workflow.

Give step 5 concrete verification guidance, e.g. run `./scripts/scan-span-events.sh <dir>` to confirm no unmigrated span-event call sites remain, then apply the completion-loop checklist.

Reference scripts/scan-span-events.sh in step 1 as the scan tool instead of (or in addition to) listing manual search patterns, so the bundled script is discoverable and the scan is copy-paste executable.

DimensionReasoningScore

Conciseness

The body is mostly lean imperative bullets with no basic-concept padding, but it carries notable time-sensitive detail inline ('Status as of 2026-10-03: OTEP 4430 is accepted ... Development status', 'Go (1.47.0+...)', 'opentelemetry-java-contrib v1.60.0', the .NET '[Obsolete]' note) that the guidelines say should penalize conciseness unless placed in a deprecated/old-patterns section, and the dated status paragraph belongs in references/deprecation-plan.md. There is also some duplication of the semconv-attribute and scan-pattern guidance between the Workflow and Checklist sections, so it could be tightened rather than being fully efficient.

3 / 5

Actionability

Mostly executable guidance: exact search terms, concrete Go APIs ('get loggers with otel.Logger ...', 'log.Record.AddAttributes accepts attribute.KeyValue', 'Record.SetEventName(...)'), full Java package coordinates, and named semconv attributes (exception.type, exception.message, exception.stacktrace). Not a 5 because step 5 'Verify the migration' is an empty stub with no concrete verification command, and the bundled scan script scripts/scan-span-events.sh is never surfaced, so the reader must hand-roll what the bundle already provides.

4 / 5

Workflow Clarity

A clearly sequenced 0-5 workflow (prepare, scan, classify, apply, bridge, verify) backed by an explicit 'Required Completion Loop' with a re-read-and-confirm-evidence feedback loop, patch-or-mark-not-applicable-and-repeat recovery, and 'do not finish until every checklist item is completed or explicitly marked not applicable'. This matches the anchor for explicit validation steps, error-recovery loops, and a checklist, and fully covers the batch-operation validation requirement.

5 / 5

Progressive Disclosure

Good structure: all four bundle references (deprecation-plan.md, decision-tree.md, migration-patterns.md, backward-compat.md) are real files, clearly signaled at their point of use, and one level deep (no nested references inside them), with the SKILL.md body kept to an overview. Not a 5 because the bundle also contains scripts/scan-span-events.sh, which the body never mentions, leaving part of the actual bundle structure undiscoverable from the skill.

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.

An excellent description: it states concrete capabilities with named APIs and an explicit 'Use when' clause covering three distinct trigger scenarios. The only improvement space is spelling out common language-specific method variants rather than relying on 'language equivalents'.

DimensionReasoningScore

Specificity

The description names multiple concrete actions with specific artifacts: 'Migrate OpenTelemetry Span Events (AddEvent, RecordException, and language equivalents) to the Logs API following the accepted OTEP 4430 migration plan' and 'planning a codebase migration while preserving trace correlation'. It matches the anchor for multiple specific concrete actions with comprehensive coverage, naming exact API methods, the target API, and the governing plan.

5 / 5

Completeness

Both 'what' and 'when' are explicitly answered: the what is 'Migrate OpenTelemetry Span Events ... to the Logs API following the accepted OTEP 4430 migration plan', and the when is an explicit 'Use when migrating instrumentation from span events to log-based events, reviewing code that still uses AddEvent or RecordException, or planning a codebase migration'. This mirrors the anchor-5 example structure with concrete trigger phrases.

5 / 5

Trigger Term Quality

Strong keyword coverage: 'span events', 'AddEvent', 'RecordException', 'Logs API', 'log-based events', 'trace correlation' are all phrases a user needing this skill would naturally say. Not a 5 because common language-specific variants a user might mention (Go 'RecordError', Rust 'record_error', .NET 'AddException'/'ActivityEvent') are only gestured at via 'language equivalents' rather than named, leaving a few natural terms missing.

4 / 5

Distinctiveness Conflict Risk

A clear niche (OTel span-event-to-Logs-API migration under OTEP 4430) with distinct triggers like 'AddEvent', 'RecordException', and 'OTEP 4430' that no general telemetry or logging skill would share. Minimal conflict risk with related observability skills.

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.

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.