PluginBench
Skill
Pass
Audit score 90

arize-link

arize-ai/arize-skills

Generate shareable deep links to Arize UI resources—projects, traces, spans, sessions, datasets, and more.

What is arize-link?

Creates clickable URLs to specific Arize resources (traces, spans, sessions, datasets, evaluators, annotation configs) for sharing with team members. Use when you need to link to or open a resource in the Arize UI, especially after exporting trace data or working with IDs from logs.

  • Generates deep links to projects, traces, spans, sessions, datasets, labeling queues, evaluators, and annotation configs in Arize
  • Discovers organization and project IDs using the ax CLI to avoid manual ID lookup
  • Handles base64 encoding of path IDs and time-range parameters for trace/span/session links
  • Supports URL parameter customization (e.g., highlighting specific spans, selecting dataset tabs)
  • Provides troubleshooting guidance for 404s, missing data, and time-window issues

How to install arize-link

npx skills add https://github.com/arize-ai/arize-skills --skill arize-link
Prerequisites
  • Arize account and access to the Arize UI
  • ax CLI installed and authenticated to your Arize organization
  • Organization ID and project ID (discoverable via ax CLI or from Arize browser URLs)
  • For traces/spans/sessions: trace_id, span_id, or session_id from exported data or logs
Claude Code
Cursor
Windsurf
Cline

How to use arize-link

  1. 1.Gather the required IDs: org_id (from ax organizations list), project_id (from ax projects list), and resource-specific IDs (trace_id, span_id, session_id, dataset_id, etc.)
  2. 2.Verify all path IDs are base64-encoded; if you have raw numeric IDs, copy them directly from your Arize browser URL instead
  3. 3.Determine the time range (startA/endA in epoch milliseconds): extract from an existing Arize URL, derive from span start_time ±1 day, or use last 90 days as fallback
  4. 4.Substitute IDs and time range into the appropriate URL template (project, trace, session, dataset, queue, evaluator, or annotation config)
  5. 5.Present the generated URL as a clickable markdown link for sharing

Use cases

Good for
  • Share a specific trace or span with a teammate by generating a direct link with correct time range
  • Link to a dataset or labeling queue for collaborative review and annotation
  • Generate an evaluator URL to share evaluation results or configuration with team members
  • Create a project link when you have org_id and project_id from exported data
  • Open a session in the Arize UI after extracting session_id from logs or trace exports
Who it's for
  • ML engineers and data scientists working with Arize for observability and tracing
  • Teams collaborating on LLM debugging and trace analysis
  • Anyone needing to share Arize resources (datasets, evaluators, annotation configs) with colleagues

arize-link FAQ

Why does my link show 'no data' or an empty view?

The trace likely falls outside the time window specified by startA/endA. Widen the time range (start with ±1 hour, then ±1 day, then 90 days) and regenerate the link.

How do I get the org_id and project_id?

Run `ax organizations list --output json` to get org_id, and `ax projects list --space "{space_name}" --output json` to get project_id. Alternatively, copy them directly from your Arize browser URL.

What does 'ID wrong or not base64' mean?

All path IDs in the URL must be base64-encoded. If you have a raw numeric ID, ask the user to copy it from their Arize browser URL, or base64-encode it yourself before inserting into the template.

Can I highlight a specific span in a trace link?

Yes, add `&selectedSpanId={span_id}` to the trace URL template. Verify the span_id belongs to the same trace.

Do I need to provide startA and endA for all link types?

Only for trace, span, and session links. Dataset, queue, evaluator, and annotation-config links do not require time-range parameters.

Full instructions (SKILL.md)

Source of truth, from arize-ai/arize-skills.


name: arize-link description: Generates deep links to the Arize UI for projects, traces, spans, sessions, datasets, labeling queues, evaluators, and annotation configs. Discovers organization and project IDs with the ax CLI and produces clickable URLs for sharing Arize resources with team members. Use when the user wants to link to or open a project, trace, span, session, dataset, evaluator, or annotation config in the Arize UI. metadata: author: arize version: "1.0"

Arize Link

Generate deep links to the Arize UI for projects, traces, spans, sessions, datasets, labeling queues, evaluators, and annotation configs.

When to Use

  • User wants a link to a project, trace, span, session, dataset, labeling queue, evaluator, or annotation config
  • You have IDs from exported data or logs and need to link back to the UI
  • User asks to "open" or "view" any of the above in Arize

