All skills
github avatar

/phoenix-tracing

@4214189 official
by githubgithub/awesome-copilot40k stars
5,040

OpenInference semantic conventions and instrumentation for Phoenix AI observability. Use when implementing LLM tracing, creating custom spans, or deploying to production.

Use this Skill: https://skilld.dev/gh/github/awesome-copilot/phoenix-tracing

This session only. Nothing lands on disk.

referencesannotations-python.md

≈799 tokens on demand. Your agent reads this file only when SKILL.md points to it.

Python SDK Annotation Patterns

Add feedback to spans, traces, documents, and sessions using the Python client.

Client Setup

from phoenix.client import Client
client = Client()  # Default: http://localhost:6006

Span Annotations

Add feedback to individual spans:

client.spans.add_span_annotation(
    span_id="abc123",
    annotation_name="quality",
    annotator_kind="HUMAN",
    label="high_quality",
    score=0.95,
    explanation="Accurate and well-formatted",
    metadata={"reviewer": "alice"},
    sync=True
)

Document Annotations

Rate individual documents in RETRIEVER spans:

client.spans.add_document_annotation(
    span_id="retriever_span",
    document_position=0,  # 0-based index
    annotation_name="relevance",
    annotator_kind="LLM",
    label="relevant",
    score=0.95
)

Trace Annotations

Feedback on entire traces:

client.traces.add_trace_annotation(
    trace_id="trace_abc",
    annotation_name="correctness",
    annotator_kind="HUMAN",
    label="correct",
    score=1.0
)

Span Notes

Notes are a special type of annotation for free-form text — useful for open coding, where reviewers leave qualitative observations on a span before any rubric exists. Later, those notes can be aggregated and distilled into structured labels or scores.

Notes are append-only: each call auto-generates a UUIDv4 identifier, so multiple notes naturally accumulate on the same span. Structured annotations are keyed by (name, span_id, identifier) — you can have many same-named annotations on one span by supplying distinct identifiers (e.g. one per reviewer); writing the same (name, span_id, identifier) overwrites the existing entry.

client.spans.add_span_note(
    span_id="abc123def456",
    note="Unexpected token in response, needs review",
)

Session Annotations

Feedback on multi-turn conversations:

client.sessions.add_session_annotation(
    session_id="session_xyz",
    annotation_name="user_satisfaction",
    annotator_kind="HUMAN",
    label="satisfied",
    score=0.85
)

RAG Pipeline Example

from phoenix.client import Client
from phoenix.client.resources.spans import SpanDocumentAnnotationData

client = Client()

# Document relevance (batch)
client.spans.log_document_annotations(
    document_annotations=[
        SpanDocumentAnnotationData(
            name="relevance", span_id="retriever_span", document_position=i,
            annotator_kind="LLM", result={"label": label, "score": score}
        )
        for i, (label, score) in enumerate([
            ("relevant", 0.95), ("relevant", 0.80), ("irrelevant", 0.10)
        ])
    ]
)

# LLM response quality
client.spans.add_span_annotation(
    span_id="llm_span",
    annotation_name="faithfulness",
    annotator_kind="LLM",
    label="faithful",
    score=0.90
)

# Overall trace quality
client.traces.add_trace_annotation(
    trace_id="trace_123",
    annotation_name="correctness",
    annotator_kind="HUMAN",
    label="correct",
    score=1.0
)

API Reference

Source: SKILL.md on GitHub

No alerts9d4 checks · Risk SAFE
  • Gen Agent Trust Hub9d

    The phoenix-tracing skill provides comprehensive documentation and implementation guides for instrumenting LLM applications with Phoenix and OpenInference semantic conventions. It covers setup, manual and auto-instrumentation, and production best practices for both Python and TypeScript, with a strong focus on secure data handling and PII masking.

  • Socket9d

    No alerts

  • Snyk9d

    Risk: LOW · No issues

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at 4214189. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated 2 months ago
Other metadata
compatibility
Requires Phoenix server. Python skills need arize-phoenix-otel; TypeScript skills need @arizeai/phoenix-otel.
metadata
{
  "author": "oss@arize.com",
  "version": "1.0.0",
  "languages": "Python, TypeScript"
}
  • Python
  • TypeScript
  • phoenix
  • tracing
  • openinference
  • llm-observability
  • instrumentation
  • otel
  • arize

README badge

README badge for github/awesome-copilot/phoenix-tracing

Instruments LLM applications with OpenInference tracing in Phoenix, supporting auto-instrumentation of frameworks like OpenAI and LangChain or custom manual spans. Covers setup, span types (LLM calls, retrievers, agents, evaluators), production deployment with PII masking, and feedback annotation in Python and TypeScript.

Generated from the current SKILL.md.

Does this skill work with both Python and TypeScript?
Yes. The skill provides separate setup, instrumentation, and production guides for both Python (arize-phoenix-otel) and TypeScript (@arizeai/phoenix-otel).
What do I need to install to use this skill?
For Python: arize-phoenix-otel package. For TypeScript: @arizeai/phoenix-otel package. Both require a running Phoenix server endpoint.
Can I auto-instrument frameworks like OpenAI or LangChain?
Yes. The skill includes instrumentation-auto-{lang} references that cover auto-instrumentation for supported frameworks in both languages.
How do I track custom spans for my own operations?
Use the instrumentation-manual-{lang} references to create custom spans with decorators (Python) or wrappers (TypeScript), then refer to span-{type} files for the appropriate attribute schema.
Does this skill cover production deployment concerns?
Yes. The production-{lang} references address batch processing, PII masking, and deployment patterns for production environments.

Generated from the current SKILL.md. These answers refresh after source changes.