docs(skills): improve docs to skills conversion to take in priority, and refresh skills#2793
Conversation
📝 WalkthroughWalkthroughThis pull request reorganizes NemoClaw skill documentation by breaking large guides into focused reference documents, introduces a skill prioritization system for determining primary guides, and updates multiple skill sections to reflect new onboarding behaviors, security practices, and deployment workflows. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Review rate limit: 9/10 reviews remaining, refill in 6 minutes. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@scripts/docs-to-skills.py`:
- Around line 289-294: When fm.get("skill") yields a dict but that dict lacks a
"priority", the current branch passes only skill.get("priority") into
_parse_skill_priority which yields the default 100 and loses any legacy
fm["skill_priority"]; update the logic around skill (the variables skill and
page.skill_priority and the call to _parse_skill_priority) so that when skill is
a dict you pass skill.get("priority") if present, otherwise fall back to
fm.get("skill_priority") (e.g., compute priority_value = skill.get("priority")
if skill.get("priority") is not None else fm.get("skill_priority") and call
_parse_skill_priority(priority_value, path)).
🪄 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: 069208e8-96ce-452d-9fdf-06cba7b42114
📒 Files selected for processing (23)
.agents/skills/nemoclaw-user-configure-inference/SKILL.md.agents/skills/nemoclaw-user-configure-inference/references/inference-options.md.agents/skills/nemoclaw-user-configure-inference/references/switch-inference-providers.md.agents/skills/nemoclaw-user-configure-inference/references/use-local-inference.md.agents/skills/nemoclaw-user-configure-security/references/best-practices.md.agents/skills/nemoclaw-user-configure-security/references/credential-storage.md.agents/skills/nemoclaw-user-deploy-remote/SKILL.md.agents/skills/nemoclaw-user-deploy-remote/references/install-openclaw-plugins.md.agents/skills/nemoclaw-user-deploy-remote/references/set-up-telegram-bridge.md.agents/skills/nemoclaw-user-get-started/SKILL.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/references/customize-network-policy.md.agents/skills/nemoclaw-user-reference/references/architecture.md.agents/skills/nemoclaw-user-reference/references/commands.md.agents/skills/nemoclaw-user-reference/references/troubleshooting.md.agents/skills/nemoclaw-user-workspace/SKILL.md.agents/skills/nemoclaw-user-workspace/references/workspace-files.mddocs/CONTRIBUTING.mddocs/get-started/quickstart-hermes.mddocs/get-started/quickstart.mdscripts/docs-to-skills.py
| skill = fm.get("skill", {}) | ||
| if isinstance(skill, dict): | ||
| page.skill_priority = _parse_skill_priority(skill.get("priority"), path) | ||
| else: | ||
| page.skill_priority = _parse_skill_priority(fm.get("skill_priority"), path) | ||
|
|
There was a problem hiding this comment.
Preserve legacy skill_priority when skill.priority is absent.
Line 290–Line 293 currently default to 100 whenever skill is a dict without priority, which drops a valid legacy skill_priority and can pick the wrong lead procedure.
Suggested fix
- skill = fm.get("skill", {})
- if isinstance(skill, dict):
- page.skill_priority = _parse_skill_priority(skill.get("priority"), path)
- else:
- page.skill_priority = _parse_skill_priority(fm.get("skill_priority"), path)
+ skill = fm.get("skill")
+ if isinstance(skill, dict) and "priority" in skill:
+ raw_priority = skill.get("priority")
+ else:
+ raw_priority = fm.get("skill_priority")
+ page.skill_priority = _parse_skill_priority(raw_priority, path)🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@scripts/docs-to-skills.py` around lines 289 - 294, When fm.get("skill")
yields a dict but that dict lacks a "priority", the current branch passes only
skill.get("priority") into _parse_skill_priority which yields the default 100
and loses any legacy fm["skill_priority"]; update the logic around skill (the
variables skill and page.skill_priority and the call to _parse_skill_priority)
so that when skill is a dict you pass skill.get("priority") if present,
otherwise fall back to fm.get("skill_priority") (e.g., compute priority_value =
skill.get("priority") if skill.get("priority") is not None else
fm.get("skill_priority") and call _parse_skill_priority(priority_value, path)).
Summary
Adds
skill.priorityto docs frontmatter so the docs-to-skills converter can choose the intended lead procedure page for each generated skill. Refreshes the generated user skills so primary how-to pages stay inSKILL.mdand secondary how-to pages move intoreferences/.Related Issue
None.
Changes
scripts/docs-to-skills.pyto parseskill.priority, default missing values to100, and select the lowest-priority procedure page as the generatedSKILL.mdlead.skill.priorityindocs/CONTRIBUTING.mdand explained that smaller numbers have higher priority.nemoclaw-user-get-started/SKILL.mdleads with OpenClaw and folds Hermes intoreferences/quickstart-hermes.md.nemoclaw-user-*skills and references from the updated docs.Type of Change
Verification
npx prek run --all-filespassesnpm testpassesmake docsbuilds without warnings (doc changes only)Additional checks run:
python3 -m py_compile scripts/docs-to-skills.pypython3 scripts/docs-to-skills.py docs/ .agents/skills/ --prefix nemoclaw-user --dry-runAI Disclosure
Signed-off-by: Miyoung Choi miyoungc@nvidia.com
Summary by CodeRabbit