nvidia/nemo-relay-plugin-build
Use this skill when building or packaging reusable NeMo Relay runtime behavior as a configuration-activated plugin with deterministic validation and rollback-safe registration.
npx skills add https://github.com/NVIDIA/skills --skill nemo-relay-plugin-build
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 skill when the behavior should be activated by shared config and reused
across applications, teams, or process startup paths.
Common cases:
runtime behavior.
kind and activation lifecycle.plugin config rather than repeated application startup code.
Do not build a plugin when a narrower NeMo Relay surface is enough:
nemo-relay-instrument-calls.
nemo-relay-plugin-observability.
credentials, or framework objects inside config.
kind string and receives component-local configfrom a shared plugin document.
tests, and deployment systems.
returns structured diagnostics before runtime behavior changes.
PluginContext, such as subscribers, guardrails, request intercepts,
execution intercepts, or stream execution intercepts.
PluginContext gives the plugin system enough ownership to qualify runtimenames and roll back partial setup when activation fails.
config problems before rollout.
scope-local behavior when the use case is not reusable process-level
behavior.
guardrail, conditional guardrail, request intercept, execution intercept, or
stream execution intercept.
kind and the smallest JSON-compatible config shape.unsafe config, and invalid field combinations.
connections, create clients, register middleware, or mutate process state.
initialization or registration.
PluginContext, not by hand-registeringglobal behavior inside application startup.
failure rollback.
to roll back the component.
10. 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.
The top-level plugin document contains version, components, and policy.
Each component supplies the plugin kind, enabled, and component-local
config:
{
"version": 1,
"components": [
{
"kind": "redaction-policy",
"enabled": true,
"config": {
"preset": "strict"
}
}
],
"policy": {
"unknown_component": "warn",
"unknown_field": "warn",
"unsupported_value": "error"
}
}
Keep business logic in plugin code, not in config. Use references to secrets or
endpoints rather than embedding sensitive values.
nemo_relay.pluginnemo-relay-node/pluginnemo_relay::pluginUse the same canonical snake_case config keys across bindings and files. Node
helper functions can be camelCase, but plugin config objects remain
snake_case.
or caches in plugin config.
PluginContextshould own the runtime behavior.
in the first plugin unless one config document clearly owns the bundle.
before data leaves the process.
diagnostic.
kind chosen.snake_case.PluginContext.active.
JSON Schema and declare config_schema in relay-plugin.toml.
nemo-relay-instrument-calls
nemo-relay-plugin-observability
nemo-relay-debug-runtime-integration
Take nvidia/nemo-relay-plugin-build from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.