Install any skill in seconds. Free to start, no credit card required.
Get Started Free →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.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-08 | ✗→✓ | ▲ Improved | 13% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 22% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 44% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 46% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 32% | 0% |
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:
bashSKILL_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-integrationOther measured skills in the registry, with their headline benchmark lift.