Skip to content
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 19 additions & 3 deletions .agents/skills/nemoclaw-manage-policy/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,13 +114,14 @@ Dynamic changes apply a policy update to a running sandbox without restarting it

Create a YAML file with the endpoints to add.
Follow the same format as the baseline policy in `nemoclaw-blueprint/policies/openclaw-sandbox.yaml`.
The file must include the mandatory `version` field (e.g., `version: 1`) to be accepted by the OpenShell parser.

### Apply the Policy

Use the OpenShell CLI to apply the policy update:

```console
$ openshell policy set <policy-file>
$ openshell policy set --policy <policy-file> <name>
```

The change takes effect immediately.
Expand Down Expand Up @@ -150,14 +151,29 @@ Available presets:
| `slack` | Slack API and webhooks |
| `telegram` | Telegram Bot API |

To apply a preset to a running sandbox, pass it as a policy file:
To apply a preset to a running sandbox:

```console
$ openshell policy set nemoclaw-blueprint/policies/presets/pypi.yaml
$ nemoclaw <name> policy-add <preset>
```

For example, to add PyPI access to a running sandbox:

```console
$ nemoclaw my-assistant policy-add pypi
```

To list which presets are applied to a sandbox:

```console
$ nemoclaw <name> policy-list
```

To include a preset in the baseline, merge its entries into `openclaw-sandbox.yaml` and re-run `nemoclaw onboard`.

> **Note:** The `openshell policy set --policy <file> <name>` command operates on raw policy files and does not accept the `preset:` metadata block used in preset YAML files.
> Use `nemoclaw <name> policy-add` for presets.

## Related Skills

- `nemoclaw-reference` — Network Policies for the full baseline policy reference
Expand Down
24 changes: 21 additions & 3 deletions docs/network-policy/customize-network-policy.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,13 +75,14 @@ Dynamic changes apply a policy update to a running sandbox without restarting it

Create a YAML file with the endpoints to add.
Follow the same format as the baseline policy in `nemoclaw-blueprint/policies/openclaw-sandbox.yaml`.
The file must include the mandatory `version` field (e.g., `version: 1`) to be accepted by the OpenShell parser.

### Apply the Policy

Use the OpenShell CLI to apply the policy update:

```console
$ openshell policy set <policy-file>
$ openshell policy set --policy <policy-file> <name>
```

The change takes effect immediately.
Expand Down Expand Up @@ -111,14 +112,31 @@ Available presets:
| `slack` | Slack API and webhooks |
| `telegram` | Telegram Bot API |

To apply a preset to a running sandbox, pass it as a policy file:
To apply a preset to a running sandbox:

```console
$ openshell policy set nemoclaw-blueprint/policies/presets/pypi.yaml
$ nemoclaw <name> policy-add <preset>
```

For example, to add PyPI access to a running sandbox:

```console
$ nemoclaw my-assistant policy-add pypi
```
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

policy-add syntax is documented with an unsupported positional argument.

The docs state nemoclaw <name> policy-add <preset>, but the CLI implementation for policy-add is interactive and does not consume <preset> as an argument (bin/nemoclaw.js:651-684, bin/nemoclaw.js:762-815). This can mislead users into thinking non-interactive preset selection is supported.

Suggested doc fix
-$ nemoclaw <name> policy-add <preset>
+$ nemoclaw <name> policy-add
-For example, to add PyPI access to a running sandbox:
+For example, to add PyPI access to a running sandbox, run the command and select `pypi` at the prompt:
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/network-policy/customize-network-policy.md` around lines 118 - 125, The
documented `policy-add` usage incorrectly shows a positional `<preset>`
argument; update the example and syntax to reflect the actual interactive CLI
behavior by changing `nemoclaw <name> policy-add <preset>` to `nemoclaw <name>
policy-add` and add a short note that preset selection is interactive (as
implemented in the policy-add command in bin/nemoclaw.js and its interactive
prompt handlers). If non-interactive preset selection is later added, update the
docs to document the new flag or argument and an example invocation; for now
remove the misleading positional argument and keep the example showing `nemoclaw
my-assistant policy-add` as an interactive command.


To list which presets are applied to a sandbox:

```console
$ nemoclaw <name> policy-list
```

To include a preset in the baseline, merge its entries into `openclaw-sandbox.yaml` and re-run `nemoclaw onboard`.

:::{note}
The `openshell policy set --policy <file> <name>` command operates on raw policy files and does not accept the `preset:` metadata block used in preset YAML files.
Use `nemoclaw <name> policy-add` for presets.
:::

## Related Topics

- [Approve or Deny Agent Network Requests](approve-network-requests.md) for real-time operator approval.
Expand Down