Skip to content

feat: improve Relay consumer skill onboarding#407

Open
exactlyallan wants to merge 8 commits into
NVIDIA:mainfrom
exactlyallan:feat/agent-experience-ax-release-06
Open

feat: improve Relay consumer skill onboarding#407
exactlyallan wants to merge 8 commits into
NVIDIA:mainfrom
exactlyallan:feat/agent-experience-ax-release-06

Conversation

@exactlyallan

@exactlyallan exactlyallan commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

Overview

Reorganize NeMo Relay's public consumer skills around task-oriented installation, onboarding, instrumentation, and plugin workflows.

This change adds an outcome-based installation router and redesigns the getting-started experience around the shortest path to first value: instrument once through a supported attachment path, validate Relay with the Observability plugin, and then change behavior by configuring another goal-aligned plugin.

The public skills/ catalog remains user-facing. Relay maintainer and core-development workflows remain under .agents/skills/.

  • I confirm this contribution is my own work, or I have the right to submit it under this project's license.
  • I searched existing issues and open pull requests, and this does not duplicate existing work.

Details

  • Rename and consolidate public skills under consistent nemo-relay-get-*, nemo-relay-install*, nemo-relay-instrument-*, and nemo-relay-plugin-* conventions.
  • Add nemo-relay-install to route users among CLI installation, language packages, and maintained framework integrations based on their intended outcome.
  • Redesign nemo-relay-get-started as a first-value quick start with three ordered paths: CLI transparent run, built-in integrations, and manual language integration.
  • Use the Observability plugin as the default proof of value, then recommend one additional plugin aligned with the user's goal.
  • Add a Codex Desktop recovery gate and recovery-note asset before persistent Relay setup, including uninstall and task-resume guidance.
  • Consolidate observability export guidance and adaptive-tuning references into their corresponding plugin skills.
  • Normalize public skill frontmatter and resource organization against the Agent Skills specification.
  • Update the public catalog and evaluation fixtures; the catalog now contains 10 skills and 81 uniquely identified eval cases.

Breaking changes

Relay runtime APIs, packages, and public types do not change. Public skill directory names have changed, so direct consumers of the previous skill paths must update their references.

Testing

Manual acceptance testing was performed in fresh directories with headless agent sessions:

  • Codex with GPT-5.4
  • Claude Code with Opus 4.8
  • Hermes with deepseek-v4-pro
  • Installation and CLI try-now workflows
  • LangChain integration
  • Observability and PII plugin configuration
  • Custom plugin workflow in Claude Code

Repository and structural validation:

  • Repository pre-commit checks for all public skill Markdown, JSON, references, assets, and the migration helper
  • Markdown link checking
  • Agent Skills reference and independent skill validation for all 10 skills
  • JSON schema-field checks, 81 unique eval IDs, and 20 referenced-resource existence checks
  • Codex Desktop recovery asset contract validation
  • Migration helper dry run
  • git diff --check

Automated model grading was not run across all 81 eval prompts. Runtime language-binding test suites and builds were not run because this PR does not change Relay runtime code.

Where should the reviewer start?

Start with skills/README.md for the user-facing taxonomy, then review skills/nemo-relay-install/SKILL.md and skills/nemo-relay-get-started/SKILL.md for the primary routing and onboarding decisions. The Codex Desktop safety behavior is in skills/nemo-relay-install/assets/codex-desktop-recovery.md.

Related Issues: (use one of the action keywords Closes / Fixes / Resolves / Relates to)

Summary by CodeRabbit

  • New Features
    • Added guided Get Started skill with safe “try-now” flows and a controlled next-step plugin path.
    • Added Observability skill documentation (ATOF/ATIF, OpenTelemetry, OpenInference) including a new Raw ATOF reference.
    • Added Install skill with verification-only guidance and Codex Desktop recovery/safety steps.
  • Documentation
    • Reworked the skills entrypoint into a user-first onboarding hub with common journeys and try-now references (CLI, integrations, manual language).
  • Refactor
    • Renamed and relinked several skills for clearer instrumentation vs plugin workflows; removed obsolete Start and Setup Observability materials.

Rename the public NeMo Relay skills into task-oriented get, instrument, and plugin groups so agent routing follows a consistent convention.

Fold export-specific observability guidance into plugin-observability references and adaptive config/hints guidance into plugin-adaptive-tuning references. Update eval coverage to target the consolidated hubs.

Validation: uv run pre-commit run --files staged skill files; custom skill validation for frontmatter, eval IDs, and references; stale legacy-name scan; git diff --cached --check
Signed-off-by: Allan Enemark <exactly.allan@gmail.com>
Add nemo-relay-install as the installation router for CLI, language binding, and maintained framework integration package paths.

Keep the skill scoped to installation and basic availability checks, with handoff to get-started or plugin skills for runtime setup, configuration, and first working examples.

Validation: uv run pre-commit run --files staged skill files; custom skill validation for frontmatter, eval IDs, and references; stale legacy-name scan; git diff --cached --check
Signed-off-by: Allan Enemark <exactly.allan@gmail.com>
Redesign get-started around ordered CLI, maintained integration, and manual language try-now paths, and turn the public skills README into a user-facing catalog.

Align all skill frontmatter with the Agent Skills specification, move installation details into path-specific references, and add raw ATOF observability guidance and evaluations.

Validation: official skills-ref and skill-creator validators for all 10 skills; 77 unique evaluation IDs and 18 reference uses; migration helper dry run; repository pre-commit checks for the full public skill catalog; git diff --cached --check.
Signed-off-by: Allan Enemark <exactly.allan@gmail.com>
Add a Codex Desktop recovery gate before persistent Relay configuration, including a workspace recovery-note template, supported uninstall and resume paths, and focused evaluation coverage.

Make one goal-aligned plugin the primary next step after first-value validation so onboarding demonstrates Relay's instrument-once, reconfigure-through-plugins model before expanding instrumentation.

Validation: official skills-ref validation for install and get-started; 81 unique evaluation IDs and 20 resource uses; Codex recovery asset contract; repository pre-commit checks for all changed files; git diff --cached --check.
Signed-off-by: Allan Enemark <exactly.allan@gmail.com>
@copy-pr-bot

copy-pr-bot Bot commented Jul 11, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@coderabbitai

coderabbitai Bot commented Jul 11, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: 2c08a09e-35c5-4921-b5ed-bbd4e7efc681

📥 Commits

Reviewing files that changed from the base of the PR and between 1bfbefc and 654d4c1.

📒 Files selected for processing (4)
  • skills/README.md
  • skills/nemo-relay-install/evals/evals.json
  • skills/nemo-relay-install/references/language-packages.md
  • skills/nemo-relay-migrate-from-flow/SKILL.md
📜 Recent review details
🧰 Additional context used
📓 Path-based instructions (9)
**/*

📄 CodeRabbit inference engine (.agents/skills/validate-change/SKILL.md)

**/*: Format changed files with the language-native formatter before the final lint/test pass.
If dynamic plugin behavior changed, use maintain-dynamic-plugins and include the native SDK, worker protocol, Python SDK, docs, packaging, and Codecov surfaces in the validation plan.
If code changes alter APIs, bindings, commands, paths, packaging behavior, observability/adaptive semantics, or documented best practices, update any dependent maintainer or consumer skills in the same branch.
During iteration, prefer uv run pre-commit run --files <changed files...>.
Before review or handoff, run uv run pre-commit run --all-files.

Files:

  • skills/nemo-relay-install/evals/evals.json
  • skills/nemo-relay-migrate-from-flow/SKILL.md
  • skills/nemo-relay-install/references/language-packages.md
  • skills/README.md
**/*.{md,rst,html,txt}

📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-brand-terminology.md)

**/*.{md,rst,html,txt}: Always spell NVIDIA in all caps. Do not use Nvidia, nvidia, nVidia, nVIDIA, or NV.
Use an NVIDIA before a noun because the name starts with an 'en' sound.
Do not add a registered trademark symbol after NVIDIA when referring to the company.
Use trademark symbols with product names only when the document type or legal guidance requires them.
Verify official capitalization, spacing, and hyphenation for product names.
Precede NVIDIA product names with NVIDIA on first mention when it is natural and accurate.
Do not rewrite product names for grammar or title-case rules.
Preserve third-party product names according to the owner's spelling.
Include the company name and full model qualifier on first use when it helps identify the model.
Preserve the official capitalization and punctuation of model names.
Use shorter family names only after the full name is established.
Spell out a term on first use and put the acronym in parentheses unless the acronym is widely understood by the intended audience.
Use the acronym on later mentions after it has been defined.
For long documents, reintroduce the full term if readers might lose context.
Form plurals of acronyms with s, not an apostrophe, such as GPUs.
In headings, common acronyms can remain abbreviated. Spell out the term in the first or second sentence of the body.
Common terms such as CPU, GPU, PC, API, and UI usually do not need to be spelled out for developer audiences.

Files:

  • skills/nemo-relay-migrate-from-flow/SKILL.md
  • skills/nemo-relay-install/references/language-packages.md
  • skills/README.md
**/*.{md,rst,html}

📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-brand-terminology.md)

Link the first mention of a product name when the destination helps the reader.

Files:

  • skills/nemo-relay-migrate-from-flow/SKILL.md
  • skills/nemo-relay-install/references/language-packages.md
  • skills/README.md
**/*.{md,rst,txt}

📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-guide.md)

Spell NVIDIA in all caps. Do not use Nvidia, nvidia, or NV.

Files:

  • skills/nemo-relay-migrate-from-flow/SKILL.md
  • skills/nemo-relay-install/references/language-packages.md
  • skills/README.md
**/*.{md,rst}

📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-guide.md)

**/*.{md,rst}: Format commands, code elements, expressions, package names, file names, and paths as inline code.
Use descriptive link text. Avoid raw URLs and weak anchors such as "here" or "read more."
Use title case consistently for technical documentation headings.
Introduce code blocks, lists, tables, and images with complete sentences.
Write procedures as imperative steps. Keep steps parallel and split long procedures into smaller tasks.
Prefer active voice, present tense, short sentences, contractions, and plain English.
Use can for possibility and reserve may for permission.
Use after for temporal relationships instead of once.
Prefer refer to over see when the wording points readers to another resource.
Avoid culture-specific idioms, unnecessary Latinisms, jokes, and marketing exaggeration in technical docs.
Spell out months in body text, avoid ordinal dates, and use clear time zones.
Spell out whole numbers from zero through nine unless they are technical values, parameters, versions, or UI values.
Use numerals for 10 or greater and include commas in thousands.
Do not add trademark symbols to learning-oriented docs unless the source, platform, or legal guidance explicitly requires them.

Files:

  • skills/nemo-relay-migrate-from-flow/SKILL.md
  • skills/nemo-relay-install/references/language-packages.md
  • skills/README.md
**/*.md

📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-technical-docs.md)

**/*.md: Use title case consistently in technical documentation headings
Avoid quotation marks, ampersands, and exclamation marks in headings
Keep product, event, research, and whitepaper names in their official title case
Use title case for table headers
Do not force social-media sentence case into technical docs
Format code elements, commands, parameters, package names, and expressions in monospace
Format directories, file names, and paths in monospace using backticks
Use angle brackets inside monospace for variables inside paths, such as /home/<username>/.login
Format error messages and strings in quotation marks, keeping literal code strings in code formatting when clearer
Format UI buttons, menus, fields, and labels in bold
Use angle brackets between UI labels for menu paths, such as File > Save As
Use italics for new terms on first use, sparingly and only when introducing the term
Use italics for publication titles
Format keyboard shortcuts in plain text, such as Press Ctrl+Alt+Delete
Use owner/repo link text for GitHub repositories, preferring [NVIDIA/NeMo](link) over prose references like 'the GitHub repo'
Introduce every code block with a complete sentence
Do not make a code block complete the grammar of the previous sentence
Do not continue a sentence after a code block
Use syntax highlighting when the format supports it for code blocks
Avoid the word 'snippet' unless the surrounding docs already use it as a term of art
Keep inline method, function, and class references consistent with nearby docs, omitting empty parentheses for prose readability when no call is shown
Use descriptive anchor text that matches the destination title when possible for links
Avoid raw URLs in running text
Avoid generic anchor text such as 'here,' 'this page,' and 'read more'
Include acronyms in link text when a linked term includes an acronym
Do not link long sentences or multiple sentences
Avoid links that pull readers away from a procedure unless the link is a p...

