Skip to content

多OpenClaw智能体共享SKILL库:四轮探索+Junction方案完整实录

2026年4月26日

多OpenClaw智能体共享SKILL库:四轮探索+Junction方案完整实录

原生不支持跨智能体共享,需要手动干预。Junction是最干净最省事的方案。

背景

机器上同时跑两个OpenClaw系智能体:

  • OpenClaw:C:\Users\Administrator\openclaw\
  • Claude Code:C:\Users\Administrator\claude\

两边各有skills目录,积累大量重复和分散的Skill,维护成本越来越高。

问题:很多技能记不得在哪个智能体上安装,如果再加上爱玛仕、WorkBuddy更无法管理。

目标:让它们共享同一份SKILL库。


第一轮探索:Skill能不能共用?

智能体Skills路径数量
OpenClawC:\Users\Administrator\openclaw\skills\~37个
Claude CodeC:\Users\Administrator\claude\skills\~20个

发现

  • Claude Code读的是~/.claude/skills/
  • OpenClaw读的是~/.openclaw/skills/
  • 路径完全不同,互不相通

结论:原生不支持跨智能体共享,需要手动干预。


第二轮探索:能不能合并到同一个目录?

问题一:同名Skill内容不同

Claude Code版本

yaml
---
name: github
description: "Interact with GitHub using the `gh` CLI..."
---

OpenClaw版本

yaml
---
name: github
description: "Interact with GitHub using the `gh` CLI..."
description_zh: "管理 GitHub Issues、PR 和 CI"
description_en: "Manage GitHub issues, PRs, and CI runs"
version: 1.0.0
---

OpenClaw版多了description_zhdescription_enversion字段。物理合并只能保留一份,会丢失元数据。

问题二:SKILL.md格式不完全兼容

多余字段通常被静默忽略,但如果某个平台做强校验,可能报错。

问题三:脚本路径硬编码

部分Skill内含.sh/.py/.js脚本,可能硬编码了相对路径。

结论:直接物理合并风险较大,同名冲突不好处理。


第三轮探索:Symlink软链接方案

Windows两种链接方式

类型命令权限要求跨分区适用场景
Junction(目录联接)New-Item -ItemType Junction普通用户即可❌ 仅同分区同分区目录映射
Symlink(符号链接)New-Item -ItemType SymbolicLink需要管理员或开发者模式✅ 可跨分区更灵活但权限门槛高

检查权限状态

powershell
whoami /priv | Select-String 'SeCreateSymbolicLinkPrivilege'
# 输出:SeCreateSymbolicLinkPrivilege   Create symbolic links   Disabled

Symlink权限未开启,Junction不需要额外权限,且两个目录都在C盘。

决定:用Junction。


第四轮探索:怎么链接?——三个方案对比

方案A:把整个目录作为子目录挂载

powershell
New-Item -ItemType Junction `
  -Path "C:\Users\Administrator\claude\skills\openclaw-shared" `
  -Target "C:\Users\Administrator\openclaw\skills"

问题openclaw-shared会被当成一个Skill名字,里面嵌套37个子Skill。

结果:37个Skill全部不会被识别,因为它们在二级目录里。

❌ 不可行。


方案B:逐个Skill建立Junction

powershell
New-Item -ItemType Junction `
  -Path "C:\Users\Administrator\claude\skills\nuwa" `
  -Target "C:\Users\Administrator\openclaw\skills\nuwa"

每个Skill一个链接,37个Skill要建37个Junction。还要处理同名冲突。

⚠️ 可行但非常繁琐,后续新增Skill还要手动建链接。


方案C:让Claude的skills目录直接指向OpenClaw的(✅ 推荐)

思路:把所有Skill统一存放在OpenClaw的openclaw/skills/下,删掉Claude的claude/skills/目录,用Junction让它指向OpenClaw的目录。

C:\Users\Administrator\openclaw\skills\   ← 实际文件存放位置(主库)

C:\Users\Administrator\claude\skills\     ← Junction,指向上面

