Skip to content

[Bug]: skill_dir returned from skill_view tool is incorrect when sandboxed #27491

@MexHigh

Description

@MexHigh

Bug Description

I use a Nextcloud skill that includes a bundled node script for interacting with the Nextcloud instance. The skill_view tool returns a skill_dir field which includes the base path of the skill, where the SKILL.md resides.

However, this path is only valid if no sandboxing is active. It always returns /opt/data/skills instead of where the skills are actually mounted read only inside the docker sandbox (/root/.hermes/skills) which confuses the agent and lets him fail his action.

Steps to Reproduce

  1. Send message "Show me my todays calendar events using the nextcloud skill"
  2. Agent cannot find bundles scripts, where the Skill.md refers to
  3. Skill fails

Expected Behavior

The agent searches for the script in skill_dir which points to /root/.hermes/skills/nextcloud.

Actual Behavior

The agent searches for the script in skill_dir which points to /opt/data/skills/nextcloud, which does not exist in the sandbox.

Sometimes, the agents gets that the path does not exist and cannot find the bundled script and sometimes it searches for it and eventually finds it. But is is absolutely not reliable and confusing for the model.

Affected Component

Skills (skill loading, skill hub, skill guard)

Messaging Platform (if gateway-related)

No response

Debug Report

Won't share, as it contains too much information about internal infrastructure. I've read the logs and there is nothing of information in it.

This is the first part of the report:


--- hermes dump ---
version:          0.13.0 (2026.5.7) [(unknown)]
os:               Linux 6.8.0-100-generic x86_64
python:           3.13.5
openai_sdk:       2.33.0
profile:          default
hermes_home:      ~/.
model:            kimi-k2.6
provider:         ollama-cloud
terminal:         docker

api_keys:
  openrouter           not set
  openai               not set
  anthropic            not set
  anthropic_token      not set
  nous                 not set
  google/gemini        not set
  gemini               not set
  glm/zai              not set
  zai                  not set
  kimi                 not set
  minimax              not set
  deepseek             not set
  dashscope            not set
  huggingface          not set
  nvidia               not set
  ai_gateway           not set
  opencode_zen         not set
  opencode_go          not set
  kilocode             not set
  firecrawl            set
  tavily               not set
  browserbase          not set
  fal                  not set
  elevenlabs           not set
  github               not set

features:
  toolsets:           hermes-cli
  mcp_servers:        0
  memory_provider:    built-in
  gateway:            stopped (docker (foreground))
  platforms:          none
  cron_jobs:          2 active / 2 total
  skills:             96

config_overrides:
  agent.max_turns: 150
  terminal.backend: docker
  compression.threshold: 0.9
  display.streaming: True
--- end dump ---

Operating System

Ubuntu 24.04 (Gateway in Docker, Sandbox is Podman-in-Docker)

Python Version

3.13.5

Hermes Version

0.14.0

Additional Logs / Traceback (optional)

Root Cause Analysis (optional)

No response

Proposed Fix (optional)

No response

Are you willing to submit a PR for this?

  • I'd like to fix this myself and submit a PR

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Medium — degraded but workaround existsbackend/dockerDocker container executiontool/skillsSkills system (list, view, manage)type/bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions