Skip to content

extraDirs 中的自定义 Skill 不被加载

问题

openclaw.json 中配置 skills.load.extraDirs 指定自定义 Skill 目录后,Agent 仍只加载内置的捆绑 Skill,workspaceextraDirs 路径下的自定义 SKILL.md 文件无法被注册和使用。

CLI 执行 openclaw skills list 能看到文件,但 systemPromptReport.skills.entries 中不包含自定义 Skill,系统提示中也没有对应的可用 Skill XML 列表。

复现环境:Ubuntu 24.04 Docker、Arch Linux、macOS。自 v2026.2.3-1 起出现,至 v2026.3.1 仍有报告。

解决方案

方法 1:重启 Gateway(最简单)

部分用户反映重启 Gateway 后 extraDirs 中的 Skill 正常加载:

bash
openclaw gateway restart

方法 2:确认 Gateway 实际使用的 workspace 路径

extraDirs 中的 Skill 未加载,最常见原因是"配置的路径不是 Gateway 实际扫描的 workspace"。依次检查:

bash
# 查看 Gateway 当前使用的配置文件路径
openclaw config file

# 确认 workspace 路径
openclaw config get agents.defaults.workspace

# 确认 extraDirs 配置
openclaw config get skills.load.extraDirs

确认后,将 Skill 放到实际的 workspace/skills 目录下:

bash
# 假设 workspace 是 ~/.openclaw/workspace
mkdir -p ~/.openclaw/workspace/skills/my-skill
# 将 SKILL.md 放到该目录
cp SKILL.md ~/.openclaw/workspace/skills/my-skill/

openclaw gateway restart

方法 3:通过 AGENTS.md 绕过(紧急临时方案)

在 workspace 根目录的 AGENTS.md 中手动告知 Agent Skill 的位置,因为 AGENTS.md 即使在可用 Skill 列表不完整时也会被注入:

markdown
当你需要使用 blog-publishing skill 时,请直接读取以下文件并按其指示操作:
~/.openclaw/workspace/skills/blog-publishing/SKILL.md

方法 4:开放文件读取权限

bash
openclaw config set tools.profile full
openclaw gateway restart

版本说明:v2026.3.13+ 的多数用户反映该问题已修复,建议升级到最新版本后重试。