add-binding-feature

作成者: nvidia

コアランタイムおよび影響を受けるすべてのバインディングにわたって、公開NeMo Relay APIサーフェスを追加または変更します。

npx skills add https://github.com/nvidia/nemo-relay --skill add-binding-feature

Add a Binding Feature

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:

  • Internal-only core refactors with no public API change
  • New middleware contracts, which use the middleware-specific workflow
  • Binding-local bug fixes that do not change shared behavior
  • Docs-only or example-only updates

Implementation Order

  1. Core Rust 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.
  2. FFI / shared C surface, when affected Update crates/ffi and its generated header only when the capability is exposed through the C ABI or Go binding.
  3. Language-native bindings Update each binding that exposes the capability; leave unrelated bindings unchanged.
  4. Language wrapper helpers Update Python wrapper modules, Go shorthand packages, typed helpers, or adaptive/plugin helpers if the new behavior belongs there.
  5. Docs and examples Update reference docs, language-binding docs, and examples when the public surface or expected usage changed.
  6. Validation Follow the repository validation policy for the surfaces whose public or observable behavior changed.

Naming Conventions

LayerConventionExample
Rustsnake_casenemo_relay_tool_call
C FFInemo_relay_ prefixnemo_relay_tool_call
Pythonsnake_casenemo_relay.tools.call
GoPascalCasenemo_relay.ToolCall
Node.jscamelCasetoolCall

Parity Checklist

  • Core function with doc comment in crates/core/src/api/
  • Runtime callback/state, codec, JSON, or event/tool/LLM/scope types added in the relevant core module if needed
  • FFI wrapper and generated header updated if the C ABI changes
  • Python native binding, wrapper, docstring, and stubs updated if exposed
  • Go wrapper and shorthand package updated if the experimental Go surface exposes the capability
  • Node.js native binding and wrapper updated if exposed
  • Typed wrapper or adaptive/plugin helper surfaces updated when applicable
  • Meaningful tests added in every affected language surface
  • SPDX license header on any new files
  • Relevant pages under docs/reference/ updated
  • README.md, docs/getting-started/, or binding-level READMEs updated if behavior differs by language
  • Relevant getting-started, README, or example docs updated if usage changed

Decision Points

Lock these before implementing:

  • Which bindings actually expose the new surface?
  • Is the change part of the plain JSON API, typed wrappers, adaptive/plugin helpers, or observability helpers?
  • Does the new API need manual lifecycle and managed execute variants, or only one of them?
  • Does the new behavior change event fields, metadata, or scope expectations?
  • If tool execution is affected, does every callback, continuation, managed return, and manual end surface use the canonical ToolExecutionResult contract and preserve its opaque annotation?
  • Are docs/examples required because the intended usage changed?

Key References

  • Architecture: docs/about-nemo-relay/architecture.mdx
  • Reference index: docs/reference/api/index.mdx
  • Getting started and binding status: README.md, docs/getting-started/quick-start/index.mdx, docs/reference/support-matrix.mdx
  • Typed wrappers and codecs: docs/integrate-into-frameworks/using-codecs.mdx, docs/integrate-into-frameworks/provider-codecs.mdx
  • Adaptive config/plugins: docs/configure-plugins/about.mdx, docs/build-plugins/about.mdx, docs/configure-plugins/adaptive/configuration.mdx
  • Existing pattern: follow a surface already implemented across core, FFI, Python, Go, and Node.js rather than inventing a new shape

nvidiaのその他のスキル

fhir-basics
nvidia
エージェントにFHIR R4 APIの動作方法、利用可能なリソース、検索パラメータを使ったクエリ方法、およびすべてのレスポンス形式を正しく解析する方法を教えます…
compileiq-validate-result
nvidia
検索が完了した後、かつスピードアップの申請やACFの発送の前に使用します。dump_results CSVを読み込み、トップK候補(単一目的)を抽出します…
changelog-audit
nvidia
リリース前にWarp CHANGELOG.mdを監査:失われたエントリを復元、ユーザー影響で並べ替え、エントリの文言を洗練、行折り返し、および(リリースブランチモードで)比較をバンプ…
dgx-diagnose
nvidia
一般的なDGX Station GB300の問題(CUDAクラッシュ、誤ったGPUターゲット、vLLM/SGLangコンテナのバグ、MIG状態の問題、NVLink/Fabric Managerエラーなど)を診断します。
aicr-managing-openvex
nvidia
Use when adding, updating, or removing CVE/GHSA suppressions in `.openvex.json` — the OpenVEX document consumed by the daily image vulnerability scan workflow.…
aicr-creating-slide-decks
nvidia
技術的な概念やワークフロー(例:demos/*.html)の自己完結型HTMLスライドデッキやビジュアルトーキングポイントを作成する際に使用します。全画面表示または…
aicr-creating-guided-demos
nvidia
インタラクティブなガイド付きデモスクリプト(demos/*.sh)を、ライブ形式またはセルフペース形式で、Frame → Tell → Show → Close パターンに沿って作成します。「デモスクリプト」「ガイド付き…」というトリガーで起動します。
aicr-analyzing-snapshots
nvidia
AICRスナップショットYAMLファイルを分析する際、クラスタ状態を確認する際、プロバイダー特性を比較する際、GPU/ネットワークトポロジーの洞察を抽出する際、または…に使用します。