CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

phoenix-observability

Open-source AI observability platform for LLM tracing, evaluation, and monitoring. Use when debugging LLM applications with detailed traces, running evaluations on datasets, or monitoring production AI systems with real-time insights.

60

Quality

76%

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 ./backend/cli/skills/ml-inference/phoenix/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

61%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 a well-organized, highly actionable reference with mostly copy-paste-ready code and correctly structured one-level-deep references. Its main weaknesses are repetition in the framework-instrumentation sections, a concept explanation Claude doesn't need, and the absence of embedded validation checkpoints in the setup-to-production flow.

Suggestions

Collapse the four framework sections into one shared register() snippet plus a small table mapping framework → instrumentor import, removing ~60 lines of duplicated boilerplate.

Drop or compress the 'A trace represents a complete execution flow, while spans are individual operations' definition — Claude already knows OpenTelemetry span semantics.

Embed a short verification checkpoint after the basic-tracing section (e.g., 'open the UI at session.url and confirm spans appear before running evaluations') instead of relegating all validation to the troubleshooting reference.

DimensionReasoningScore

Conciseness

Prose is lean and mostly code, but the four framework-instrumentation sections (OpenAI, LangChain, LlamaIndex, Anthropic) repeat the identical register()+instrument() boilerplate verbatim, and 'A trace represents a complete execution flow, while spans are individual operations' explains an OpenTelemetry concept Claude already knows — both could be tightened.

3 / 5

Actionability

Nearly all snippets are concrete and executable — 'pip install arize-phoenix', 'phoenix serve --port 6006', register/instrument calls, client.get_spans_dataframe with a real filter_condition — but the custom-evaluator example calls llm_classify with an eval_model that is never defined or imported in that snippet, a minor gap.

4 / 5

Workflow Clarity

The document follows a sensible arc (install → launch → instrument → evaluate → deploy) but presents it as parallel topic sections rather than a sequenced workflow, and validation checkpoints (verify the server is up, confirm traces are arriving) appear only in the separate 'Common issues' section instead of embedded in the flow.

3 / 5

Progressive Disclosure

Good structure with two clearly signaled, one-level-deep references (references/advanced-usage.md and references/troubleshooting.md, both present and non-nested) linked from a dedicated References section. Minor gaps: the repetitive per-framework instrumentation blocks and parts of the deployment/env-var detail could be moved to the advanced reference to slim the 465-line body.

4 / 5

Total

14

/

20

Passed

Description

83%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 that clearly and explicitly states both what the skill does and when to use it, with concrete, naturally-phrased triggers. It falls just short of top marks on specificity and trigger coverage because it names only three of the platform's capabilities and misses synonyms like 'experiments' and 'self-hosted'.

Suggestions

Mention one or two more concrete capabilities (e.g., 'run experiments to compare prompts and models', 'build versioned test datasets') to close the coverage gap against the skill's actual feature set.

Add trigger synonyms users naturally say, such as 'traces', 'experiments', or 'self-hosted observability', to broaden natural-term coverage.

Consider a distinguishing cue like 'self-hosted/OpenTelemetry-based' in the when-clause to further separate it from managed-platform alternatives (LangSmith, Arize Cloud).

DimensionReasoningScore

Specificity

The description names the domain and several concrete capabilities — 'LLM tracing, evaluation, and monitoring' plus 'debugging LLM applications with detailed traces, running evaluations on datasets' — but omits other core capabilities the skill covers (datasets, experiments, playground), so coverage has minor gaps rather than being comprehensive.

4 / 5

Completeness

It explicitly answers both parts: the 'what' ('Open-source AI observability platform for LLM tracing, evaluation, and monitoring') and the 'when' ('Use when debugging LLM applications with detailed traces, running evaluations on datasets, or monitoring production AI systems') with concrete trigger phrases.

5 / 5

Trigger Term Quality

Natural phrases users would say are present ('debugging LLM applications', 'running evaluations on datasets', 'monitoring production AI systems'), but a few common variations are missing — e.g. 'experiments', 'prompt comparison', 'self-hosted', 'traces' as a standalone trigger — preventing full synonym coverage.

4 / 5

Distinctiveness Conflict Risk

'AI observability platform for LLM tracing' carves out a clear niche with distinct triggers, but phrases like 'running evaluations on datasets' and 'monitoring production AI systems' could also match a LangSmith/W&B-style skill, leaving minor overlap risk with closely related observability skills.

4 / 5

Total

17

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

14

/

16

Passed

Repository

synthetic-sciences/openscience

Path

backend/cli/skills/ml-inference/phoenix/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.