Files:

  • skills/nemo-relay-migrate-from-flow/SKILL.md
  • skills/nemo-relay-install/references/language-packages.md
  • skills/README.md
**/SKILL.md

📄 CodeRabbit inference engine (AGENTS.md)

SKILL.md files are skill entrypoints and must start with YAML frontmatter containing at least name and description.

Files:

  • skills/nemo-relay-migrate-from-flow/SKILL.md

⚙️ CodeRabbit configuration file

**/SKILL.md: Do not flag SKILL.md files for missing SPDX headers. Skill entrypoints intentionally start with YAML frontmatter instead.
Verify that every SKILL.md keeps valid YAML frontmatter with at least name and description fields before the Markdown body.

Files:

  • skills/nemo-relay-migrate-from-flow/SKILL.md
**/*.{md,mdx}

📄 CodeRabbit inference engine (AGENTS.md)

Update README.md, fern/, package READMEs, and binding-support notes when public behavior, package names, examples, or supported bindings change.

**/*.{md,mdx}: Prefer the documented public API, not internal shortcuts
Keep package names, repo references, and build commands current
Keep release-process and release-notes guidance in repo-maintainer docs such as RELEASING.md, not as user-facing docs pages or CHANGELOG.md
Keep stable user-facing wrappers at scripts/ root in docs and examples; only point at namespaced helper paths when documenting internal maintenance work
When detailed dynamic plugin guides exist, keep Rust native plugin examples, Python worker plugin examples, and grpc-v1 protocol details on separate pages

If links in documentation change, run just docs-linkcheck.

Files:

  • skills/nemo-relay-migrate-from-flow/SKILL.md
  • skills/nemo-relay-install/references/language-packages.md
  • skills/README.md
**/*.{md,markdown,mdx}

📄 CodeRabbit inference engine (CONTRIBUTING.md)

Add the SPDX license header to all Markdown/MDX documentation files using the HTML comment block form.

Files:

  • skills/nemo-relay-migrate-from-flow/SKILL.md
  • skills/nemo-relay-install/references/language-packages.md
  • skills/README.md
🪛 SkillSpector (2.3.11)
skills/nemo-relay-migrate-from-flow/SKILL.md

[warning] 24: [RA2] Session Persistence: Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Remediation: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.

(Rogue Agent (RA2))


[warning] 24: [RA2] Session Persistence: Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Remediation: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.

(Rogue Agent (RA2))


[warning] 24: [RA2] Session Persistence: Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Remediation: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.

(Rogue Agent (RA2))

🔇 Additional comments (5)
skills/README.md (1)

22-23: LGTM!

Also applies to: 45-50, 64-65, 74-75

skills/nemo-relay-install/evals/evals.json (1)

28-28: LGTM!

skills/nemo-relay-install/references/language-packages.md (1)

15-20: LGTM!

Also applies to: 22-22, 56-61, 63-63

skills/nemo-relay-migrate-from-flow/SKILL.md (2)

3-6: 📐 Maintainability & Code Quality

Verify the edited frontmatter before merge.

Lines [3-6] are changed, but their contents are omitted from the supplied excerpt. Confirm that the YAML delimiters remain intact and that name and a non-empty description field are present.

As per path instructions, SKILL.md files must keep valid YAML frontmatter with at least name and description fields.

Source: Path instructions


19-22: LGTM!

Also applies to: 73-74, 83-92, 113-113


Walkthrough

The PR reorganizes the NeMo Relay skill catalog, adds onboarding and installation workflows, introduces observability documentation, renames instrumentation and plugin skills, updates evaluation fixtures, and removes legacy skill documentation and datasets.

Changes

NeMo Relay Skills

Layer / File(s) Summary
Onboarding and try-now guidance
skills/README.md, skills/nemo-relay-get-started/...
Adds user-oriented navigation, guided try-now paths, CLI/integration/language references, verification steps, plugin progression, and onboarding evaluations.
Installation paths and verification
skills/nemo-relay-install/...
Adds installation-path selection, package and maintained-integration references, Codex Desktop recovery procedures, verification rules, and installation evaluations.
Instrumentation skill namespaces
skills/nemo-relay-instrument-*/...
Renames instrumentation skills and updates metadata, related links, and evaluation expectations.
Migration and runtime debugging updates
skills/nemo-relay-migrate-from-flow/SKILL.md, skills/nemo-relay-debug-runtime-integration/...
Updates migration helper resolution and replaces related skill references for migration and runtime debugging.
Observability plugin documentation
skills/nemo-relay-plugin-observability/...
Adds observability skill and evaluation content covering ATOF, ATIF, OpenTelemetry, OpenInference, and subscriber/exporter lifecycle guidance.
Adaptive tuning and plugin build namespaces
skills/nemo-relay-plugin-adaptive-tuning/..., skills/nemo-relay-plugin-build/...
Renames plugin skills, adds adaptive configuration references and evaluations, and updates plugin-build routing references.
Legacy skill retirement
skills/nemo-relay-start/..., skills/nemo-relay-setup-observability/..., skills/nemo-relay-tune-*/evals/evals.json, skills/nemo-relay-export-*/evals/evals.json
Removes superseded skill documentation and evaluation datasets.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Developer
  participant GetStarted
  participant RelayCLI
  participant OutputFiles
  Developer->>GetStarted: Select try-now path
  GetStarted->>RelayCLI: Inspect and configure trial
  RelayCLI->>OutputFiles: Emit ATOF and ATIF evidence
  OutputFiles-->>Developer: Verify observable results
Loading
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title follows Conventional Commits and accurately summarizes the onboarding-focused skill reorganization.
Description check ✅ Passed The description matches the template sections and includes overview, details, reviewer start, checklist items, and related issues.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added size:XL PR is extra large Feature a new feature labels Jul 11, 2026
@exactlyallan exactlyallan marked this pull request as ready for review July 11, 2026 00:13
@exactlyallan exactlyallan requested a review from a team as a code owner July 11, 2026 00:13
@willkill07 willkill07 added this to the 0.6 milestone Jul 11, 2026
@willkill07

Copy link
Copy Markdown
Member