Required Inputs

Collect from the user, context (exported trace data or parsed URLs), or the ax CLI:

Always requiredResource-specific
org_id (base64)project_id + trace_id [+ span_id] — trace/span
space_id (base64)project_id + session_id — session
dataset_id — dataset
queue_id — specific queue (omit for list)
evaluator_id [+ version] — evaluator

Discover organization and project IDs

Prefer the CLI over asking the user for IDs that it can provide:

ax organizations list --output json

Use .organizations[].id for the organization ID. If more than one organization is returned, match the user-provided organization name or ask them to choose.

To discover a project ID, list projects in the relevant space:

ax projects list --space "{space_name_or_id}" --limit 100 --output json

Use the matching project's id; its space_id supplies the space ID required in the URL. The command accepts a space name or ID; if no space is known, run ax projects list --limit 100 --output json and select the matching project.

All path IDs must be base64-encoded (characters: A-Za-z0-9+/=). A raw numeric ID produces a valid-looking URL that 404s. If the user provides a number, ask them to copy the ID directly from their Arize browser URL (https://app.arize.com/organizations/{org_id}/spaces/{space_id}/…). If you have a raw internal ID (e.g. Organization:1:abC1), base64-encode it before inserting into the URL.

URL Templates

Base URL: https://app.arize.com (override for on-prem)

Project:

{base_url}/organizations/{org_id}/spaces/{space_id}/projects/{project_id}

Trace (add &selectedSpanId={span_id} to highlight a specific span):

{base_url}/organizations/{org_id}/spaces/{space_id}/projects/{project_id}?selectedTraceId={trace_id}&queryFilterA=&selectedTab=llmTracing&timeZoneA=America%2FLos_Angeles&startA={start_ms}&endA={end_ms}&envA=tracing&modelType=generative_llm

Session:

{base_url}/organizations/{org_id}/spaces/{space_id}/projects/{project_id}?selectedSessionId={session_id}&queryFilterA=&selectedTab=llmTracing&timeZoneA=America%2FLos_Angeles&startA={start_ms}&endA={end_ms}&envA=tracing&modelType=generative_llm

Dataset (selectedTab: examples or experiments):

{base_url}/organizations/{org_id}/spaces/{space_id}/datasets/{dataset_id}?selectedTab=examples

Queue list / specific queue:

{base_url}/organizations/{org_id}/spaces/{space_id}/queues
{base_url}/organizations/{org_id}/spaces/{space_id}/queues/{queue_id}

Evaluator (omit ?version=… for latest):

{base_url}/organizations/{org_id}/spaces/{space_id}/evaluators/{evaluator_id}
{base_url}/organizations/{org_id}/spaces/{space_id}/evaluators/{evaluator_id}?version={version_url_encoded}

The version value must be URL-encoded (e.g., trailing = → %3D).

Annotation configs:

{base_url}/organizations/{org_id}/spaces/{space_id}/annotation-configs

Time Range

CRITICAL: startA and endA (epoch milliseconds) are required for trace/span/session links — omitting them defaults to the last 7 days and will show "no recent data" if the trace falls outside that window.

Priority order:

  1. User-provided URL — extract and reuse startA/endA directly.
  2. Span start_time — pad ±1 day (or ±1 hour for a tighter window).
  3. Fallback — last 90 days (now - 90d to now).

Prefer tight windows; 90-day windows load slowly.

Instructions

  1. Gather IDs from user, exported data, URL context, or the CLI. Use ax organizations list --output json to obtain org_id; use ax projects list to obtain project_id when needed.
  2. Verify all path IDs are base64-encoded.
  3. Determine startA/endA using the priority order above for trace, span, and session links.
  4. Substitute into the appropriate template and present as a clickable markdown link.

Troubleshooting

ProblemSolution
"No data" / empty viewTrace outside time window — widen startA/endA (±1h → ±1d → 90d).
404ID wrong or not base64. Re-check org_id with ax organizations list --output json, project_id with ax projects list, and space_id from the browser URL.
Span not highlightedspan_id may belong to a different trace. Verify against exported span data.
org_id unknownRun ax organizations list --output json and use .organizations[].id. If the CLI cannot access the organization, ask the user to copy it from their Arize browser URL.

Related Skills

  • arize-trace: Export spans to get trace_id, span_id, and start_time.

Examples

See references/EXAMPLES.md for a complete set of concrete URLs for every link type.