Skip to content
Open
Show file tree
Hide file tree
Changes from all 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
2 changes: 1 addition & 1 deletion .agents/skills/generate-sandbox-policy/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -443,7 +443,7 @@ The policy needs to go somewhere. Determine which mode applies:

3. **Apply the change**:
- **Adding a new policy**: Insert the new policy block under `network_policies`, maintaining the file's existing indentation and style.
- **Modifying an existing policy**: Edit the specific policy in place — add/remove endpoints, change access presets, update rules, add binaries, etc.
- **Modifying an existing policy**: Edit the specific policy in place — add/remove endpoints, change access presets, update rules, add binaries, etc. A rule authorizes every binary it lists to reach every endpoint and port it lists, so adding one binary grants it all of that rule's endpoints, and adding one endpoint grants it to all of that rule's binaries. State the resulting pairs to the user before writing them. When the user wants a binary to reach only part of a rule's endpoints, put that binary and those endpoints in a separate rule instead of extending the existing one. An empty `binaries` list means any binary, so leaving it off widens the rule to every process.
- **Removing a policy**: Delete the policy block if the user asks.

4. **Preserve everything else**: Do not modify `filesystem_policy`, `landlock`, `process`, or other policies unless the user explicitly asks.
Expand Down
17 changes: 16 additions & 1 deletion .agents/skills/openshell-cli/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -483,7 +483,22 @@ When denied actions appear:
1. Prefer incremental updates for additive network changes:
`openshell policy update work-session --add-endpoint api.github.com:443:read-only:rest:enforce --binary /usr/bin/gh --wait`
`openshell policy update work-session --add-allow 'api.github.com:443:POST:/repos/*/issues' --wait`
2. Use full YAML replacement for broad changes or non-network fields:

A rule authorizes every binary it lists to reach every endpoint it lists, so
an update that adds a binary or an endpoint to an existing rule must declare
that rule's whole binary and endpoint scope. The gateway rejects an update
that would grant a binary-to-endpoint pair the update never asked for, and
the error names the binaries still missing. To grant one binary access to
only part of a rule's endpoints, send the narrow authorization under its own
`--rule-name`; it stays on its own rule instead of folding into the broader
one.

`--add-allow` and `--add-deny` select an endpoint by host and port alone. If
that host and port appears in more than one rule, or twice in one rule under
different paths, the update is rejected as ambiguous. Fall back to full YAML
replacement for those endpoints.
2. Use full YAML replacement for broad changes or non-network fields, including
any change that would otherwise require restating a large existing scope:
`openshell policy get work-session --full > policy.yaml`
Modify the policy with the `generate-sandbox-policy` skill.
`openshell policy set work-session --policy policy.yaml --wait`
Expand Down
Loading
Loading