/ok to test fc73ee3

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 23

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@skills/nemo-relay-get-started/references/built-in-integrations-try-now.md`:
- Around line 17-18: Update the table headers in the markdown table to title
case: change “Existing surface,” “Relay attachment,” and “Current support
boundary” to “Existing Surface,” “Relay Attachment,” and “Current Support
Boundary.”
- Around line 36-39: Replace the bare URLs in the built-in integrations list
with descriptive Markdown links, using each integration name as the link text
and preserving its existing destination URL; apply the same change to the
additional occurrences noted in the comment.

In `@skills/nemo-relay-get-started/references/cli-try-now.md`:
- Around line 258-264: Replace each bare URL in the reference list with a
descriptive Markdown link, preserving the existing destinations and list
structure. Use clear titles such as “CLI overview,” “CLI basic usage,” and
“Codex integration,” including the GitHub issue and plugin selection entries.

In `@skills/nemo-relay-get-started/references/manual-language-try-now.md`:
- Around line 24-29: Replace the bare Python, Node.js, Rust, and general
quick-start URLs in the manual with descriptive Markdown links, preserving each
URL target and using clear link text such as “Python quick start,” “Node.js
quick start,” “Rust quick start,” and “quick start.”

In `@skills/nemo-relay-get-started/SKILL.md`:
- Around line 115-118: Replace the bare URLs in the public entry-point list with
descriptive Markdown links, preserving each existing destination; update the
CLI, maintained integrations, language quick starts, and plugin selection
entries with clear link text.

In `@skills/nemo-relay-install/assets/codex-desktop-recovery.md`:
- Around line 78-83: Replace each raw URL in the References section with
descriptive Markdown links: identify the Codex Desktop provider-filter bug,
Relay Codex integration, Relay plugin installation and uninstall, and Relay
transparent run using clear accessible link text while preserving their existing
destinations.
- Around line 11-16: Add a concise introductory sentence immediately after the
Setup Record, Recovery Procedure, and References headings, before their
respective lists; update the sections identified by the symbols/headings “Setup
Record,” “Recovery Procedure,” and “References” without changing the list
content.

In `@skills/nemo-relay-install/references/cli-install.md`:
- Around line 18-24: Update the prerequisite and public-reference lists in the
installation guide with complete-sentence lead-ins, and replace every bare URL
with descriptive Markdown links. Apply the same changes to the corresponding
section identified by the second occurrence, preserving the existing references
and meaning.
- Around line 28-41: Update the installation instructions to avoid piping
mutable remote scripts directly into a shell or PowerShell interpreter. In the
Unix-like and Windows sections, reference an immutable versioned installer and
add a download-then-verify step using a published signature or checksum before
execution, preserving the existing binary checksum verification guidance.
- Around line 43-47: Correct the section containing the `cargo install
nemo-relay-cli` command: rename it to indicate installation from the published
Cargo package, or replace/add instructions using the repository checkout command
for a true source build. Ensure the heading and explanatory text accurately
match the command’s behavior.

In `@skills/nemo-relay-install/references/language-packages.md`:
- Around line 61-64: Add a complete lead-in sentence before the “Public
references” list, then replace each raw URL with descriptive Markdown links for
“Prerequisites” and “Installation” while preserving their destinations.
- Around line 14-31: Update the language-package guidance to first detect the
project’s declared package manager and lockfile, then use its corresponding
Python or Node.js installation command. Preserve existing Poetry, PDM, pnpm,
Yarn, Bun, uv, and other manager choices instead of defaulting to uv or npm;
retain fallback commands only when no managed project configuration exists.

In `@skills/nemo-relay-install/references/maintained-integrations.md`:
- Around line 44-45: Replace the bare URL under “Supported integrations” with a
descriptive Markdown link, such as “NVIDIA NeMo Retriever supported
integrations,” pointing to the same documentation address.

In `@skills/nemo-relay-install/SKILL.md`:
- Around line 109-129: Add a concise introductory lead-in sentence immediately
after the “Hand Off After Install” heading and another immediately after the
“Common Mistakes” heading, before their respective bullet lists. Keep both
sentences aligned with the purpose of the section and the existing documentation
style.
- Around line 131-136: Update the “Public Docs To Reference” section by adding a
complete lead-in sentence before the list and converting each raw URL into a
descriptive Markdown link, preserving the existing documentation targets and
order.

In `@skills/nemo-relay-instrument-calls/SKILL.md`:
- Around line 67-80: Add complete lead-in sentences before each replacement list
in the relevant sections of SKILL.md, including the “Related Skills” list.
Rewrite list items with parallel grammatical construction and consistent end
punctuation, preserving their existing meaning and skill references.

In `@skills/nemo-relay-migrate-from-flow/SKILL.md`:
- Around line 19-21: Update the instructions in SKILL.md to invoke the bundled
helper using an explicit path resolved from the skill directory, rather than the
current working directory. Apply this consistently to the dry-run and subsequent
commands around the migration workflow, including the references covered by
lines 81–86, while preserving the existing arguments and behavior.

In `@skills/nemo-relay-plugin-observability/references/atof.md`:
- Around line 41-48: Add a complete lead-in sentence before the checklist under
the “Verify” section, such as “Verify the export with the following checks.”
Keep the existing verification items unchanged.
- Around line 54-55: Replace the raw URL in the public reference within the ATOF
documentation with a descriptive Markdown link, preserving the existing
destination while using meaningful link text.

In `@skills/nemo-relay-plugin-observability/SKILL.md`:
- Around line 19-30: Add a complete lead-in sentence immediately before each
Markdown list in the “Choose The Output” section and the corresponding sections
at the referenced locations, ensuring each list’s items remain grammatically
parallel and clearly follow the introduction.

In `@skills/README.md`:
- Around line 23-25: Update the description of nemo-relay-get-started in the
skills README to clarify that it selects the first path compatible with the
user’s goal and environment, rather than always trying the CLI first; mention
that existing maintained integrations such as LangChain or LangGraph may be
selected instead.
- Around line 68-70: Add a complete lead-in sentence immediately before the
numbered list under the “Common Journeys” heading, clearly introducing the
listed workflow sequences.
- Line 40: Update every table header in skills/README.md that currently uses
“Use it when” to the title-case form “Use It When,” including the referenced
occurrences, while leaving the table structure unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: 8156f635-cab9-414c-8b3f-d31699ae8275

📥 Commits

Reviewing files that changed from the base of the PR and between 9b0c078 and fc73ee3.

📒 Files selected for processing (43)
  • skills/README.md
  • skills/nemo-relay-debug-runtime-integration/SKILL.md
  • skills/nemo-relay-debug-runtime-integration/evals/evals.json
  • skills/nemo-relay-export-atif-trajectories/evals/evals.json
  • skills/nemo-relay-export-openinference/evals/evals.json
  • skills/nemo-relay-export-otel/evals/evals.json
  • skills/nemo-relay-get-started/SKILL.md
  • skills/nemo-relay-get-started/evals/evals.json
  • skills/nemo-relay-get-started/references/built-in-integrations-try-now.md
  • skills/nemo-relay-get-started/references/cli-try-now.md
  • skills/nemo-relay-get-started/references/manual-language-try-now.md
  • skills/nemo-relay-install/SKILL.md
  • skills/nemo-relay-install/assets/codex-desktop-recovery.md
  • skills/nemo-relay-install/evals/evals.json
  • skills/nemo-relay-install/references/cli-install.md
  • skills/nemo-relay-install/references/language-packages.md
  • skills/nemo-relay-install/references/maintained-integrations.md
  • skills/nemo-relay-instrument-calls/SKILL.md
  • skills/nemo-relay-instrument-calls/evals/evals.json
  • skills/nemo-relay-instrument-context-isolation/SKILL.md
  • skills/nemo-relay-instrument-context-isolation/evals/evals.json
  • skills/nemo-relay-instrument-typed-wrappers/SKILL.md
  • skills/nemo-relay-instrument-typed-wrappers/evals/evals.json
  • skills/nemo-relay-migrate-from-flow/SKILL.md
  • skills/nemo-relay-plugin-adaptive-tuning/SKILL.md
  • skills/nemo-relay-plugin-adaptive-tuning/evals/evals.json
  • skills/nemo-relay-plugin-adaptive-tuning/references/config.md
  • skills/nemo-relay-plugin-adaptive-tuning/references/hints.md
  • skills/nemo-relay-plugin-build/SKILL.md
  • skills/nemo-relay-plugin-build/evals/evals.json
  • skills/nemo-relay-plugin-observability/SKILL.md
  • skills/nemo-relay-plugin-observability/evals/evals.json
  • skills/nemo-relay-plugin-observability/references/atif.md
  • skills/nemo-relay-plugin-observability/references/atof.md
  • skills/nemo-relay-plugin-observability/references/openinference.md
  • skills/nemo-relay-plugin-observability/references/opentelemetry.md
  • skills/nemo-relay-setup-observability/SKILL.md
  • skills/nemo-relay-setup-observability/evals/evals.json
  • skills/nemo-relay-start/SKILL.md
  • skills/nemo-relay-start/evals/evals.json
  • skills/nemo-relay-tune-adaptive-config/evals/evals.json
  • skills/nemo-relay-tune-adaptive-hints/evals/evals.json
  • skills/nemo-relay-tune-performance/evals/evals.json
💤 Files with no reviewable changes (10)
  • skills/nemo-relay-setup-observability/SKILL.md
  • skills/nemo-relay-tune-adaptive-hints/evals/evals.json
  • skills/nemo-relay-tune-adaptive-config/evals/evals.json
  • skills/nemo-relay-export-atif-trajectories/evals/evals.json
  • skills/nemo-relay-export-otel/evals/evals.json
  • skills/nemo-relay-start/SKILL.md
  • skills/nemo-relay-export-openinference/evals/evals.json
  • skills/nemo-relay-tune-performance/evals/evals.json
  • skills/nemo-relay-start/evals/evals.json
  • skills/nemo-relay-setup-observability/evals/evals.json
📜 Review details
🧰 Additional context used
📓 Path-based instructions (10)
**/*.{md,rst,html,txt}

📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-brand-terminology.md)

**/*.{md,rst,html,txt}: Always spell NVIDIA in all caps. Do not use Nvidia, nvidia, nVidia, nVIDIA, or NV.
Use an NVIDIA before a noun because the name starts with an 'en' sound.
Do not add a registered trademark symbol after NVIDIA when referring to the company.
Use trademark symbols with product names only when the document type or legal guidance requires them.
Verify official capitalization, spacing, and hyphenation for product names.
Precede NVIDIA product names with NVIDIA on first mention when it is natural and accurate.
Do not rewrite product names for grammar or title-case rules.
Preserve third-party product names according to the owner's spelling.
Include the company name and full model qualifier on first use when it helps identify the model.
Preserve the official capitalization and punctuation of model names.
Use shorter family names only after the full name is established.
Spell out a term on first use and put the acronym in parentheses unless the acronym is widely understood by the intended audience.
Use the acronym on later mentions after it has been defined.
For long documents, reintroduce the full term if readers might lose context.
Form plurals of acronyms with s, not an apostrophe, such as GPUs.
In headings, common acronyms can remain abbreviated. Spell out the term in the first or second sentence of the body.
Common terms such as CPU, GPU, PC, API, and UI usually do not need to be spelled out for developer audiences.

Files:

  • skills/nemo-relay-install/assets/codex-desktop-recovery.md
  • skills/nemo-relay-get-started/references/built-in-integrations-try-now.md
  • skills/nemo-relay-install/SKILL.md
  • skills/nemo-relay-plugin-observability/references/atif.md
  • skills/nemo-relay-plugin-observability/references/atof.md
  • skills/nemo-relay-install/references/language-packages.md
  • skills/nemo-relay-plugin-observability/SKILL.md
  • skills/nemo-relay-plugin-observability/references/opentelemetry.md
  • skills/nemo-relay-get-started/references/manual-language-try-now.md
  • skills/nemo-relay-plugin-observability/references/openinference.md
  • skills/nemo-relay-get-started/SKILL.md
  • skills/nemo-relay-debug-runtime-integration/SKILL.md
  • skills/nemo-relay-instrument-calls/SKILL.md
  • skills/nemo-relay-install/references/cli-install.md
  • skills/nemo-relay-plugin-adaptive-tuning/references/hints.md
  • skills/nemo-relay-get-started/references/cli-try-now.md
  • skills/nemo-relay-install/references/maintained-integrations.md
  • skills/nemo-relay-instrument-context-isolation/SKILL.md
  • skills/nemo-relay-instrument-typed-wrappers/SKILL.md
  • skills/nemo-relay-plugin-adaptive-tuning/references/config.md
  • skills/README.md
  • skills/nemo-relay-migrate-from-flow/SKILL.md
  • skills/nemo-relay-plugin-adaptive-tuning/SKILL.md
  • skills/nemo-relay-plugin-build/SKILL.md
**/*.{md,rst,html}

📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-brand-terminology.md)

Link the first mention of a product name when the destination helps the reader.

Files:

  • skills/nemo-relay-install/assets/codex-desktop-recovery.md
  • skills/nemo-relay-get-started/references/built-in-integrations-try-now.md
  • skills/nemo-relay-install/SKILL.md
  • skills/nemo-relay-plugin-observability/references/atif.md
  • skills/nemo-relay-plugin-observability/references/atof.md
  • skills/nemo-relay-install/references/language-packages.md
  • skills/nemo-relay-plugin-observability/SKILL.md
  • skills/nemo-relay-plugin-observability/references/opentelemetry.md
  • skills/nemo-relay-get-started/references/manual-language-try-now.md
  • skills/nemo-relay-plugin-observability/references/openinference.md
  • skills/nemo-relay-get-started/SKILL.md
  • skills/nemo-relay-debug-runtime-integration/SKILL.md
  • skills/nemo-relay-instrument-calls/SKILL.md
  • skills/nemo-relay-install/references/cli-install.md
  • skills/nemo-relay-plugin-adaptive-tuning/references/hints.md
  • skills/nemo-relay-get-started/references/cli-try-now.md
  • skills/nemo-relay-install/references/maintained-integrations.md
  • skills/nemo-relay-instrument-context-isolation/SKILL.md
  • skills/nemo-relay-instrument-typed-wrappers/SKILL.md
  • skills/nemo-relay-plugin-adaptive-tuning/references/config.md
  • skills/README.md
  • skills/nemo-relay-migrate-from-flow/SKILL.md
  • skills/nemo-relay-plugin-adaptive-tuning/SKILL.md
  • skills/nemo-relay-plugin-build/SKILL.md
**/*.{md,rst,txt}

📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-guide.md)

Spell NVIDIA in all caps. Do not use Nvidia, nvidia, or NV.

Files:

  • skills/nemo-relay-install/assets/codex-desktop-recovery.md
  • skills/nemo-relay-get-started/references/built-in-integrations-try-now.md
  • skills/nemo-relay-install/SKILL.md
  • skills/nemo-relay-plugin-observability/references/atif.md
  • skills/nemo-relay-plugin-observability/references/atof.md
  • skills/nemo-relay-install/references/language-packages.md
  • skills/nemo-relay-plugin-observability/SKILL.md
  • skills/nemo-relay-plugin-observability/references/opentelemetry.md
  • skills/nemo-relay-get-started/references/manual-language-try-now.md
  • skills/nemo-relay-plugin-observability/references/openinference.md
  • skills/nemo-relay-get-started/SKILL.md
  • skills/nemo-relay-debug-runtime-integration/SKILL.md
  • skills/nemo-relay-instrument-calls/SKILL.md
  • skills/nemo-relay-install/references/cli-install.md
  • skills/nemo-relay-plugin-adaptive-tuning/references/hints.md
  • skills/nemo-relay-get-started/references/cli-try-now.md
  • skills/nemo-relay-install/references/maintained-integrations.md
  • skills/nemo-relay-instrument-context-isolation/SKILL.md
  • skills/nemo-relay-instrument-typed-wrappers/SKILL.md
  • skills/nemo-relay-plugin-adaptive-tuning/references/config.md
  • skills/README.md
  • skills/nemo-relay-migrate-from-flow/SKILL.md
  • skills/nemo-relay-plugin-adaptive-tuning/SKILL.md
  • skills/nemo-relay-plugin-build/SKILL.md
**/*.{md,rst}

📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-guide.md)

**/*.{md,rst}: Format commands, code elements, expressions, package names, file names, and paths as inline code.
Use descriptive link text. Avoid raw URLs and weak anchors such as "here" or "read more."
Use title case consistently for technical documentation headings.
Introduce code blocks, lists, tables, and images with complete sentences.
Write procedures as imperative steps. Keep steps parallel and split long procedures into smaller tasks.
Prefer active voice, present tense, short sentences, contractions, and plain English.
Use can for possibility and reserve may for permission.
Use after for temporal relationships instead of once.
Prefer refer to over see when the wording points readers to another resource.
Avoid culture-specific idioms, unnecessary Latinisms, jokes, and marketing exaggeration in technical docs.
Spell out months in body text, avoid ordinal dates, and use clear time zones.
Spell out whole numbers from zero through nine unless they are technical values, parameters, versions, or UI values.
Use numerals for 10 or greater and include commas in thousands.
Do not add trademark symbols to learning-oriented docs unless the source, platform, or legal guidance explicitly requires them.

Files:

  • skills/nemo-relay-install/assets/codex-desktop-recovery.md
  • skills/nemo-relay-get-started/references/built-in-integrations-try-now.md
  • skills/nemo-relay-install/SKILL.md
  • skills/nemo-relay-plugin-observability/references/atif.md
  • skills/nemo-relay-plugin-observability/references/atof.md
  • skills/nemo-relay-install/references/language-packages.md
  • skills/nemo-relay-plugin-observability/SKILL.md
  • skills/nemo-relay-plugin-observability/references/opentelemetry.md
  • skills/nemo-relay-get-started/references/manual-language-try-now.md
  • skills/nemo-relay-plugin-observability/references/openinference.md
  • skills/nemo-relay-get-started/SKILL.md
  • skills/nemo-relay-debug-runtime-integration/SKILL.md
  • skills/nemo-relay-instrument-calls/SKILL.md
  • skills/nemo-relay-install/references/cli-install.md
  • skills/nemo-relay-plugin-adaptive-tuning/references/hints.md
  • skills/nemo-relay-get-started/references/cli-try-now.md
  • skills/nemo-relay-install/references/maintained-integrations.md
  • skills/nemo-relay-instrument-context-isolation/SKILL.md
  • skills/nemo-relay-instrument-typed-wrappers/SKILL.md
  • skills/nemo-relay-plugin-adaptive-tuning/references/config.md
  • skills/README.md
  • skills/nemo-relay-migrate-from-flow/SKILL.md
  • skills/nemo-relay-plugin-adaptive-tuning/SKILL.md
  • skills/nemo-relay-plugin-build/SKILL.md
**/*.md

📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-technical-docs.md)

**/*.md: Use title case consistently in technical documentation headings
Avoid quotation marks, ampersands, and exclamation marks in headings
Keep product, event, research, and whitepaper names in their official title case
Use title case for table headers
Do not force social-media sentence case into technical docs
Format code elements, commands, parameters, package names, and expressions in monospace
Format directories, file names, and paths in monospace using backticks
Use angle brackets inside monospace for variables inside paths, such as /home/<username>/.login
Format error messages and strings in quotation marks, keeping literal code strings in code formatting when clearer
Format UI buttons, menus, fields, and labels in bold
Use angle brackets between UI labels for menu paths, such as File > Save As
Use italics for new terms on first use, sparingly and only when introducing the term
Use italics for publication titles
Format keyboard shortcuts in plain text, such as Press Ctrl+Alt+Delete
Use owner/repo link text for GitHub repositories, preferring [NVIDIA/NeMo](link) over prose references like 'the GitHub repo'
Introduce every code block with a complete sentence
Do not make a code block complete the grammar of the previous sentence
Do not continue a sentence after a code block
Use syntax highlighting when the format supports it for code blocks
Avoid the word 'snippet' unless the surrounding docs already use it as a term of art
Keep inline method, function, and class references consistent with nearby docs, omitting empty parentheses for prose readability when no call is shown
Use descriptive anchor text that matches the destination title when possible for links
Avoid raw URLs in running text
Avoid generic anchor text such as 'here,' 'this page,' and 'read more'
Include acronyms in link text when a linked term includes an acronym
Do not link long sentences or multiple sentences
Avoid links that pull readers away from a procedure unless the link is a p...

Files:

  • skills/nemo-relay-install/assets/codex-desktop-recovery.md
  • skills/nemo-relay-get-started/references/built-in-integrations-try-now.md
  • skills/nemo-relay-install/SKILL.md
  • skills/nemo-relay-plugin-observability/references/atif.md
  • skills/nemo-relay-plugin-observability/references/atof.md
  • skills/nemo-relay-install/references/language-packages.md
  • skills/nemo-relay-plugin-observability/SKILL.md
  • skills/nemo-relay-plugin-observability/references/opentelemetry.md
  • skills/nemo-relay-get-started/references/manual-language-try-now.md
  • skills/nemo-relay-plugin-observability/references/openinference.md
  • skills/nemo-relay-get-started/SKILL.md
  • skills/nemo-relay-debug-runtime-integration/SKILL.md
  • skills/nemo-relay-instrument-calls/SKILL.md
  • skills/nemo-relay-install/references/cli-install.md
  • skills/nemo-relay-plugin-adaptive-tuning/references/hints.md
  • skills/nemo-relay-get-started/references/cli-try-now.md
  • skills/nemo-relay-install/references/maintained-integrations.md
  • skills/nemo-relay-instrument-context-isolation/SKILL.md
  • skills/nemo-relay-instrument-typed-wrappers/SKILL.md
  • skills/nemo-relay-plugin-adaptive-tuning/references/config.md
  • skills/README.md
  • skills/nemo-relay-migrate-from-flow/SKILL.md
  • skills/nemo-relay-plugin-adaptive-tuning/SKILL.md
  • skills/nemo-relay-plugin-build/SKILL.md
**/*.{md,mdx}

📄 CodeRabbit inference engine (AGENTS.md)

Update README.md, fern/, package READMEs, and binding-support notes when public behavior, package names, examples, or supported bindings change.

**/*.{md,mdx}: Prefer the documented public API, not internal shortcuts
Keep package names, repo references, and build commands current
Keep release-process and release-notes guidance in repo-maintainer docs such as RELEASING.md, not as user-facing docs pages or CHANGELOG.md
Keep stable user-facing wrappers at scripts/ root in docs and examples; only point at namespaced helper paths when documenting internal maintenance work
When detailed dynamic plugin guides exist, keep Rust native plugin examples, Python worker plugin examples, and grpc-v1 protocol details on separate pages

If links in documentation change, run just docs-linkcheck.

Files:

  • skills/nemo-relay-install/assets/codex-desktop-recovery.md
  • skills/nemo-relay-get-started/references/built-in-integrations-try-now.md
  • skills/nemo-relay-install/SKILL.md
  • skills/nemo-relay-plugin-observability/references/atif.md
  • skills/nemo-relay-plugin-observability/references/atof.md
  • skills/nemo-relay-install/references/language-packages.md
  • skills/nemo-relay-plugin-observability/SKILL.md
  • skills/nemo-relay-plugin-observability/references/opentelemetry.md
  • skills/nemo-relay-get-started/references/manual-language-try-now.md
  • skills/nemo-relay-plugin-observability/references/openinference.md
  • skills/nemo-relay-get-started/SKILL.md
  • skills/nemo-relay-debug-runtime-integration/SKILL.md
  • skills/nemo-relay-instrument-calls/SKILL.md
  • skills/nemo-relay-install/references/cli-install.md
  • skills/nemo-relay-plugin-adaptive-tuning/references/hints.md
  • skills/nemo-relay-get-started/references/cli-try-now.md
  • skills/nemo-relay-install/references/maintained-integrations.md
  • skills/nemo-relay-instrument-context-isolation/SKILL.md
  • skills/nemo-relay-instrument-typed-wrappers/SKILL.md
  • skills/nemo-relay-plugin-adaptive-tuning/references/config.md
  • skills/README.md
  • skills/nemo-relay-migrate-from-flow/SKILL.md
  • skills/nemo-relay-plugin-adaptive-tuning/SKILL.md
  • skills/nemo-relay-plugin-build/SKILL.md
**/*.{md,markdown,mdx}

📄 CodeRabbit inference engine (CONTRIBUTING.md)

Add the SPDX license header to all Markdown/MDX documentation files using the HTML comment block form.

Files:

  • skills/nemo-relay-install/assets/codex-desktop-recovery.md
  • skills/nemo-relay-get-started/references/built-in-integrations-try-now.md
  • skills/nemo-relay-install/SKILL.md
  • skills/nemo-relay-plugin-observability/references/atif.md
  • skills/nemo-relay-plugin-observability/references/atof.md
  • skills/nemo-relay-install/references/language-packages.md
  • skills/nemo-relay-plugin-observability/SKILL.md
  • skills/nemo-relay-plugin-observability/references/opentelemetry.md
  • skills/nemo-relay-get-started/references/manual-language-try-now.md
  • skills/nemo-relay-plugin-observability/references/openinference.md
  • skills/nemo-relay-get-started/SKILL.md
  • skills/nemo-relay-debug-runtime-integration/SKILL.md
  • skills/nemo-relay-instrument-calls/SKILL.md
  • skills/nemo-relay-install/references/cli-install.md
  • skills/nemo-relay-plugin-adaptive-tuning/references/hints.md
  • skills/nemo-relay-get-started/references/cli-try-now.md
  • skills/nemo-relay-install/references/maintained-integrations.md
  • skills/nemo-relay-instrument-context-isolation/SKILL.md
  • skills/nemo-relay-instrument-typed-wrappers/SKILL.md
  • skills/nemo-relay-plugin-adaptive-tuning/references/config.md
  • skills/README.md
  • skills/nemo-relay-migrate-from-flow/SKILL.md
  • skills/nemo-relay-plugin-adaptive-tuning/SKILL.md
  • skills/nemo-relay-plugin-build/SKILL.md
**/*

📄 CodeRabbit inference engine (.agents/skills/validate-change/SKILL.md)

**/*: Format changed files with the language-native formatter before the final lint/test pass.
If dynamic plugin behavior changed, use maintain-dynamic-plugins and include the native SDK, worker protocol, Python SDK, docs, packaging, and Codecov surfaces in the validation plan.
If code changes alter APIs, bindings, commands, paths, packaging behavior, observability/adaptive semantics, or documented best practices, update any dependent maintainer or consumer skills in the same branch.
During iteration, prefer uv run pre-commit run --files <changed files...>.
Before review or handoff, run uv run pre-commit run --all-files.

Files:

  • skills/nemo-relay-install/assets/codex-desktop-recovery.md
  • skills/nemo-relay-get-started/references/built-in-integrations-try-now.md
  • skills/nemo-relay-install/SKILL.md
  • skills/nemo-relay-debug-runtime-integration/evals/evals.json
  • skills/nemo-relay-plugin-observability/references/atif.md
  • skills/nemo-relay-plugin-observability/references/atof.md
  • skills/nemo-relay-install/references/language-packages.md
  • skills/nemo-relay-plugin-adaptive-tuning/evals/evals.json
  • skills/nemo-relay-plugin-observability/SKILL.md
  • skills/nemo-relay-instrument-calls/evals/evals.json
  • skills/nemo-relay-install/evals/evals.json
  • skills/nemo-relay-plugin-observability/references/opentelemetry.md
  • skills/nemo-relay-get-started/evals/evals.json
  • skills/nemo-relay-get-started/references/manual-language-try-now.md
  • skills/nemo-relay-plugin-observability/evals/evals.json
  • skills/nemo-relay-plugin-observability/references/openinference.md
  • skills/nemo-relay-get-started/SKILL.md
  • skills/nemo-relay-debug-runtime-integration/SKILL.md
  • skills/nemo-relay-instrument-context-isolation/evals/evals.json
  • skills/nemo-relay-instrument-calls/SKILL.md
  • skills/nemo-relay-install/references/cli-install.md
  • skills/nemo-relay-instrument-typed-wrappers/evals/evals.json
  • skills/nemo-relay-plugin-adaptive-tuning/references/hints.md
  • skills/nemo-relay-get-started/references/cli-try-now.md
  • skills/nemo-relay-install/references/maintained-integrations.md
  • skills/nemo-relay-instrument-context-isolation/SKILL.md
  • skills/nemo-relay-instrument-typed-wrappers/SKILL.md
  • skills/nemo-relay-plugin-adaptive-tuning/references/config.md
  • skills/nemo-relay-plugin-build/evals/evals.json
  • skills/README.md
  • skills/nemo-relay-migrate-from-flow/SKILL.md
  • skills/nemo-relay-plugin-adaptive-tuning/SKILL.md
  • skills/nemo-relay-plugin-build/SKILL.md
**

⚙️ CodeRabbit configuration file

**:

AGENTS.md

This file provides guidance to agents, including Claude Code and OpenAI Codex, when working in this repository.

Project Overview

NeMo Relay is a multi-language agent runtime framework for execution scopes, lifecycle events, middleware, plugins, and observability around tool and LLM calls. The core runtime is Rust. Primary supported bindings are Rust, Python, and Node.js. Go and the raw C FFI are experimental and source-first.

The shared runtime model is:

  1. Scope stacks decide where work belongs and which scope-local behavior is visible.
  2. Middleware registries decide what guardrails and intercepts run around managed calls.
  3. Plugins install reusable runtime behavior from configuration.
  4. Events record runtime behavior in ATOF form.
  5. Subscribers and exporters consume events in-process or export them to ATIF, OpenTelemetry, OpenInference, or other backends.

Repository Structure

The repository layout separates the Rust runtime, language bindings,
documentation, integrations, and agent-facing skills.

crates/
  core/       # Rust core runtime crate, published as nemo-relay
  adaptive/   # Adaptive runtime primitives and plugin components
  python/     # PyO3 native extension for the Python package
  ffi/        # Raw C ABI layer used by downstream bindings such as Go
  node/       # NAPI Node.js binding and JavaScript/TypeScript entry points
python/
  nemo_relay/  # Python wrapper package: scopes, tools, LLM, middleware, typed helpers, plugins, adaptive helpers
  tests/      # Python tests
go/
  nemo_relay/  # Experimental Go CGo binding and tests
fern/         # Fern documentation site
scripts/      # Stable wrappers and helper scripts; build/test/docs entry points live in justfile
skills/       # Published Codex/agent skills for NeMo Relay usage patterns

Prerequisites

Insta...

Files:

  • skills/nemo-relay-install/assets/codex-desktop-recovery.md
  • skills/nemo-relay-get-started/references/built-in-integrations-try-now.md
  • skills/nemo-relay-install/SKILL.md
  • skills/nemo-relay-debug-runtime-integration/evals/evals.json
  • skills/nemo-relay-plugin-observability/references/atif.md
  • skills/nemo-relay-plugin-observability/references/atof.md
  • skills/nemo-relay-install/references/language-packages.md
  • skills/nemo-relay-plugin-adaptive-tuning/evals/evals.json
  • skills/nemo-relay-plugin-observability/SKILL.md
  • skills/nemo-relay-instrument-calls/evals/evals.json
  • skills/nemo-relay-install/evals/evals.json
  • skills/nemo-relay-plugin-observability/references/opentelemetry.md
  • skills/nemo-relay-get-started/evals/evals.json
  • skills/nemo-relay-get-started/references/manual-language-try-now.md
  • skills/nemo-relay-plugin-observability/evals/evals.json
  • skills/nemo-relay-plugin-observability/references/openinference.md
  • skills/nemo-relay-get-started/SKILL.md
  • skills/nemo-relay-debug-runtime-integration/SKILL.md
  • skills/nemo-relay-instrument-context-isolation/evals/evals.json
  • skills/nemo-relay-instrument-calls/SKILL.md
  • skills/nemo-relay-install/references/cli-install.md
  • skills/nemo-relay-instrument-typed-wrappers/evals/evals.json
  • skills/nemo-relay-plugin-adaptive-tuning/references/hints.md
  • skills/nemo-relay-get-started/references/cli-try-now.md
  • skills/nemo-relay-install/references/maintained-integrations.md
  • skills/nemo-relay-instrument-context-isolation/SKILL.md
  • skills/nemo-relay-instrument-typed-wrappers/SKILL.md
  • skills/nemo-relay-plugin-adaptive-tuning/references/config.md
  • skills/nemo-relay-plugin-build/evals/evals.json
  • skills/README.md
  • skills/nemo-relay-migrate-from-flow/SKILL.md
  • skills/nemo-relay-plugin-adaptive-tuning/SKILL.md
  • skills/nemo-relay-plugin-build/SKILL.md
**/SKILL.md

📄 CodeRabbit inference engine (AGENTS.md)

SKILL.md files are skill entrypoints and must start with YAML frontmatter containing at least name and description.

Files:

  • skills/nemo-relay-install/SKILL.md
  • skills/nemo-relay-plugin-observability/SKILL.md
  • skills/nemo-relay-get-started/SKILL.md
  • skills/nemo-relay-debug-runtime-integration/SKILL.md
  • skills/nemo-relay-instrument-calls/SKILL.md
  • skills/nemo-relay-instrument-context-isolation/SKILL.md
  • skills/nemo-relay-instrument-typed-wrappers/SKILL.md
  • skills/nemo-relay-migrate-from-flow/SKILL.md
  • skills/nemo-relay-plugin-adaptive-tuning/SKILL.md
  • skills/nemo-relay-plugin-build/SKILL.md

⚙️ CodeRabbit configuration file

**/SKILL.md: Do not flag SKILL.md files for missing SPDX headers. Skill entrypoints intentionally start with YAML frontmatter instead.
Verify that every SKILL.md keeps valid YAML frontmatter with at least name and description fields before the Markdown body.

Files:

  • skills/nemo-relay-install/SKILL.md
  • skills/nemo-relay-plugin-observability/SKILL.md
  • skills/nemo-relay-get-started/SKILL.md
  • skills/nemo-relay-debug-runtime-integration/SKILL.md
  • skills/nemo-relay-instrument-calls/SKILL.md
  • skills/nemo-relay-instrument-context-isolation/SKILL.md
  • skills/nemo-relay-instrument-typed-wrappers/SKILL.md
  • skills/nemo-relay-migrate-from-flow/SKILL.md
  • skills/nemo-relay-plugin-adaptive-tuning/SKILL.md
  • skills/nemo-relay-plugin-build/SKILL.md
🪛 LanguageTool
skills/nemo-relay-plugin-build/SKILL.md

[style] ~157-~157: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...nemo-relay-plugin-observability - You need to debug plugin activation, missing events...

(REP_NEED_TO_VB)

🪛 SkillSpector (2.3.7)
skills/nemo-relay-get-started/SKILL.md

[warning] 32: [EA2] Autonomous Decision Making: Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Remediation: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.

(Excessive Agency (EA2))

skills/nemo-relay-migrate-from-flow/SKILL.md

[warning] 23: [RA2] Session Persistence: Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Remediation: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.

(Rogue Agent (RA2))


[warning] 23: [RA2] Session Persistence: Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Remediation: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.

(Rogue Agent (RA2))


[warning] 23: [RA2] Session Persistence: Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Remediation: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.

(Rogue Agent (RA2))


[warning] 23: [RA2] Session Persistence: Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Remediation: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.

(Rogue Agent (RA2))

🔇 Additional comments (22)
skills/nemo-relay-debug-runtime-integration/SKILL.md (1)

3-8: LGTM!

Also applies to: 75-78

skills/nemo-relay-debug-runtime-integration/evals/evals.json (1)

40-40: LGTM!

skills/nemo-relay-migrate-from-flow/SKILL.md (1)

3-6: LGTM!

Also applies to: 107-107

skills/nemo-relay-plugin-observability/evals/evals.json (1)

1-291: LGTM!

skills/nemo-relay-plugin-observability/references/atif.md (1)

1-8: LGTM!

Also applies to: 65-65

skills/nemo-relay-plugin-observability/references/openinference.md (1)

1-8: LGTM!

Also applies to: 51-52

skills/nemo-relay-plugin-observability/references/opentelemetry.md (1)

1-8: LGTM!

Also applies to: 55-55

skills/nemo-relay-plugin-adaptive-tuning/SKILL.md (1)

2-9: LGTM!

Also applies to: 20-20, 55-60, 71-87

skills/nemo-relay-plugin-adaptive-tuning/evals/evals.json (1)

1-175: LGTM!

skills/nemo-relay-plugin-adaptive-tuning/references/config.md (1)

1-15: LGTM!

Also applies to: 82-84

skills/nemo-relay-plugin-adaptive-tuning/references/hints.md (1)

1-18: LGTM!

Also applies to: 64-64

skills/nemo-relay-plugin-build/SKILL.md (1)

2-6: LGTM!

Also applies to: 36-36, 156-163

skills/nemo-relay-plugin-build/evals/evals.json (1)

3-21: LGTM!

Also applies to: 31-35, 45-51

skills/nemo-relay-instrument-calls/SKILL.md (1)

3-8: LGTM!

skills/nemo-relay-instrument-calls/evals/evals.json (1)

49-52: LGTM!

skills/nemo-relay-instrument-context-isolation/SKILL.md (1)

2-8: LGTM!

Also applies to: 61-61

skills/nemo-relay-instrument-context-isolation/evals/evals.json (1)

3-43: LGTM!

Also applies to: 45-51

skills/nemo-relay-instrument-typed-wrappers/SKILL.md (1)

2-8: LGTM!

Also applies to: 75-75

skills/nemo-relay-instrument-typed-wrappers/evals/evals.json (1)

3-43: LGTM!

Also applies to: 45-51

skills/nemo-relay-get-started/evals/evals.json (1)

1-220: LGTM!

skills/nemo-relay-get-started/references/cli-try-now.md (1)

42-44: 🎯 Functional Correctness

Keep codex-cli >= 0.129.0 here. This is the documented floor for the features.hooks and nemo-relay-openai path.

skills/nemo-relay-install/evals/evals.json (1)

1-166: LGTM!

Comment thread skills/nemo-relay-get-started/references/built-in-integrations-try-now.md Outdated
Comment thread skills/nemo-relay-get-started/references/built-in-integrations-try-now.md Outdated
Comment thread skills/nemo-relay-get-started/references/cli-try-now.md Outdated
Comment thread skills/nemo-relay-get-started/references/manual-language-try-now.md
Comment thread skills/nemo-relay-get-started/SKILL.md Outdated
Comment thread skills/nemo-relay-plugin-observability/references/atof.md Outdated
Comment thread skills/nemo-relay-plugin-observability/SKILL.md
Comment thread skills/README.md Outdated
Comment thread skills/README.md Outdated
Comment thread skills/README.md

@willkill07 willkill07 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just an initial round of feedback with some thoughts and comments!

Comment thread skills/nemo-relay-migrate-from-flow/SKILL.md
Comment thread skills/nemo-relay-instrument-typed-wrappers/SKILL.md
Comment thread skills/nemo-relay-export-otel/evals/evals.json Outdated
Comment thread skills/README.md Outdated
Comment thread skills/README.md Outdated
@bbednarski9

Copy link
Copy Markdown
Contributor

Are we thinking about listing Relay on NVIDIA/skills? If so, we might want to support their auto-discovery path:

After PR 407 merges, NeMo Relay would need:

  • A new components.d/nemo-relay.yml listing the Relay skill paths.
  • Required catalog artifacts for every skill: skill.oms.sig, skill-card.md, and eval data. PR 407’s ten skills currently have eval data but no signature or skill card, so the sync would drop them.

Co-authored-by: Will Killian <2007799+willkill07@users.noreply.github.com>
Signed-off-by: Allan <exactlyallan@users.noreply.github.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
skills/README.md (1)

21-22: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Let nemo-relay-get-started select installation when needed.

The linked skill chooses the applicable try-now boundary before selecting an install package, then delegates to nemo-relay-install only when installation is missing. Telling new users to install first can cause an unnecessary clarification or path-selection loop.

Suggested wording
-- **New to Relay**: use [`nemo-relay-install`](nemo-relay-install/SKILL.md), then
--   [`nemo-relay-get-started`](nemo-relay-get-started/SKILL.md).
+- **New to Relay**: use [`nemo-relay-get-started`](nemo-relay-get-started/SKILL.md);
+  it routes to [`nemo-relay-install`](nemo-relay-install/SKILL.md) when needed.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@skills/README.md` around lines 21 - 22, Update the “New to Relay” guidance in
the README to link users directly to nemo-relay-get-started as the entry point,
removing the instruction to run nemo-relay-install first. Preserve the existing
skill links while making nemo-relay-get-started responsible for selecting
installation when needed.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@skills/README.md`:
- Around line 16-17: Update the sentence in the skills README so the singular
subject “.claude/skills directory” uses the verb “exposes” instead of “expose,”
leaving the surrounding wording unchanged.

---

Outside diff comments:
In `@skills/README.md`:
- Around line 21-22: Update the “New to Relay” guidance in the README to link
users directly to nemo-relay-get-started as the entry point, removing the
instruction to run nemo-relay-install first. Preserve the existing skill links
while making nemo-relay-get-started responsible for selecting installation when
needed.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: c97fad67-2af6-49f4-9e3f-70eeac091d7c

📥 Commits

Reviewing files that changed from the base of the PR and between fc73ee3 and b7db728.

📒 Files selected for processing (1)
  • skills/README.md
📜 Review details
🧰 Additional context used
📓 Path-based instructions (9)
**/*.{md,rst,html,txt}

📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-brand-terminology.md)

**/*.{md,rst,html,txt}: Always spell NVIDIA in all caps. Do not use Nvidia, nvidia, nVidia, nVIDIA, or NV.
Use an NVIDIA before a noun because the name starts with an 'en' sound.
Do not add a registered trademark symbol after NVIDIA when referring to the company.
Use trademark symbols with product names only when the document type or legal guidance requires them.
Verify official capitalization, spacing, and hyphenation for product names.
Precede NVIDIA product names with NVIDIA on first mention when it is natural and accurate.
Do not rewrite product names for grammar or title-case rules.
Preserve third-party product names according to the owner's spelling.
Include the company name and full model qualifier on first use when it helps identify the model.
Preserve the official capitalization and punctuation of model names.
Use shorter family names only after the full name is established.
Spell out a term on first use and put the acronym in parentheses unless the acronym is widely understood by the intended audience.
Use the acronym on later mentions after it has been defined.
For long documents, reintroduce the full term if readers might lose context.
Form plurals of acronyms with s, not an apostrophe, such as GPUs.
In headings, common acronyms can remain abbreviated. Spell out the term in the first or second sentence of the body.
Common terms such as CPU, GPU, PC, API, and UI usually do not need to be spelled out for developer audiences.

Files:

  • skills/README.md
**/*.{md,rst,html}

📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-brand-terminology.md)

Link the first mention of a product name when the destination helps the reader.

Files:

  • skills/README.md
**/*.{md,rst,txt}

📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-guide.md)

Spell NVIDIA in all caps. Do not use Nvidia, nvidia, or NV.

Files:

  • skills/README.md
**/*.{md,rst}

📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-guide.md)

**/*.{md,rst}: Format commands, code elements, expressions, package names, file names, and paths as inline code.
Use descriptive link text. Avoid raw URLs and weak anchors such as "here" or "read more."
Use title case consistently for technical documentation headings.
Introduce code blocks, lists, tables, and images with complete sentences.
Write procedures as imperative steps. Keep steps parallel and split long procedures into smaller tasks.
Prefer active voice, present tense, short sentences, contractions, and plain English.
Use can for possibility and reserve may for permission.
Use after for temporal relationships instead of once.
Prefer refer to over see when the wording points readers to another resource.
Avoid culture-specific idioms, unnecessary Latinisms, jokes, and marketing exaggeration in technical docs.
Spell out months in body text, avoid ordinal dates, and use clear time zones.
Spell out whole numbers from zero through nine unless they are technical values, parameters, versions, or UI values.
Use numerals for 10 or greater and include commas in thousands.
Do not add trademark symbols to learning-oriented docs unless the source, platform, or legal guidance explicitly requires them.

Files:

  • skills/README.md
**/*.md

📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-technical-docs.md)

**/*.md: Use title case consistently in technical documentation headings
Avoid quotation marks, ampersands, and exclamation marks in headings
Keep product, event, research, and whitepaper names in their official title case
Use title case for table headers
Do not force social-media sentence case into technical docs
Format code elements, commands, parameters, package names, and expressions in monospace
Format directories, file names, and paths in monospace using backticks
Use angle brackets inside monospace for variables inside paths, such as /home/<username>/.login
Format error messages and strings in quotation marks, keeping literal code strings in code formatting when clearer
Format UI buttons, menus, fields, and labels in bold
Use angle brackets between UI labels for menu paths, such as File > Save As
Use italics for new terms on first use, sparingly and only when introducing the term
Use italics for publication titles
Format keyboard shortcuts in plain text, such as Press Ctrl+Alt+Delete
Use owner/repo link text for GitHub repositories, preferring [NVIDIA/NeMo](link) over prose references like 'the GitHub repo'
Introduce every code block with a complete sentence
Do not make a code block complete the grammar of the previous sentence
Do not continue a sentence after a code block
Use syntax highlighting when the format supports it for code blocks
Avoid the word 'snippet' unless the surrounding docs already use it as a term of art
Keep inline method, function, and class references consistent with nearby docs, omitting empty parentheses for prose readability when no call is shown
Use descriptive anchor text that matches the destination title when possible for links
Avoid raw URLs in running text
Avoid generic anchor text such as 'here,' 'this page,' and 'read more'
Include acronyms in link text when a linked term includes an acronym
Do not link long sentences or multiple sentences
Avoid links that pull readers away from a procedure unless the link is a p...

Files:

  • skills/README.md
**/*.{md,mdx}

📄 CodeRabbit inference engine (AGENTS.md)

Update README.md, fern/, package READMEs, and binding-support notes when public behavior, package names, examples, or supported bindings change.

**/*.{md,mdx}: Prefer the documented public API, not internal shortcuts
Keep package names, repo references, and build commands current
Keep release-process and release-notes guidance in repo-maintainer docs such as RELEASING.md, not as user-facing docs pages or CHANGELOG.md
Keep stable user-facing wrappers at scripts/ root in docs and examples; only point at namespaced helper paths when documenting internal maintenance work
When detailed dynamic plugin guides exist, keep Rust native plugin examples, Python worker plugin examples, and grpc-v1 protocol details on separate pages

If links in documentation change, run just docs-linkcheck.

Files:

  • skills/README.md
**/*.{md,markdown,mdx}

📄 CodeRabbit inference engine (CONTRIBUTING.md)

Add the SPDX license header to all Markdown/MDX documentation files using the HTML comment block form.

Files:

  • skills/README.md
**/*

📄 CodeRabbit inference engine (.agents/skills/validate-change/SKILL.md)

**/*: Format changed files with the language-native formatter before the final lint/test pass.
If dynamic plugin behavior changed, use maintain-dynamic-plugins and include the native SDK, worker protocol, Python SDK, docs, packaging, and Codecov surfaces in the validation plan.
If code changes alter APIs, bindings, commands, paths, packaging behavior, observability/adaptive semantics, or documented best practices, update any dependent maintainer or consumer skills in the same branch.
During iteration, prefer uv run pre-commit run --files <changed files...>.
Before review or handoff, run uv run pre-commit run --all-files.

Files:

  • skills/README.md
**

⚙️ CodeRabbit configuration file

**:

AGENTS.md

This file provides guidance to agents, including Claude Code and OpenAI Codex, when working in this repository.

Project Overview

NeMo Relay is a multi-language agent runtime framework for execution scopes, lifecycle events, middleware, plugins, and observability around tool and LLM calls. The core runtime is Rust. Primary supported bindings are Rust, Python, and Node.js. Go and the raw C FFI are experimental and source-first.

The shared runtime model is:

  1. Scope stacks decide where work belongs and which scope-local behavior is visible.
  2. Middleware registries decide what guardrails and intercepts run around managed calls.
  3. Plugins install reusable runtime behavior from configuration.
  4. Events record runtime behavior in ATOF form.
  5. Subscribers and exporters consume events in-process or export them to ATIF, OpenTelemetry, OpenInference, or other backends.

Repository Structure

The repository layout separates the Rust runtime, language bindings,
documentation, integrations, and agent-facing skills.

crates/
  core/       # Rust core runtime crate, published as nemo-relay
  adaptive/   # Adaptive runtime primitives and plugin components
  python/     # PyO3 native extension for the Python package
  ffi/        # Raw C ABI layer used by downstream bindings such as Go
  node/       # NAPI Node.js binding and JavaScript/TypeScript entry points
python/
  nemo_relay/  # Python wrapper package: scopes, tools, LLM, middleware, typed helpers, plugins, adaptive helpers
  tests/      # Python tests
go/
  nemo_relay/  # Experimental Go CGo binding and tests
fern/         # Fern documentation site
scripts/      # Stable wrappers and helper scripts; build/test/docs entry points live in justfile
skills/       # Published Codex/agent skills for NeMo Relay usage patterns

Prerequisites

Insta...

Files:

  • skills/README.md
🔇 Additional comments (3)
skills/README.md (3)

23-25: Describe try-now selection as conditional, not sequential.

nemo-relay-get-started uses the first path matching the user’s goal and environment; it does not always try the CLI before integrations or manual instrumentation. Existing maintained integrations can be selected directly.


40-40: Use title case in all table headers.

Change every Use it when header to Use It When.

As per coding guidelines, use title case consistently for technical-documentation table headers.

Also applies to: 47-47, 55-55, 63-63

Source: Coding guidelines


68-70: Add a lead-in sentence before the journey list.

Introduce the numbered list with a complete sentence, such as “Use these sequences to choose the next workflow step.”

As per coding guidelines, all lists must have a complete lead-in sentence.

Source: Coding guidelines

Comment thread skills/README.md Outdated
@exactlyallan

Copy link
Copy Markdown
Contributor Author

Are we thinking about listing Relay on NVIDIA/skills? If so, we might want to support their auto-discovery path:

After PR 407 merges, NeMo Relay would need:

  • A new components.d/nemo-relay.yml listing the Relay skill paths.
  • Required catalog artifacts for every skill: skill.oms.sig, skill-card.md, and eval data. PR 407’s ten skills currently have eval data but no signature or skill card, so the sync would drop them.

Yes thats the intention - will start the integration process right after the merge.

Preserve existing Python and Node.js package managers, align install eval expectations, require each get-started reference from its intended scenario, and resolve the migration helper from the skill directory.

Normalize public links, list introductions, README routing language, and observability handoffs according to the repository documentation guide.

Validation: repository pre-commit checks and Markdown linkcheck; official Agent Skills validation for all 10 skills; 81 unique eval IDs with all 13 resources covered; migration helper path check; symlink check; git diff --cached --check.
Signed-off-by: Allan Enemark <exactly.allan@gmail.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
skills/nemo-relay-plugin-observability/SKILL.md (1)

21-32: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Separate plugin-managed and manual output lifecycles.

This new section presents manual subscribers and plugin-managed exporters as alternatives, but the shared lifecycle below still tells readers to create, register, deregister, and shut down every selected output. That is incorrect for plugin-managed outputs: the plugin owns subscriber names and teardown, so this guidance can cause duplicate registration or bypass cleanup. Add an explicit plugin path and label the existing lifecycle as manual-only. Official observability documentation confirms that plugin-managed subscribers use inferred names and plugin-owned teardown. (docs.nvidia.com)

As per coding guidelines, introduce the procedure with a complete lead-in sentence and keep one action per step.

Suggested clarification
 Select the output that best matches the user's immediate inspection target:
 
+For plugin-managed outputs, initialize the Observability plugin before the
+instrumented work and clear it during teardown. Use the shared create/register
+lifecycle only for manual subscriber or exporter APIs.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@skills/nemo-relay-plugin-observability/SKILL.md` around lines 21 - 32, Update
the output-selection and lifecycle guidance in SKILL.md to distinguish
plugin-managed outputs from manual subscribers. Add an explicit plugin-managed
procedure stating that plugins infer subscriber names and own registration,
deregistration, and shutdown; label the existing
create/register/deregister/shutdown lifecycle as manual-only. Introduce the
procedure with a complete lead-in sentence and ensure each step contains one
action.

