nemo-relay-plugin-observability
Skill238 starsChanged 2 months agoApache-2.0View on GitHub
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.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- NVIDIA/skillsword for word, first seen Oct 1, 2026
Other versions1 project uses a version of this.
Word for word · 1
- NVIDIA/skills★ 3.9k100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository30 other files it gives its agents.
- AGENTS.mdAGENTS.md
- add-binding-featureSkill
- add-middlewareSkill
- check-release-deploymentsSkill
- contribute-docsSkill
- contribute-integrationSkill
- create-beta-tagSkill
- create-rc-tagSkill
- create-release-tagSkill
- draft-release-notesSkill
- maintain-ciSkill
- maintain-dynamic-pluginsSkill
- maintain-observabilitySkill
- maintain-optimizerSkill
- maintain-packagingSkill
- prepare-code-freezeSkill
- prepare-prSkill
- rename-surfacesSkill
- review-doc-styleSkill
- update-project-versionSkill
- nemo-relay-debug-runtime-integrationSkill
- nemo-relay-get-startedSkill
- nemo-relay-installSkill
- nemo-relay-instrument-callsSkill
- nemo-relay-instrument-context-isolationSkill
- nemo-relay-instrument-typed-wrappersSkill
- nemo-relay-integrate-upstreamSkill
- nemo-relay-migrate-from-flowSkill
- nemo-relay-plugin-adaptive-tuningSkill
- nemo-relay-plugin-buildSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
15 rules. About 0 are common, 9 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈9
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 11
Start with one exporter managed by the built-in Observability plugin.
- Distinctive: line 16
Use manual subscriber or exporter APIs only when a test, script, or application needs direct control over registration names, collection …
- Distinctive: line 39
Use a manual subscriber for short-lived in-process inspection.
- Very specific: line 41
Use ATOF JSONL; read references/atof.md.
- Very specific: line 43
Use ATIF; read references/atif.md.
- Distinctive: line 58
Use this model when explaining how capture and export relate:
- Distinctive: line 79
When a request codec supplies an annotation, Relay applies the same event-only projection to provider-shaped event input without changing …
- Distinctive: line 94
Create the exporter or subscriber.
- Distinctive: line 96
Run NeMo Relay-instrumented work inside scopes.
- Distinctive: line 102
Use the names exported by the selected language binding and Relay version:
- Very specific: line 128
Use nemo-relay-plugin-build to package subscriber-based export behavior as a reusable plugin.
- Very specific: line 130
Use nemo-relay-get-started or nemo-relay-instrument-calls when no scope, tool call, or LLM call has been instrumented.
- Very specific: line 132
Use nemo-relay-debug-runtime-integration to diagnose missing telemetry.
- Distinctive: line 136
Use these skills for adjacent workflows:
- Very specific: line 139
Add typed wrappers with nemo-relay-instrument-typed-wrappers.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
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/OpenTelemetrySubscriberandOpenInferenceConfig/OpenInferenceSubscriber. - 0.7 uses observability configuration version 3. One typed OpenTelemetry
exporter provides
full,gen_ai, andopeninferenceprojections.
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, oropeninference). Readreferences/opentelemetry.mdand, 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
compactionmark 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.
- Each owning agent scope starts fresh, and a
- Event fields include semantic input/output through the ATOF
datafield, typed profile data such asmodel_nameandtool_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.mdautomatically emitskill.loadmarks under the tool span. The payload contains onlyskill_name; metadata records the load source and tool name. Partial reads do not count, and ambiguous slash-command expansions use the separateskill.load.inferredname. The eager mark remains present if tool execution later fails.
Shared Lifecycle
- Create the exporter or subscriber.
- Register it with a unique name before the relevant scoped work.
- Run NeMo Relay-instrumented work inside scopes.
- Flush and deregister in the exporter-specific reference's documented order.
- 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, andOpenInferenceSubscriber - Python 0.7: the same registration and file exporters, plus
OpenTelemetrySubscriberfor all three typed projections - Node.js follows the same 0.6/0.7 split through its root exports
- Rust:
nemo_relay::api::subscriberandnemo_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.mdfor raw JSONL events used in local debugging or offline inspection. - Load
references/atif.mdfor ATIF trajectories. - Load
references/opentelemetry.mdfor OTLP/OpenTelemetry traces. - Load
references/openinference.mdfor the standalone 0.6 OpenInference exporter or the 0.7openinferenceOpenTelemetry projection.
Use Another Skill When
Choose another skill when the task belongs to an adjacent workflow:
- Use
nemo-relay-plugin-buildto package subscriber-based export behavior as a reusable plugin. - Use
nemo-relay-get-startedornemo-relay-instrument-callswhen no scope, tool call, or LLM call has been instrumented. - Use
nemo-relay-debug-runtime-integrationto diagnose missing telemetry.
Related Skills
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.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