两个智能体读的都是同一份文件,真正共享,零冗余。

✅ 最干净、最省事的方案。


落地:六步执行计划

第一步:差异对比——找出重叠和独有

Skill名称OpenClawClaude
github✅ (v1.0)✅ (精简)
nuwa
stock-watcher
.........

重叠的Skill,选择字段更完整的版本(通常是OpenClau版本)。

第二步:迁移Claude独有的Skill

powershell
Move-Item -Path "C:\Users\Administrator\claude\skills\some-unique-skill" `
  -Destination "C:\Users\Administrator\openclaw\skills\some-unique-skill"

第三步:备份Claude原目录

powershell
Copy-Item -Path "C:\Users\Administrator\claude\skills" `
  -Destination "C:\Users\Administrator\claude\skills-backup-20260426" `
  -Recurse

第四步:删除Claude原skills目录

powershell
Remove-Item -Path "C:\Users\Administrator\claude\skills" -Recurse -Force

第五步:创建Junction

powershell
New-Item -ItemType Junction `
  -Path "C:\Users\Administrator\claude\skills" `
  -Target "C:\Users\Administrator\openclaw\skills"

验证

powershell
# 确认Junction创建成功
dir "C:\Users\Administrator\claude\skills"

# 确认是Junction而非普通目录
fsutil reparsepoint query "C:\Users\Administrator\claude\skills"

第六步:双端验证

  • 列出可用Skills,确认数量和内容一致
  • 调起一个原来Claude独有的Skill,确认功能正常
  • 调起一个重叠Skill(如github),确认无报错

踩坑指南

🔴 删除Junction时的安全操作

安全操作

powershell
Remove-Item -Path "C:\Users\Administrator\claude\skills" -Force
# 或者用rmdir,更明确
cmd /c rmdir "C:\Users\Administrator\claude\skills"

危险操作

powershell
# ❌ 危险!可能删除openclaw/skills下的所有文件
Remove-Item -Path "C:\Users\Administrator\claude\skills" -Recurse -Force

🟡 SKILL.md格式兼容性

OpenClaw版的SKILL.md通常包含更多字段,Claude Code遇到不认识的字段一般会静默忽略。


🟡 后续新增Skill的维护

共享后,无论从哪个平台安装新Skill,文件都会写入OpenClaw的目录。两边立即可见,无需额外操作。


🟡 跨分区场景

如果两个智能体安装在不同分区,Junction不能用。需要:

  1. 开启Windows开发者模式
  2. 改用Symlink:
powershell
New-Item -ItemType SymbolicLink `
  -Path "D:\Users\xxx\claude\skills" `
  -Target "C:\Users\Administrator\openclaw\skills"

🟢 备份策略

建议操作前保留备份目录一段时间(一周),确认双端运行正常后再删除。


最终架构

C:\Users\Administrator\openclaw\skills\    ← 主库(所有Skill的实际存储位置)
    ├── github/
    ├── nuwa/
    ├── stock-watcher/
    └── ...(37+个Skill)

    │ Junction(目录联接)

C:\Users\Administrator\claude\skills\      ← 指向主库的链接

核心思路:一份文件,两个入口,零冗余,单点维护。


总结

问题答案
多个OpenClaw智能体能共享Skill吗?原生不支持,但可以通过Junction实现
推荐方案让次要智能体的skills目录Junction指向主智能体的目录
关键前提两个目录在同一分区(Junction限制)
最大风险删除Junction时误加-Recurse可能穿透到源目录
日常维护共享后新增Skill自动对两边可见,无需额外操作

关键词:OpenClaw, Skills共享, Junction, Claude Code, 智能体, Windows

不要孤军奋战啦!

加入微信群一起学习交流 AI

与大神一起使用 OpenClaw、Hermes、Claude Code、Seedance 2.0、GPT-Image-2 等

微信公众号

扫码关注微信公众号
私信 "加群",将自动获取微信群二维码

探索 AI 世界,掌握智能未来