CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

otel-migration

Retrofitting OpenTelemetry into an existing, uninstrumented application. Trigger phrases: "migrate existing app to OTel", "add OpenTelemetry to existing project", "retrofit OTel into my codebase", "thread context through my code", "context propagation", "bridge Prometheus metrics to OTel", "logging bridge", "migrate logging to OTel", "slog bridge", "logback bridge", "verify my instrumentation", "traces are disconnected", "orphaned spans", "migrate to OpenTelemetry", "OTel migration plan", "how do I sequence an OTel migration", "add tracing to existing code", "refactor for context propagation", "Fiber context gotcha", "keep existing logging working with OTel", "add OTel without breaking Prometheus", "bridge existing metrics", "coexist with existing monitoring". For greenfield instrumentation use otel-instrumentation; for Beelines use beeline-migration.

77

1.00x
Quality

89%

Does it follow best practices?

Impact

100%

1.00x

1 of 3 eval scenarios. Add 2 more for a full score.

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.

A well-structured phased-migration overview: clear sequencing, explicit per-phase verification, and excellent progressive disclosure into a complete, verified bundle. The main shortfalls are minor — no inline code, no articulated fix-and-retry loop, a few 'N/A' table rows, and slight duplication between the Phase 3 language list and its reference file.

Suggestions

Add a short error-recovery loop to the Verification section (e.g., 'if verification fails, check the framework context-access row and the pitfalls catalog, fix, then re-verify') to close the workflow_clarity gap.

Trim the framework table's 'N/A (standard)' / 'N/A' rows — listing only frameworks that have a real gotcha would tighten the table without losing information (conciseness).

Include one small inline code snippet for the highest-ROI step (e.g., the Fiber v2 middleware + c.UserContext() pattern) so the most common case is copy-paste ready without opening a reference (actionability).

DimensionReasoningScore

Conciseness

The body is efficient and assumes competence — it gives migration-specific judgment ("Shutdown ordering matters: flush traces, then metrics, then logs. Use a timeout (10-30s)", effort percentages, the Fiber gotcha) rather than explaining OTel concepts. Not a 5 because the framework table carries several information-free "N/A" rows and the Phase 3 per-language difficulty list partially duplicates content delegated to context-propagation-patterns.md; not a 3 because there is no real padding — every section carries non-obvious guidance.

4 / 5

Actionability

Guidance is concrete and executable in the main: exact API calls in the table ("c.UserContext()", "c.Request.Context()"), specific orderings and timeouts, and a precise bridging directive ("Prometheus bridge reads from the existing registry... existing `prometheus.NewCounterVec(...)` calls continue unchanged"). Not a 5 because there is no copy-paste-ready code or command inline — code is deferred to reference files; not a 3 because the directives are exact method names, orderings, and priorities, far beyond pseudocode, and detail is deliberately delegated to well-signaled references.

4 / 5

Workflow Clarity

Six phases are explicitly sequenced ("The migration follows six phases in order. Each phase is independently deployable and verifiable") with an explicit per-phase checkpoint ("After each phase, verify that instrumentation is correct and complete") and a bundled verification checklist. Not a 5 because no error-recovery feedback loop (what to do when verification fails) is articulated in the body — it must be inferred from the checklist reference; not a 3 because checkpoints are explicit, not implicit, and a checklist for the complex process exists.

4 / 5

Progressive Disclosure

The body is a true overview that delegates detail to one-level-deep, clearly signaled references; all five bundled files in references/ (framework-middleware, context-propagation-patterns, bridge-libraries, verification-checklist, migration-pitfalls) are referenced at the exact point of need, and cross-skill pointers (otel-instrumentation, beeline-migration) are explicit. Content is appropriately split and navigation is easy.

5 / 5

Total

17

/

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.

A strong description: clear one-sentence 'what', an unusually thorough and natural trigger-phrase list with synonyms and symptom phrasings, and explicit disambiguation from sibling skills. The only minor gap is that verification is represented solely as a trigger phrase rather than a named capability.

DimensionReasoningScore

Specificity

The opening sentence names one concrete action ("Retrofitting OpenTelemetry into an existing, uninstrumented application"), and the trigger list enumerates several more specific capabilities — "thread context through my code", "bridge Prometheus metrics to OTel", "logging bridge", "slog bridge", "logback bridge". Not a 5 because verification appears only as a trigger phrase ("verify my instrumentation") rather than a stated capability, so coverage has a minor gap; not a 3 because well more than 1-2 concrete actions are explicitly named.

4 / 5

Completeness

Explicitly answers 'what' ("Retrofitting OpenTelemetry into an existing, uninstrumented application") and 'when' via a dedicated, concrete trigger-phrase list — equivalent explicit trigger guidance that lifts the completeness cap. Matches the anchor example's pattern of a clear what plus explicit use-when triggers.

5 / 5

Trigger Term Quality

Comprehensive natural-term coverage with synonyms ("OTel" / "OpenTelemetry"), user-voiced phrasings ("how do I sequence an OTel migration", "keep existing logging working with OTel", "add OTel without breaking Prometheus"), and symptom-based triggers ("traces are disconnected", "orphaned spans", "Fiber context gotcha"). Clearly exceeds the 'a few natural terms missing' anchor at 4.

5 / 5

Distinctiveness Conflict Risk

Clear niche (brownfield retrofit into an existing, uninstrumented app) with explicit boundary guidance: "For greenfield instrumentation use otel-instrumentation; for Beelines use beeline-migration." Distinct, specific triggers (Fiber gotcha, Prometheus bridging) make wrong-skill triggering unlikely.

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

honeycombio/agent-skill

Path

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