You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
skills: align user skills with config layering removal (#774)
#### Overview
Recasts GitHub PR #739 onto a direct `NVIDIA/NeMo-Relay` branch so the updated NVSkills/NVCARPS pull request workflow can run. The content updates the public NeMo Relay user skills for the RELAY-669 follow-up to RELAY-667: get-started guidance now treats repository-local Relay config files as unsupported active configuration while preserving local ATOF and ATIF output artifacts, and the NeMo Flow migration helper reports legacy project-local configuration for manual migration instead of converting it into unsupported Relay project configuration.
- [x] I confirm this contribution is my own work, or I have the right to submit it under this project license.
- [x] I searched existing issues and open pull requests, and this does not duplicate existing work.
#### Details
- Added a get-started guardrail that prevents agents from creating, editing, merging, or trusting repository-local `.nemo-relay/config.toml` and `.nemo-relay/plugins.toml`.
- Updated the CLI try-now reference and affected get-started evals to use supported user or explicit configuration only, and to distinguish `.nemo-relay/atof` and `.nemo-relay/atif` output directories from configuration layers.
- Updated the NeMo Flow migration skill guidance and helper so legacy `.nemo-flow/config.toml` and `.nemo-flow/plugins.toml` are left unchanged and reported as manual migration items.
- Added a migration eval covering repositories with legacy project-local NeMo Flow configuration.
- Replayed the final GitHub PR #739 file state onto current `upstream/main` as one signed-off commit on `skills/relay-669-user-skills`.
Validation:
- `python3 -m py_compile skills/nemo-relay-migrate-from-flow/scripts/migrate_from_nemo_flow.py`
- `python3` JSON parse for affected eval files
- Migration helper dry-run fixture for legacy project config
- Migration helper write-mode fixture for legacy project config plus unrelated source/path migration
- `.venv/bin/ruff check skills/nemo-relay-migrate-from-flow/scripts/migrate_from_nemo_flow.py`
- `.venv/bin/ty check skills/nemo-relay-migrate-from-flow/scripts/migrate_from_nemo_flow.py`
- `.venv/bin/pre-commit run --files skills/nemo-relay-get-started/SKILL.md skills/nemo-relay-get-started/evals/evals.json skills/nemo-relay-get-started/references/cli-try-now.md skills/nemo-relay-migrate-from-flow/SKILL.md skills/nemo-relay-migrate-from-flow/evals/evals.json skills/nemo-relay-migrate-from-flow/scripts/migrate_from_nemo_flow.py`
- `git diff --check`
Known follow-up: `skill-card.md`, `BENCHMARK.md`, and `skill.oms.sig` were not refreshed locally; those should be refreshed through the normal NVSkills publication workflow.
#### Where should the reviewer start?
Start with `skills/nemo-relay-migrate-from-flow/scripts/migrate_from_nemo_flow.py`, especially the legacy project configuration detection and blocked path rename logic. Then review `skills/nemo-relay-get-started/references/cli-try-now.md` for the user-facing configuration guidance.
#### Related Issues: (use one of the action keywords Closes / Fixes / Resolves / Relates to)
- Relates to: RELAY-669
- Relates to: #720
- Relates to: #739
## Summary by CodeRabbit
* **New Features**
* Added safeguards for legacy project-local configuration during NeMo Flow migrations.
* Migration previews now identify protected files and provide manual migration guidance.
* Secure checks prevent protected files from changing unexpectedly.
* **Bug Fixes**
* Clarified that repository-local Relay configuration is unsupported and must not be used or modified.
* Improved validation and troubleshooting guidance for supported configuration and output files.
* Added coverage for safe migration when legacy project configuration is present.
* **Documentation**
* Updated onboarding, migration, evaluation, benchmark, and verification materials.
Authors:
- Allan (https://github.com/exactlyallan)
- https://github.com/svc-nvskills-signing
Approvers:
- Will Killian (https://github.com/willkill07)
URL: #774
**How to read this table:** baseline is the same task attempted without the target skill. Uplift is `skill score - baseline score`, shown in percentage points.
Copy file name to clipboardExpand all lines: skills/nemo-relay-get-started/evals/evals.json
+8-6Lines changed: 8 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -61,11 +61,11 @@
61
61
"question": "Run the Relay try-now path in this repository, but it already has .nemo-relay/config.toml and plugins.toml that another developer uses.",
62
62
"expected_skill": "nemo-relay-get-started",
63
63
"expected_script": null,
64
-
"ground_truth": "The agent explains that repository-local .nemo-relay files are ignored by default, inspects the XDG user configuration and higher-precedence system policy, proposes a user-scoped merge that preserves unrelated settings, and obtains confirmation before writing any Relay configuration.",
64
+
"ground_truth": "The agent explains that repository-local .nemo-relay/config.toml and plugins.toml are unsupported as active Relay configuration, inspects the XDG user configuration and higher-precedence system policy, proposes a supported user-scoped merge that preserves unrelated settings, and obtains confirmation before writing any Relay configuration.",
65
65
"expected_behavior": [
66
-
"The agent reports that the existing repository-local configuration is ignored unless selected explicitly",
66
+
"The agent reports that the existing repository-local configuration is unsupported and will not be created, edited, merged, or trusted",
67
67
"The agent checks the XDG user configuration and higher-precedence system policy",
68
-
"The agent previews a merge into the user plugins.toml instead of replacing it or editing an ignored project file",
68
+
"The agent previews a merge into the user plugins.toml instead of replacing it or editing an unsupported project file",
69
69
"The agent obtains confirmation before modifying the user config.toml or plugins.toml",
70
70
"The agent preserves unrelated components and does not run destructive commands"
71
71
]
@@ -78,8 +78,9 @@
78
78
"ground_truth": "The agent configures the built-in Observability plugin with local ATOF and ATIF output, validates it with doctor, previews the transparent wrapper, and asks for explicit confirmation before launching the read-only smoke prompt.",
79
79
"expected_behavior": [
80
80
"The agent enables ATOF JSONL and ATIF trajectory output in separate local directories",
81
-
"The agent uses XDG user scope and shows the proposed configuration before writing it",
81
+
"The agent uses supported user or explicit configuration and shows the proposed configuration before writing it",
82
82
"The agent runs or recommends nemo-relay doctor codex --json and a --dry-run --print preview",
83
+
"The agent confirms that the dry-run preview does not depend on repository-local .nemo-relay/config.toml or .nemo-relay/plugins.toml",
83
84
"The agent shows a deterministic smoke prompt that exercises a shell tool without inspecting files, environment variables, processes, credentials, network resources, or system configuration, and asks immediately before the live Codex launch",
84
85
"The agent explains that the launch may consume model quota and does not launch without consent"
85
86
]
@@ -135,11 +136,12 @@
135
136
"question": "The wrapped Claude session completed, but .nemo-relay/atof and .nemo-relay/atif are empty. Should I reinstall everything?",
136
137
"expected_skill": "nemo-relay-get-started",
137
138
"expected_script": null,
138
-
"ground_truth": "The agent preserves the successful CLI and agent launch boundary, explains that repository-local .nemo-relay files are ignored by default, and uses doctor plus targeted checks for XDG user plugin discovery, output permissions, hook loading, gateway routing, and session finalization instead of broad reinstallation.",
139
+
"ground_truth": "The agent preserves the successful CLI and agent launch boundary, distinguishes unsupported repository-local Relay configuration from local output artifacts, and uses doctor plus targeted checks for supported plugin discovery, output permissions, hook loading, gateway routing, and session finalization instead of broad reinstallation.",
139
140
"expected_behavior": [
140
141
"The agent does not recommend reinstalling every package after a successful wrapped launch",
141
142
"The agent uses nemo-relay doctor claude --json or equivalent targeted diagnostics",
142
-
"The agent checks XDG user plugin activation, system configuration precedence, ignored project configuration, and writable user output directories",
143
+
"The agent checks supported user or explicit plugin activation, system configuration precedence, unsupported project configuration files, and writable output directories",
144
+
"The agent explains that .nemo-relay/atof and .nemo-relay/atif are output directories, not project configuration layers",
143
145
"The agent checks hook loading, gateway routing, and Claude session end before declaring each exporter broken",
144
146
"The agent reports which capture boundary worked and which output boundary failed"
Copy file name to clipboardExpand all lines: skills/nemo-relay-get-started/skill-card.md
+16-21Lines changed: 16 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@ NVIDIA <br>
9
9
### License/Terms of Use: <br>
10
10
Apache 2.0 <br>
11
11
## Use Case: <br>
12
-
Developers and engineers new to NeMo Relay who want to try the framework, select the least-complex quick-start path for their environment, and verify initial observable value before production setup. <br>
12
+
Developers and engineers onboarding to NeMo Relay who want to trial the framework, choose the quickest supported path to visible value, and verify initial instrumentation before committing to production setup. <br>
13
13
14
14
### Deployment Geography for Use: <br>
15
15
Global <br>
@@ -35,7 +35,7 @@ Mitigation: Review and scan skill before deployment. <br>
NVIDIA believes Trustworthy AI is a shared responsibility and we have established policies and practices to enable development for a wide array of AI applications. When downloaded or used in accordance with our terms of service, developers should work with their internal team to ensure this skill meets requirements for the relevant industry and use case and addresses unforeseen product misuse. <br>
0 commit comments