Skip to content
Agentmart
Submit a tool

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…

Skill by NVIDIA Corporation and Affiliates

IndexedApache-2.0★ 3,718
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/nvidia-nemo-relay-migrate-from-flow

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

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.

Use cases: refactoring

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/nemo-relay-migrate-from-flow

What's inside

Skill name
nemo-relay-migrate-from-flow
Description
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.
License
Apache-2.0
Metadata
author: NVIDIA Corporation and Affiliates
Instructions
136 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts
  • Instructions read files in your home folder (~/.ssh, ~/.aws…)

Files (6)

  • BENCHMARK.md
  • SKILL.md
  • evals.json · evals/
  • migrate_from_nemo_flow.py · scripts/
  • skill-card.md
  • skill.oms.sig

SKILL.md (first lines)

# Migrate From NeMo Flow To NeMo Relay

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.

## Default Workflow

1. Inspect the working tree and identify touched surfaces: Rust, Python,
   Node.js, Go, C FFI, CLI/config, docs, or integrations.
2. Resolve `SKILL_DIR` to the absolute directory containing this `SKILL.md` and
   `TARGET_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`
3. Review the reported text edits, path renames, and legacy project
   configuration warnings with the user. Do not migrate project-local
   `.nemo-flow/config.toml` or `.nemo-flow/plugins.toml` into `.nemo-relay`.
   Move those settings manually to a supported user or explicit configuration
   path after review.
4. Obtain explicit confirmation for the resolved target root, then rerun with
   `--write`, `--rename-paths`, and `--confirm-root "$TARGET_PATH"`.
5. Apply language-specific cleanup for package manager lockfiles, generated
   artifacts, and public API examples.
6. Search for remaining Flow names and verify the affected language surfaces.

## Mechanical Rename Map

- Brand and repository: `NeMo Flow` -> `NeMo Relay`,
  `NeMo-Flow` -> `NeMo-Relay`
- Python: `nemo-flow` -> `nemo-relay`, `nemo_flow` -> `nemo_relay`,
  `python/nemo_flow` -> `python/nemo_relay`
- Rust: `nemo-flow` -> `nemo-relay`, `nemo-flow-adaptive` ->
  `nemo-relay-adaptive`, `nemo_flow::` -> `nemo_relay::`
- Node.js: `nemo-flow-node` -> `nemo-relay-node`, including related entry
  points such as `/typed`, `/plugin`, `/adaptive`, and `/observability`
- Go: `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`
- C FFI: `nemo_flow.h` -> `nemo_relay.h`, `nemo_flow_*` ->
  `nemo_relay_*`, `NemoFlow*` -> `NemoRelay*`, and `NEMO_FLOW_*` ->
  `NEMO_RELAY_*`
- CLI/config: `nemo-flow` -> `nemo-relay`,
  `~/.config/nemo-flow` -> `~/.config/nemo-relay`, `NEMO_FLOW_*` ->
  `NEMO_RELAY_*`, and `x-nemo-flow-*` -> `x-nemo-relay-*`. Do not blindly
  rename project-local `.nemo-flow/config.toml` or `.nemo-flow/plugins.toml`
  into `.nemo-relay`; those files require manual migration to a supported user
  or explicit configuration path.

Do not replace bare `flow`, `Flow`, or `FlowError`. Those can be domain words
or intentional compatibility names.

## Language Cleanup

- **Python**: update `pyproject.toml`, imports, type stubs, integration
  package paths, extras, and native module names. Regenerate or refresh lockfiles
  with the user's package workflow after source edits.
- **Rust**: update `Cargo.toml` crate names, workspace dependencies, package
  references, and `use nemo_relay::...` imports. Let Cargo regenerate
  `Cargo.lock` when dependencies changed.
- **Node.js**: update `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**: update `go.mod`, import paths, package declarations, aliases, and any
  local directory layout under `go/nemo_relay`.
- **C FFI**: update header includes, exported symbol names, status and callback
  type names, macro constants, loader paths, and downstream bindings.
- **Docs and examples**: update badges, package install commands, repository
  links, hosted docs URLs, CLI commands, config paths, and integration names.

## Automation Helper

Use `$SKILL_DIR/scripts/migrate_from_nemo_flow.py` for first-pass edits. The
helper:

- runs as a dry run unless `--write` is passed
- skips common vendor, build, cache, and generated directories
- skips lockfiles unless `--include-lockfiles` is passed
- skips symbolic links and credential-bearing dotenv files
- detects project-local `.nemo-flow/config.toml` and `.nemo-flow/plugins.toml`,
  leaves them unchanged, and reports that they require manual migration to a
  supported user or explicit configuration path
- requires the reviewed target root to be repeated with `--confirm-root` before
  writing, and refuses filesystem-root or home-directory writes
- anchors writes and renames to verified directory handles without following
  symbolic links, and refuses write mode on platforms that cannot provide those
  guarantees
- uses atomic no-replace path renames and exits nonzero when any requested
  mutation fails
- can report or perform path renames with `--rename-paths`
- rewrites only explicit NeMo Flow identifiers, package names, repository names,
  config 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:

```bash
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.

## Verification

- Search for remaining explicit Flow identifiers:

From NVIDIA/skills, Apache-2.0.

More from NVIDIA/skills

Compare and alternatives

    Featured in

    Signals

    Stars
    3,718
    Forks
    457
    Open issues
    8
    Last commit (this folder)
    Aug 13, 2026 (2 months ago)

    From GitHub (fetched Oct 24, 2026).

    Details

    License
    Apache-2.0
    First seen
    Oct 24, 2026
    Last checked
    Oct 24, 2026

    More from NVIDIA Corporation and Affiliates

    Cite this page

    nemo-relay-migrate-from-flow skill. Agent Mart. https://agentmart.dev/skills/nvidia-nemo-relay-migrate-from-flow (last updated 2026-10-24)