Generated banner for Nemo Relay Plugin Observability
Generated logo for Nemo Relay Plugin Observability

Nemo Relay Plugin Observability

NVIDIAOfficialCreated by NVIDIA Corporation and Affiliates

  • Skill
  • Tool integration
  • Cloud and DevOps
  • Apache-2.0
  • Medium risk

From the author

Use this skill when choosing or configuring NeMo Relay 0.6 or 0.7 observability through the built-in plugin, subscribers, or exporters, including raw ATOF events, ATIF trajectories, OpenTelemetry, OpenInference, or custom event handling.
— the description by NVIDIA Corporation and Affiliates

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

This skill provides guidance on configuring observability for NeMo Relay 0.6 and 0.7. It covers the setup of built-in plugins, subscribers, and exporters to capture the canonical event stream. Users can choose between raw ATOF JSONL events for debugging, ATIF trajectories for execution analysis, or OTLP-based tracing via OpenTelemetry and OpenInference. The skill details the lifecycle management of these components, including registration, flushing, and shutdown procedures, while emphasizing version-specific configuration requirements.

What it does

  • Configures built-in observability plugins for NeMo Relay 0.6 and 0.7.
  • Supports raw ATOF event export for local debugging and offline inspection.
  • Enables ATIF trajectory generation for structured execution analysis.
  • Integrates OpenTelemetry and OpenInference for OTLP tracing.
  • Manages subscriber and exporter lifecycles for custom event handling.
  • Provides version-specific guidance for observability configuration schemas.

When to use it

  • When you need to monitor or debug the execution flow of a NeMo Relay application.
  • When you need to export execution traces to external observability platforms.
  • When you are setting up local logging for raw lifecycle events.
  • When you need to capture structured agent trajectories for evaluation.
  • When you need to configure custom telemetry sinks for specific process requirements.

Advantages

  • Standardized approach to event capture across different Relay versions.
  • Flexible output options ranging from raw logs to structured traces.
  • Supports both plugin-managed and manual API-driven observability.
  • Ensures consistent event stream handling for logging, analytics, and diagnostics.

Usage examples

“How do I configure ATOF event logging for NeMo Relay 0.7?”
The agent will provide the TOML configuration structure using version 3 observability settings, specifying the file or stream sinks required for ATOF output.
“Show me how to register an AtifExporter in Python.”
The agent will provide a code snippet demonstrating the creation, registration, and lifecycle management of an AtifExporter for capturing execution trajectories.

Install

  1. Download the skill as a ZIP:

    https://mp-staging.autogineer.com/agent-skills/nvidia/nemo-relay-plugin-observability/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip nemo-relay-plugin-observability.zip -d .agents/skills

Documentation by NVIDIA Corporation and Affiliates

Configure Observability Plugins

Start with one exporter managed by the built-in Observability plugin. This is the default for reusable process configuration and the best first plugin for most users because it makes Relay's captured activity visible. Choose one proof output before layering additional telemetry destinations.

Use manual subscriber or exporter APIs only when a test, script, or application needs direct control over registration names, collection windows, or flush timing. Both paths consume the same canonical event stream.

Select The Relay Version

Determine whether the application uses NeMo Relay 0.6 or 0.7 before proposing configuration or binding APIs. Prefer the installed package version, lockfile, or manifest. Ask the user when the version cannot be established; do not mix the two surfaces in one example.

  • 0.6 uses observability configuration version 2. OpenTelemetry and OpenInference are separate exporters with OpenTelemetryConfig / OpenTelemetrySubscriber and OpenInferenceConfig / OpenInferenceSubscriber.

  • 0.7 uses observability configuration version 3. One typed OpenTelemetry exporter provides full, gen_ai, and openinference projections.

Choose The Output

Select the output that best matches the user's immediate inspection target:

  • Console or custom event handling Use a manual subscriber for short-lived in-process inspection.

  • Raw canonical lifecycle events Use ATOF JSONL; read references/atof.md.

  • Portable execution trajectories Use ATIF; read references/atif.md.

  • OTLP tracing For 0.6, choose the separate OpenTelemetry or OpenInference exporter. For 0.7, choose a typed OpenTelemetry endpoint (full, gen_ai, or openinference). Read references/opentelemetry.md and, for an OpenInference-aware backend, references/openinference.md.

Choose one output first and verify it before adding another. ATOF is the default local proof because it preserves the raw event stream with the least translation. Use synthetic, non-sensitive payloads for the first proof. Add and verify sanitization before exporters receive production payloads, and never display complete event records while validating an exporter.

