CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

phoenix-otel-development

Guide for the phoenix-otel TypeScript package — OTel registration, stack-based global provider management, and provider lifecycle.

56

Quality

70%

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

Fix and improve this skill with Tessl

tessl review fix ./js/packages/phoenix-otel/.agents/skills/phoenix-otel-development/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

65%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 an exemplar of token-efficient overview writing with a clean rule-file index, but as shipped the skill is a husk: its actual instructions live in three rule files that are absent from the bundle, leaving only a test command and meta-guidance. Adding the rule files (or inlining minimal register()/lifecycle essentials) would move this from a well-formed pointer to a functional skill.

Suggestions

Include the referenced rule files (rules/global-provider-lifecycle.md, rules/register-api.md, rules/testing.md) in the bundle, or inline a minimal quick-start snippet for register() and provider attach/detach so the body is self-sufficient.

Make the workflow explicit and ordered: 1) read existing code, 2) consult the relevant rule file per the table, 3) implement, 4) run `pnpm --filter phoenix-otel test` and fix until green.

State what the validation gate is (e.g., 'all vitest suites must pass before finishing') so the test command functions as a checkpoint rather than a stray fact.

DimensionReasoningScore

Conciseness

The ~20-line body is lean and assumes Claude's competence: a one-paragraph purpose statement ("Single source of truth for OTel configuration — other Phoenix packages delegate here"), a pointer table, one test command, and two one-line facts. Every token earns its place; nothing explains concepts Claude already knows. Not 4: there is no over-explanation at all to trim.

5 / 5

Actionability

The only executable guidance is the test command (`cd js/` / `pnpm --filter phoenix-otel test`) and the note 'Dual-module output (CJS + ESM). Tests use vitest'; everything else defers to rule files ("rules/register-api.md") that are not present in this bundle. Matches 'some concrete guidance but incomplete; missing key details'; not 4 because there is no code example or concrete step for the skill's core tasks (registration, lifecycle management).

3 / 5

Workflow Clarity

A rough sequence exists ('Read existing code in the directory you're working in before writing new code', the when-to-read rule table, then the test command), but no explicit ordered workflow with validation checkpoints — the test command appears as a fact, not as a 'run after changes' step. Matches 'sequence present but checkpoints missing or implicit'; not 2 because the steps that exist are well defined, not vague.

3 / 5

Progressive Disclosure

The rule-file table is a well-signaled, one-level-deep pointer structure with clear when-to-read guidance — nominally 4-5. However, none of the three referenced files (rules/global-provider-lifecycle.md, rules/register-api.md, rules/testing.md) exist in this bundle (no references/, scripts/, assets/, or rules/ directories), so the pointers cannot be followed and the body carries almost no self-contained substance. Scored down to 'some structure but could be better organized'.

3 / 5

Total

14

/

20

Passed

Description

62%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 is specific, honest, and narrowly scoped to a single package, giving it excellent distinctiveness. Its main weaknesses are the complete absence of a 'when to use' trigger clause and thin synonym coverage for natural trigger terms (e.g., no spelled-out 'OpenTelemetry').

Suggestions

Add an explicit trigger clause, e.g. 'Use when working in js/ packages that register OTel providers, manage the global provider stack, or export spans from phoenix-otel.'

Include common trigger variations and synonyms such as 'OpenTelemetry', 'instrumentation', 'tracing', and 'span processor' so users phrasing the need differently still match.

Optionally name the concrete API surface (register(), provider attach/detach, snapshot/restore) to lift specificity from several actions to comprehensive coverage.

DimensionReasoningScore

Specificity

Names the exact target ("phoenix-otel TypeScript package") and three concrete capability areas — "OTel registration, stack-based global provider management, and provider lifecycle" — which matches the anchor listing several specific actions with minor gaps. Not 5: 'provider lifecycle' is broad and the coverage of the package's API surface is incomplete; not 3: far more concrete than a single generic action.

4 / 5

Completeness

The 'what' is clear (OTel registration, provider management, lifecycle) but there is no 'Use when...' or equivalent trigger clause, which caps completeness at 3 per the judging guidelines. Not 2 because the 'what' is specific, not vague; not 4 because 'when' is entirely absent rather than weakly implied.

3 / 5

Trigger Term Quality

Contains relevant domain keywords a user might say ("OTel", "registration", "provider", the package name), but misses common variations such as the spelled-out "OpenTelemetry", "instrumentation", or "tracing". Sits between 'some relevant keywords but missing variations' (3) and 'good coverage' (4) — closer to 3 given the thin synonym coverage.

3 / 5

Distinctiveness Conflict Risk

Scoped to a single named package ("phoenix-otel") with OTel-specific triggers — a clear niche with distinct triggers and minimal conflict risk. Not 4: it is even more narrowly bounded than the 'minor overlap risk' anchor.

5 / 5

Total

15

/

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

metadata_field

'metadata' should map string keys to string values

Warning

Total

15

/

16

Passed

Repository

Arize-ai/phoenix

Path

js/packages/phoenix-otel/.agents/skills/phoenix-otel-development/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.