docs: add consumer integration skill and organize skills into tiers - #73
Conversation
Bring AGENTS.md under version control as shared, public agent-contribution guidance, and add a CLAUDE.md -> AGENTS.md symlink so Claude Code and other coding agents read one instruction file. This matches the NeMo Relay repository layout. Personal and internal-only notes (the Linear ticket workflow and the Kitmaker publishing reminder) are kept out of the tracked file; they live in a git-excluded CLAUDE.local.md that agents still load locally. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Yuchen Zhang <yuchenz@nvidia.com>
Add a repository-local, consumer-facing skill that guides coding agents to integrate NeMo Fabric into an application, service, evaluation harness, or platform through the typed Python SDK. Following NeMo Relay's convention, consumer skills live under a top-level skills/ directory with a product-name prefix and bundle their own references/, keeping maintainer workflows separate under .agents/skills/. The skill covers the public integration boundary (typed in-memory FabricConfig, public nemo_fabric API only), installation and adapter/credential setup, one-shot vs. stateful-runtime lifecycle selection, plan/doctor preflight, result and error handling with guaranteed cleanup, focused testing, and a final integration checklist. It links to the canonical code_review_agent and Harbor examples and the generated API references instead of duplicating them. Exercised against examples/code_review_agent: Fabric.plan() resolves the Hermes adapter and Fabric.doctor() reports the expected missing-credential check, credential-free. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Yuchen Zhang <yuchenz@nvidia.com>
- Keep profile mechanics behind the integration boundary: drop the FabricProfileConfig / profiles=[...] recommendation and build every consumer variant with ordinary functions plus model_copy(deep=True). - Fix install guidance: Fabric is not on PyPI yet, so document the just build-all source path and the just wheels + uv pip install --find-links wheel path, with the real adapter extras. - Correct result handling: branch on result.status == "succeeded" (RunStatus is succeeded/failed/cancelled and error may be None on failure) instead of gating on error. - Meet the canonical-link criterion: replace duplicated API inventories with real Markdown links to the generated nemo_fabric.* references and the code-review and Harbor examples. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Yuchen Zhang <yuchenz@nvidia.com>
- doctor() does not validate harness.settings contents: an unknown or misspelled adapter setting still passes once environment requirements are met (verified against the Hermes adapter). Reword the plan/doctor guidance and the config-mapping note accordingly. - Make the Harbor distinction explicit: the Harbor integration bakes a file-backed fabric_config_path (YAML) at the task-container boundary, a deployment mechanic distinct from the in-memory FabricConfig pattern the skill teaches. - Cleanup is attempted, not guaranteed: stop(), including the automatic call at async with exit, can raise FabricRuntimeError, so consumers must be ready to handle a shutdown failure. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Yuchen Zhang <yuchenz@nvidia.com>
Establish the two-tier skill layout modeled on NeMo Relay: - Add skills/README.md (consumer tier): audience, portability and exportability requirements, entry point, and naming/frontmatter conventions. - Add .agents/skills/README.md (maintainer tier): audience, the contribution workflow skills, discovery, and naming conventions. - Add an "Agent Skills" routing section to AGENTS.md that sends consumer integration work to skills/ and repository contribution work to .agents/skills/, and documents discovery wiring. - Wire .claude/skills -> ../.agents/skills so Claude Code discovers the maintainer set without mixing in consumer skills. - Make the nemo-fabric-integrate skill exportable: switch its external links from repo-relative paths to the published docs site (docs.nvidia.com/nemo/fabric) and GitHub example URLs, keeping bundled references/ links relative. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Yuchen Zhang <yuchenz@nvidia.com>
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
WalkthroughThis change adds maintainer and consumer agent-skill guidance, canonical Claude links, and documentation for NeMo Fabric SDK configuration, lifecycle, validation, results, errors, and API usage. ChangesSkills documentation
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
📖 Fern docs preview: https://nvidia-preview-pull-request-73.docs.buildwithfern.com/nemo/fabric |
There was a problem hiding this comment.
Actionable comments posted: 7
🤖 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 @.agents/skills/README.md:
- Around line 27-39: Add a complete introductory sentence immediately before the
skills table in the “Skills” section of the README, clearly stating what the
listed skills provide or cover, while leaving the table entries unchanged.
In `@skills/nemo-fabric-integrate/references/results-and-errors.md`:
- Around line 25-30: Add a complete-sentence prose lead-in immediately before
the result-handling code fence, introducing the status-first pattern shown by
the succeeded and failure branches. Leave the existing example unchanged.
In `@skills/nemo-fabric-integrate/references/sdk-api-inventory.md`:
- Around line 16-22: Add a complete lead-in sentence immediately before each API
table in the SDK API inventory, including the table containing resolve, plan,
doctor, run, and start_runtime and the second API table. Use wording that
clearly introduces the methods or entries listed in each table, without changing
the table contents.
- Around line 50-52: Specify the execution-model diagram code fence as text by
adding the text language identifier to the existing fence around the
FabricConfig flow.
- Around line 10-12: Update the client and runtime links in the API-reference
section of sdk-api-inventory.md to the current valid NVIDIA NeMo Fabric Python
library reference URLs, preserving the existing link labels and surrounding
documentation.
In `@skills/nemo-fabric-integrate/SKILL.md`:
- Around line 131-143: Update the Fabric usage examples around Fabric.run and
Fabric.start_runtime so they are valid standalone Python by placing both
await-based examples inside an async def main() entry point (or clearly labeling
them as non-standalone fragments). Add a complete introductory sentence before
the runtime lifecycle example, while preserving the one-shot and multi-turn
behavior.
In `@skills/README.md`:
- Around line 22-27: Update the documentation sentence in the README to replace
the raw docs.nvidia.com autolink with descriptive link text while preserving the
same destination and meaning.
🪄 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: 5b0bcaa2-f38a-4911-8989-d51e4953a4e1
📒 Files selected for processing (9)
.agents/skills/README.md.claude/skillsAGENTS.mdCLAUDE.mdskills/README.mdskills/nemo-fabric-integrate/SKILL.mdskills/nemo-fabric-integrate/references/config-mapping.mdskills/nemo-fabric-integrate/references/results-and-errors.mdskills/nemo-fabric-integrate/references/sdk-api-inventory.md
📜 Review details
⏰ Context from checks skipped due to timeout. (2)
- GitHub Check: Test (Python 3.12, x86_64)
- GitHub Check: Test (Python 3.13, x86_64)
🧰 Additional context used
📓 Path-based instructions (13)
**/*.{md,mdx,html}
📄 CodeRabbit inference engine (CONTRIBUTING.md)
Changes affecting public behavior, adapters, examples, or workspace structure must update the corresponding documentation; public API changes require updated SDK or API reference documentation.
Files:
CLAUDE.mdAGENTS.mdskills/README.mdskills/nemo-fabric-integrate/references/config-mapping.mdskills/nemo-fabric-integrate/references/results-and-errors.mdskills/nemo-fabric-integrate/references/sdk-api-inventory.mdskills/nemo-fabric-integrate/SKILL.md
**/*.{md,mdx}
📄 CodeRabbit inference engine (CONTRIBUTING.md)
For docs site changes, run
just docsto regenerate Python and Rust API references and validate Fern configuration.
**/*.{md,mdx}: Prioritize factual accuracy in NeMo Fabric documentation and keep commands, package names, APIs, file paths, repository layout, entry points, support claims, examples, and procedures aligned with current repository behavior.
Update relevant entry-point documentation when public behavior changes, includingREADME.md,docs/index.yml, package or crate READMEs, and adapter or integration READMEs.
Use{/* ... */}delimiters for top-of-file SPDX comments in MDX files, not HTML comment delimiters.
CapitalizeNVIDIAcorrectly and use consistent current repository terminology, product names, APIs, and feature names.
Format commands, code, expressions, file names, paths, and filenames as inline code where appropriate.
Use title case for technical-documentation headings.
Introduce code blocks, tables, and lists with complete lead-in sentences.
Use descriptive link text instead of raw URLs or generic labels such ashere.
Write procedures as short, imperative, parallel, easy-to-scan steps; prefer active voice, present tense, plain English, and concise sentences.
Useafterinstead ofoncewhen expressing temporal sequence, and usecaninstead ofmaywhen describing possibility rather than permission.
Use unambiguous date formats and avoid ordinal dates in body text.
When reviewing documentation, report findings in severity order underMust fix,Should fix, andNice to have, with file paths, line references, explanations, and concrete rewrites or directions.
Files:
CLAUDE.mdAGENTS.mdskills/README.mdskills/nemo-fabric-integrate/references/config-mapping.mdskills/nemo-fabric-integrate/references/results-and-errors.mdskills/nemo-fabric-integrate/references/sdk-api-inventory.mdskills/nemo-fabric-integrate/SKILL.md
**/*
📄 CodeRabbit inference engine (CONTRIBUTING.md)
**/*: All source files must include the specified SPDX copyright and Apache-2.0 license header using the comment syntax appropriate to the file type.
Release tags must use raw Rust-compatible SemVer without a leadingv, such as0.1.0or0.1.0-rc.1.
**/*: Before implementing, explicitly state assumptions, surface ambiguity and tradeoffs, present multiple interpretations when relevant, and ask for clarification rather than silently deciding or proceeding when requirements are unclear.
Prefer the minimum code needed to solve the requested problem: avoid speculative features, unnecessary abstractions, unrequested flexibility, and handling of impossible scenarios; simplify overcomplicated solutions.
When editing existing code, make surgical changes only: do not modify unrelated code, comments, formatting, or pre-existing dead code; match the existing style, and remove only unused imports, variables, or functions introduced by your changes.
Define verifiable success criteria for each task, such as writing regression tests for bugs and invalid-input tests for validation, then verify the implementation against those criteria. For multi-step work, state a brief plan with a verification check for each step.
**/*: Keep pull request branch scope coherent and reviewable.
Run relevant tests undervalidate-changebefore opening or updating a pull request.
Format changed files with the language-native formatter.
Update documentation and examples for public behavior changes.
Update dependent maintainer or consumer guidance when code changes affect APIs, bindings, commands, paths, packaging guidance, or best practices.
Use Conventional Commit style for pull request titles:<type>: <concise imperative summary>, choosing the type from the actual change surface. Usefixonly for user-facing or runtime product-code bug fixes.
A pull request body must include#### Overview,#### Details,#### Validation,#### Where should the reviewer start?, and `#### Related ...
Files:
CLAUDE.mdAGENTS.mdskills/README.mdskills/nemo-fabric-integrate/references/config-mapping.mdskills/nemo-fabric-integrate/references/results-and-errors.mdskills/nemo-fabric-integrate/references/sdk-api-inventory.mdskills/nemo-fabric-integrate/SKILL.md
**/*.{html,md}
📄 CodeRabbit inference engine (CONTRIBUTING.md)
HTML and Markdown files must use the specified SPDX header in an HTML comment.
Files:
CLAUDE.mdAGENTS.mdskills/README.mdskills/nemo-fabric-integrate/references/config-mapping.mdskills/nemo-fabric-integrate/references/results-and-errors.mdskills/nemo-fabric-integrate/references/sdk-api-inventory.mdskills/nemo-fabric-integrate/SKILL.md
**/*.{md,rst}
📄 CodeRabbit inference engine (.agents/skills/contribute-api/SKILL.md)
Update documentation and examples in the same branch as the public API change.
Verify README and documentation entry points, package names, paths, examples, and public commands remain current after changes.
Files:
CLAUDE.mdAGENTS.mdskills/README.mdskills/nemo-fabric-integrate/references/config-mapping.mdskills/nemo-fabric-integrate/references/results-and-errors.mdskills/nemo-fabric-integrate/references/sdk-api-inventory.mdskills/nemo-fabric-integrate/SKILL.md
**/*.{md,mdx,rst}
📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-guide.md)
**/*.{md,mdx,rst}: For NeMo Fabric documentation, verify technical claims against the current repository, public API, or documented command before reviewing style.
Always spellNVIDIAin all caps; do not useNvidia,nvidia, orNV.
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 ashereorread more.
Use title case consistently for technical documentation headings.
Introduce code blocks, lists, tables, and images with complete sentences.
Write procedures as imperative, parallel steps; split long procedures into smaller tasks.
Prefer active voice, present tense, short sentences, contractions, and plain English while preserving necessary technical precision.
Usecanfor possibility and reservemayfor permission.
Useafterfor temporal relationships instead ofonce, and preferrefer tooverseewhen directing readers to another resource.
Avoid culture-specific idioms, unnecessary Latinisms, jokes, and marketing exaggeration in technical documentation.
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 commas in thousands.
Do not add trademark symbols to learning-oriented documentation unless the source, platform, or legal guidance explicitly requires them.
Do not replace precise technical terms with simpler words when doing so would lose precision.
Do not flag passive voice when the actor is unknown or the action is the important part.
Do not rewrite API names, package names, command flags, or code literals for style.
**/*.{md,mdx,rst}: Use consistent title case for technical-document headings and table headers; avoid quotation marks, ampersands, and exclamation marks in headings, while preserving official product, event, research, and whitepaper title ...
Files:
CLAUDE.mdAGENTS.mdskills/README.mdskills/nemo-fabric-integrate/references/config-mapping.mdskills/nemo-fabric-integrate/references/results-and-errors.mdskills/nemo-fabric-integrate/references/sdk-api-inventory.mdskills/nemo-fabric-integrate/SKILL.md
**/*.{md,rst,txt,adoc}
📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-language-mechanics.md)
**/*.{md,rst,txt,adoc}: For technical documentation, use professional, active, conversational, engaging, precise, and plain-English prose. Prefer active voice, present tense, short sentences, and scannable paragraphs. Avoid casual or imprecise language, swearing, threats, insults, jokes, puns, culture-specific idioms, marketing exaggeration, and unsupported third-party comparisons.
Usecanfor possibility and reservemayfor permission; useafterfor temporal order; userefer tofor cross-references; prefer short direct sentences and specific verbs; avoid unnecessarypleasein technical documentation.
Prefer active voice when the actor matters. Passive voice is acceptable when the actor is unknown or irrelevant, when the action or result is the focus, or in programmer documentation.
Use natural contractions in conversational technical prose, but do not force them in formal legal copy, API references, or generated text.
Prefer simpler English over Latinisms: usefor exampleorsuch asinstead ofe.g.,and so oninstead ofetc.,that isinstead ofi.e.,compared toinstead ofvs., andby,through, orusinginstead ofvia. Use industry-standard terms such as in silico, in vitro, and in vivo when appropriate, and italicize them in running text.
Usethatwithout commas for essential clauses, andwhichwith commas for nonessential clauses.
Format dates and times clearly: spell out months in body text; use forms such asJune 12, 2025; avoid numeric or ordinal dates; capitalize days; use 12-hour time when appropriate; include a space beforea.m.orp.m.; useETandPTfor needed time zones; avoid24/7; and preferfrom 12:30 to 1:00 p.m.for prose ranges.
Format numbers consistently: spell out zero through nine in body text, use numerals for 10 or greater and for technical values, use commas in thousands, do not begin a sentence with a numeral, spell out ordinals, and use numerals consistently within a category wh...
Files:
CLAUDE.mdAGENTS.mdskills/README.mdskills/nemo-fabric-integrate/references/config-mapping.mdskills/nemo-fabric-integrate/references/results-and-errors.mdskills/nemo-fabric-integrate/references/sdk-api-inventory.mdskills/nemo-fabric-integrate/SKILL.md
{docs/**,README.md,AGENTS.md}
⚙️ CodeRabbit configuration file
{docs/**,README.md,AGENTS.md}: Review documentation for technical accuracy against the current API, command correctness, and consistency with generated schemas.
Files:
AGENTS.md
**/README.md
📄 CodeRabbit inference engine (CONTRIBUTING.md)
Update an adapter or example
README.mdwhen that adapter or example surface changes.
Files:
skills/README.md
skills/**
📄 CodeRabbit inference engine (AGENTS.md)
Keep consumer skills under
skills/; they must use only supported public Python SDK contracts and published documentation, never repository internals.
Files:
skills/README.mdskills/nemo-fabric-integrate/references/config-mapping.mdskills/nemo-fabric-integrate/references/results-and-errors.mdskills/nemo-fabric-integrate/references/sdk-api-inventory.mdskills/nemo-fabric-integrate/SKILL.md
**/.agents/skills/**
📄 CodeRabbit inference engine (.agents/skills/README.md)
Keep maintainer skills for repository development separate from consumer-facing integration skills; do not include external usage guidance in the maintainer set.
Files:
.agents/skills/README.md
.agents/skills/**
📄 CodeRabbit inference engine (AGENTS.md)
Keep maintainer skills under
.agents/skills/; they may reference repository internals and contribution commands.
Files:
.agents/skills/README.md
**/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-fabric-integrate/SKILL.md
🧠 Learnings (1)
📓 Common learnings
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T21:22:38.527Z
Learning: When changing public API surfaces, maintain parity across Rust, CLI, Python, schema, adapters, and documentation.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T21:22:38.527Z
Learning: Write and validate Python tests using the validation matrix appropriate to the change.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T21:22:38.527Z
Learning: When changing documentation or examples, keep them synchronized with public behavior and review them for NVIDIA technical-writing style.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T21:22:38.527Z
Learning: Make small bug fixes reviewable and avoid widening their scope.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T21:22:38.527Z
Learning: Synchronize release versions across packaging surfaces when updating the project version.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T21:22:38.527Z
Learning: Prepare pull requests with the appropriate scope and review handoff.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T21:22:45.178Z
Learning: Use branch prefixes `feat/`, `fix/`, `docs/`, `test/`, or `refactor/`; name branches after the work and never include Linear ticket IDs or slugs.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T21:22:45.178Z
Learning: Use Conventional Commit PR titles in the form `<type>: <summary>`; reserve `fix` for actual product bugs.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T21:22:45.178Z
Learning: Use signed-off commits with `git commit -s` for PR work.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T21:22:45.178Z
Learning: When creating a pull request from the current branch, target the upstream repository rather than a fork.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T21:22:45.178Z
Learning: PR descriptions must state what changed, why, how it was tested, and any breaking changes within the repository template format.
🪛 LanguageTool
AGENTS.md
[uncategorized] ~44-~44: The official name of this software platform is spelled with a capital “H”.
Context: ...ishing, or editing a pull request, read .github/pull_request_template.md and use it as...
(GITHUB)
[uncategorized] ~44-~44: The official name of this software platform is spelled with a capital “H”.
Context: ... and use it as the PR body skeleton (or gh pr create --template .github/pull_request_template.md). Preserve it...
(GITHUB)
🪛 markdownlint-cli2 (0.23.0)
skills/nemo-fabric-integrate/references/sdk-api-inventory.md
[warning] 50-50: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🔇 Additional comments (11)
.agents/skills/README.md (1)
1-26: LGTM!Also applies to: 40-50
AGENTS.md (1)
1-47: LGTM!.claude/skills (1)
1-1: LGTM!CLAUDE.md (1)
1-1: LGTM!skills/nemo-fabric-integrate/references/sdk-api-inventory.md (1)
1-9: LGTM!Also applies to: 13-15, 23-29, 37-49, 53-63
skills/README.md (1)
1-21: LGTM!Also applies to: 28-47
skills/nemo-fabric-integrate/SKILL.md (3)
51-62: 🎯 Functional CorrectnessVerify the installation claims against current packaging metadata.
The PyPI availability statement,
justcommands, adapter ID, and extras list are release-sensitive. Confirm them against the current installation documentation and package metadata before publishing this skill; stale values will make consumer setup fail.
97-102: 🎯 Functional CorrectnessConfirm that MCP URL interpolation is supported for in-memory configs.
If
add_mcp_server()stores"${GITHUB_MCP_URL}"literally, this example produces an invalid endpoint. Either document the supported interpolation contract or resolve the environment variable before constructing the config.
1-50: LGTM!Also applies to: 63-96, 103-130, 144-152, 160-260
skills/nemo-fabric-integrate/references/config-mapping.md (1)
1-100: LGTM!skills/nemo-fabric-integrate/references/results-and-errors.md (1)
1-24: LGTM!Also applies to: 31-69
- Use reachable documentation URLs: the docs.nvidia.com custom domain is not published yet, so link the consumer skill to public GitHub URLs (docs source, generated nemo_fabric.* references, and example directories) and validate that each resolves on main. - Stop claiming adapter-authoring coverage in the maintainer tier: it has not landed. Note it as pending and tracked separately, and drop it from the AGENTS.md routing summary. - Document consumer-skill discovery: how to install the skill so Claude Code (and other agents) discover it, kept separate from the maintainer .claude/skills wiring. - Record intentional differences from NeMo Relay in AGENTS.md (discovery wiring, portability strategy, consumer surface, pending adapter coverage). - Make the cleanup contract consistent: the lifecycle section and SDK API inventory no longer promise guaranteed shutdown (stop() can raise FabricRuntimeError). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Yuchen Zhang <yuchenz@nvidia.com>
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (3)
skills/README.md (1)
43-47: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick winIntroduce the “Start Here” table.
Add a complete sentence before the table, such as: “The following table lists the available consumer skills and their intended uses.”
🤖 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 43 - 47, Add a complete introductory sentence immediately before the “Start Here” table in the README, stating that the table lists the available consumer skills and their intended uses. Keep the existing table content unchanged.Source: Coding guidelines
skills/nemo-fabric-integrate/SKILL.md (1)
155-160: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winWrap top-level
awaitexamples in an async entry point.The validation and result-handling code blocks also contain top-level
await, so readers cannot run them as shown. Add anasync def main()wrapper or mark the blocks as pseudocode/fragments.Also applies to: 180-187
🤖 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-fabric-integrate/SKILL.md` around lines 155 - 160, Update the validation and result-handling examples around Fabric.plan and Fabric.doctor to place all top-level await usage inside an async def main() entry point, including invoking that entry point, or explicitly label the snippets as pseudocode/fragments. Ensure the examples remain runnable as presented.skills/nemo-fabric-integrate/references/sdk-api-inventory.md (1)
38-45: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winMake the lifecycle example valid Python.
async withappears at module scope. Wrap the example inasync def main()or label it explicitly as a fragment.🤖 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-fabric-integrate/references/sdk-api-inventory.md` around lines 38 - 45, Update the runtime lifecycle example around fabric.start_runtime to place the async with usage inside an async def main() function, and include the appropriate invocation so the documented example is valid executable Python.
🤖 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.
Outside diff comments:
In `@skills/nemo-fabric-integrate/references/sdk-api-inventory.md`:
- Around line 38-45: Update the runtime lifecycle example around
fabric.start_runtime to place the async with usage inside an async def main()
function, and include the appropriate invocation so the documented example is
valid executable Python.
In `@skills/nemo-fabric-integrate/SKILL.md`:
- Around line 155-160: Update the validation and result-handling examples around
Fabric.plan and Fabric.doctor to place all top-level await usage inside an async
def main() entry point, including invoking that entry point, or explicitly label
the snippets as pseudocode/fragments. Ensure the examples remain runnable as
presented.
In `@skills/README.md`:
- Around line 43-47: Add a complete introductory sentence immediately before the
“Start Here” table in the README, stating that the table lists the available
consumer skills and their intended uses. Keep the existing table content
unchanged.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Enterprise
Run ID: d23accd6-220e-4d33-a3e6-5aabc739c0b1
📒 Files selected for processing (7)
.agents/skills/README.mdAGENTS.mdskills/README.mdskills/nemo-fabric-integrate/SKILL.mdskills/nemo-fabric-integrate/references/config-mapping.mdskills/nemo-fabric-integrate/references/results-and-errors.mdskills/nemo-fabric-integrate/references/sdk-api-inventory.md
📜 Review details
⏰ Context from checks skipped due to timeout. (5)
- GitHub Check: Test (Python 3.12, arm64)
- GitHub Check: Test (Python 3.12, x86_64)
- GitHub Check: Test (Python 3.11, x86_64)
- GitHub Check: Test (Python 3.13, x86_64)
- GitHub Check: Test (Python 3.14, x86_64)
🧰 Additional context used
📓 Path-based instructions (13)
.agents/skills/**/*.md
📄 CodeRabbit inference engine (AGENTS.md)
Maintainer skills may reference repository internals and contribution commands.
Files:
.agents/skills/README.md
**/*.{md,mdx,html}
📄 CodeRabbit inference engine (CONTRIBUTING.md)
Changes affecting public behavior, adapters, examples, or workspace structure must update the corresponding documentation; public API changes require updated SDK or API reference documentation.
Files:
skills/nemo-fabric-integrate/references/config-mapping.mdskills/nemo-fabric-integrate/references/results-and-errors.mdAGENTS.mdskills/README.mdskills/nemo-fabric-integrate/references/sdk-api-inventory.mdskills/nemo-fabric-integrate/SKILL.md
**/*.{md,mdx}
📄 CodeRabbit inference engine (CONTRIBUTING.md)
For docs site changes, run
just docsto regenerate Python and Rust API references and validate Fern configuration.
**/*.{md,mdx}: Prioritize factual accuracy in NeMo Fabric documentation and keep commands, package names, APIs, file paths, repository layout, entry points, support claims, examples, and procedures aligned with current repository behavior.
Update relevant entry-point documentation when public behavior changes, includingREADME.md,docs/index.yml, package or crate READMEs, and adapter or integration READMEs.
Use{/* ... */}delimiters for top-of-file SPDX comments in MDX files, not HTML comment delimiters.
CapitalizeNVIDIAcorrectly and use consistent current repository terminology, product names, APIs, and feature names.
Format commands, code, expressions, file names, paths, and filenames as inline code where appropriate.
Use title case for technical-documentation headings.
Introduce code blocks, tables, and lists with complete lead-in sentences.
Use descriptive link text instead of raw URLs or generic labels such ashere.
Write procedures as short, imperative, parallel, easy-to-scan steps; prefer active voice, present tense, plain English, and concise sentences.
Useafterinstead ofoncewhen expressing temporal sequence, and usecaninstead ofmaywhen describing possibility rather than permission.
Use unambiguous date formats and avoid ordinal dates in body text.
When reviewing documentation, report findings in severity order underMust fix,Should fix, andNice to have, with file paths, line references, explanations, and concrete rewrites or directions.
Files:
skills/nemo-fabric-integrate/references/config-mapping.mdskills/nemo-fabric-integrate/references/results-and-errors.mdAGENTS.mdskills/README.mdskills/nemo-fabric-integrate/references/sdk-api-inventory.mdskills/nemo-fabric-integrate/SKILL.md
**/*
📄 CodeRabbit inference engine (CONTRIBUTING.md)
**/*: All source files must include the specified SPDX copyright and Apache-2.0 license header using the comment syntax appropriate to the file type.
Release tags must use raw Rust-compatible SemVer without a leadingv, such as0.1.0or0.1.0-rc.1.
**/*: Before implementing, explicitly state assumptions, surface ambiguity and tradeoffs, present multiple interpretations when relevant, and ask for clarification rather than silently deciding or proceeding when requirements are unclear.
Prefer the minimum code needed to solve the requested problem: avoid speculative features, unnecessary abstractions, unrequested flexibility, and handling of impossible scenarios; simplify overcomplicated solutions.
When editing existing code, make surgical changes only: do not modify unrelated code, comments, formatting, or pre-existing dead code; match the existing style, and remove only unused imports, variables, or functions introduced by your changes.
Define verifiable success criteria for each task, such as writing regression tests for bugs and invalid-input tests for validation, then verify the implementation against those criteria. For multi-step work, state a brief plan with a verification check for each step.
**/*: Keep pull request branch scope coherent and reviewable.
Run relevant tests undervalidate-changebefore opening or updating a pull request.
Format changed files with the language-native formatter.
Update documentation and examples for public behavior changes.
Update dependent maintainer or consumer guidance when code changes affect APIs, bindings, commands, paths, packaging guidance, or best practices.
Use Conventional Commit style for pull request titles:<type>: <concise imperative summary>, choosing the type from the actual change surface. Usefixonly for user-facing or runtime product-code bug fixes.
A pull request body must include#### Overview,#### Details,#### Validation,#### Where should the reviewer start?, and `#### Related ...
Files:
skills/nemo-fabric-integrate/references/config-mapping.mdskills/nemo-fabric-integrate/references/results-and-errors.mdAGENTS.mdskills/README.mdskills/nemo-fabric-integrate/references/sdk-api-inventory.mdskills/nemo-fabric-integrate/SKILL.md
**/*.{html,md}
📄 CodeRabbit inference engine (CONTRIBUTING.md)
HTML and Markdown files must use the specified SPDX header in an HTML comment.
Files:
skills/nemo-fabric-integrate/references/config-mapping.mdskills/nemo-fabric-integrate/references/results-and-errors.mdAGENTS.mdskills/README.mdskills/nemo-fabric-integrate/references/sdk-api-inventory.mdskills/nemo-fabric-integrate/SKILL.md
**/*.{md,rst}
📄 CodeRabbit inference engine (.agents/skills/contribute-api/SKILL.md)
Update documentation and examples in the same branch as the public API change.
Verify README and documentation entry points, package names, paths, examples, and public commands remain current after changes.
Files:
skills/nemo-fabric-integrate/references/config-mapping.mdskills/nemo-fabric-integrate/references/results-and-errors.mdAGENTS.mdskills/README.mdskills/nemo-fabric-integrate/references/sdk-api-inventory.mdskills/nemo-fabric-integrate/SKILL.md
**/*.{md,mdx,rst}
📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-guide.md)
**/*.{md,mdx,rst}: For NeMo Fabric documentation, verify technical claims against the current repository, public API, or documented command before reviewing style.
Always spellNVIDIAin all caps; do not useNvidia,nvidia, orNV.
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 ashereorread more.
Use title case consistently for technical documentation headings.
Introduce code blocks, lists, tables, and images with complete sentences.
Write procedures as imperative, parallel steps; split long procedures into smaller tasks.
Prefer active voice, present tense, short sentences, contractions, and plain English while preserving necessary technical precision.
Usecanfor possibility and reservemayfor permission.
Useafterfor temporal relationships instead ofonce, and preferrefer tooverseewhen directing readers to another resource.
Avoid culture-specific idioms, unnecessary Latinisms, jokes, and marketing exaggeration in technical documentation.
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 commas in thousands.
Do not add trademark symbols to learning-oriented documentation unless the source, platform, or legal guidance explicitly requires them.
Do not replace precise technical terms with simpler words when doing so would lose precision.
Do not flag passive voice when the actor is unknown or the action is the important part.
Do not rewrite API names, package names, command flags, or code literals for style.
**/*.{md,mdx,rst}: Use consistent title case for technical-document headings and table headers; avoid quotation marks, ampersands, and exclamation marks in headings, while preserving official product, event, research, and whitepaper title ...
Files:
skills/nemo-fabric-integrate/references/config-mapping.mdskills/nemo-fabric-integrate/references/results-and-errors.mdAGENTS.mdskills/README.mdskills/nemo-fabric-integrate/references/sdk-api-inventory.mdskills/nemo-fabric-integrate/SKILL.md
**/*.{md,rst,txt,adoc}
📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-language-mechanics.md)
**/*.{md,rst,txt,adoc}: For technical documentation, use professional, active, conversational, engaging, precise, and plain-English prose. Prefer active voice, present tense, short sentences, and scannable paragraphs. Avoid casual or imprecise language, swearing, threats, insults, jokes, puns, culture-specific idioms, marketing exaggeration, and unsupported third-party comparisons.
Usecanfor possibility and reservemayfor permission; useafterfor temporal order; userefer tofor cross-references; prefer short direct sentences and specific verbs; avoid unnecessarypleasein technical documentation.
Prefer active voice when the actor matters. Passive voice is acceptable when the actor is unknown or irrelevant, when the action or result is the focus, or in programmer documentation.
Use natural contractions in conversational technical prose, but do not force them in formal legal copy, API references, or generated text.
Prefer simpler English over Latinisms: usefor exampleorsuch asinstead ofe.g.,and so oninstead ofetc.,that isinstead ofi.e.,compared toinstead ofvs., andby,through, orusinginstead ofvia. Use industry-standard terms such as in silico, in vitro, and in vivo when appropriate, and italicize them in running text.
Usethatwithout commas for essential clauses, andwhichwith commas for nonessential clauses.
Format dates and times clearly: spell out months in body text; use forms such asJune 12, 2025; avoid numeric or ordinal dates; capitalize days; use 12-hour time when appropriate; include a space beforea.m.orp.m.; useETandPTfor needed time zones; avoid24/7; and preferfrom 12:30 to 1:00 p.m.for prose ranges.
Format numbers consistently: spell out zero through nine in body text, use numerals for 10 or greater and for technical values, use commas in thousands, do not begin a sentence with a numeral, spell out ordinals, and use numerals consistently within a category wh...
Files:
skills/nemo-fabric-integrate/references/config-mapping.mdskills/nemo-fabric-integrate/references/results-and-errors.mdAGENTS.mdskills/README.mdskills/nemo-fabric-integrate/references/sdk-api-inventory.mdskills/nemo-fabric-integrate/SKILL.md
skills/**
📄 CodeRabbit inference engine (.agents/skills/README.md)
Consumer-facing integration guidance must remain in the top-level
skills/directory and must not be mixed into the maintainer skill set.
Files:
skills/nemo-fabric-integrate/references/config-mapping.mdskills/nemo-fabric-integrate/references/results-and-errors.mdskills/README.mdskills/nemo-fabric-integrate/references/sdk-api-inventory.mdskills/nemo-fabric-integrate/SKILL.md
skills/**/*.md
📄 CodeRabbit inference engine (AGENTS.md)
Consumer skills must depend only on supported public SDK contracts and published documentation, never on repository internals.
Files:
skills/nemo-fabric-integrate/references/config-mapping.mdskills/nemo-fabric-integrate/references/results-and-errors.mdskills/README.mdskills/nemo-fabric-integrate/references/sdk-api-inventory.mdskills/nemo-fabric-integrate/SKILL.md
{docs/**,README.md,AGENTS.md}
⚙️ CodeRabbit configuration file
{docs/**,README.md,AGENTS.md}: Review documentation for technical accuracy against the current API, command correctness, and consistency with generated schemas.
Files:
AGENTS.md
**/README.md
📄 CodeRabbit inference engine (CONTRIBUTING.md)
Update an adapter or example
README.mdwhen that adapter or example surface changes.
Files:
skills/README.md
**/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-fabric-integrate/SKILL.md
🧠 Learnings (1)
📓 Common learnings
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T21:36:52.087Z
Learning: Use consumer skills under `skills/` only for external integrations through the public Python SDK, and maintainer skills under `.agents/skills/` for repository contributions.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T21:36:52.087Z
Learning: Keep consumer integration guidance separate from repository-internal maintainer contribution guidance.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T21:36:52.087Z
Learning: Use branch prefixes `feat/`, `fix/`, `docs/`, `test/`, or `refactor/`.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T21:36:52.087Z
Learning: Name branches after the work and never embed Linear ticket IDs or slugs in branch names.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T21:36:52.087Z
Learning: Use Conventional Commit PR titles in the form `<type>: <summary>`; reserve `fix` for actual product bugs, not CI, documentation, or chores.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T21:36:52.087Z
Learning: Use signed-off commits for pull request work with `git commit -s`.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T21:36:52.087Z
Learning: When creating a pull request from the current branch, target the upstream repository rather than a fork.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T21:36:52.087Z
Learning: PR descriptions must include what changed, why, how it was tested, and any breaking changes within the repository template format.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T21:36:53.408Z
Learning: Follow the instructions documented in `AGENTS.md`.
🔇 Additional comments (13)
.agents/skills/README.md (2)
29-31: Add a lead-in sentence before the skills table.This remains the previously reported documentation issue: introduce the table with a complete sentence.
Source: Coding guidelines
6-27: LGTM!Also applies to: 33-53
skills/nemo-fabric-integrate/SKILL.md (2)
133-145: Make the async examples valid standalone Python.The runtime example still uses
async withat module scope. Wrap the one-shot and multi-turn examples inasync def main()or explicitly label them as fragments.Source: Coding guidelines
9-117: LGTM!Also applies to: 118-131, 147-153, 163-173, 189-210, 212-261
skills/nemo-fabric-integrate/references/results-and-errors.md (2)
25-30: Introduce the result-handling example with a complete sentence.Add a lead-in such as: “Use the following status-first pattern to handle a result:”
Source: Coding guidelines
6-23: LGTM!Also applies to: 32-68
skills/nemo-fabric-integrate/references/sdk-api-inventory.md (4)
8-12: Restore valid API-reference links.The
clientandruntimelinks still resolve to 404 from the public repository, so readers cannot verify the documented signatures. ()Source: MCP tools
14-22: Add lead-in sentences for both API tables.Each table currently follows its heading directly. Introduce each table with a complete sentence.
Also applies to: 28-36
Source: Coding guidelines
47-54: Specify the diagram fence language.Mark the execution-model fence as
textso Markdown tooling can process it consistently.Source: Coding guidelines
24-26: LGTM!Also applies to: 56-64
AGENTS.md (1)
6-60: LGTM!skills/README.md (1)
6-42: LGTM!Also applies to: 49-58
skills/nemo-fabric-integrate/references/config-mapping.md (1)
6-100: LGTM!
- Add a concrete OpenAI Codex install path to skills/README.md (<project>/.agents/skills/... or $CODEX_HOME/skills/...) alongside Claude Code, so discovery is explicit per agent instead of a vague "other agents" note. - Narrow the portability claim: the consumer skill may mention Fabric build commands or the maintainer tier as guidance, so state that skills do not depend on repository internals (links are absolute or bundled) rather than claiming they never reference them. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Yuchen Zhang <yuchenz@nvidia.com>
There was a problem hiding this comment.
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)
48-52: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick winReplace the one-row table with a lead-in sentence or bullet.
This section contains one entry and has no complete sentence introducing the table, contrary to the documentation guidelines. A bullet is clearer and avoids unnecessary table structure.
Proposed rewrite
## Start Here -| Skill | Use it when | -|---|---| -| [`nemo-fabric-integrate`](nemo-fabric-integrate/SKILL.md) | You are adding NeMo Fabric to a consumer application, service, evaluation harness, or platform through the typed Python SDK — building an in-memory `FabricConfig`, choosing one-shot versus stateful-runtime execution, validating with `plan`/`doctor`, and consuming normalized results. | +- Use [`nemo-fabric-integrate`](nemo-fabric-integrate/SKILL.md) when adding NeMo Fabric to a consumer application, service, evaluation harness, or platform through the typed Python SDK. The skill covers in-memory `FabricConfig` construction, one-shot versus stateful-runtime execution, `plan`/`doctor` validation, and normalized results.🤖 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 48 - 52, Replace the single-row table under “Start Here” with a lead-in sentence or bullet that links to the nemo-fabric-integrate skill and describes when to use it. Preserve the existing skill reference and usage guidance while removing the unnecessary table structure.Source: Coding guidelines
🤖 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.
Outside diff comments:
In `@skills/README.md`:
- Around line 48-52: Replace the single-row table under “Start Here” with a
lead-in sentence or bullet that links to the nemo-fabric-integrate skill and
describes when to use it. Preserve the existing skill reference and usage
guidance while removing the unnecessary table structure.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Enterprise
Run ID: 117ca70f-d0e2-432c-9121-07df0d2cf320
📒 Files selected for processing (1)
skills/README.md
📜 Review details
⏰ Context from checks skipped due to timeout. (12)
- GitHub Check: Build and publish docs
- GitHub Check: Test (Python 3.11, x86_64)
- GitHub Check: Test (Python 3.14, arm64)
- GitHub Check: Test (Python 3.13, arm64)
- GitHub Check: Test (Python 3.12, x86_64)
- GitHub Check: Test (Python 3.12, arm64)
- GitHub Check: Test (Python 3.13, x86_64)
- GitHub Check: Test (Python 3.11, arm64)
- GitHub Check: Test (Python 3.14, x86_64)
- GitHub Check: Pre-commit
- GitHub Check: Build wheels (x86_64)
- GitHub Check: Build wheels (arm64)
🧰 Additional context used
📓 Path-based instructions (9)
**/*.{md,mdx,html}
📄 CodeRabbit inference engine (CONTRIBUTING.md)
Changes affecting public behavior, adapters, examples, or workspace structure must update the corresponding documentation; public API changes require updated SDK or API reference documentation.
Files:
skills/README.md
**/README.md
📄 CodeRabbit inference engine (CONTRIBUTING.md)
Update an adapter or example
README.mdwhen that adapter or example surface changes.
Files:
skills/README.md
**/*.{md,mdx}
📄 CodeRabbit inference engine (CONTRIBUTING.md)
For docs site changes, run
just docsto regenerate Python and Rust API references and validate Fern configuration.
**/*.{md,mdx}: Prioritize factual accuracy in NeMo Fabric documentation and keep commands, package names, APIs, file paths, repository layout, entry points, support claims, examples, and procedures aligned with current repository behavior.
Update relevant entry-point documentation when public behavior changes, includingREADME.md,docs/index.yml, package or crate READMEs, and adapter or integration READMEs.
Use{/* ... */}delimiters for top-of-file SPDX comments in MDX files, not HTML comment delimiters.
CapitalizeNVIDIAcorrectly and use consistent current repository terminology, product names, APIs, and feature names.
Format commands, code, expressions, file names, paths, and filenames as inline code where appropriate.
Use title case for technical-documentation headings.
Introduce code blocks, tables, and lists with complete lead-in sentences.
Use descriptive link text instead of raw URLs or generic labels such ashere.
Write procedures as short, imperative, parallel, easy-to-scan steps; prefer active voice, present tense, plain English, and concise sentences.
Useafterinstead ofoncewhen expressing temporal sequence, and usecaninstead ofmaywhen describing possibility rather than permission.
Use unambiguous date formats and avoid ordinal dates in body text.
When reviewing documentation, report findings in severity order underMust fix,Should fix, andNice to have, with file paths, line references, explanations, and concrete rewrites or directions.
Files:
skills/README.md
**/*
📄 CodeRabbit inference engine (CONTRIBUTING.md)
**/*: All source files must include the specified SPDX copyright and Apache-2.0 license header using the comment syntax appropriate to the file type.
Release tags must use raw Rust-compatible SemVer without a leadingv, such as0.1.0or0.1.0-rc.1.
**/*: Before implementing, explicitly state assumptions, surface ambiguity and tradeoffs, present multiple interpretations when relevant, and ask for clarification rather than silently deciding or proceeding when requirements are unclear.
Prefer the minimum code needed to solve the requested problem: avoid speculative features, unnecessary abstractions, unrequested flexibility, and handling of impossible scenarios; simplify overcomplicated solutions.
When editing existing code, make surgical changes only: do not modify unrelated code, comments, formatting, or pre-existing dead code; match the existing style, and remove only unused imports, variables, or functions introduced by your changes.
Define verifiable success criteria for each task, such as writing regression tests for bugs and invalid-input tests for validation, then verify the implementation against those criteria. For multi-step work, state a brief plan with a verification check for each step.
**/*: Keep pull request branch scope coherent and reviewable.
Run relevant tests undervalidate-changebefore opening or updating a pull request.
Format changed files with the language-native formatter.
Update documentation and examples for public behavior changes.
Update dependent maintainer or consumer guidance when code changes affect APIs, bindings, commands, paths, packaging guidance, or best practices.
Use Conventional Commit style for pull request titles:<type>: <concise imperative summary>, choosing the type from the actual change surface. Usefixonly for user-facing or runtime product-code bug fixes.
A pull request body must include#### Overview,#### Details,#### Validation,#### Where should the reviewer start?, and `#### Related ...
Files:
skills/README.md
**/*.{html,md}
📄 CodeRabbit inference engine (CONTRIBUTING.md)
HTML and Markdown files must use the specified SPDX header in an HTML comment.
Files:
skills/README.md
**/*.{md,rst}
📄 CodeRabbit inference engine (.agents/skills/contribute-api/SKILL.md)
Update documentation and examples in the same branch as the public API change.
Verify README and documentation entry points, package names, paths, examples, and public commands remain current after changes.
Files:
skills/README.md
**/*.{md,mdx,rst}
📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-guide.md)
**/*.{md,mdx,rst}: For NeMo Fabric documentation, verify technical claims against the current repository, public API, or documented command before reviewing style.
Always spellNVIDIAin all caps; do not useNvidia,nvidia, orNV.
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 ashereorread more.
Use title case consistently for technical documentation headings.
Introduce code blocks, lists, tables, and images with complete sentences.
Write procedures as imperative, parallel steps; split long procedures into smaller tasks.
Prefer active voice, present tense, short sentences, contractions, and plain English while preserving necessary technical precision.
Usecanfor possibility and reservemayfor permission.
Useafterfor temporal relationships instead ofonce, and preferrefer tooverseewhen directing readers to another resource.
Avoid culture-specific idioms, unnecessary Latinisms, jokes, and marketing exaggeration in technical documentation.
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 commas in thousands.
Do not add trademark symbols to learning-oriented documentation unless the source, platform, or legal guidance explicitly requires them.
Do not replace precise technical terms with simpler words when doing so would lose precision.
Do not flag passive voice when the actor is unknown or the action is the important part.
Do not rewrite API names, package names, command flags, or code literals for style.
**/*.{md,mdx,rst}: Use consistent title case for technical-document headings and table headers; avoid quotation marks, ampersands, and exclamation marks in headings, while preserving official product, event, research, and whitepaper title ...
Files:
skills/README.md
**/*.{md,rst,txt,adoc}
📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-language-mechanics.md)
**/*.{md,rst,txt,adoc}: For technical documentation, use professional, active, conversational, engaging, precise, and plain-English prose. Prefer active voice, present tense, short sentences, and scannable paragraphs. Avoid casual or imprecise language, swearing, threats, insults, jokes, puns, culture-specific idioms, marketing exaggeration, and unsupported third-party comparisons.
Usecanfor possibility and reservemayfor permission; useafterfor temporal order; userefer tofor cross-references; prefer short direct sentences and specific verbs; avoid unnecessarypleasein technical documentation.
Prefer active voice when the actor matters. Passive voice is acceptable when the actor is unknown or irrelevant, when the action or result is the focus, or in programmer documentation.
Use natural contractions in conversational technical prose, but do not force them in formal legal copy, API references, or generated text.
Prefer simpler English over Latinisms: usefor exampleorsuch asinstead ofe.g.,and so oninstead ofetc.,that isinstead ofi.e.,compared toinstead ofvs., andby,through, orusinginstead ofvia. Use industry-standard terms such as in silico, in vitro, and in vivo when appropriate, and italicize them in running text.
Usethatwithout commas for essential clauses, andwhichwith commas for nonessential clauses.
Format dates and times clearly: spell out months in body text; use forms such asJune 12, 2025; avoid numeric or ordinal dates; capitalize days; use 12-hour time when appropriate; include a space beforea.m.orp.m.; useETandPTfor needed time zones; avoid24/7; and preferfrom 12:30 to 1:00 p.m.for prose ranges.
Format numbers consistently: spell out zero through nine in body text, use numerals for 10 or greater and for technical values, use commas in thousands, do not begin a sentence with a numeral, spell out ordinals, and use numerals consistently within a category wh...
Files:
skills/README.md
skills/**
📄 CodeRabbit inference engine (AGENTS.md)
skills/**: Keep consumer integration skills self-contained and dependent only on supported public Python SDK contracts and published documentation, never repository internals.
Do not add repository-internal contribution steps to consumer skills.
Files:
skills/README.md
🧠 Learnings (1)
📓 Common learnings
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T21:51:21.083Z
Learning: When changing a public API, maintain parity across Rust, CLI, Python, schema, adapters, and documentation.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T21:51:21.083Z
Learning: Keep small bug fixes reviewable and avoid widening their scope.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T21:51:21.083Z
Learning: Documentation and examples must be updated consistently with public behavior, and public text should follow NVIDIA technical-writing style.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T21:51:21.083Z
Learning: Choose and run the appropriate validation matrix for each change, including Python tests where applicable.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T21:51:21.083Z
Learning: When updating the project version, synchronize the release version across all packaging surfaces.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T21:51:21.083Z
Learning: Prepare pull requests with the correct scope and an appropriate review handoff.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T21:51:21.083Z
Learning: Use `karpathy-guidelines` as a companion to the other maintainer skills for behavioral coding guidance.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T21:51:28.462Z
Learning: Use branch prefixes `feat/`, `fix/`, `docs/`, `test/`, or `refactor/`.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T21:51:28.462Z
Learning: Name branches after the work and never include Linear ticket IDs or slugs in branch names.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T21:51:28.462Z
Learning: Use Conventional Commit PR titles in the form `<type>: <summary>`; reserve `fix` for actual product bugs, not CI, documentation, or chores.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T21:51:28.462Z
Learning: Use signed-off commits for pull request work with `git commit -s`.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T21:51:28.462Z
Learning: When creating a pull request from the current branch, target the upstream repository rather than a fork.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T21:51:28.462Z
Learning: If repository-local PR guidance conflicts with generic GitHub connector or plugin guidance, follow the repository-local guidance for PR body format and review handoff details.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T21:51:28.462Z
Learning: PR descriptions must include what changed, why, how it was tested, and any breaking changes within the repository template format.
🔇 Additional comments (1)
skills/README.md (1)
41-43: 📐 Maintainability & Code QualityVerify the OpenAI Codex skill path before publishing.
The documented
$CODEX_HOME/skills/location is product-specific, but the supplied context does not establish it as a supported discovery path. Official OpenAI material confirms Codex supports skills and repository-shared skills, but not this exact path. Verify the path against the target Codex documentation so copied skills remain discoverable. (openai.com)
…laims - doctor() is not credential-free: it checks declared environment requirements (such as API-key variables) and returns fail when they are unset. Only plan() is credential-independent; the CI-gate guidance now says so. - Config metadata is not echoed into RunResult.metadata. Point callers to agent_name (from the config name) and RunRequest.request_id for correlation. - The generated reference pages omit async/keyword-only markers and constructor fields/defaults, so stop calling them the source of truth for exact signatures/fields and point to the installed nemo_fabric type stubs. - AGENTS.md: fix the stale docs/python-sdk-contract.md path to docs/sdk/python.mdx. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Yuchen Zhang <yuchenz@nvidia.com>
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (3)
skills/nemo-fabric-integrate/references/sdk-api-inventory.md (2)
45-48: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winMake the async example runnable or label it as a fragment.
async with await ...requires an enclosingasync def; as written, copying this block into a Python file fails. Wrap it in an async entry point or state that the block is illustrative only.🤖 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-fabric-integrate/references/sdk-api-inventory.md` around lines 45 - 48, Update the async runtime example around fabric.start_runtime and runtime.invoke so it is runnable when copied into a Python file by wrapping it in an async entry point and invoking that entry point, or explicitly label the snippet as illustrative only.
24-24: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winEscape the pipe characters inside table cells.
The
|ininput=... | request=...can be parsed as a column separator, corrupting table rendering. Escape it as\|or express the alternatives outside the table.Also applies to: 35-35
🤖 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-fabric-integrate/references/sdk-api-inventory.md` at line 24, Update the table rows describing the run signature to escape the pipe between input and request as \| within the table cell, including the corresponding occurrence at the other referenced row, so Markdown preserves the intended column structure.AGENTS.md (1)
58-60: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick winPreserve all required PR-template headings.
This lists only
Overview,Where should the reviewer start?, andRelated Issues, but the repository template also requiresDetailsandValidation. Name all required headings here so contributors do not omit them.🤖 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 `@AGENTS.md` around lines 58 - 60, Update the pull-request guidance in AGENTS.md to list all required template headings, adding Details and Validation alongside Overview, Where should the reviewer start?, and Related Issues; keep the existing instruction to preserve contribution checkboxes.Source: Coding guidelines
🤖 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.
Outside diff comments:
In `@AGENTS.md`:
- Around line 58-60: Update the pull-request guidance in AGENTS.md to list all
required template headings, adding Details and Validation alongside Overview,
Where should the reviewer start?, and Related Issues; keep the existing
instruction to preserve contribution checkboxes.
In `@skills/nemo-fabric-integrate/references/sdk-api-inventory.md`:
- Around line 45-48: Update the async runtime example around
fabric.start_runtime and runtime.invoke so it is runnable when copied into a
Python file by wrapping it in an async entry point and invoking that entry
point, or explicitly label the snippet as illustrative only.
- Line 24: Update the table rows describing the run signature to escape the pipe
between input and request as \| within the table cell, including the
corresponding occurrence at the other referenced row, so Markdown preserves the
intended column structure.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Enterprise
Run ID: 6536d7ae-9f9b-4c36-83f9-d1d7267e8fd7
📒 Files selected for processing (4)
AGENTS.mdskills/nemo-fabric-integrate/SKILL.mdskills/nemo-fabric-integrate/references/config-mapping.mdskills/nemo-fabric-integrate/references/sdk-api-inventory.md
📜 Review details
⏰ Context from checks skipped due to timeout. (2)
- GitHub Check: Test (Python 3.13, x86_64)
- GitHub Check: Test (Python 3.12, x86_64)
🧰 Additional context used
📓 Path-based instructions (11)
**/*.{md,mdx,html}
📄 CodeRabbit inference engine (CONTRIBUTING.md)
Changes affecting public behavior, adapters, examples, or workspace structure must update the corresponding documentation; public API changes require updated SDK or API reference documentation.
Files:
skills/nemo-fabric-integrate/references/sdk-api-inventory.mdAGENTS.mdskills/nemo-fabric-integrate/references/config-mapping.mdskills/nemo-fabric-integrate/SKILL.md
**/*.{md,mdx}
📄 CodeRabbit inference engine (CONTRIBUTING.md)
For docs site changes, run
just docsto regenerate Python and Rust API references and validate Fern configuration.
**/*.{md,mdx}: Prioritize factual accuracy in NeMo Fabric documentation and keep commands, package names, APIs, file paths, repository layout, entry points, support claims, examples, and procedures aligned with current repository behavior.
Update relevant entry-point documentation when public behavior changes, includingREADME.md,docs/index.yml, package or crate READMEs, and adapter or integration READMEs.
Use{/* ... */}delimiters for top-of-file SPDX comments in MDX files, not HTML comment delimiters.
CapitalizeNVIDIAcorrectly and use consistent current repository terminology, product names, APIs, and feature names.
Format commands, code, expressions, file names, paths, and filenames as inline code where appropriate.
Use title case for technical-documentation headings.
Introduce code blocks, tables, and lists with complete lead-in sentences.
Use descriptive link text instead of raw URLs or generic labels such ashere.
Write procedures as short, imperative, parallel, easy-to-scan steps; prefer active voice, present tense, plain English, and concise sentences.
Useafterinstead ofoncewhen expressing temporal sequence, and usecaninstead ofmaywhen describing possibility rather than permission.
Use unambiguous date formats and avoid ordinal dates in body text.
When reviewing documentation, report findings in severity order underMust fix,Should fix, andNice to have, with file paths, line references, explanations, and concrete rewrites or directions.
Files:
skills/nemo-fabric-integrate/references/sdk-api-inventory.mdAGENTS.mdskills/nemo-fabric-integrate/references/config-mapping.mdskills/nemo-fabric-integrate/SKILL.md
**/*
📄 CodeRabbit inference engine (CONTRIBUTING.md)
**/*: All source files must include the specified SPDX copyright and Apache-2.0 license header using the comment syntax appropriate to the file type.
Release tags must use raw Rust-compatible SemVer without a leadingv, such as0.1.0or0.1.0-rc.1.
**/*: Before implementing, explicitly state assumptions, surface ambiguity and tradeoffs, present multiple interpretations when relevant, and ask for clarification rather than silently deciding or proceeding when requirements are unclear.
Prefer the minimum code needed to solve the requested problem: avoid speculative features, unnecessary abstractions, unrequested flexibility, and handling of impossible scenarios; simplify overcomplicated solutions.
When editing existing code, make surgical changes only: do not modify unrelated code, comments, formatting, or pre-existing dead code; match the existing style, and remove only unused imports, variables, or functions introduced by your changes.
Define verifiable success criteria for each task, such as writing regression tests for bugs and invalid-input tests for validation, then verify the implementation against those criteria. For multi-step work, state a brief plan with a verification check for each step.
**/*: Keep pull request branch scope coherent and reviewable.
Run relevant tests undervalidate-changebefore opening or updating a pull request.
Format changed files with the language-native formatter.
Update documentation and examples for public behavior changes.
Update dependent maintainer or consumer guidance when code changes affect APIs, bindings, commands, paths, packaging guidance, or best practices.
Use Conventional Commit style for pull request titles:<type>: <concise imperative summary>, choosing the type from the actual change surface. Usefixonly for user-facing or runtime product-code bug fixes.
A pull request body must include#### Overview,#### Details,#### Validation,#### Where should the reviewer start?, and `#### Related ...
Files:
skills/nemo-fabric-integrate/references/sdk-api-inventory.mdAGENTS.mdskills/nemo-fabric-integrate/references/config-mapping.mdskills/nemo-fabric-integrate/SKILL.md
**/*.{html,md}
📄 CodeRabbit inference engine (CONTRIBUTING.md)
HTML and Markdown files must use the specified SPDX header in an HTML comment.
Files:
skills/nemo-fabric-integrate/references/sdk-api-inventory.mdAGENTS.mdskills/nemo-fabric-integrate/references/config-mapping.mdskills/nemo-fabric-integrate/SKILL.md
**/*.{md,rst}
📄 CodeRabbit inference engine (.agents/skills/contribute-api/SKILL.md)
Update documentation and examples in the same branch as the public API change.
Verify README and documentation entry points, package names, paths, examples, and public commands remain current after changes.
Files:
skills/nemo-fabric-integrate/references/sdk-api-inventory.mdAGENTS.mdskills/nemo-fabric-integrate/references/config-mapping.mdskills/nemo-fabric-integrate/SKILL.md
**/*.{md,mdx,rst}
📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-guide.md)
**/*.{md,mdx,rst}: For NeMo Fabric documentation, verify technical claims against the current repository, public API, or documented command before reviewing style.
Always spellNVIDIAin all caps; do not useNvidia,nvidia, orNV.
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 ashereorread more.
Use title case consistently for technical documentation headings.
Introduce code blocks, lists, tables, and images with complete sentences.
Write procedures as imperative, parallel steps; split long procedures into smaller tasks.
Prefer active voice, present tense, short sentences, contractions, and plain English while preserving necessary technical precision.
Usecanfor possibility and reservemayfor permission.
Useafterfor temporal relationships instead ofonce, and preferrefer tooverseewhen directing readers to another resource.
Avoid culture-specific idioms, unnecessary Latinisms, jokes, and marketing exaggeration in technical documentation.
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 commas in thousands.
Do not add trademark symbols to learning-oriented documentation unless the source, platform, or legal guidance explicitly requires them.
Do not replace precise technical terms with simpler words when doing so would lose precision.
Do not flag passive voice when the actor is unknown or the action is the important part.
Do not rewrite API names, package names, command flags, or code literals for style.
**/*.{md,mdx,rst}: Use consistent title case for technical-document headings and table headers; avoid quotation marks, ampersands, and exclamation marks in headings, while preserving official product, event, research, and whitepaper title ...
Files:
skills/nemo-fabric-integrate/references/sdk-api-inventory.mdAGENTS.mdskills/nemo-fabric-integrate/references/config-mapping.mdskills/nemo-fabric-integrate/SKILL.md
**/*.{md,rst,txt,adoc}
📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-language-mechanics.md)
**/*.{md,rst,txt,adoc}: For technical documentation, use professional, active, conversational, engaging, precise, and plain-English prose. Prefer active voice, present tense, short sentences, and scannable paragraphs. Avoid casual or imprecise language, swearing, threats, insults, jokes, puns, culture-specific idioms, marketing exaggeration, and unsupported third-party comparisons.
Usecanfor possibility and reservemayfor permission; useafterfor temporal order; userefer tofor cross-references; prefer short direct sentences and specific verbs; avoid unnecessarypleasein technical documentation.
Prefer active voice when the actor matters. Passive voice is acceptable when the actor is unknown or irrelevant, when the action or result is the focus, or in programmer documentation.
Use natural contractions in conversational technical prose, but do not force them in formal legal copy, API references, or generated text.
Prefer simpler English over Latinisms: usefor exampleorsuch asinstead ofe.g.,and so oninstead ofetc.,that isinstead ofi.e.,compared toinstead ofvs., andby,through, orusinginstead ofvia. Use industry-standard terms such as in silico, in vitro, and in vivo when appropriate, and italicize them in running text.
Usethatwithout commas for essential clauses, andwhichwith commas for nonessential clauses.
Format dates and times clearly: spell out months in body text; use forms such asJune 12, 2025; avoid numeric or ordinal dates; capitalize days; use 12-hour time when appropriate; include a space beforea.m.orp.m.; useETandPTfor needed time zones; avoid24/7; and preferfrom 12:30 to 1:00 p.m.for prose ranges.
Format numbers consistently: spell out zero through nine in body text, use numerals for 10 or greater and for technical values, use commas in thousands, do not begin a sentence with a numeral, spell out ordinals, and use numerals consistently within a category wh...
Files:
skills/nemo-fabric-integrate/references/sdk-api-inventory.mdAGENTS.mdskills/nemo-fabric-integrate/references/config-mapping.mdskills/nemo-fabric-integrate/SKILL.md
skills/**
📄 CodeRabbit inference engine (AGENTS.md)
skills/**: Keep consumer integration skills underskills/; they must depend only on supported public Python SDK contracts and published documentation, never repository internals.
Do not add repository-internal contribution guidance to consumer skills underskills/.
Files:
skills/nemo-fabric-integrate/references/sdk-api-inventory.mdskills/nemo-fabric-integrate/references/config-mapping.mdskills/nemo-fabric-integrate/SKILL.md
AGENTS.md
📄 CodeRabbit inference engine (CLAUDE.md)
Follow the instructions defined in
AGENTS.md.
Files:
AGENTS.md
{docs/**,README.md,AGENTS.md}
⚙️ CodeRabbit configuration file
{docs/**,README.md,AGENTS.md}: Review documentation for technical accuracy against the current API, command correctness, and consistency with generated schemas.
Files:
AGENTS.md
**/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-fabric-integrate/SKILL.md
🧠 Learnings (1)
📓 Common learnings
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T22:11:36.401Z
Learning: Use the maintainer skills for repository work involving public APIs, Python tests, CI, packaging, versions, documentation, and pull requests.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T22:11:46.445Z
Learning: Use branch prefixes `feat/`, `fix/`, `docs/`, `test/`, or `refactor/`.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T22:11:46.445Z
Learning: Name branches after the work and never embed Linear ticket IDs or slugs in branch names.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T22:11:46.445Z
Learning: Use signed-off commits for pull-request work with `git commit -s`.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T22:11:46.445Z
Learning: When creating a pull request from the current branch, target the upstream repository rather than a fork.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T22:11:46.445Z
Learning: If repository-local PR guidance conflicts with generic GitHub connector or plugin guidance, follow the repository-local guidance for PR body format and review handoff details.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T22:11:46.445Z
Learning: PR descriptions must include what changed, why, how it was tested, and any breaking changes within the repository template format.
🔇 Additional comments (7)
skills/nemo-fabric-integrate/SKILL.md (2)
141-145: Wrap everyawait-based example in an async entry point.These examples use
awaitat module scope, so copying them into a Python file raises a syntax error. Put each example insideasync def main()or explicitly label it as a non-standalone fragment.Also applies to: 155-161, 180-187
1-140: LGTM!Also applies to: 146-154, 162-179, 188-265
skills/nemo-fabric-integrate/references/sdk-api-inventory.md (3)
17-25: Add lead-in sentences before both API tables.Each heading is followed immediately by a table. Add a complete introductory sentence before the
Fabric MethodsandRuntime Methodstables.Also applies to: 31-39
55-57: Specify the execution-model fence language.Mark this diagram fence as
textso Markdown tooling and renderers handle it consistently.
1-16: LGTM!Also applies to: 26-30, 40-44, 49-54, 58-68
AGENTS.md (1)
6-57: LGTM!skills/nemo-fabric-integrate/references/config-mapping.md (1)
6-104: LGTM!
- Add lead-in sentences before the maintainer skills table, both SDK API inventory tables, and the result-handling example (repo guidelines require a prose lead-in for documentation tables and examples). - Mark the execution-model diagram fence as text (MD040). - Label the async lifecycle snippets as running in an async context and add the missing lead-in sentence. Two CodeRabbit findings were already resolved and are skipped: the client/runtime reference links (now GitHub URLs) and the raw-URL autolink (removed). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Yuchen Zhang <yuchenz@nvidia.com>
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (3)
skills/nemo-fabric-integrate/references/results-and-errors.md (1)
57-70: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick winAdd a lead-in and use
canfor possibility.The
Cleanup And Resiliencesection starts directly with a list, and “Transient failures may carry retryable error metadata” usesmayfor possibility. Add a complete introductory sentence and changemaytocan.As per coding guidelines, lists require lead-ins, and
canis preferred when describing possibility.🤖 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-fabric-integrate/references/results-and-errors.md` around lines 57 - 70, Add a complete introductory sentence immediately before the list in the “Cleanup And Resilience” section, serving as a lead-in to the bullets. In the transient-failures bullet, replace “may carry” with “can carry” while preserving the remaining guidance unchanged.Source: Coding guidelines
.agents/skills/README.md (1)
47-55: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick winAdd a lead-in sentence before the conventions list.
The
Discovery And Conventionssection starts directly with a list. Add a complete sentence such as “Use the following conventions when discovering and naming maintainer skills.”As per coding guidelines, lists must have a complete lead-in sentence.
🤖 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 @.agents/skills/README.md around lines 47 - 55, Add a complete lead-in sentence immediately after the “Discovery And Conventions” heading and before its bullet list, describing that the following conventions apply to discovering and naming maintainer skills. Leave the existing list items unchanged.Source: Coding guidelines
skills/nemo-fabric-integrate/references/sdk-api-inventory.md (1)
63-71: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick winAdd a lead-in sentence before the ownership list.
After the execution-model diagram, the section jumps directly into bullets. Add a sentence such as “The following ownership boundaries apply.”
As per coding guidelines, lists must have a complete lead-in sentence.
🤖 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-fabric-integrate/references/sdk-api-inventory.md` around lines 63 - 71, Add a complete lead-in sentence immediately before the ownership bullet list following the execution-model diagram, such as “The following ownership boundaries apply.” Keep the existing ownership bullets unchanged.Source: Coding guidelines
🤖 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.
Outside diff comments:
In @.agents/skills/README.md:
- Around line 47-55: Add a complete lead-in sentence immediately after the
“Discovery And Conventions” heading and before its bullet list, describing that
the following conventions apply to discovering and naming maintainer skills.
Leave the existing list items unchanged.
In `@skills/nemo-fabric-integrate/references/results-and-errors.md`:
- Around line 57-70: Add a complete introductory sentence immediately before the
list in the “Cleanup And Resilience” section, serving as a lead-in to the
bullets. In the transient-failures bullet, replace “may carry” with “can carry”
while preserving the remaining guidance unchanged.
In `@skills/nemo-fabric-integrate/references/sdk-api-inventory.md`:
- Around line 63-71: Add a complete lead-in sentence immediately before the
ownership bullet list following the execution-model diagram, such as “The
following ownership boundaries apply.” Keep the existing ownership bullets
unchanged.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Enterprise
Run ID: eedd6133-573b-4ed6-aa8d-7288dde8cf9d
📒 Files selected for processing (4)
.agents/skills/README.mdskills/nemo-fabric-integrate/SKILL.mdskills/nemo-fabric-integrate/references/results-and-errors.mdskills/nemo-fabric-integrate/references/sdk-api-inventory.md
📜 Review details
⏰ Context from checks skipped due to timeout. (2)
- GitHub Check: Test (Python 3.11, x86_64)
- GitHub Check: Test (Python 3.13, x86_64)
🧰 Additional context used
📓 Path-based instructions (10)
**/*.{md,mdx,html}
📄 CodeRabbit inference engine (CONTRIBUTING.md)
Changes affecting public behavior, adapters, examples, or workspace structure must update the corresponding documentation; public API changes require updated SDK or API reference documentation.
Files:
skills/nemo-fabric-integrate/references/results-and-errors.mdskills/nemo-fabric-integrate/references/sdk-api-inventory.mdskills/nemo-fabric-integrate/SKILL.md
**/*.{md,mdx}
📄 CodeRabbit inference engine (CONTRIBUTING.md)
For docs site changes, run
just docsto regenerate Python and Rust API references and validate Fern configuration.
**/*.{md,mdx}: Prioritize factual accuracy in NeMo Fabric documentation and keep commands, package names, APIs, file paths, repository layout, entry points, support claims, examples, and procedures aligned with current repository behavior.
Update relevant entry-point documentation when public behavior changes, includingREADME.md,docs/index.yml, package or crate READMEs, and adapter or integration READMEs.
Use{/* ... */}delimiters for top-of-file SPDX comments in MDX files, not HTML comment delimiters.
CapitalizeNVIDIAcorrectly and use consistent current repository terminology, product names, APIs, and feature names.
Format commands, code, expressions, file names, paths, and filenames as inline code where appropriate.
Use title case for technical-documentation headings.
Introduce code blocks, tables, and lists with complete lead-in sentences.
Use descriptive link text instead of raw URLs or generic labels such ashere.
Write procedures as short, imperative, parallel, easy-to-scan steps; prefer active voice, present tense, plain English, and concise sentences.
Useafterinstead ofoncewhen expressing temporal sequence, and usecaninstead ofmaywhen describing possibility rather than permission.
Use unambiguous date formats and avoid ordinal dates in body text.
When reviewing documentation, report findings in severity order underMust fix,Should fix, andNice to have, with file paths, line references, explanations, and concrete rewrites or directions.
Files:
skills/nemo-fabric-integrate/references/results-and-errors.mdskills/nemo-fabric-integrate/references/sdk-api-inventory.mdskills/nemo-fabric-integrate/SKILL.md
**/*
📄 CodeRabbit inference engine (CONTRIBUTING.md)
**/*: All source files must include the specified SPDX copyright and Apache-2.0 license header using the comment syntax appropriate to the file type.
Release tags must use raw Rust-compatible SemVer without a leadingv, such as0.1.0or0.1.0-rc.1.
**/*: Before implementing, explicitly state assumptions, surface ambiguity and tradeoffs, present multiple interpretations when relevant, and ask for clarification rather than silently deciding or proceeding when requirements are unclear.
Prefer the minimum code needed to solve the requested problem: avoid speculative features, unnecessary abstractions, unrequested flexibility, and handling of impossible scenarios; simplify overcomplicated solutions.
When editing existing code, make surgical changes only: do not modify unrelated code, comments, formatting, or pre-existing dead code; match the existing style, and remove only unused imports, variables, or functions introduced by your changes.
Define verifiable success criteria for each task, such as writing regression tests for bugs and invalid-input tests for validation, then verify the implementation against those criteria. For multi-step work, state a brief plan with a verification check for each step.
**/*: Keep pull request branch scope coherent and reviewable.
Run relevant tests undervalidate-changebefore opening or updating a pull request.
Format changed files with the language-native formatter.
Update documentation and examples for public behavior changes.
Update dependent maintainer or consumer guidance when code changes affect APIs, bindings, commands, paths, packaging guidance, or best practices.
Use Conventional Commit style for pull request titles:<type>: <concise imperative summary>, choosing the type from the actual change surface. Usefixonly for user-facing or runtime product-code bug fixes.
A pull request body must include#### Overview,#### Details,#### Validation,#### Where should the reviewer start?, and `#### Related ...
Files:
skills/nemo-fabric-integrate/references/results-and-errors.mdskills/nemo-fabric-integrate/references/sdk-api-inventory.mdskills/nemo-fabric-integrate/SKILL.md
**/*.{html,md}
📄 CodeRabbit inference engine (CONTRIBUTING.md)
HTML and Markdown files must use the specified SPDX header in an HTML comment.
Files:
skills/nemo-fabric-integrate/references/results-and-errors.mdskills/nemo-fabric-integrate/references/sdk-api-inventory.mdskills/nemo-fabric-integrate/SKILL.md
**/*.{md,rst}
📄 CodeRabbit inference engine (.agents/skills/contribute-api/SKILL.md)
Update documentation and examples in the same branch as the public API change.
Verify README and documentation entry points, package names, paths, examples, and public commands remain current after changes.
**/*.{md,rst}: Update documentation and examples in step with public behavior changes.
Review documentation and public text for NVIDIA technical-writing style.
Files:
skills/nemo-fabric-integrate/references/results-and-errors.mdskills/nemo-fabric-integrate/references/sdk-api-inventory.mdskills/nemo-fabric-integrate/SKILL.md
**/*.{md,mdx,rst}
📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-guide.md)
**/*.{md,mdx,rst}: For NeMo Fabric documentation, verify technical claims against the current repository, public API, or documented command before reviewing style.
Always spellNVIDIAin all caps; do not useNvidia,nvidia, orNV.
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 ashereorread more.
Use title case consistently for technical documentation headings.
Introduce code blocks, lists, tables, and images with complete sentences.
Write procedures as imperative, parallel steps; split long procedures into smaller tasks.
Prefer active voice, present tense, short sentences, contractions, and plain English while preserving necessary technical precision.
Usecanfor possibility and reservemayfor permission.
Useafterfor temporal relationships instead ofonce, and preferrefer tooverseewhen directing readers to another resource.
Avoid culture-specific idioms, unnecessary Latinisms, jokes, and marketing exaggeration in technical documentation.
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 commas in thousands.
Do not add trademark symbols to learning-oriented documentation unless the source, platform, or legal guidance explicitly requires them.
Do not replace precise technical terms with simpler words when doing so would lose precision.
Do not flag passive voice when the actor is unknown or the action is the important part.
Do not rewrite API names, package names, command flags, or code literals for style.
**/*.{md,mdx,rst}: Use consistent title case for technical-document headings and table headers; avoid quotation marks, ampersands, and exclamation marks in headings, while preserving official product, event, research, and whitepaper title ...
Files:
skills/nemo-fabric-integrate/references/results-and-errors.mdskills/nemo-fabric-integrate/references/sdk-api-inventory.mdskills/nemo-fabric-integrate/SKILL.md
**/*.{md,rst,txt,adoc}
📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-language-mechanics.md)
**/*.{md,rst,txt,adoc}: For technical documentation, use professional, active, conversational, engaging, precise, and plain-English prose. Prefer active voice, present tense, short sentences, and scannable paragraphs. Avoid casual or imprecise language, swearing, threats, insults, jokes, puns, culture-specific idioms, marketing exaggeration, and unsupported third-party comparisons.
Usecanfor possibility and reservemayfor permission; useafterfor temporal order; userefer tofor cross-references; prefer short direct sentences and specific verbs; avoid unnecessarypleasein technical documentation.
Prefer active voice when the actor matters. Passive voice is acceptable when the actor is unknown or irrelevant, when the action or result is the focus, or in programmer documentation.
Use natural contractions in conversational technical prose, but do not force them in formal legal copy, API references, or generated text.
Prefer simpler English over Latinisms: usefor exampleorsuch asinstead ofe.g.,and so oninstead ofetc.,that isinstead ofi.e.,compared toinstead ofvs., andby,through, orusinginstead ofvia. Use industry-standard terms such as in silico, in vitro, and in vivo when appropriate, and italicize them in running text.
Usethatwithout commas for essential clauses, andwhichwith commas for nonessential clauses.
Format dates and times clearly: spell out months in body text; use forms such asJune 12, 2025; avoid numeric or ordinal dates; capitalize days; use 12-hour time when appropriate; include a space beforea.m.orp.m.; useETandPTfor needed time zones; avoid24/7; and preferfrom 12:30 to 1:00 p.m.for prose ranges.
Format numbers consistently: spell out zero through nine in body text, use numerals for 10 or greater and for technical values, use commas in thousands, do not begin a sentence with a numeral, spell out ordinals, and use numerals consistently within a category wh...
Files:
skills/nemo-fabric-integrate/references/results-and-errors.mdskills/nemo-fabric-integrate/references/sdk-api-inventory.mdskills/nemo-fabric-integrate/SKILL.md
skills/**
📄 CodeRabbit inference engine (AGENTS.md)
Keep consumer integration skills under
skills/; they must depend only on supported public Python SDK contracts and published documentation, never repository internals.
Files:
skills/nemo-fabric-integrate/references/results-and-errors.mdskills/nemo-fabric-integrate/references/sdk-api-inventory.mdskills/nemo-fabric-integrate/SKILL.md
.agents/skills/**
📄 CodeRabbit inference engine (AGENTS.md)
Keep maintainer skills under
.agents/skills/; they may reference repository internals and contribution commands. Do not add consumer integration guidance there.
Files:
.agents/skills/README.md
**/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-fabric-integrate/SKILL.md
🧠 Learnings (1)
📓 Common learnings
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T22:18:18.058Z
Learning: Keep small bug fixes reviewable and avoid widening their scope.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T22:18:18.058Z
Learning: Choose and run the appropriate validation matrix for each change.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T22:18:18.058Z
Learning: Synchronize release versions across packaging when updating the project version.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T22:18:18.058Z
Learning: Prepare pull requests with the appropriate scope and review handoff.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T22:18:18.058Z
Learning: Use the maintainer skills as task-specific guidance, and keep consumer-facing integration guidance in the top-level skills directory rather than this maintainer set.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T22:18:24.841Z
Learning: Use branch prefixes `feat/`, `fix/`, `docs/`, `test/`, or `refactor/`; name branches after the work and never include Linear ticket IDs or slugs.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T22:18:24.841Z
Learning: Use signed-off commits for pull request work with `git commit -s`.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T22:18:24.841Z
Learning: When creating a pull request from the current branch, target the upstream repository rather than a fork.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T22:18:24.841Z
Learning: PR descriptions must state what changed, why, how it was tested, and any breaking changes within the repository template format.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-15T22:18:24.841Z
Learning: If repository-local PR guidance conflicts with generic GitHub connector or plugin guidance, follow the repository-local guidance for PR body format and review handoff details.
🔇 Additional comments (7)
.agents/skills/README.md (1)
6-45: LGTM!skills/nemo-fabric-integrate/SKILL.md (4)
9-50: LGTM!
68-116: LGTM!
118-141: LGTM!
51-66: 🎯 Functional CorrectnessClarify the PyPI availability wording State whether the usable SDK is unavailable on PyPI yet, and mention the placeholder package if that is the case.
skills/nemo-fabric-integrate/references/results-and-errors.md (1)
6-55: LGTM!skills/nemo-fabric-integrate/references/sdk-api-inventory.md (1)
6-61: LGTM!
The adapter-authoring maintainer skill has not landed, so remove the forward references to it: the "pending coverage" bullet in AGENTS.md and the adapter-authoring paragraph in the maintainer skills README. Also drop the "docs site not yet published" aside so the tier docs read as self-contained. The maintainer README still covers the skills that exist today. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Yuchen Zhang <yuchenz@nvidia.com>
- Point the AGENTS.md contributor note to the real integration README location (python/src/nemo_fabric/integrations/*/README.md; there is no root integrations/). - Follow the merged #66 Codex rename: the install extra is adapters-codex (not adapters-codex-cli) and the adapter is the Codex SDK, so update the extras list, the "Codex CLI" wording, and the adapter-settings example. - Add a link to skills/README.md from the root README so human consumers have a top-level entry point to the consumer skills. - Make the flagged lifecycle example valid standalone Python (async def main() + asyncio.run) and label the remaining snippets as fragments. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Yuchen Zhang <yuchenz@nvidia.com>
AnuradhaKaruppiah
left a comment
There was a problem hiding this comment.
Looks good overall. I have two questions:
- The integration skills are mostly snippets from the SDK guide. Is this common?
- If yes, do we need a maintainer skill note that tells you to update the consumer skills everytime the sdk guide, pydantic models or rust types are updated?
- Drop the profile and agent.yaml avoidance guidance from the skill (Integration Boundary, checklist, config-mapping); that file-config and profile code is being removed from the repo, so the skill teaches only in-memory FabricConfig and function-based variants. - AGENTS.md: drop the experimental fabric CLI from the docs-update note and clarify the package name (nemo-fabric, imported as nemo_fabric). - AGENTS.md: remove the NeMo Relay repo reference from the skill-tier section. - TODO.md: track revisiting the skill's source/wheel install steps once NeMo Fabric is published on PyPI. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Yuchen Zhang <yuchenz@nvidia.com>
The consumer skills under skills/ restate SDK guide, Pydantic model, and Rust type details, so contributors must keep them in parity when those surfaces change (reviewer request). - AGENTS.md: add the consumer skills to the binding-contract parity list. - validate-change: extend the "update dependent skills" rule to cover the consumer skills, triggered by SDK guide / Pydantic model / Rust type changes. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Yuchen Zhang <yuchenz@nvidia.com>
@AnuradhaKaruppiah Yes, this is a common way to create skills - we can extract those skills into separate scripts if the snippets are getting larger. And yes, those snippets need to be synced with the SDK guides or related code - I added the parity notes in |
|
/merge |
Overview
Introduce a consumer-facing coding-agent skill for integrating NeMo Fabric through the typed Python SDK, and organize the repository's agent skills into consumer and maintainer tiers modeled on NeMo Relay.
Consumers get a single, self-contained skill that builds an in-memory
FabricConfig, chooses one-shot versus stateful-runtime execution, validates withplan/doctor, and consumes normalized results — without reverse-engineering the repository or materializing YAML/profiles. The tier structure routes coding agents to the right skill set: external integration underskills/, repository contribution under.agents/skills/.Details
Consumer integration skill (
skills/nemo-fabric-integrate/):SKILL.mdplus a bundledreferences/set (config mapping, SDK API inventory, results/errors).FabricConfig, publicnemo_fabricAPI only — no YAML/profiles/native/adapter internals), install and adapter/credential setup, one-shotrun()versus statefulstart_runtime(),plan()/doctor()preflight, structured result/error handling, a final checklist, and links to canonical docs and examples.Skill-tier organization:
skills/README.md(consumer tier) and.agents/skills/README.md(maintainer tier) documenting audience, portability, discovery, naming, and cross-linking.AGENTS.md..claude/skills -> ../.agents/skillsso Claude Code discovers the maintainer set without mixing in consumer skills.AGENTS.mdis now tracked (public contribution guidance only), with aCLAUDE.md -> AGENTS.mdsymlink so agents share one instruction file.Portability: the consumer skill links to the published docs site (
docs.nvidia.com/nemo/fabric) and GitHub example URLs, keeping bundledreferences/links relative so the skill exports cleanly.Intentional differences from NeMo Relay's structure: consumer links target the published docs site and GitHub (portability); the consumer skill uses
metadata.authorfrontmatter; there is no per-skillevals/yet (no eval runner in this repo); the adapter-authoring maintainer skill is tracked separately.Validation
examples/code_review_agent(credential-free):Fabric.plan()resolved thenvidia.fabric.hermesadapter andFabric.doctor()returned the expected checks, including the missing-credentialrequirement.env.doctor()does not validateharness.settingscontents (an unknown or misspelled setting still passes) and corrected the skill guidance accordingly..mdfiles.just test-rust/just test-python— no Rust or Python product code changed (documentation/skill markdown, a symlink, andAGENTS.mdtracking only).Where should the reviewer start?
Start with
skills/nemo-fabric-integrate/SKILL.md(the consumer skill), then the tier routing:skills/README.md,.agents/skills/README.md, and the new "Agent Skills" section inAGENTS.md.Related Issues: (use one of the action keywords Closes / Fixes / Resolves / Relates to)
Relates to: none
Summary by CodeRabbit