Sources: Coding guidelines, MCP tools

skills/nemo-relay-get-started/SKILL.md (1)

108-111: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Reconcile the plugin recommendation with the quick-start prohibition.

Lines 83-94 require recommending one of Adaptive, NeMo Guardrails, PII Redaction, or Model Pricing after the proof, but this block prohibits configuring those categories during the same quick start. Narrow the prohibition to production OTLP, custom plugins, and Go/FFI examples so the documented progression is executable.

Proposed wording
-Do not configure production OTLP backends, model pricing, guardrails, adaptive
-tuning, custom plugins, Go or FFI examples during the quick start. Mention
-optional plugins only after the initial proof and add only the one the user
-selects.
+Do not configure production OTLP backends, custom plugins, or Go or FFI
+examples during the quick start. Mention optional plugins only after the
+initial proof and add only the one the user selects.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@skills/nemo-relay-get-started/SKILL.md` around lines 108 - 111, Update the
quick-start guidance around the plugin recommendation so it no longer prohibits
Adaptive, NeMo Guardrails, PII Redaction, or Model Pricing after the proof. Keep
the prohibition limited to production OTLP backends, custom plugins, and Go or
FFI examples, preserving the documented flow of adding the single optional
feature the user selects.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@skills/nemo-relay-install/references/language-packages.md`:
- Around line 17-23: Update the Python package-manager guidance in
language-packages.md lines 17-23 to detect conflicting or multiple lockfiles and
metadata before selecting uv, Poetry, or PDM; follow explicit project
instructions when available, otherwise ask the user instead of inferring from
stale files. Update the Node.js guidance in language-packages.md lines 48-58 so
packageManager is authoritative, with defined handling for stale or multiple
lockfiles; preserve the existing package manager and do not mutate the project
unexpectedly.