Embedded Event And Subscriber Model

Use this model when explaining how capture and export relate:

  • NeMo Relay emits one canonical event stream from scopes, marks, managed tool calls, managed LLM calls, middleware, and manual lifecycle APIs.

  • Subscribers consume events without defining the event model. Multiple subscribers can observe the same stream for logging, export, analytics, or diagnostics.

  • Global subscribers remain active process-wide until removed.

  • Scope-local subscribers are owned by one active scope and disappear when that scope closes.

  • Plugin-installed subscribers are reusable, configuration-driven runtime components.

  • Exporter-oriented subscribers preserve raw ATOF or translate the event stream into ATIF or the version-appropriate OpenTelemetry/OpenInference form.

  • Event payloads reflect sanitized post-guardrail input and output when calls use managed helpers or manual lifecycle params provide those fields.

  • LLM annotations follow the freshness rules:

    • Each owning agent scope starts fresh, and a compaction mark refreshes it.

    • The first subsequent LLM start retains complete annotation history. Later starts retain system instructions, the latest user message, and every following assistant or tool message.

    • When a request codec supplies an annotation, Relay applies the same event-only projection to provider-shaped event input without changing provider execution.

  • Event fields include semantic input/output through the ATOF data field, typed profile data such as model_name and tool_call_id, and codec-provided annotated LLM request/response data for in-process subscribers and exporters.

  • First-class skill tools and the requests to read a complete SKILL.md automatically emit skill.load marks under the tool span. The payload contains only skill_name; metadata records the load source and tool name. Partial reads do not count, and ambiguous slash-command expansions use the separate skill.load.inferred name. The eager mark remains present if tool execution later fails.

Shared Lifecycle

  1. Create the exporter or subscriber.

  2. Register it with a unique name before the relevant scoped work.

  3. Run NeMo Relay-instrumented work inside scopes.

  4. Flush and deregister in the exporter-specific reference's documented order.

  5. Shut it down when the process or subsystem is done.

Binding Names

Use the names exported by the selected language binding and Relay version:

  • Python 0.6: nemo_relay.subscribers.register(...), AtofExporter, AtifExporter, OpenTelemetrySubscriber, and OpenInferenceSubscriber

  • Python 0.7: the same registration and file exporters, plus OpenTelemetrySubscriber for all three typed projections

  • Node.js follows the same 0.6/0.7 split through its root exports

  • Rust: nemo_relay::api::subscriber and nemo_relay::observability::*

  • Go: source-first wrappers expose equivalent register, exporter, and subscriber lifecycle methods

Load A Reference When

Load only the reference required by the selected output:

  • Load references/atof.md for raw JSONL events used in local debugging or offline inspection.

  • Load references/atif.md for ATIF trajectories.

  • Load references/opentelemetry.md for OTLP/OpenTelemetry traces.

  • Load references/openinference.md for the standalone 0.6 OpenInference exporter or the 0.7 openinference OpenTelemetry projection.

Use Another Skill When

Choose another skill when the task belongs to an adjacent workflow:

  • Use nemo-relay-plugin-build to package subscriber-based export behavior as a reusable plugin.

  • Use nemo-relay-get-started or nemo-relay-instrument-calls when no scope, tool call, or LLM call has been instrumented.

  • Use nemo-relay-debug-runtime-integration to diagnose missing telemetry.

Use these skills for adjacent workflows:

  • Instrument application calls with nemo-relay-instrument-calls.

  • Add typed wrappers with nemo-relay-instrument-typed-wrappers.

  • Package reusable behavior with nemo-relay-plugin-build.

  • Diagnose missing events with nemo-relay-debug-runtime-integration.

Files

BENCHMARK.md

Skill Benchmark: nemo-relay-plugin-observability

✅ Overall verdict: PASS — Recommended for publication

Publication Recommendation

Recommended for publication based on the completed evaluation evidence in this report.

Evaluation Metadata

  • Skill: nemo-relay-plugin-observability

  • Evaluation date: 2026-07-30

  • Evaluator version: 0.9.2

  • Agents: Claude Code (aws/anthropic/bedrock-claude-opus-4-8), Codex (openai/openai/gpt-5.5)

  • Tasks: 20 evaluation tasks (16 positive, 4 negative)

  • Dataset digest: sha256:f399331a28e80f4e118ccf4bfb6f71b126c0d88cd1103bf84c6126b50eb54d8a (skill-evaluator-dataset-snapshot/1)

  • Attempts per task: 1

  • Environment: k8s-sandbox

  • Tier 3 evidence: required for publication

