Agent skill
nemoclaw-contributor-update-docs
Scan recent git commits for changes that affect user-facing behavior, then draft or update the corresponding documentation pages. Use when docs have fallen behind code changes, after a batch of features lands, or when preparing a release. Trigger keywords - update docs, draft docs, docs from commits, sync docs, catch up docs, doc debt, docs behind, docs drift.
Install this agent skill to your Project
npx add-skill https://github.com/NVIDIA/NemoClaw/tree/main/.agents/skills/nemoclaw-contributor-update-docs
SKILL.md
Update Docs from Commits
Scan recent git history for commits that affect user-facing behavior and draft documentation updates for each.
Prerequisites
- You must be in the NemoClaw git repository (
NemoClaw). - The
docs/directory must exist with the current doc set.
When to Use
- After a batch of features or fixes has landed and docs may be stale.
- Before a release, to catch any doc gaps.
- When a contributor asks "what docs need updating?"
Step 0: Load the Skip List
Before scanning commits, read docs/.docs-skip if it exists. This file lists features and commits that are merged but should not be documented yet (experimental, under review, etc.).
cat docs/.docs-skip
Parse these sections from the file:
skip-features:— substring patterns matched against commit messages and changed file paths. Any commit whose message or file list contains a listed string is excluded.skip-terms:— terms that must never appear in generated documentation. Check all drafted content against this list before writing. If a drafted sentence contains a skip-term, remove that sentence or the entire section. This is a hard gate — no skip-term may appear in any doc output.
Ignore comment lines (starting with #) and inline comments (everything after #).
Keep the loaded skip list in memory for use throughout the skill execution and the whole documentation process.
Step 1: Identify Relevant Commits
Determine the commit range. The user may provide one explicitly (e.g., "since v0.1.0" or "last 30 commits"). If not, default to commits since the head of the main branch.
# Commits since a tag
git log v0.1.0..HEAD --oneline --no-merges
# Or last 50 commits
git log -50 --oneline --no-merges
Filter to commits that are likely to affect docs. Apply every rule below before proceeding. A commit excluded by any rule must not produce doc changes.
- Commit type:
feat,fix,refactor,perfcommits often change behavior.docscommits are already doc changes.chore,ci,testcommits rarely need doc updates. - Files changed: Changes to
nemoclaw/src/,nemoclaw-blueprint/,bin/,scripts/, or policy-related code are high-signal. - Ignore: Changes limited to
test/,.github/, or internal-only modules. - Skip list: Exclude any commit whose short hash appears in
skip-commits, or whose commit message or changed file paths contain askip-featuressubstring. Report skipped commits in the final summary under a "Skipped (docs-skip)" heading. - Agent support matrix: Do not document agent support (e.g., Claude Code, OpenHands, Goose) unless the agent is listed in the tested agent support matrix in the quickstart or platform docs. Commits that add or modify agent integration code should only produce doc updates for agents already in the matrix. Report excluded agents under "Skipped (not in agent matrix)" in the summary.
# Show files changed per commit to assess impact
git log v0.1.0..HEAD --oneline --no-merges --name-only
Step 2: Map Commits to Doc Pages
For each relevant commit, determine which doc page(s) it affects. Use this mapping as a starting point:
| Code area | Likely doc page(s) |
|---|---|
nemoclaw/src/commands/ (launch, connect, status, logs) |
docs/reference/commands.md |
nemoclaw/src/commands/ (new command) |
May need a new page or entry in docs/reference/commands.md |
nemoclaw/src/blueprint/ |
docs/about/architecture.md |
nemoclaw/src/cli.ts or nemoclaw/src/index.ts |
docs/reference/commands.md, docs/get-started/quickstart.md |
nemoclaw-blueprint/orchestrator/ |
docs/about/architecture.md |
nemoclaw-blueprint/policies/ |
docs/reference/network-policies.md |
nemoclaw-blueprint/blueprint.yaml |
docs/about/architecture.md, docs/reference/inference-profiles.md |
scripts/ (setup, start) |
docs/get-started/quickstart.md |
Dockerfile |
docs/about/architecture.md |
| Inference-related changes | docs/reference/inference-profiles.md |
If a commit does not map to any existing page but introduces a user-visible concept, flag it as needing a new page.
Step 3: Read the Commit Details
For each commit that needs a doc update, read the full diff to understand the change:
git show <commit-hash> --stat
git show <commit-hash>
Extract:
- What changed (new flag, renamed command, changed default, new feature).
- Why it changed (from the commit message body, linked issue, or PR description).
- Any breaking changes or migration steps.
Step 4: Read the Current Doc Page
Before editing, read the full target doc page to understand its current content and structure.
Identify where the new content should go. Follow the page's existing structure.
Step 5: Draft the Update
Before writing, verify that the commit was not excluded in Step 1. Do not draft content for commits matched by the skip list or for agent integrations not in the tested agent support matrix. After drafting, scan the content for any skip-terms from docs/.docs-skip. Remove any sentence or section that contains a skip-term. If in doubt, skip the commit and report it.
Write the doc update following these conventions:
- Active voice, present tense, second person.
- No unnecessary bold. Reserve bold for UI labels and parameter names.
- No em dashes unless used sparingly. Prefer commas or separate sentences.
- Start sections with an introductory sentence that orients the reader.
- No superlatives. Say what the feature does, not how great it is.
- Code examples use
consolelanguage with$prompt prefix. - Include the SPDX header if creating a new page.
- Match existing frontmatter format if creating a new page.
- Always write NVIDIA in all caps. Wrong: Nvidia, nvidia.
- Always capitalize NemoClaw correctly. Wrong: nemoclaw (in prose), Nemoclaw.
- Always capitalize OpenShell correctly. Wrong: openshell (in prose), Openshell, openShell.
- Do not number section titles. Wrong: "Section 1: Configure Inference" or "Step 3: Verify." Use plain descriptive titles.
- No colons in titles. Wrong: "Inference: Cloud and Local." Write "Cloud and Local Inference" instead.
- Use colons only to introduce a list. Do not use colons as general-purpose punctuation between clauses.
When updating an existing page:
- Add content in the logical place within the existing structure.
- Do not reorganize sections unless the change requires it.
- Update any cross-references or "Next Steps" links if relevant.
When creating a new page:
- Follow the frontmatter template from existing pages in
docs/. - Add the page to the appropriate
toctreeindocs/index.md.
Step 6: Present the Results
After drafting all updates, present a summary to the user:
## Doc Updates from Commits
### Updated pages
- `docs/reference/commands.md`: Added `eject` command documentation (from commit abc1234).
- `docs/reference/network-policies.md`: Updated policy schema for new egress rule (from commit def5678).
### New pages needed
- None (or list any new pages created).
### Skipped (docs-skip)
- `feat(sandbox): add experimental-flag` (abc1234) — matched skip-features: "experimental-flag".
### Commits with no doc impact
- `chore(deps): bump typescript` (abc1234) — internal dependency, no user-facing change.
- `test: add launch command test` (def5678) — test-only change.
Step 7: Build and Verify
After making changes, build the docs locally:
make docs
Check for:
- Build warnings or errors.
- Broken cross-references.
- Correct rendering of new content.
Tips
- When in doubt about whether a commit needs a doc update, check if the commit message references a CLI flag, config option, or user-visible behavior.
- Group related commits that touch the same doc page into a single update rather than making multiple small edits.
- If a commit is a breaking change, add a note at the top of the relevant section using a
:::{warning}admonition. - PRs that are purely internal refactors with no behavior change do not need doc updates, even if they touch high-signal directories.
- To suppress documentation for a merged feature that is not ready for public docs, add it to
docs/.docs-skip. Remove the entry once the feature is ready to document.
Example Usage
User says: "Catch up the docs for everything merged since v0.1.0."
- Run
git log v0.1.0..HEAD --oneline --no-merges --name-only. - Filter to
feat,fix,refactor,perfcommits touching user-facing code. - Map each to a doc page.
- Read the commit diffs and current doc pages.
- Draft updates following the style guide.
- Present the summary.
- Build with
make docsto verify.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
nemoclaw-user-skills-coding
Describes the agent skills shipped with NemoClaw and how to access them by cloning the repository. Use when users ask about AI agent support, coding assistant integration, or the .agents/skills/ directory.
nemoclaw-user-configure-inference
Lists all inference providers offered during NemoClaw onboarding. Use when explaining which providers are available, what the onboard wizard presents, or how inference routing works. Changes the active inference model without restarting the sandbox. Use when switching inference providers, changing the model runtime, or reconfiguring inference routing. Connects NemoClaw to a local inference server. Use when setting up Ollama, vLLM, TensorRT-LLM, NIM, or any OpenAI-compatible local model server with NemoClaw.
nemoclaw-maintainer-day
Runs the daytime maintainer loop for NemoClaw, prioritizing items labeled with the current version target. Picks the highest-value item, executes the right workflow (merge gate, salvage, security sweep, test gaps, hotspot cooling, or sequencing), and reports progress. Use during the workday to land PRs and close issues. Designed for /loop (e.g. /loop 10m /nemoclaw-maintainer-day). Trigger keywords - maintainer day, work on PRs, land PRs, make progress, what's next, keep going, maintainer loop.
nemoclaw-user-manage-policy
Reviews and approves blocked agent network requests in the TUI. Use when approving or denying sandbox egress requests, managing blocked network calls, or using the approval TUI. Adds, removes, or modifies allowed endpoints in the sandbox policy. Use when customizing network policy, changing egress rules, or configuring sandbox endpoint access.
nemoclaw-user-overview
Explains how OpenClaw, OpenShell, and NemoClaw form the ecosystem, NemoClaw's position in the stack, what NemoClaw adds beyond the community sandbox, and when to prefer NemoClaw versus integrating OpenShell and OpenClaw directly. Use when users ask about the relationship between OpenClaw, OpenShell, and NemoClaw, or when to use NemoClaw versus OpenShell. Describes how NemoClaw works internally: CLI, plugin, blueprint runner, OpenShell orchestration, inference routing, and protection layers. Use for sandbox lifecycle and architecture mechanics; not for product definition (Overview) or multi-project placement (Ecosystem). Explains what NemoClaw covers: onboarding, lifecycle management, and management of OpenClaw within OpenShell containers, plus capabilities and why it exists. Use when users ask what NemoClaw is or what the project provides. For ecosystem placement or OpenShell-only paths, use the Ecosystem page; for internal mechanics, use How It Works. Lists changelogs and feature history for NemoClaw rel...
nemoclaw-maintainer-find-review-pr
Finds open GitHub PRs with security and priority-high labels, links each to its issue, detects duplicates (multiple PRs fixing the same issue), and presents a table of review candidates. Use when looking for the next PR to review. Trigger keywords - find pr, find review, next pr, pr to review, duplicate pr, security pr.
Didn't find tool you were looking for?