In `@skills/nemo-relay-migrate-from-flow/SKILL.md`:
- Around line 19-21: Update the Bash examples around the bundled
migrate_from_nemo_flow.py invocations to require substituting shell-safe values
before execution, or define variables and reference them without literal
angle-bracket placeholders. Apply the same correction to both the dry-run and
subsequent command examples, while preserving their existing arguments and
behavior.

In `@skills/README.md`:
- Around line 20-23: Add complete introductory sentences before the “Start Here”
bullet list and each category table in the README. Update the surrounding
section headings and table content without changing their links or entries,
using a sentence that explains how to choose or use the listed skills.

---

Outside diff comments:
In `@skills/nemo-relay-get-started/SKILL.md`:
- Around line 108-111: Update the quick-start guidance around the plugin
recommendation so it no longer prohibits Adaptive, NeMo Guardrails, PII
Redaction, or Model Pricing after the proof. Keep the prohibition limited to
production OTLP backends, custom plugins, and Go or FFI examples, preserving the
documented flow of adding the single optional feature the user selects.

In `@skills/nemo-relay-plugin-observability/SKILL.md`:
- Around line 21-32: Update the output-selection and lifecycle guidance in
SKILL.md to distinguish plugin-managed outputs from manual subscribers. Add an
explicit plugin-managed procedure stating that plugins infer subscriber names
and own registration, deregistration, and shutdown; label the existing
create/register/deregister/shutdown lifecycle as manual-only. Introduce the
procedure with a complete lead-in sentence and ensure each step contains one
action.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: 5e6813e1-e915-43dc-b2a5-2b28c2312b28

