adr 0006 skills permission split - Alshival-Ai/neural-labs GitHub Wiki

ADR 0006: Split Skills reads from administrator mutations

Design history: for current instructions, see Skills and graphical builder. See the decision index for amendments and related records.

  • Status: Superseded for first-party authoring by ADR 0011; retained for OpenClaw administration
  • Date: 2026-09-01

Context

The Neural Labs Skills desktop app needs to expose OpenClaw's effective skill catalog, Skill Workshop, and ClawHub. Catalog, proposal, and registry reads require operator.read. Enabling skills, installing third-party instructions, scanning history, and changing proposal lifecycle state require operator.admin.

All approved developers should be able to understand and invoke the main agent's skills. Granting every browser operator.admin would also authorize unrelated OpenClaw administration and would collapse the account-role trust boundary established for the desktop.

Decision

Use the ordinary authenticated Alshival Gateway connection for Skills read methods. Its scope ceiling remains unchanged.

Use the administrator ingress accepted in ADR 0005 for Skills mutations. The route's /workspace/automations/socket name is historical; its actual security contract is an active control-plane administrator check followed by a fixed trusted-proxy identity capped at operator.read,operator.admin. Do not derive or persist admin scope from client-side session state.

Keep the Skills launcher visible to regular users, but render mutation controls view-only unless the administrator connection is live. Treat that rendering as a usability rule only. Nginx and OpenClaw method scopes remain authoritative.

Bind apply and reject decisions to a newly inspected proposal revision hash. Keep ClawHub installation scoped to the shared main-agent workspace because the current Gateway install schema does not expose the CLI's global target.

Consequences

  • Developers can inspect and invoke the shared agent's real skill catalog.
  • Only active Neural Labs administrators can enable, install, propose, evaluate, apply, reject, quarantine, or history-scan through the desktop.
  • Third-party skill installation crosses an instruction supply-chain boundary, but OpenClaw's trust-envelope and install-policy checks remain authoritative.
  • Skills and Automations currently share one admin WebSocket and fixed service identity. A future path rename may improve naming, but must preserve the same server-side authorization and scope ceiling.
  • The existing public ingress set and host Nginx configuration do not change.