nvidia/add-binding-feature
Add or change a public NeMo Relay API surface across the core runtime and every affected binding
npx skills add https://github.com/NVIDIA/NeMo-Relay --skill add-binding-feature
Use karpathy-guidelines alongside this skill for implementation or review
work. Keep changes scoped, surface assumptions, and define focused validation
before editing.
Use this skill when a change affects the public runtime surface and must stay in
parity across the Rust core, FFI, and one or more bindings.
Do not use this skill for:
Implement the behavior first in crates/core/src/api/ and
related core modules such as crates/core/src/api/runtime/,
crates/core/src/codec/, or crates/core/src/json.rs.
Add or update FFI wrappers in the relevant crates/ffi/src/api/*.rs
module, re-export them through crates/ffi/src/api/mod.rs, and ensure the
generated crates/ffi/nemo_relay.h stays correct.
Update Python, Go, and Node.js for every surface that should expose the
capability.
Update Python wrapper modules, Go shorthand packages, typed helpers, or
adaptive/plugin helpers if the new behavior belongs there.
Update reference docs, language-binding docs, and examples when the public
surface or expected usage changed.
Run the validation matrix from the validate-change skill for the affected
surfaces.
| Layer | Convention | Example |
|-------------|-------------------|--------------------------------------|
| Rust | snake_case | nemo_relay_tool_call |
| C FFI | nemo_relay_ prefix | nemo_relay_tool_call |
| Python | snake_case | nemo_relay.tools.call |
| Go | PascalCase | nemo_relay.ToolCall |
| Node.js | camelCase | toolCall |
crates/core/src/api/in the relevant core module if needed
crates/ffi/src/api/*.rs module andre-export in crates/ffi/src/api/mod.rs
just build-gocrates/python/src/py_api/mod.rspython/nemo_relay/<module>.pypython/nemo_relay/*.pyi modulesgo/nemo_relay/nemo_relay.go with doc commentcrates/node/src/api/mod.rsdocs/reference/ updatedREADME.md, docs/getting-started/, or binding-level READMEs updated if behavior differs by languageLock these before implementing:
helpers, or observability helpers?
one of them?
docs/about/architecture.mddocs/reference/api/index.mdREADME.md,docs/getting-started/quick-start.md,
docs/about/release-notes/support-matrix.md
docs/integrate-frameworks/using-codecs.md,docs/integrate-frameworks/provider-codecs.md
docs/about/concepts/plugins.md,docs/build-plugins/about.md, docs/plugins/adaptive/configuration.md
Python, Go, and Node.js rather than inventing a new shape
Take nvidia/add-binding-feature 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.