arize-instrumentation
Arize Instrumentation Skill
Add Arize AX tracing to an app for the first time: detect the stack → fetch the one matching integration doc → wire auto-instrumentation → verify a trace lands.
Route locally. Map the detected stack to a single doc page via references/integration-routing.md and fetch only that page. When the app uses an agent framework, route on the framework, not the provider SDK it wraps — a bare openai/anthropic import inside a framework app is not the integration target; route to a provider page only when the app calls the provider SDK directly with no framework in play. When the stack isn't listed there, search llms.txt for its integration page per the router; with no match, use manual instrumentation. Never bulk-read the PROMPT.md aggregate.
Rules: inspect before mutating; tracing is additive, never change business logic; follow existing style; no secrets in code and never ask the user to paste secrets (API keys, tokens) into the chat -- reference ARIZE_API_KEY/ARIZE_SPACE_ID env vars only, set by the user in their own .env/shell; preserve or ask for the app's Arize region/export endpoint instead of assuming US -- see references/regions-and-endpoints.md; ask before persistent local state (ax profiles, .zshrc, env vars) -- see references/ax-profiles.md.
Phase 1: Analysis (read-only — no code/files)
Detect from manifests + imports: language, package manager, LLM providers, frameworks, existing tracing (TracerProvider, register(), ARIZE_*/OTEL_*, Datadog/Honeycomb), existing Arize endpoint/region config (ARIZE_COLLECTOR_ENDPOINT, an in-code Arize endpoint option, or an OTEL_EXPORTER_OTLP_ENDPOINT confirmed to target Arize), and whether the app runs tools / an agent loop (manual CHAIN/TOOL spans only if the matched framework instrumentor doesn't already cover them — decided in Phase 2). Confirm scope first — a monorepo, multiple services, or multiple frameworks needs a "which one?" question before touching anything; don't pick for the user.
Output a short summary (stack, proposed integration, existing tracing, scope). If the target is clear and the user asked to instrument now, continue; if ambiguous or analysis-only was requested, stop and confirm.