Description
There is no CLI command to deploy a custom skill to a running sandbox. Users who want to add a skill that isn't published on ClawHub must manually SSH into the sandbox, create directories, place the SKILL.md file, fix file ownership, and clear agent sessions. Each of these steps can fail silently or produce confusing errors (wrong ownership, agent not discovering the skill, etc.).
openclaw skills install exists but only works for ClawHub-published skills. openshell sandbox upload handles raw file transfer but has no skill awareness — it doesn't set ownership, validate frontmatter, or trigger agent re-discovery.
Current Workflow
- Get SSH access:
openshell sandbox ssh-config <sandbox> > /tmp/ssh.cfg
- Create the skill directory remotely:
ssh -F /tmp/ssh.cfg openshell-<sandbox> "mkdir -p ~/.openclaw/skills/<name>"
- Upload the file:
cat SKILL.md | ssh -F /tmp/ssh.cfg openshell-<sandbox> "cat > ~/.openclaw/skills/<name>/SKILL.md"
- Fix ownership if uploaded as root:
chown -R sandbox:sandbox ~/.openclaw/skills/<name>
- Clear agent sessions so the skill is discovered:
echo '{}' > ~/.openclaw-data/agents/main/sessions/sessions.json
- Reconnect and hope the agent picks it up
Missing any step (especially 4 or 5) results in the skill silently not appearing.
Proposed Workflow
nemoclaw my-assistant skill install ./my-skill/
Expected behavior:
- Validates that the directory contains a
SKILL.md with valid frontmatter (name: field required)
- Uploads to the correct skill path inside the sandbox
- Sets ownership to the sandbox user
- Triggers agent re-discovery (clear sessions or signal the agent)
- Prints confirmation with the installed skill name and path
✓ Validated SKILL.md (name: my-skill)
✓ Uploaded to sandbox
✓ Skill 'my-skill' installed
Agent-agnostic design
Both OpenClaw and Hermes declare skills in their state_dirs (in agents/<name>/manifest.yaml), each with their own writable_dir. The command should read skill paths from the active agent's manifest rather than hardcoding OpenClaw paths, so it works for any current or future agent type.
Out of scope
Signed-off-by: Senthil Ravichandran senthilr@nvidia.com
Description
There is no CLI command to deploy a custom skill to a running sandbox. Users who want to add a skill that isn't published on ClawHub must manually SSH into the sandbox, create directories, place the
SKILL.mdfile, fix file ownership, and clear agent sessions. Each of these steps can fail silently or produce confusing errors (wrong ownership, agent not discovering the skill, etc.).openclaw skills installexists but only works for ClawHub-published skills.openshell sandbox uploadhandles raw file transfer but has no skill awareness — it doesn't set ownership, validate frontmatter, or trigger agent re-discovery.Current Workflow
openshell sandbox ssh-config <sandbox> > /tmp/ssh.cfgssh -F /tmp/ssh.cfg openshell-<sandbox> "mkdir -p ~/.openclaw/skills/<name>"cat SKILL.md | ssh -F /tmp/ssh.cfg openshell-<sandbox> "cat > ~/.openclaw/skills/<name>/SKILL.md"chown -R sandbox:sandbox ~/.openclaw/skills/<name>echo '{}' > ~/.openclaw-data/agents/main/sessions/sessions.jsonMissing any step (especially 4 or 5) results in the skill silently not appearing.
Proposed Workflow
Expected behavior:
SKILL.mdwith valid frontmatter (name:field required)Agent-agnostic design
Both OpenClaw and Hermes declare
skillsin theirstate_dirs(inagents/<name>/manifest.yaml), each with their ownwritable_dir. The command should read skill paths from the active agent's manifest rather than hardcoding OpenClaw paths, so it works for any current or future agent type.Out of scope
openclaw skills installalready handles that)nemoclaw policy add <preset>command for incremental policy management #1534)Signed-off-by: Senthil Ravichandran senthilr@nvidia.com