📥 Commits

Reviewing files that changed from the base of the PR and between b7db728 and 1bfbefc.

📒 Files selected for processing (16)
  • skills/README.md
  • skills/nemo-relay-get-started/SKILL.md
  • skills/nemo-relay-get-started/evals/evals.json
  • skills/nemo-relay-get-started/references/built-in-integrations-try-now.md
  • skills/nemo-relay-get-started/references/cli-try-now.md
  • skills/nemo-relay-get-started/references/manual-language-try-now.md
  • skills/nemo-relay-install/SKILL.md
  • skills/nemo-relay-install/assets/codex-desktop-recovery.md
  • skills/nemo-relay-install/evals/evals.json
  • skills/nemo-relay-install/references/cli-install.md
  • skills/nemo-relay-install/references/language-packages.md
  • skills/nemo-relay-install/references/maintained-integrations.md
  • skills/nemo-relay-instrument-calls/SKILL.md
  • skills/nemo-relay-migrate-from-flow/SKILL.md
  • skills/nemo-relay-plugin-observability/SKILL.md
  • skills/nemo-relay-plugin-observability/references/atof.md
📜 Review details
🧰 Additional context used
📓 Path-based instructions (10)
**/*.{md,rst,html,txt}

📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-brand-terminology.md)

**/*.{md,rst,html,txt}: Always spell NVIDIA in all caps. Do not use Nvidia, nvidia, nVidia, nVIDIA, or NV.
Use an NVIDIA before a noun because the name starts with an 'en' sound.
Do not add a registered trademark symbol after NVIDIA when referring to the company.
Use trademark symbols with product names only when the document type or legal guidance requires them.
Verify official capitalization, spacing, and hyphenation for product names.
Precede NVIDIA product names with NVIDIA on first mention when it is natural and accurate.
Do not rewrite product names for grammar or title-case rules.
Preserve third-party product names according to the owner's spelling.
Include the company name and full model qualifier on first use when it helps identify the model.
Preserve the official capitalization and punctuation of model names.
Use shorter family names only after the full name is established.
Spell out a term on first use and put the acronym in parentheses unless the acronym is widely understood by the intended audience.
Use the acronym on later mentions after it has been defined.
For long documents, reintroduce the full term if readers might lose context.
Form plurals of acronyms with s, not an apostrophe, such as GPUs.
In headings, common acronyms can remain abbreviated. Spell out the term in the first or second sentence of the body.
Common terms such as CPU, GPU, PC, API, and UI usually do not need to be spelled out for developer audiences.

