nvidia/nemo-relay-migrate-from-flow
Use this skill when migrating applications, examples, integrations, documentation, manifests, or repository code from NeMo Flow to NeMo Relay across Python, Rust, Node.js, Go, C FFI, CLI, configuration, and observability surfaces.
npx skills add https://github.com/NVIDIA/skills --skill nemo-relay-migrate-from-flow
Use this skill when a user has existing NeMo Flow code or documentation and
wants it converted to NeMo Relay. Treat the migration as a mechanical rename
plus language-specific validation, not a behavior rewrite.
Keep compatibility exceptions explicit before applying broad renames.
Node.js, Go, C FFI, CLI/config, docs, or integrations.
SKILL_DIR to the absolute directory containing this SKILL.md andTARGET_PATH to the source repository or target project. Run the bundled
helper in dry-run mode before editing:
python3 "$SKILL_DIR/scripts/migrate_from_nemo_flow.py" "$TARGET_PATH" --rename-paths
confirmation for the resolved target root, then rerun with --write,
--rename-paths, and --confirm-root "$TARGET_PATH".
artifacts, and public API examples.
NeMo Flow -> NeMo Relay,NeMo-Flow -> NeMo-Relay
nemo-flow -> nemo-relay, nemo_flow -> nemo_relay,python/nemo_flow -> python/nemo_relay
nemo-flow -> nemo-relay, nemo-flow-adaptive ->nemo-relay-adaptive, nemo_flow:: -> nemo_relay::
nemo-flow-node -> nemo-relay-node, including related entrypoints such as /typed, /plugin, /adaptive, and /observability
github.com/NVIDIA/NeMo-Flow/go/nemo_flow ->github.com/NVIDIA/NeMo-Relay/go/nemo_relay, package aliases
nemo_flow -> nemo_relay, and source directories go/nemo_flow ->
go/nemo_relay
nemo_flow.h -> nemo_relay.h, nemo_flow_* ->nemo_relay_*, NemoFlow* -> NemoRelay*, and NEMO_FLOW_* ->
NEMO_RELAY_*
nemo-flow -> nemo-relay, .nemo-flow -> .nemo-relay,~/.config/nemo-flow -> ~/.config/nemo-relay, NEMO_FLOW_* ->
NEMO_RELAY_*, and x-nemo-flow-* -> x-nemo-relay-*
Do not replace bare flow, Flow, or FlowError. Those can be domain words
or intentional compatibility names.
pyproject.toml, imports, type stubs, integrationpackage paths, extras, and native module names. Regenerate or refresh lockfiles
with the user's package workflow after source edits.
Cargo.toml crate names, workspace dependencies, packagereferences, and use nemo_relay::... imports. Let Cargo regenerate
Cargo.lock when dependencies changed.
package.json, workspace names, package-lock entries,native addon artifact names, and imports from nemo-relay-node. Run the
package manager to refresh locks.
go.mod, import paths, package declarations, aliases, and anylocal directory layout under go/nemo_relay.
type names, macro constants, loader paths, and downstream bindings.
links, hosted docs URLs, CLI commands, config paths, and integration names.
Use $SKILL_DIR/scripts/migrate_from_nemo_flow.py for first-pass edits. The
helper:
--write is passed--include-lockfiles is passed--confirm-root beforewriting, and refuses filesystem-root or home-directory writes
symbolic links, and refuses write mode on platforms that cannot provide those
guarantees
mutation fails
--rename-pathsconfig paths, headers, environment variables, and FFI type prefixes
The helper does not classify arbitrary JSON, YAML, TOML, or INI files as secret.
Review every configuration file in the dry-run report. If any reported file is
unreviewed or credential-bearing, do not use --write on that root. Apply the
reviewed changes manually and leave secret-bearing files untouched without
reading or displaying their values.
Set shell-safe absolute paths before invoking the helper. Replace the example
values with the resolved skill directory and either the source repository or the
user's target project:
SKILL_DIR="/resolved/absolute/path/to/nemo-relay-migrate-from-flow"
TARGET_PATH="/resolved/absolute/path/to/target-project"
python3 "$SKILL_DIR/scripts/migrate_from_nemo_flow.py" "$TARGET_PATH" --rename-paths
python3 "$SKILL_DIR/scripts/migrate_from_nemo_flow.py" "$TARGET_PATH" \
--write --rename-paths --confirm-root "$TARGET_PATH"
Use --include-lockfiles only when the user wants lockfiles edited directly;
otherwise regenerate them with Cargo, uv/pip, npm, or Go tooling.
rg -n "NeMo Flow|NeMo-Flow|nemo_flow|nemo-flow|NEMO_FLOW|NemoFlow|nemo_flow\\.h|nemo_flow_"
cargo test or the repository's Rust test recipe.environment.
go test ./... from the updated module.install commands, or API references changed.
nemo-relay-get-startednemo-relay-instrument-callsnemo-relay-debug-runtime-integrationTake nvidia/nemo-relay-migrate-from-flow 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.