Each task attempt ran in its own isolated sandbox pod.

What This Report Answers

The three-tier evaluation checks whether the skill:

  • is safe to use;

  • produces correct answers;

  • is discovered and activated when needed;

  • helps the agent complete the user's goal and expected workflow; and

  • avoids wasted skill and tool usage.

Results at a Glance

MeasureClaude Code (Baseline → Skill Uplift)Codex (Baseline → Skill Uplift)
Overall53% → 95% (+42 points)66% → 92% (+26 points)
Security100% → 100% (±0 points)100% → 95% (-5 points)
Correctness36% → 100% (+64 points)78% → 90% (+12 points)
Discoverability52% → 100% (+48 points)61% → 94% (+33 points)
Effectiveness38% → 89% (+50 points)61% → 87% (+27 points)
Efficiency39% → 88% (+50 points)28% → 92% (+63 points)

How to read this table: baseline is the same task attempted without the target skill. Uplift is skill score - baseline score, shown in percentage points.

Example: 47% → 92% (+45 points) means the skill-assisted run scored 92%, 45 percentage points above its 47% no-skill baseline.

Tier Status

TierPurposeStatusEvidence
Tier 1Static validationPASSED WITH OBSERVATIONS1 validator(s); 3 finding(s)
Tier 2Semantic deduplicationNOT RUNNo result was recorded
Tier 3Live agent evaluationPASS2 agent(s); 20 task(s)

Findings and Observations

<details> <summary>Show detailed findings and successful checks</summary>

  • MEDIUM SCHEMA/body_recommended_section: Missing recommended section: '## Instructions' (skills/nemo-relay-plugin-observability/SKILL.md)

  • MEDIUM SCHEMA/body_recommended_section: Missing recommended section: '## Examples' (skills/nemo-relay-plugin-observability/SKILL.md)

  • LOW SCHEMA/author_format: Author must be of the form 'Name <email@host>' (skills/nemo-relay-plugin-observability/SKILL.md)

</details>

Scoring Methodology

<details> <summary>Show dimension definitions, source signals, and thresholds</summary>

DimensionQuestionScored signals
SecurityIs it safe to use?security (100%)
CorrectnessIs the answer correct?accuracy (100%)
DiscoverabilityWas the right skill loaded when needed?skill_execution (100%)
EffectivenessDid the skill help complete the task?goal_accuracy (50%) + behavior_check (50%)
EfficiencyDid it avoid wasted tool or skill usage?skill_efficiency (100%)
  • Dimension bands: PASS at 50% or above; NEUTRAL from 40% to below 50%; FAIL below 40%.

  • Overall Tier 3 lift: PASS at +5 points or more; FAIL at -10 points or less; values between those bands are NEUTRAL.

  • Overall verdict: PASS only when every configured dimension passes for at least one supported agent. Lift is reported as diagnostic evidence and does not override this gate.

  • The 50% attempt pass threshold is a separate per-task gate; it is not the dimension pass threshold.

  • Effectiveness is the equal-weight mean of goal completion (goal_accuracy) and expected workflow adherence (behavior_check).

  • Token efficiency is a separate report-only signal. It does not change a dimension score or the overall verdict.

Signals present in this run:

  • security (Security): unsafe operations, secret leakage, and unauthorized access.

  • skill_execution (Skill Execution): whether the expected skill was found and executed.

  • skill_efficiency (Efficiency): routing quality, workspace-aware skill reads, and productive tool use.

  • accuracy (Accuracy): final-answer correctness against the reference answer.

  • goal_accuracy (Goal Accuracy): whether the user's goal was achieved.

  • behavior_check (Behavior Check): whether the expected workflow behavior was followed.

</details>

Freshness

Regenerate this benchmark when the skill, evaluation dataset, target agent/model, evaluator version, environment, or scoring policy changes.

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Security

What our scanner noticed· Medium risk

  • Large base64-encoded blobs

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Created by
NVIDIA Corporation and Affiliates
Publisher
NVIDIA (Official)
Source
NVIDIA/skills · skills/nemo-relay-plugin-observability · commit fce3cca
Licence
Apache License 2.0 (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE-APACHE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by NVIDIA Corporation and Affiliates or NVIDIA.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download nemo-relay-plugin-observability.zip