chore(skills): improve the user skill generation flow for NVSkills#4744
Conversation
Document the 0.0.58 release-facing behavior changes. Refresh generated user skills for release prep.
|
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (4)
📝 WalkthroughWalkthroughCentralizes inference/setup docs into a reference, trims many per-skill evals to a single entry with added expected_behavior rules, removes generated SPDX headers from SKILLs/references, updates docs-to-skills to support frontmatter opt-out, and adjusts tests and link extraction to match. ChangesDocs & Tooling Updates
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested labels
Suggested reviewers
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
E2E Advisor RecommendationRequired E2E: None Dispatch hint: Full advisor summaryE2E Recommendation AdvisorBase: Required E2E
Optional E2E
New E2E recommendations
Dispatch hint
|
E2E Scenario Advisor RecommendationRequired scenario E2E: None Full scenario advisor summaryE2E Scenario AdvisorBase: Required scenario E2E
Optional scenario E2E
Relevant changed files
|
|
🌿 Preview your docs: https://nvidia-preview-pr-4744.docs.buildwithfern.com/nemoclaw |
PR Review AdvisorFindings: 0 needs attention, 2 worth checking, 0 nice ideas Review findings🛠️ Needs attention
🔎 Worth checking
🌱 Nice ideas
Consider writing more tests for
Since last review detailsCurrent findings:
This is an automated advisory review. A human maintainer must make the final merge decision. |
|
/nvskills-ci |
|
/nvskills-ci |
There was a problem hiding this comment.
Actionable comments posted: 9
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@skills/nemoclaw-user-configure-inference/SKILL.md`:
- Around line 20-21: In the SKILL.md openclaw variant block there are two
duplicated prerequisite bullets with conflicting wording; remove the redundant
line so only one prerequisite remains and standardize the wording—keep a single
bullet like "NemoClaw installed. Refer to Quickstart with Hermes (use the
`nemoclaw-user-get-started` skill) if you have not installed yet." to replace
the two current lines in the variant="openclaw" section.
- Around line 18-25: Remove the duplicated prerequisite line under the AgentOnly
block by keeping a single "NemoClaw installed…" bullet (remove the redundant
second line that references Hermes), and ensure the remaining bullets include
the local model server / Ollama/vLLM/NIM item; optionally move the import
statement for AgentOnly so imports appear before the JSX/MDX usage for
consistency, but that reorder is not required for correctness. Reference:
AgentOnly in SKILL.md and the duplicated "NemoClaw installed" bullets.
In `@skills/nemoclaw-user-manage-sandboxes/references/runtime-controls.md`:
- Line 81: The sentence currently reads "every `nemoclaw` and `nemoclaw`
command" which duplicates the CLI name; edit the line in runtime-controls.md to
reference a single, correct CLI scope by removing the duplicate or replacing the
second backtick-delimited token with the intended CLI name (e.g., change "every
`nemoclaw` and `nemoclaw` command" to either "every `nemoclaw` command" or
"every `nemoclaw` and `OTHER_CLI` command" after confirming the intended CLI),
ensuring the bullet references the correct command name and no duplicate token
remains.
In `@skills/nemoclaw-user-manage-sandboxes/SKILL.md`:
- Line 25: The sentence in SKILL.md duplicates the CLI name "nemoclaw" — update
the Hermes variant guidance so the three CLIs read "nemoclaw, hermes, and
openshell" (replace the second duplicated "nemoclaw" with "hermes") in the CLI
Selection Guide sentence to correctly list the Hermes alias and avoid confusion.
In `@skills/nemoclaw-user-monitor-sandbox/SKILL.md`:
- Line 73: Replace the incorrect command namespace "nemoclaw sandbox exec <name>
-- ls -lh /sandbox/.openclaw/agents/main/sessions" in the SKILL.md snippet with
the consistent "openshell sandbox exec" form used across the repo; locate the
literal snippet "nemoclaw sandbox exec" in SKILL.md and update it to "openshell
sandbox exec <name> -- ls -lh /sandbox/.openclaw/agents/main/sessions" so
examples and troubleshooting remain consistent.
In `@skills/nemoclaw-user-overview/references/ecosystem-hermes.md`:
- Around line 17-19: The Mermaid architecture node labels NC, OS, and HM
currently include emoji (e.g., "🦞 NVIDIA NemoClaw", "🐚 NVIDIA
OpenShell")—remove the emoji characters from those labels so they read plain
text (e.g., "NVIDIA NemoClaw", "NVIDIA OpenShell", "Hermes") and update the NC,
OS, and HM entries accordingly to comply with the no-emoji technical prose rule.
In `@skills/nemoclaw-user-overview/references/overview.md`:
- Line 77: The Hermes-only quickstart line currently tells users to "run your
first Hermes sandbox with `nemoclaw`" which mixes CLI names; update that
sentence to use the Hermes CLI name `nemohermes` instead of `nemoclaw` so it
reads e.g. "Quickstart with Hermes (use the `nemoclaw-user-get-started` skill)
to install NemoClaw and run your first Hermes sandbox with `nemohermes`,"
leaving the skill reference (`nemoclaw-user-get-started`) unchanged.
In `@skills/nemoclaw-user-overview/SKILL.md`:
- Line 3: Update the front-matter trigger keywords in the description field so
every occurrence of the vendor token uses all-caps "NVIDIA" instead of lowercase
"nvidia" (e.g., change "nvidia openshell" and "nvidia nemotron" to "NVIDIA
openshell" and "NVIDIA nemotron"); edit the trigger keywords list in SKILL.md's
description block to replace each lowercase instance with "NVIDIA" to satisfy
the repository guideline.
In `@skills/nemoclaw-user-reference/references/architecture.md`:
- Line 94: Remove the emoji from the diagram node label: locate the SANDBOX node
declaration SANDBOX["Sandbox container 🔒<br/><small>Landlock + seccomp +
netns<br/>Compatible agent + NemoClaw integration</small>"]:::sandbox and change
the visible title to plain technical text (e.g., "Sandbox container") while
keeping the HTML line-breaks and small text unchanged; ensure no other emoji
appear in that node string.
🪄 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: CHILL
Plan: Enterprise
Run ID: 4f55cd18-6c12-4b12-9e9a-db4509021ad6
📒 Files selected for processing (61)
.agents/skills/nemoclaw-user-agent-skills/evals/evals.json.agents/skills/nemoclaw-user-configure-inference/evals/evals.json.agents/skills/nemoclaw-user-configure-security/evals/evals.json.agents/skills/nemoclaw-user-deploy-remote/evals/evals.json.agents/skills/nemoclaw-user-get-started/evals/evals.json.agents/skills/nemoclaw-user-manage-policy/evals/evals.json.agents/skills/nemoclaw-user-manage-sandboxes/evals/evals.json.agents/skills/nemoclaw-user-monitor-sandbox/evals/evals.json.agents/skills/nemoclaw-user-overview/evals/evals.json.agents/skills/nemoclaw-user-reference/evals/evals.jsonskills/nemoclaw-user-agent-skills/SKILL.mdskills/nemoclaw-user-agent-skills/evals/evals.jsonskills/nemoclaw-user-configure-inference/SKILL.mdskills/nemoclaw-user-configure-inference/evals/evals.jsonskills/nemoclaw-user-configure-inference/references/inference-options.mdskills/nemoclaw-user-configure-inference/references/set-up-sub-agent.mdskills/nemoclaw-user-configure-inference/references/switch-inference-providers.mdskills/nemoclaw-user-configure-inference/references/tool-calling-reliability.mdskills/nemoclaw-user-configure-security/SKILL.mdskills/nemoclaw-user-configure-security/evals/evals.jsonskills/nemoclaw-user-configure-security/references/best-practices.mdskills/nemoclaw-user-configure-security/references/credential-storage.mdskills/nemoclaw-user-configure-security/references/openclaw-controls.mdskills/nemoclaw-user-deploy-remote/SKILL.mdskills/nemoclaw-user-deploy-remote/evals/evals.jsonskills/nemoclaw-user-deploy-remote/references/brev-web-ui.mdskills/nemoclaw-user-deploy-remote/references/install-openclaw-plugins.mdskills/nemoclaw-user-deploy-remote/references/sandbox-hardening.mdskills/nemoclaw-user-get-started/SKILL.mdskills/nemoclaw-user-get-started/evals/evals.jsonskills/nemoclaw-user-get-started/references/prerequisites.mdskills/nemoclaw-user-get-started/references/quickstart-hermes.mdskills/nemoclaw-user-get-started/references/windows-preparation.mdskills/nemoclaw-user-manage-policy/SKILL.mdskills/nemoclaw-user-manage-policy/evals/evals.jsonskills/nemoclaw-user-manage-policy/references/approve-network-requests.mdskills/nemoclaw-user-manage-policy/references/integration-policy-examples.mdskills/nemoclaw-user-manage-sandboxes/SKILL.mdskills/nemoclaw-user-manage-sandboxes/evals/evals.jsonskills/nemoclaw-user-manage-sandboxes/references/backup-restore.mdskills/nemoclaw-user-manage-sandboxes/references/install-plugins-hermes.mdskills/nemoclaw-user-manage-sandboxes/references/messaging-channels.mdskills/nemoclaw-user-manage-sandboxes/references/runtime-controls.mdskills/nemoclaw-user-manage-sandboxes/references/workspace-files.mdskills/nemoclaw-user-monitor-sandbox/SKILL.mdskills/nemoclaw-user-monitor-sandbox/evals/evals.jsonskills/nemoclaw-user-overview/SKILL.mdskills/nemoclaw-user-overview/evals/evals.jsonskills/nemoclaw-user-overview/references/ecosystem-hermes.mdskills/nemoclaw-user-overview/references/ecosystem.mdskills/nemoclaw-user-overview/references/how-it-works.mdskills/nemoclaw-user-overview/references/overview.mdskills/nemoclaw-user-overview/references/release-notes.mdskills/nemoclaw-user-reference/SKILL.mdskills/nemoclaw-user-reference/evals/evals.jsonskills/nemoclaw-user-reference/references/architecture.mdskills/nemoclaw-user-reference/references/cli-selection-guide.mdskills/nemoclaw-user-reference/references/commands-nemohermes.mdskills/nemoclaw-user-reference/references/commands.mdskills/nemoclaw-user-reference/references/network-policies.mdskills/nemoclaw-user-reference/references/troubleshooting.md
💤 Files with no reviewable changes (20)
- skills/nemoclaw-user-monitor-sandbox/evals/evals.json
- skills/nemoclaw-user-get-started/evals/evals.json
- .agents/skills/nemoclaw-user-monitor-sandbox/evals/evals.json
- skills/nemoclaw-user-configure-security/evals/evals.json
- skills/nemoclaw-user-configure-inference/evals/evals.json
- .agents/skills/nemoclaw-user-reference/evals/evals.json
- skills/nemoclaw-user-manage-policy/evals/evals.json
- skills/nemoclaw-user-agent-skills/evals/evals.json
- skills/nemoclaw-user-overview/evals/evals.json
- .agents/skills/nemoclaw-user-get-started/evals/evals.json
- .agents/skills/nemoclaw-user-configure-security/evals/evals.json
- .agents/skills/nemoclaw-user-configure-inference/evals/evals.json
- .agents/skills/nemoclaw-user-deploy-remote/evals/evals.json
- .agents/skills/nemoclaw-user-overview/evals/evals.json
- .agents/skills/nemoclaw-user-agent-skills/evals/evals.json
- .agents/skills/nemoclaw-user-manage-sandboxes/evals/evals.json
- skills/nemoclaw-user-reference/evals/evals.json
- skills/nemoclaw-user-manage-sandboxes/evals/evals.json
- skills/nemoclaw-user-deploy-remote/evals/evals.json
- .agents/skills/nemoclaw-user-manage-policy/evals/evals.json
Move detailed setup content into source reference pages so generated skills stay concise. Update skill eval datasets with expected behavior metadata.
|
/nvskills-ci |
|
/nvskills-ci |
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.agents/skills/nemoclaw-user-manage-sandboxes/SKILL.md (1)
1-6:⚠️ Potential issue | 🟠 Major | ⚡ Quick winAdd the required SPDX header to this Markdown file.
This file is missing the mandatory SPDX license header for Markdown sources.
Proposed fix
--- name: "nemoclaw-user-manage-sandboxes" description: "Explains operational tasks after the quickstart: listing sandboxes, status and health checks, logs, diagnostics, port forwards, multiple sandboxes, credential reset, rebuilds, network presets, upgrades, and uninstall. Trigger keywords - manage nemoclaw sandboxes, nemoclaw status, nemoclaw list, nemoclaw dashboard port, nemoclaw rebuild, nemoclaw upgrade sandboxes, nemoclaw uninstall, sandbox mutability, sandbox runtime configuration, sandbox rebuild, nemoclaw backup, nemoclaw restore, workspace backup, openshell sandbox download upload, nemoclaw messaging channels, nemoclaw telegram, nemoclaw discord, nemoclaw slack, nemoclaw wechat, nemoclaw whatsapp, openshell channel messaging, install hermes plugins, hermes plugins nemoclaw, nemoclaw hermes plugins, nemoclaw workspace files, soul.md, user.md, identity.md, agents.md, sandbox persistence." license: "Apache-2.0" --- +<!-- SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. --> +<!-- SPDX-License-Identifier: Apache-2.0 -->As per coding guidelines: all
*.mdfiles must include SPDX headers, using HTML comments for Markdown.🤖 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/nemoclaw-user-manage-sandboxes/SKILL.md around lines 1 - 6, This Markdown is missing the required SPDX header—add an HTML comment SPDX license header at the top of the file containing the license identifier (e.g., <!-- SPDX-License-Identifier: Apache-2.0 -->) so the file beginning with the YAML frontmatter (the name/description/license block in SKILL.md) includes the SPDX header immediately above it; ensure the identifier matches the existing license field ("Apache-2.0") and use HTML comment syntax so it remains a valid Markdown comment.
🤖 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 `@docs/inference/inference-options.mdx`:
- Around line 230-234: The docs text about endpoint probing is inconsistent with
the actual onboarding logic in src/lib/onboard/inference-selection-validation.ts
(the probe/fallback implemented around lines 149-186); update the two paragraphs
in docs/inference/inference-options.mdx (around the current spans 230-234 and
257-269) to match that code path: state that the validator probes /v1/responses
first (and selects it only if it returns the streaming events OpenClaw
requires), then falls back to /v1/chat/completions (unless
NEMOCLAW_PREFERRED_API forces a different preference), and keep the note that
route/config/auth failures fail immediately so the doc and the validation table
reflect the same probe order as implemented.
---
Outside diff comments:
In @.agents/skills/nemoclaw-user-manage-sandboxes/SKILL.md:
- Around line 1-6: This Markdown is missing the required SPDX header—add an HTML
comment SPDX license header at the top of the file containing the license
identifier (e.g., <!-- SPDX-License-Identifier: Apache-2.0 -->) so the file
beginning with the YAML frontmatter (the name/description/license block in
SKILL.md) includes the SPDX header immediately above it; ensure the identifier
matches the existing license field ("Apache-2.0") and use HTML comment syntax so
it remains a valid Markdown comment.
🪄 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: CHILL
Plan: Enterprise
Run ID: f7049d84-ea09-4401-ae72-d1222e834327
📒 Files selected for processing (66)
.agents/skills/nemoclaw-contributor-update-docs/SKILL.md.agents/skills/nemoclaw-user-agent-skills/SKILL.md.agents/skills/nemoclaw-user-agent-skills/evals/evals.json.agents/skills/nemoclaw-user-configure-inference/SKILL.md.agents/skills/nemoclaw-user-configure-inference/evals/evals.json.agents/skills/nemoclaw-user-configure-inference/references/inference-options.md.agents/skills/nemoclaw-user-configure-inference/references/set-up-sub-agent.md.agents/skills/nemoclaw-user-configure-inference/references/switch-inference-providers.md.agents/skills/nemoclaw-user-configure-inference/references/tool-calling-reliability.md.agents/skills/nemoclaw-user-configure-security/SKILL.md.agents/skills/nemoclaw-user-configure-security/evals/evals.json.agents/skills/nemoclaw-user-configure-security/references/best-practices.md.agents/skills/nemoclaw-user-configure-security/references/credential-storage.md.agents/skills/nemoclaw-user-configure-security/references/openclaw-controls.md.agents/skills/nemoclaw-user-deploy-remote/SKILL.md.agents/skills/nemoclaw-user-deploy-remote/evals/evals.json.agents/skills/nemoclaw-user-deploy-remote/references/brev-web-ui.md.agents/skills/nemoclaw-user-deploy-remote/references/install-openclaw-plugins.md.agents/skills/nemoclaw-user-deploy-remote/references/sandbox-hardening.md.agents/skills/nemoclaw-user-get-started/SKILL.md.agents/skills/nemoclaw-user-get-started/evals/evals.json.agents/skills/nemoclaw-user-get-started/references/prerequisites.md.agents/skills/nemoclaw-user-get-started/references/quickstart-hermes.md.agents/skills/nemoclaw-user-get-started/references/windows-preparation.md.agents/skills/nemoclaw-user-manage-policy/SKILL.md.agents/skills/nemoclaw-user-manage-policy/evals/evals.json.agents/skills/nemoclaw-user-manage-policy/references/approve-network-requests.md.agents/skills/nemoclaw-user-manage-policy/references/integration-policy-examples.md.agents/skills/nemoclaw-user-manage-sandboxes/SKILL.md.agents/skills/nemoclaw-user-manage-sandboxes/evals/evals.json.agents/skills/nemoclaw-user-manage-sandboxes/references/backup-restore.md.agents/skills/nemoclaw-user-manage-sandboxes/references/install-plugins-hermes.md.agents/skills/nemoclaw-user-manage-sandboxes/references/messaging-channels.md.agents/skills/nemoclaw-user-manage-sandboxes/references/runtime-controls.md.agents/skills/nemoclaw-user-manage-sandboxes/references/workspace-files.md.agents/skills/nemoclaw-user-monitor-sandbox/SKILL.md.agents/skills/nemoclaw-user-monitor-sandbox/evals/evals.json.agents/skills/nemoclaw-user-overview/SKILL.md.agents/skills/nemoclaw-user-overview/evals/evals.json.agents/skills/nemoclaw-user-overview/references/ecosystem-hermes.md.agents/skills/nemoclaw-user-overview/references/ecosystem.md.agents/skills/nemoclaw-user-overview/references/how-it-works.md.agents/skills/nemoclaw-user-overview/references/overview.md.agents/skills/nemoclaw-user-overview/references/release-notes.md.agents/skills/nemoclaw-user-reference/SKILL.md.agents/skills/nemoclaw-user-reference/evals/evals.json.agents/skills/nemoclaw-user-reference/references/architecture.md.agents/skills/nemoclaw-user-reference/references/cli-selection-guide.md.agents/skills/nemoclaw-user-reference/references/commands-nemohermes.md.agents/skills/nemoclaw-user-reference/references/commands.md.agents/skills/nemoclaw-user-reference/references/network-policies.md.agents/skills/nemoclaw-user-reference/references/troubleshooting.md.pre-commit-config.yamldocs/CONTRIBUTING.mddocs/get-started/quickstart.mdxdocs/inference/inference-options.mdxdocs/inference/use-local-inference.mdxdocs/manage-sandboxes/lifecycle.mdxdocs/reference/commands-nemohermes.mdxdocs/reference/commands.mdxscripts/docs-to-skills.pyscripts/sync-agent-variant-docs.tstest/check-docs-links.test.tstest/e2e/e2e-cloud-experimental/check-docs.shtest/skills-frontmatter.test.tstest/sync-agent-variant-docs.test.ts
💤 Files with no reviewable changes (34)
- .agents/skills/nemoclaw-user-deploy-remote/references/brev-web-ui.md
- .agents/skills/nemoclaw-user-deploy-remote/references/install-openclaw-plugins.md
- .agents/skills/nemoclaw-user-configure-security/references/openclaw-controls.md
- .agents/skills/nemoclaw-user-get-started/references/quickstart-hermes.md
- .agents/skills/nemoclaw-user-overview/references/overview.md
- .agents/skills/nemoclaw-user-manage-policy/SKILL.md
- .agents/skills/nemoclaw-user-manage-sandboxes/references/backup-restore.md
- .agents/skills/nemoclaw-user-reference/references/network-policies.md
- .agents/skills/nemoclaw-user-overview/SKILL.md
- .agents/skills/nemoclaw-user-reference/references/architecture.md
- .agents/skills/nemoclaw-user-overview/references/ecosystem.md
- .agents/skills/nemoclaw-user-overview/references/ecosystem-hermes.md
- .agents/skills/nemoclaw-user-manage-sandboxes/references/install-plugins-hermes.md
- .agents/skills/nemoclaw-user-manage-sandboxes/references/runtime-controls.md
- .agents/skills/nemoclaw-user-get-started/references/prerequisites.md
- .agents/skills/nemoclaw-user-configure-security/references/credential-storage.md
- .agents/skills/nemoclaw-user-manage-policy/references/approve-network-requests.md
- .agents/skills/nemoclaw-user-agent-skills/SKILL.md
- .agents/skills/nemoclaw-user-configure-security/references/best-practices.md
- .agents/skills/nemoclaw-user-configure-inference/references/tool-calling-reliability.md
- .agents/skills/nemoclaw-user-reference/references/cli-selection-guide.md
- .agents/skills/nemoclaw-user-configure-inference/references/set-up-sub-agent.md
- .agents/skills/nemoclaw-user-manage-policy/references/integration-policy-examples.md
- .agents/skills/nemoclaw-user-configure-security/SKILL.md
- .agents/skills/nemoclaw-user-manage-sandboxes/references/workspace-files.md
- .agents/skills/nemoclaw-user-deploy-remote/SKILL.md
- .agents/skills/nemoclaw-user-reference/references/troubleshooting.md
- .agents/skills/nemoclaw-user-deploy-remote/references/sandbox-hardening.md
- .agents/skills/nemoclaw-user-get-started/references/windows-preparation.md
- .agents/skills/nemoclaw-user-overview/references/release-notes.md
- .agents/skills/nemoclaw-user-overview/references/how-it-works.md
- .agents/skills/nemoclaw-user-configure-inference/references/switch-inference-providers.md
- .agents/skills/nemoclaw-user-monitor-sandbox/SKILL.md
- .agents/skills/nemoclaw-user-manage-sandboxes/references/messaging-channels.md
✅ Files skipped from review due to trivial changes (5)
- docs/reference/commands-nemohermes.mdx
- .agents/skills/nemoclaw-contributor-update-docs/SKILL.md
- .agents/skills/nemoclaw-user-reference/SKILL.md
- docs/reference/commands.mdx
- .agents/skills/nemoclaw-user-reference/references/commands.md
🚧 Files skipped from review as they are similar to previous changes (5)
- .agents/skills/nemoclaw-user-monitor-sandbox/evals/evals.json
- .agents/skills/nemoclaw-user-get-started/evals/evals.json
- .agents/skills/nemoclaw-user-overview/evals/evals.json
- .agents/skills/nemoclaw-user-manage-sandboxes/evals/evals.json
- .agents/skills/nemoclaw-user-configure-security/evals/evals.json
| NemoClaw validates the endpoint by sending a test inference request before continuing. | ||
| The wizard probes `/v1/chat/completions` by default for the compatible-endpoint provider. | ||
| If you set `NEMOCLAW_PREFERRED_API=openai-responses`, NemoClaw probes `/v1/responses` instead and only selects it when the response includes the streaming events OpenClaw requires. | ||
| If a reasoning model returns only reasoning content before producing a final answer, NemoClaw retries the smoke request with a larger response budget. | ||
| Route, configuration, and authentication failures still fail immediately. |
There was a problem hiding this comment.
Align the compatible-endpoint probe order with the actual onboarding behavior.
These paragraphs say NemoClaw probes /v1/chat/completions by default and only tries /v1/responses when NEMOCLAW_PREFERRED_API=openai-responses is set, but the Validation table just above still says compatible endpoints try /v1/responses first and fall back to chat completions. The supplied onboarding snippet in src/lib/onboard/inference-selection-validation.ts:149-186 also describes a probe/fallback path. Please make this section match the real probe order so users do not troubleshoot the wrong endpoint behavior.
Also applies to: 257-269
🤖 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 `@docs/inference/inference-options.mdx` around lines 230 - 234, The docs text
about endpoint probing is inconsistent with the actual onboarding logic in
src/lib/onboard/inference-selection-validation.ts (the probe/fallback
implemented around lines 149-186); update the two paragraphs in
docs/inference/inference-options.mdx (around the current spans 230-234 and
257-269) to match that code path: state that the validator probes /v1/responses
first (and selects it only if it returns the streaming events OpenClaw
requires), then falls back to /v1/chat/completions (unless
NEMOCLAW_PREFERRED_API forces a different preference), and keep the note that
route/config/auth failures fail immediately so the doc and the validation table
reflect the same probe order as implemented.
prekshivyas
left a comment
There was a problem hiding this comment.
The docs rebalancing, exclude-from-skills-gen support (_as_bool + _is_excluded_from_skills_gen → continue in scan_docs), and SPDX removal from generated artifacts all look correct. But mirror_generated_skill_outputs is a data-loss footgun that blocks merge.
Blocking — the mirror destroys NVSkills catalog artifacts. The PR makes skills/ a second output dir (canonical command in the script header, docs/CONTRIBUTING.md, and the pre-commit entry) and adds:
def mirror_generated_skill_outputs(output_dirs, skill_names):
primary_root = output_dirs[0] # .agents/skills/
for skill_name in skill_names:
...
if target_dir.exists():
shutil.rmtree(target_dir) # nukes skills/<name>/ wholesale
shutil.copytree(source_dir, target_dir).agents/skills/ and skills/ are not the same shape. On this branch:
.agents/skills/nemoclaw-user-agent-skills/={SKILL.md, evals/}skills/nemoclaw-user-agent-skills/={SKILL.md, evals/, references/, BENCHMARK.md, skill-card.md, skill.oms.sig}
docs-to-skills.py never emits BENCHMARK.md, skill-card.md, or skill.oms.sig (grep is clean), so running the now-documented python3 scripts/docs-to-skills.py docs/ .agents/skills/ skills/ ... would rmtree each skills/<name>/ and copy back only the minimal .agents version — deleting the NVSkills catalog files and the .oms.sig signature. That breaks skill signing.
Two corroborating signs this path was never exercised: the PR diff doesn't touch skills/ at all, and the verification checklist ran the old single-output command (docs/ .agents/skills/), not the new two-output one. So the mirror ships untested against the committed tree.
Recommendation: don't rmtree the target. Sync only the files docs-to-skills.py actually owns (SKILL.md, references/, and the eval dataset) into skills/<name>/, leaving catalog/signature artifacts intact — or drop skills/ as a copytree target and let the NVSkills tooling own that tree. Then regenerate with the new command and commit the resulting skills/ delta so the round-trip is verified in-PR.
Also worth folding in (CodeRabbit): two Major doc-accuracy items — skills/nemoclaw-user-monitor-sandbox/SKILL.md:73 (nemoclaw vs openshell sandbox exec) and docs/inference/inference-options.mdx:234 (compatible-endpoint probe order) — plus several Minor content nits (duplicated CLI name in Hermes guidance, emoji in diagram labels, lowercase nvidia keywords). Those originate in the source docs, so fix-at-source then regenerate.
Happy to re-review once the mirror is non-destructive and the skills/ regen is committed.
|
This PR isn't supposed to push /skills yet. Its scope is to update docs-to-skills and the source skills at .agents/skills. |
|
BENCHMARK.md, skill-card.md, or skill.oms.sig are auto-committed by the NVSkills CI bot. We don't generate them. |
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
scripts/docs-to-skills.py (1)
1897-1902:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winHandle both exclusion aliases without short-circuit ambiguity.
If both frontmatter keys are present, the current
orcan ignore a truthy second key when the first key is an explicit false-ish string/boolean. Evaluate both keys independently and treat exclusion as true if either key resolves true.Suggested fix
def _is_excluded_from_skills_gen(page: DocPage) -> bool: """Return whether a parsed page opted out of skill generation.""" - return _as_bool( - page.frontmatter.get("exclude-from-skills-gen") - or page.frontmatter.get("exclude_from_skills_gen") - ) + return _as_bool(page.frontmatter.get("exclude-from-skills-gen")) or _as_bool( + page.frontmatter.get("exclude_from_skills_gen") + )🤖 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 `@scripts/docs-to-skills.py` around lines 1897 - 1902, The current _is_excluded_from_skills_gen uses a single _as_bool call over an 'or' expression which short-circuits and can mis-evaluate when the first frontmatter key exists but is a false-ish value; instead call _as_bool separately for each alias (page.frontmatter.get("exclude-from-skills-gen") and page.frontmatter.get("exclude_from_skills_gen")) and return the logical or of those two boolean results so either alias evaluating true yields exclusion; update the function _is_excluded_from_skills_gen to apply _as_bool to each key independently.
🤖 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/nemoclaw-contributor-update-docs/SKILL.md:
- Around line 181-182: Update the "Summary of Steps" section to use the exact
same docs-to-skills command shown in this file (python3
scripts/docs-to-skills.py docs/ .agents/skills/ --prefix nemoclaw-user
--doc-platform fern-mdx) so both places reference the single output directory
".agents/skills/" instead of "skills/"; locate the inconsistent instruction in
the "Summary of Steps" text and replace the second output dir with
".agents/skills/" to keep the commands consistent.
---
Outside diff comments:
In `@scripts/docs-to-skills.py`:
- Around line 1897-1902: The current _is_excluded_from_skills_gen uses a single
_as_bool call over an 'or' expression which short-circuits and can mis-evaluate
when the first frontmatter key exists but is a false-ish value; instead call
_as_bool separately for each alias
(page.frontmatter.get("exclude-from-skills-gen") and
page.frontmatter.get("exclude_from_skills_gen")) and return the logical or of
those two boolean results so either alias evaluating true yields exclusion;
update the function _is_excluded_from_skills_gen to apply _as_bool to each key
independently.
🪄 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: CHILL
Plan: Enterprise
Run ID: b172d9ba-1bdd-4975-bb4e-cc2f18f83096
📒 Files selected for processing (2)
.agents/skills/nemoclaw-contributor-update-docs/SKILL.mdscripts/docs-to-skills.py
There was a problem hiding this comment.
Caution
Inline review comments failed to post. This is likely due to GitHub's internal server error or limits when posting large numbers of comments. If you are seeing this consistently it is likely a permissions issue. Please check "Moderation" -> "Code review limits" under your organization settings.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
scripts/docs-to-skills.py (1)
1897-1902:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winHandle both exclusion aliases without short-circuit ambiguity.
If both frontmatter keys are present, the current
orcan ignore a truthy second key when the first key is an explicit false-ish string/boolean. Evaluate both keys independently and treat exclusion as true if either key resolves true.Suggested fix
def _is_excluded_from_skills_gen(page: DocPage) -> bool: """Return whether a parsed page opted out of skill generation.""" - return _as_bool( - page.frontmatter.get("exclude-from-skills-gen") - or page.frontmatter.get("exclude_from_skills_gen") - ) + return _as_bool(page.frontmatter.get("exclude-from-skills-gen")) or _as_bool( + page.frontmatter.get("exclude_from_skills_gen") + )🤖 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 `@scripts/docs-to-skills.py` around lines 1897 - 1902, The current _is_excluded_from_skills_gen uses a single _as_bool call over an 'or' expression which short-circuits and can mis-evaluate when the first frontmatter key exists but is a false-ish value; instead call _as_bool separately for each alias (page.frontmatter.get("exclude-from-skills-gen") and page.frontmatter.get("exclude_from_skills_gen")) and return the logical or of those two boolean results so either alias evaluating true yields exclusion; update the function _is_excluded_from_skills_gen to apply _as_bool to each key independently.
🤖 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/nemoclaw-contributor-update-docs/SKILL.md:
- Around line 181-182: Update the "Summary of Steps" section to use the exact
same docs-to-skills command shown in this file (python3
scripts/docs-to-skills.py docs/ .agents/skills/ --prefix nemoclaw-user
--doc-platform fern-mdx) so both places reference the single output directory
".agents/skills/" instead of "skills/"; locate the inconsistent instruction in
the "Summary of Steps" text and replace the second output dir with
".agents/skills/" to keep the commands consistent.
---
Outside diff comments:
In `@scripts/docs-to-skills.py`:
- Around line 1897-1902: The current _is_excluded_from_skills_gen uses a single
_as_bool call over an 'or' expression which short-circuits and can mis-evaluate
when the first frontmatter key exists but is a false-ish value; instead call
_as_bool separately for each alias
(page.frontmatter.get("exclude-from-skills-gen") and
page.frontmatter.get("exclude_from_skills_gen")) and return the logical or of
those two boolean results so either alias evaluating true yields exclusion;
update the function _is_excluded_from_skills_gen to apply _as_bool to each key
independently.
🪄 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: CHILL
Plan: Enterprise
Run ID: b172d9ba-1bdd-4975-bb4e-cc2f18f83096
📒 Files selected for processing (2)
.agents/skills/nemoclaw-contributor-update-docs/SKILL.mdscripts/docs-to-skills.py
🛑 Comments failed to post (1)
.agents/skills/nemoclaw-contributor-update-docs/SKILL.md (1)
181-182:
⚠️ Potential issue | 🟡 Minor | ⚡ Quick winKeep docs-to-skills command consistent across this skill.
This step now uses a single output dir, but the “Summary of Steps” section still instructs running with
skills/as a second output dir. Please align both sections to the same command to avoid contributor confusion.Based on learnings, maintainer/contributor skills are hand-authored source-of-truth and should be reviewed directly.
🤖 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/nemoclaw-contributor-update-docs/SKILL.md around lines 181 - 182, Update the "Summary of Steps" section to use the exact same docs-to-skills command shown in this file (python3 scripts/docs-to-skills.py docs/ .agents/skills/ --prefix nemoclaw-user --doc-platform fern-mdx) so both places reference the single output directory ".agents/skills/" instead of "skills/"; locate the inconsistent instruction in the "Summary of Steps" text and replace the second output dir with ".agents/skills/" to keep the commands consistent.
Resolve docs/inference/use-local-inference.mdx by keeping this PR's shortened version (detail moved into inference-options), and regenerate the two nemoclaw-user-reference references so they pick up the channels-add --force flag now on main. Co-authored-by: Miyoung Choi <miyoungc@nvidia.com> Signed-off-by: Miyoung Choi <miyoungc@nvidia.com> Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
prekshivyas
left a comment
There was a problem hiding this comment.
Approving. Thanks @miyoungc for reverting the mirror function — that fully resolves my earlier data-loss concern: generate_skill now writes in place per output dir, so skills/<name>/'s BENCHMARK.md, skill-card.md, and skill.oms.sig are preserved.
To save you a round-trip I pushed a small merge commit (b9b10950, co-authored to you) that just gets it green:
- resolved the one conflict in
docs/inference/use-local-inference.mdxby keeping your shortened version (the detail you moved intoinference-options) - regenerated the two
nemoclaw-user-referencereferences so they pick up thechannels add --forceflag that landed on main — only those two files changed;skills/is untouched
Branch is conflict-free now. Please give it a glance to confirm the resolution matches your intent. Nice cleanup overall.
## Summary
- Add the v0.0.59 release notes from the GitHub announcement discussion.
- Refresh local inference and credential-storage guidance for the
current release behavior.
- Regenerate the user skills from the updated Fern docs.
- Tighten release-prep and docs review guidance for generated skills, PR
labels, and shared `$$nemoclaw` command placeholders.
## Verification
- `python3 scripts/docs-to-skills.py docs/ .agents/skills/ --prefix
nemoclaw-user --doc-platform fern-mdx`
- `rg "permissive mode|shields down|shields up|shields status|config
rotate-token|rotate-token" --glob '*.{md,mdx}'`
- `git diff --check`
- `npm run docs` (rerun outside sandbox after sandbox-only `tsx` IPC
permission failure)
- `npm run typecheck:cli`
- Pre-commit hooks during commit passed, including markdownlint,
docs-to-skills verification, gitleaks, commitlint, and skills YAML
tests.
## Source Summary
- #3679, #4437, #4681, #4766, #4772, #4775, #4786 ->
`docs/about/release-notes.mdx`, `docs/reference/commands.mdx`,
`docs/reference/troubleshooting.mdx`: Summarize OpenClaw 2026.5.27
compatibility, runtime path pinning, plugin registry recovery, live
gateway reconciliation, and clearer host-alias/startup diagnostics.
- #4332, #4402, #4769, #4776, #4779 -> `docs/about/release-notes.mdx`,
`docs/inference/inference-options.mdx`,
`docs/inference/use-local-inference.mdx`,
`docs/inference/switch-inference-providers.mdx`: Document the release
inference changes covering Local NIM waits, Hermes Anthropic routing,
Nemotron 3 Ultra, the current Ollama starter fallback, and Spark
managed-vLLM context length.
- #4628, #4652, #4733, #4745 -> `docs/about/release-notes.mdx`,
`docs/security/credential-storage.mdx`,
`docs/manage-sandboxes/messaging-channels.mdx`,
`docs/reference/troubleshooting.mdx`: Capture permission healing,
gateway-stored credential reuse, cross-sandbox messaging credential
conflict checks, and CDI preflight diagnostics.
- #4728, #4737, #4743, #4744, #4782 -> `.agents/skills/nemoclaw-user-*`:
Regenerate the user skill references from the updated source docs.
- Follow-up maintenance ->
`.agents/skills/nemoclaw-contributor-update-docs/SKILL.md`,
`.coderabbit.yaml`: Add release-prep area labels for docs and skills
PRs, and teach docs review guidance that `$$nemoclaw` is the correct
shared command placeholder for examples that work across agent aliases.
Note: the `documentation` label was not present in the repository, so
this PR is labeled with `v0.0.59` only.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Documentation**
* Updated default model for local Ollama inference setup to qwen3.5:9b
* Added Nemotron 3 Ultra 550B as an NVIDIA Endpoints model option
* Clarified credential storage and reuse behavior for post-deployment
(day-two) operations
* Added v0.0.59 release notes covering OpenClaw compatibility, inference
options, Hermes messaging sync, and troubleshooting
* Clarified CLI selection guidance and updated OpenClaw version example
in status output
* Revised release-prep instructions and docs review guidance for CLI
alias usage
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Summary
Improves the NemoClaw user skill generation flow for NVSkills.
This keeps generated
.agents/skills/nemoclaw-user-*skills concise, updates eval datasets to the NVSkills CI schema, and updates the docs-to-skills pipeline to skip pages that opt out of skill generation.Changes
docs/get-started/quickstart.mdxby moving provider-specific onboarding detail into inference docs.docs/inference/use-local-inference.mdxby moving local-compatible provider, vLLM, NIM, API path, and timeout detail intodocs/inference/inference-options.mdx.docs/manage-sandboxes/lifecycle.mdxby moving upgrade and rebuild detail behind backup and command-reference links..agents/skills/nemoclaw-user-*output from the revised docs.ground_truthplusexpected_behavioras a list of strings.exclude-from-skills-gensupport toscripts/docs-to-skills.pyand applied it to the generateddocs/reference/commands-nemohermes.mdxoutput.Type of Change
Verification
npm run docs:sync-agent-variantspython3 scripts/docs-to-skills.py docs/ .agents/skills/ --prefix nemoclaw-user --doc-platform fern-mdxnpm run docsbash test/e2e/e2e-cloud-experimental/check-docs.sh --only-links --local-onlybash test/e2e/e2e-cloud-experimental/features/skill/lib/validate_repo_skills.sh --repo .npm test -- --run test/skills-frontmatter.test.tsnpm test -- --run test/sync-agent-variant-docs.test.tsid,question,expected_skill,ground_truth, andexpected_behavior: string[].nemoclaw-user-*SKILL.mdfiles are under the 5000-token threshold.Notes
Root
skills/output has been reverted from this PR so follow-up per-skill PRs can handle exported skill packages separately.Summary by CodeRabbit
New Features
Documentation