# Instrument With Sazabi

Get an application's logs and traces into Sazabi with OpenTelemetry, pick the SDK for...

- Repository: https://github.com/ParadevAI/Paradev (15823 stars)
- Category: Engineering
- License: see repository
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add ParadevAI/Paradev --skill instrument-with-sazabi -g -a claude-code -y`
Codex: `npx skills add ParadevAI/Paradev --skill instrument-with-sazabi -g -a codex -y`
Cursor: `npx skills add ParadevAI/Paradev --skill instrument-with-sazabi -g -a cursor -y`
Gemini CLI: `npx skills add ParadevAI/Paradev --skill instrument-with-sazabi -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add ParadevAI/Paradev`

## Description

Get an application's logs and traces into Sazabi with OpenTelemetry, pick the SDK for the runtime, export over OTLP/HTTP to a Sazabi intake URL kept in an environment variable, and prove data arrives before calling it done. Use when the user wants to connect an app or service to Sazabi, add OpenTelemetry, set up logging or tracing, or asks why Sazabi shows no data for a service.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Data in, proven

Sazabi can only answer questions about telemetry it receives. The job is to
make the app export logs and traces over OpenTelemetry to the user's Sazabi
project, with no secrets in the repo, and to show the first records arriving.

## 0. How the tools work

The Sazabi MCP server lists only two tools, `search` and `execute`. Browse
Sazabi's operations with `search` and `namespace: "sazabi"` (an empty query
without a namespace lists connected connectors, not Sazabi operations). Before
calling one, repeat `search` with `namespace: "sazabi"`, the hit's full name as
the query, and `includeInputSchema: true` to load its arguments. Then run it
with `execute` as `{ name, arguments }`, the name copied from the hit (for
example `sazabi/logs.ask`).

## 1. Get an intake URL

Run `sazabi/logSources.list` first; an OpenTelemetry source may already exist
for this project. If not, `sazabi/logSources.create` in manual mode for an
OpenTelemetry source returns the intake endpoint to point the sender at. The
intake URL embeds a write-only public key, so it needs no auth header, but it
still belongs in an environment variable or secret store, not in committed
code. Metrics go to the separate OpenTelemetry Metrics source, which has its
own intake path.

## 2. Wire the SDK

Use the official OpenTelemetry SDK for the runtime and initialize it before the
app handles requests:

The rest: https://github.com/ParadevAI/Paradev/blob/HEAD/plugins/sazabi/skills/instrument-with-sazabi/SKILL.md