Files:

  • skills/nemo-relay-install/assets/codex-desktop-recovery.md
  • skills/nemo-relay-plugin-observability/references/atof.md
  • skills/nemo-relay-install/references/language-packages.md
  • skills/nemo-relay-install/SKILL.md
  • skills/nemo-relay-plugin-observability/SKILL.md
  • skills/nemo-relay-get-started/references/built-in-integrations-try-now.md
  • skills/nemo-relay-get-started/references/manual-language-try-now.md
  • skills/nemo-relay-install/references/maintained-integrations.md
  • skills/nemo-relay-instrument-calls/SKILL.md
  • skills/nemo-relay-migrate-from-flow/SKILL.md
  • skills/nemo-relay-get-started/SKILL.md
  • skills/nemo-relay-install/references/cli-install.md
  • skills/README.md
  • skills/nemo-relay-get-started/references/cli-try-now.md
**/*.{md,rst,html}

📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-brand-terminology.md)

Link the first mention of a product name when the destination helps the reader.

Files:

  • skills/nemo-relay-install/assets/codex-desktop-recovery.md
  • skills/nemo-relay-plugin-observability/references/atof.md
  • skills/nemo-relay-install/references/language-packages.md
  • skills/nemo-relay-install/SKILL.md
  • skills/nemo-relay-plugin-observability/SKILL.md
  • skills/nemo-relay-get-started/references/built-in-integrations-try-now.md
  • skills/nemo-relay-get-started/references/manual-language-try-now.md
  • skills/nemo-relay-install/references/maintained-integrations.md
  • skills/nemo-relay-instrument-calls/SKILL.md
  • skills/nemo-relay-migrate-from-flow/SKILL.md
  • skills/nemo-relay-get-started/SKILL.md
  • skills/nemo-relay-install/references/cli-install.md
  • skills/README.md
  • skills/nemo-relay-get-started/references/cli-try-now.md
**/*.{md,rst,txt}

📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-guide.md)

Spell NVIDIA in all caps. Do not use Nvidia, nvidia, or NV.

Files:

  • skills/nemo-relay-install/assets/codex-desktop-recovery.md
  • skills/nemo-relay-plugin-observability/references/atof.md
  • skills/nemo-relay-install/references/language-packages.md
  • skills/nemo-relay-install/SKILL.md
  • skills/nemo-relay-plugin-observability/SKILL.md
  • skills/nemo-relay-get-started/references/built-in-integrations-try-now.md
  • skills/nemo-relay-get-started/references/manual-language-try-now.md
  • skills/nemo-relay-install/references/maintained-integrations.md
  • skills/nemo-relay-instrument-calls/SKILL.md
  • skills/nemo-relay-migrate-from-flow/SKILL.md
  • skills/nemo-relay-get-started/SKILL.md
  • skills/nemo-relay-install/references/cli-install.md
  • skills/README.md
  • skills/nemo-relay-get-started/references/cli-try-now.md
**/*.{md,rst}

📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-guide.md)

**/*.{md,rst}: Format commands, code elements, expressions, package names, file names, and paths as inline code.
Use descriptive link text. Avoid raw URLs and weak anchors such as "here" or "read more."
Use title case consistently for technical documentation headings.
Introduce code blocks, lists, tables, and images with complete sentences.
Write procedures as imperative steps. Keep steps parallel and split long procedures into smaller tasks.
Prefer active voice, present tense, short sentences, contractions, and plain English.
Use can for possibility and reserve may for permission.
Use after for temporal relationships instead of once.
Prefer refer to over see when the wording points readers to another resource.
Avoid culture-specific idioms, unnecessary Latinisms, jokes, and marketing exaggeration in technical docs.
Spell out months in body text, avoid ordinal dates, and use clear time zones.
Spell out whole numbers from zero through nine unless they are technical values, parameters, versions, or UI values.
Use numerals for 10 or greater and include commas in thousands.
Do not add trademark symbols to learning-oriented docs unless the source, platform, or legal guidance explicitly requires them.

Files:

  • skills/nemo-relay-install/assets/codex-desktop-recovery.md
  • skills/nemo-relay-plugin-observability/references/atof.md
  • skills/nemo-relay-install/references/language-packages.md
  • skills/nemo-relay-install/SKILL.md
  • skills/nemo-relay-plugin-observability/SKILL.md
  • skills/nemo-relay-get-started/references/built-in-integrations-try-now.md
  • skills/nemo-relay-get-started/references/manual-language-try-now.md
  • skills/nemo-relay-install/references/maintained-integrations.md
  • skills/nemo-relay-instrument-calls/SKILL.md
  • skills/nemo-relay-migrate-from-flow/SKILL.md
  • skills/nemo-relay-get-started/SKILL.md
  • skills/nemo-relay-install/references/cli-install.md
  • skills/README.md
  • skills/nemo-relay-get-started/references/cli-try-now.md
**/*.md

📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-technical-docs.md)

**/*.md: Use title case consistently in technical documentation headings
Avoid quotation marks, ampersands, and exclamation marks in headings
Keep product, event, research, and whitepaper names in their official title case
Use title case for table headers
Do not force social-media sentence case into technical docs
Format code elements, commands, parameters, package names, and expressions in monospace
Format directories, file names, and paths in monospace using backticks
Use angle brackets inside monospace for variables inside paths, such as /home/<username>/.login
Format error messages and strings in quotation marks, keeping literal code strings in code formatting when clearer
Format UI buttons, menus, fields, and labels in bold
Use angle brackets between UI labels for menu paths, such as File > Save As
Use italics for new terms on first use, sparingly and only when introducing the term
Use italics for publication titles
Format keyboard shortcuts in plain text, such as Press Ctrl+Alt+Delete
Use owner/repo link text for GitHub repositories, preferring [NVIDIA/NeMo](link) over prose references like 'the GitHub repo'
Introduce every code block with a complete sentence
Do not make a code block complete the grammar of the previous sentence
Do not continue a sentence after a code block
Use syntax highlighting when the format supports it for code blocks
Avoid the word 'snippet' unless the surrounding docs already use it as a term of art
Keep inline method, function, and class references consistent with nearby docs, omitting empty parentheses for prose readability when no call is shown
Use descriptive anchor text that matches the destination title when possible for links
Avoid raw URLs in running text
Avoid generic anchor text such as 'here,' 'this page,' and 'read more'
Include acronyms in link text when a linked term includes an acronym
Do not link long sentences or multiple sentences
Avoid links that pull readers away from a procedure unless the link is a p...

Files:

  • skills/nemo-relay-install/assets/codex-desktop-recovery.md
  • skills/nemo-relay-plugin-observability/references/atof.md
  • skills/nemo-relay-install/references/language-packages.md
  • skills/nemo-relay-install/SKILL.md
  • skills/nemo-relay-plugin-observability/SKILL.md
  • skills/nemo-relay-get-started/references/built-in-integrations-try-now.md
  • skills/nemo-relay-get-started/references/manual-language-try-now.md
  • skills/nemo-relay-install/references/maintained-integrations.md
  • skills/nemo-relay-instrument-calls/SKILL.md
  • skills/nemo-relay-migrate-from-flow/SKILL.md
  • skills/nemo-relay-get-started/SKILL.md
  • skills/nemo-relay-install/references/cli-install.md
  • skills/README.md
  • skills/nemo-relay-get-started/references/cli-try-now.md
**/*.{md,mdx}

📄 CodeRabbit inference engine (AGENTS.md)

Update README.md, fern/, package READMEs, and binding-support notes when public behavior, package names, examples, or supported bindings change.

**/*.{md,mdx}: Prefer the documented public API, not internal shortcuts
Keep package names, repo references, and build commands current
Keep release-process and release-notes guidance in repo-maintainer docs such as RELEASING.md, not as user-facing docs pages or CHANGELOG.md
Keep stable user-facing wrappers at scripts/ root in docs and examples; only point at namespaced helper paths when documenting internal maintenance work
When detailed dynamic plugin guides exist, keep Rust native plugin examples, Python worker plugin examples, and grpc-v1 protocol details on separate pages

If links in documentation change, run just docs-linkcheck.

