nemo-relay-plugin-build
Use this skill when building or packaging reusable NeMo Relay runtime behavior as an embedded configuration component or a manifest-backed `rust_dynamic`…
Skill by NVIDIA Corporation and Affiliates
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/nvidia-nemo-relay-plugin-build
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: frontend
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/nemo-relay-plugin-build
What's inside
- Skill name
nemo-relay-plugin-build- Description
- Use this skill when building or packaging reusable NeMo Relay runtime behavior as an embedded configuration component or a manifest-backed `rust_dynamic` native or `worker` gRPC plugin, with deterministic validation and rollback-safe registration.
- License
- Apache-2.0
- Metadata
- author: NVIDIA Corporation and Affiliates
- Instructions
- 221 lines in SKILL.md · view on GitHub
Files (5)
- BENCHMARK.md
- SKILL.md
- evals.json · evals/
- skill-card.md
- skill.oms.sig
SKILL.md (first lines)
# Build a Plugin
Use this skill when a user wants to package reusable NeMo Relay runtime behavior
behind plugin configuration.
Keep reusable plugin behavior separate from one-off application startup code.
## Use This When
Use this skill when the behavior should be activated by shared config and reused
across applications, teams, or process startup paths.
Common cases:
- Register subscribers, guardrails, intercepts, or a small bundle of related
runtime behavior.
- Validate operator-supplied config before changing runtime behavior.
- Give reusable behavior a stable plugin `kind` and activation lifecycle.
- Package behavior that should be enabled, disabled, or rolled out through
plugin config rather than repeated application startup code.
## Do Not Use This When
Do not build a plugin when a narrower NeMo Relay surface is enough:
- One request or tenant needs temporary behavior -> use scope-local middleware.
- The user only needs first-time scopes, tool calls, or LLM calls ->
`nemo-relay-instrument-calls`.
- The user only needs to choose an exporter path ->
`nemo-relay-plugin-observability`.
- The behavior depends on live callables, provider clients, file handles,
credentials, or framework objects inside config.
## Choose A Delivery Model
Choose the delivery model before designing config or registration:
- **Embedded component:** Use the shared plugin document when behavior ships
with the Relay host application. Follow the embedded component model below.
- **Discoverable dynamic package:** Use a `relay-plugin.toml` manifest when the
plugin ships independently of the host. Use `rust_dynamic` for a trusted
in-process native Rust library, or `worker` for a local `grpc-v1` worker.
Read the public native dynamic-plugin or gRPC worker guide before designing
the package boundary. Do not reproduce native ABI or worker-protocol details
from memory.
Native plugins are trusted C-ABI extensions that run in the Relay process and
are not sandboxed. Worker plugins provide process isolation, not a security
sandbox.
## Embedded Component Model
- Plugins package reusable process-level behavior.
- A plugin exposes a stable `kind` string and receives component-local config
from a shared plugin document.
- Plugin config must be JSON-compatible across Rust, Python, Node.js, files,
tests, and deployment systems.
- Validation is deterministic and side-effect free. It inspects config and
returns structured diagnostics before runtime behavior changes.
- Registration runs after validation and installs real behavior through
`PluginContext`, such as subscribers, guardrails, request intercepts,
execution intercepts, or stream execution intercepts.
- `PluginContext` gives the plugin system enough ownership to qualify runtime
names and roll back partial setup when activation fails.
- Disabled components should still validate when possible so operators can find
config problems before rollout.
## Default Path
1. Decide whether a plugin is actually needed. Prefer direct instrumentation or
scope-local behavior when the use case is not reusable process-level
behavior.
2. Choose an embedded component or a discoverable dynamic package. For a
dynamic package, establish the manifest-backed native or worker boundary
before implementing behavior.
3. For native dynamic plugins, determine the target Relay version from the
package constraint, lockfile, or deployment target before choosing callback
APIs.
4. Pick one first runtime surface: subscriber-oriented export, sanitize
guardrail, conditional guardrail, request intercept, execution intercept, or
stream execution intercept.
5. Choose a stable plugin `kind` and the smallest JSON-compatible config shape.
6. Define diagnostics for missing fields, unsupported values, unknown fields,
unsafe config, and invalid field combinations.
7. Validate config before initialization. Validation must not open network
connections, create clients, register middleware, or mutate process state.
8. If validation returns error diagnostics, return them and stop without
initialization or registration.
9. Register runtime behavior through `PluginContext`, not by hand-registering
global behavior inside application startup.
10. Test activation, disabled components, validation failures, and registration
failure rollback.
11. Document how to enable the plugin, what config fields are supported, and how
to roll back the component.
12. For a dynamic plugin that should provide structured fields in
`nemo-relay plugins edit`, declare the `config_schema` capability and
reference a local Draft 7 or Draft 2020-12 JSON Schema file from
`[config_schema].path` in `relay-plugin.toml`. Schema-less plugins remain
editable as raw JSON objects.
## Config Shape
The top-level plugin document contains `version`, `components`, and `policy`.
Each component supplies the plugin `kind`, `enabled`, and component-local
`config`:
```json
{
"version": 1,
"components": [
{
"kind": "redaction-policy",
"enabled": true,
"config": {
"preset": "strict"
}
}
],
"policy": {
"unknown_component": "warn",From NVIDIA/skills, Apache-2.0.
More from NVIDIA/skills
- 0.846score
nemo-fabric-integrate
NVIDIA Corporation and Affiliates
Use this skill when integrating NVIDIA NeMo Fabric into a consumer application, service, evaluation harness, or platform through the typed Python SDK —…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
jetson-video-pipeline
Vinit Bansal <vinitkumarb@nvidia.com>
Use when planning, executing, and independently validating Jetson Video Codec SDK or PyNvVideoCodec encode/decode, transcode, segmentation, container decode…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nvflare-convert-pytorch
NVIDIA FLARE Team <federatedlearning@nvidia.com>
Convert existing plain or manual PyTorch training code into an NVFLARE federated job using Client API model exchange, local validation, and job export; use…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nemo-relay-get-started
NVIDIA Corporation and Affiliates
Use this skill when first-time NeMo Relay users want help selecting and following an appropriate quick-start guide or verifying their first working integration.
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
jetson-video-recipe
Vinit Bansal <vinitkumarb@nvidia.com>
Use when turning a Jetson encoder use case into one surface-neutral recipe with native Video Codec SDK and PyNvVideoCodec projections.
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nvidia-broadcast
NVIDIA Broadcast Team <broadcast-skills-dev@nvidia.com>
Use when controlling NVIDIA Broadcast through MCP to apply effects, process local media, select devices, or change camera resolution, or when Broadcast is…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
jetson-video-setup
Vinit Bansal <vinitkumarb@nvidia.com>
Use when installing, repairing, reusing, inspecting, or verifying readiness of the native NVIDIA Video Codec SDK or PyNvVideoCodec on Jetson, including the…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nvflare-diagnose-job
NVIDIA FLARE Team <federatedlearning@nvidia.com>
Use when the user asks why a reported NVFLARE job failure signal occurred: the job failed, stalled, timed out, lost clients, ended with EXECUTION_EXCEPTION…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nvflare-convert-lightning
NVIDIA FLARE Team <federatedlearning@nvidia.com>
Convert existing PyTorch Lightning training code into an NVFLARE federated job using the Lightning Client API patch, local validation, and job export; use…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nemo-relay-install
NVIDIA Corporation and Affiliates
Use this skill when choosing or running NeMo Relay installation for an agent runtime, application language, framework integration, or plugin bundle, or…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nvflare-fed-stats
NVIDIA FLARE Team <federatedlearning@nvidia.com>
Compute federated statistics over tabular data (count, sum, mean, stddev, var, histogram, quantile, noise-protected min/max) and image data (count…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
jetson-video-capability
Vinit Bansal <vinitkumarb@nvidia.com>
Use when Jetson codec, profile, chroma, bit-depth, dimension, engine-count, or operational support must be reconciled from live APIs, authenticated NVIDIA…
SkillAFreshness: A★ 3.7KClaude Code +9
Signals
- Stars
- 3,718
- Forks
- 457
- Open issues
- 8
- Last commit (this folder)
- Aug 12, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/NVIDIA/skills
- Website
- docs.nvidia.com/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from NVIDIA Corporation and Affiliates
- 0.846score
nemo-relay-install
NVIDIA Corporation and Affiliates
Use this skill when choosing or running NeMo Relay installation for an agent runtime, application language, framework integration, or plugin bundle, or…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nemo-relay-get-started
NVIDIA Corporation and Affiliates
Use this skill when first-time NeMo Relay users want help selecting and following an appropriate quick-start guide or verifying their first working integration.
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nemo-fabric-integrate
NVIDIA Corporation and Affiliates
Use this skill when integrating NVIDIA NeMo Fabric into a consumer application, service, evaluation harness, or platform through the typed Python SDK —…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.800score
nemo-relay-migrate-from-flow
NVIDIA Corporation and Affiliates
Use this skill when migrating applications, examples, integrations, documentation, manifests, or repository code from NeMo Flow to NeMo Relay across Python…
SkillBFreshness: B★ 3.7KClaude Code +9 - 0.800score
nemo-relay-plugin-observability
NVIDIA Corporation and Affiliates
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…
SkillBFreshness: B★ 3.7KClaude Code +9 - 0.794score
nemo-relay-debug-runtime-integration
NVIDIA Corporation and Affiliates
Use this skill when NeMo Relay is installed or imported but application-side runtime behavior is missing or incorrect, including load failures, inactive…
SkillBFreshness: B★ 3.7KClaude Code +9
Cite this page
nemo-relay-plugin-build skill. Agent Mart. https://agentmart.dev/skills/nvidia-nemo-relay-plugin-build (last updated 2026-10-24)