Files:

  • skills/nemo-relay-install/assets/codex-desktop-recovery.md
  • skills/nemo-relay-plugin-observability/references/atof.md
  • skills/nemo-relay-install/references/language-packages.md
  • skills/nemo-relay-install/SKILL.md
  • skills/nemo-relay-plugin-observability/SKILL.md
  • skills/nemo-relay-get-started/references/built-in-integrations-try-now.md
  • skills/nemo-relay-get-started/references/manual-language-try-now.md
  • skills/nemo-relay-install/references/maintained-integrations.md
  • skills/nemo-relay-instrument-calls/SKILL.md
  • skills/nemo-relay-migrate-from-flow/SKILL.md
  • skills/nemo-relay-get-started/SKILL.md
  • skills/nemo-relay-install/references/cli-install.md
  • skills/README.md
  • skills/nemo-relay-get-started/references/cli-try-now.md
**/*.{md,markdown,mdx}

📄 CodeRabbit inference engine (CONTRIBUTING.md)

Add the SPDX license header to all Markdown/MDX documentation files using the HTML comment block form.

Files:

  • skills/nemo-relay-install/assets/codex-desktop-recovery.md
  • skills/nemo-relay-plugin-observability/references/atof.md
  • skills/nemo-relay-install/references/language-packages.md
  • skills/nemo-relay-install/SKILL.md
  • skills/nemo-relay-plugin-observability/SKILL.md
  • skills/nemo-relay-get-started/references/built-in-integrations-try-now.md
  • skills/nemo-relay-get-started/references/manual-language-try-now.md
  • skills/nemo-relay-install/references/maintained-integrations.md
  • skills/nemo-relay-instrument-calls/SKILL.md
  • skills/nemo-relay-migrate-from-flow/SKILL.md
  • skills/nemo-relay-get-started/SKILL.md
  • skills/nemo-relay-install/references/cli-install.md
  • skills/README.md
  • skills/nemo-relay-get-started/references/cli-try-now.md
**/*

📄 CodeRabbit inference engine (.agents/skills/validate-change/SKILL.md)

**/*: Format changed files with the language-native formatter before the final lint/test pass.
If dynamic plugin behavior changed, use maintain-dynamic-plugins and include the native SDK, worker protocol, Python SDK, docs, packaging, and Codecov surfaces in the validation plan.
If code changes alter APIs, bindings, commands, paths, packaging behavior, observability/adaptive semantics, or documented best practices, update any dependent maintainer or consumer skills in the same branch.
During iteration, prefer uv run pre-commit run --files <changed files...>.
Before review or handoff, run uv run pre-commit run --all-files.

Files:

  • skills/nemo-relay-install/assets/codex-desktop-recovery.md
  • skills/nemo-relay-get-started/evals/evals.json
  • skills/nemo-relay-plugin-observability/references/atof.md
  • skills/nemo-relay-install/references/language-packages.md
  • skills/nemo-relay-install/SKILL.md
  • skills/nemo-relay-plugin-observability/SKILL.md
  • skills/nemo-relay-get-started/references/built-in-integrations-try-now.md
  • skills/nemo-relay-install/evals/evals.json
  • skills/nemo-relay-get-started/references/manual-language-try-now.md
  • skills/nemo-relay-install/references/maintained-integrations.md
  • skills/nemo-relay-instrument-calls/SKILL.md
  • skills/nemo-relay-migrate-from-flow/SKILL.md
  • skills/nemo-relay-get-started/SKILL.md
  • skills/nemo-relay-install/references/cli-install.md
  • skills/README.md
  • skills/nemo-relay-get-started/references/cli-try-now.md
**

⚙️ CodeRabbit configuration file

**:

AGENTS.md

This file provides guidance to agents, including Claude Code and OpenAI Codex, when working in this repository.

Project Overview

NeMo Relay is a multi-language agent runtime framework for execution scopes, lifecycle events, middleware, plugins, and observability around tool and LLM calls. The core runtime is Rust. Primary supported bindings are Rust, Python, and Node.js. Go and the raw C FFI are experimental and source-first.

The shared runtime model is:

  1. Scope stacks decide where work belongs and which scope-local behavior is visible.
  2. Middleware registries decide what guardrails and intercepts run around managed calls.
  3. Plugins install reusable runtime behavior from configuration.
  4. Events record runtime behavior in ATOF form.
  5. Subscribers and exporters consume events in-process or export them to ATIF, OpenTelemetry, OpenInference, or other backends.

Repository Structure

The repository layout separates the Rust runtime, language bindings,
documentation, integrations, and agent-facing skills.

crates/
  core/       # Rust core runtime crate, published as nemo-relay
  adaptive/   # Adaptive runtime primitives and plugin components
  python/     # PyO3 native extension for the Python package
  ffi/        # Raw C ABI layer used by downstream bindings such as Go
  node/       # NAPI Node.js binding and JavaScript/TypeScript entry points
python/
  nemo_relay/  # Python wrapper package: scopes, tools, LLM, middleware, typed helpers, plugins, adaptive helpers
  tests/      # Python tests
go/
  nemo_relay/  # Experimental Go CGo binding and tests
fern/         # Fern documentation site
scripts/      # Stable wrappers and helper scripts; build/test/docs entry points live in justfile
skills/       # Published Codex/agent skills for NeMo Relay usage patterns

Prerequisites

Insta...

Files:

  • skills/nemo-relay-install/assets/codex-desktop-recovery.md
  • skills/nemo-relay-get-started/evals/evals.json
  • skills/nemo-relay-plugin-observability/references/atof.md
  • skills/nemo-relay-install/references/language-packages.md
  • skills/nemo-relay-install/SKILL.md
  • skills/nemo-relay-plugin-observability/SKILL.md
  • skills/nemo-relay-get-started/references/built-in-integrations-try-now.md
  • skills/nemo-relay-install/evals/evals.json
  • skills/nemo-relay-get-started/references/manual-language-try-now.md
  • skills/nemo-relay-install/references/maintained-integrations.md
  • skills/nemo-relay-instrument-calls/SKILL.md
  • skills/nemo-relay-migrate-from-flow/SKILL.md
  • skills/nemo-relay-get-started/SKILL.md
  • skills/nemo-relay-install/references/cli-install.md
  • skills/README.md
  • skills/nemo-relay-get-started/references/cli-try-now.md
**/SKILL.md

📄 CodeRabbit inference engine (AGENTS.md)

SKILL.md files are skill entrypoints and must start with YAML frontmatter containing at least name and description.

Files:

  • skills/nemo-relay-install/SKILL.md
  • skills/nemo-relay-plugin-observability/SKILL.md
  • skills/nemo-relay-instrument-calls/SKILL.md
  • skills/nemo-relay-migrate-from-flow/SKILL.md
  • skills/nemo-relay-get-started/SKILL.md

⚙️ CodeRabbit configuration file

**/SKILL.md: Do not flag SKILL.md files for missing SPDX headers. Skill entrypoints intentionally start with YAML frontmatter instead.
Verify that every SKILL.md keeps valid YAML frontmatter with at least name and description fields before the Markdown body.

Files:

  • skills/nemo-relay-install/SKILL.md
  • skills/nemo-relay-plugin-observability/SKILL.md
  • skills/nemo-relay-instrument-calls/SKILL.md
  • skills/nemo-relay-migrate-from-flow/SKILL.md
  • skills/nemo-relay-get-started/SKILL.md
🪛 LanguageTool
skills/nemo-relay-install/references/language-packages.md

[style] ~22-~22: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...dm.lockor[tool.pdm]` selects PDM. - Use the project's documented dependency wor...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~54-~54: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...emo-relay-nodeforpnpm-lock.yaml. - Use yarn add nemo-relay-nodeforyarn.lo...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~55-~55: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...add nemo-relay-nodeforyarn.lock. - Use bun add nemo-relay-nodeforbun.lock...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~56-~56: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...y-nodeforbun.lockorbun.lockb`. Use npm only as the fallback when the proje...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)

skills/nemo-relay-plugin-observability/SKILL.md

[style] ~88-~88: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ences/atif.mdfor ATIF trajectories. - Loadreferences/opentelemetry.md` for OTLP/...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~89-~89: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ry.mdfor OTLP/OpenTelemetry traces. - Loadreferences/openinference.md` for OpenI...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)

🪛 SkillSpector (2.3.11)
skills/nemo-relay-migrate-from-flow/SKILL.md

[warning] 23: [RA2] Session Persistence: Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Remediation: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.

(Rogue Agent (RA2))


[warning] 23: [RA2] Session Persistence: Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Remediation: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.

(Rogue Agent (RA2))


[warning] 23: [RA2] Session Persistence: Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Remediation: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.

(Rogue Agent (RA2))

skills/nemo-relay-get-started/SKILL.md

[warning] 32: [EA2] Autonomous Decision Making: Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Remediation: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.

(Excessive Agency (EA2))

🔇 Additional comments (18)
skills/nemo-relay-migrate-from-flow/SKILL.md (1)

3-6: 📐 Maintainability & Code Quality

Verify the required SKILL.md frontmatter.

The supplied context omits the complete frontmatter, so confirm that the final file has valid YAML frontmatter with non-empty name and description fields before the Markdown body. As per path instructions, **/SKILL.md files must keep valid YAML frontmatter with at least name and description fields.

Source: Path instructions

skills/nemo-relay-instrument-calls/SKILL.md (1)

3-8: LGTM!

Also applies to: 67-84

skills/nemo-relay-plugin-observability/SKILL.md (1)

40-40: LGTM!

Also applies to: 70-70, 83-89, 91-108

skills/nemo-relay-plugin-observability/references/atof.md (1)

43-50: LGTM!

Also applies to: 56-57

skills/README.md (1)

6-19: LGTM!

Also applies to: 71-86

skills/nemo-relay-get-started/SKILL.md (1)

1-8: LGTM!

Also applies to: 9-51, 52-72, 113-120

skills/nemo-relay-get-started/evals/evals.json (1)

92-100: LGTM!

Also applies to: 108-117

skills/nemo-relay-get-started/references/built-in-integrations-try-now.md (1)

17-22: LGTM!

Also applies to: 36-39, 83-84

skills/nemo-relay-get-started/references/cli-try-now.md (1)

24-71: LGTM!

Also applies to: 256-266

skills/nemo-relay-install/references/maintained-integrations.md (1)

34-49: LGTM!

skills/nemo-relay-install/references/cli-install.md (2)

30-40: Do not pipe mutable main installers directly into interpreters.

Both commands execute unauthenticated remote content before installation. Pin an immutable versioned installer and download it for signature or checksum verification before execution.


20-20: LGTM!

Also applies to: 45-48, 117-123

skills/nemo-relay-get-started/references/manual-language-try-now.md (1)

26-28: LGTM!

Also applies to: 69-70

skills/nemo-relay-install/SKILL.md (2)

9-14: 📐 Maintainability & Code Quality

Verify the required SKILL.md frontmatter.

The excerpt starts after the first eight lines, so confirm that the file begins with YAML frontmatter containing both name and description before the Markdown body.

As per path instructions, SKILL.md files must start with YAML frontmatter containing at least name and description.

Source: Path instructions


111-118: LGTM!

Also applies to: 137-142

skills/nemo-relay-install/assets/codex-desktop-recovery.md (1)

13-13: LGTM!

Also applies to: 32-33, 84-89

skills/nemo-relay-install/evals/evals.json (1)

20-32: LGTM!

Also applies to: 55-63

skills/nemo-relay-install/references/language-packages.md (1)

14-15: LGTM!

Also applies to: 25-44, 60-64, 68-82, 84-87

Comment thread skills/nemo-relay-install/references/language-packages.md
Comment thread skills/nemo-relay-migrate-from-flow/SKILL.md Outdated
Comment thread skills/README.md
exactlyallan and others added 2 commits July 13, 2026 12:28
Define conflict-safe package-manager precedence, make migration helper examples shell-safe, and introduce README routing lists and tables with complete lead-in sentences.

Validation: repository pre-commit checks and Markdown linkcheck; official Agent Skills validation for install and migration skills; 81 unique eval IDs with all 13 resources covered; migration helper dry run; git diff --cached --check.
Signed-off-by: Allan Enemark <exactly.allan@gmail.com>

@willkill07 willkill07 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall this looks good. Let's just be consistent across all skills and surfaces.

@willkill07

Copy link
Copy Markdown
Member

/ok to test fcfaa54

@exactlyallan

Copy link
Copy Markdown
Contributor Author

/merge

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Feature a new feature size:XL PR is extra large

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants