💡阅读指南

你可能已经在多个 Agent 里安装过 Skill。Hermes 装了一份,ChatGPT 也装了一份,Claude Code 又装了一份。问题是这些 Skill 散落在各自的目录里,重复、不同步、改一处漏多处。这一节讲一个更聪明的做法:集中存储 + 软链接。

1.1 一个现实问题:Skill 散落各处

当你在 Hermes 里说「帮我装 frontend-design 这个 Skill」,它会下载到 Hermes 的工作目录下。当你在 ChatGPT 里做同样的事,它会下载到 ChatGPT 的目录下。Claude Code 也是各自为政。

结果就是:

code
~/.hermes/skills/frontend-design/     ← Hermes 的副本
~/.codex/skills/frontend-design/      ← ChatGPT 的副本
~/.claude/skills/frontend-design/     ← Claude Code 的副本

三个一模一样的目录。如果这个 Skill 你从来不改,三份副本相安无事。但实际使用中,你几乎一定会对 Skill 做微调:改改提示词、调调参数、加个你需要的功能。

一旦你改了其中一份,另外两份就和你改过的不一样了。下次 Hermes 用的版本和 ChatGPT 用的版本有差异,行为不一致,排查起来很痛苦。你要么每次改三个地方,要么很快就忘了同步,最终三份 Skill 变成了三个不同的东西。

1.2 更好的做法:一个目录管所有

思路很简单:

  1. 建一个集中的 Skill 目录
  2. 所有的 Skill 只存在这一份
  3. 哪个 Agent 需要,用软链接指过去

第一步:建集中目录

在你的用户目录下建一个专门的文件夹,比如 ~/my-skills/。把你所有的 Skill 都放在这里:

code
~/my-skills/
├── frontend-design/
├── html-ppt-studio/
├── guizang-ppt/
├── data-analysis/
└── ...

第二步:用软链接替换副本

macOS 和 Linux 都支持软链接(symlink)。软链接就像是一个快捷方式:它本身不是文件,而是指向另一个位置的文件。Agent 通过软链接访问 Skill,实际上读的是集中目录里的那一份。

在终端里执行:

Bash
# 删除 Hermes 下的副本
rm -rf ~/.hermes/skills/frontend-design

# 创建软链接,指向集中目录
ln -s ~/my-skills/frontend-design ~/.hermes/skills/frontend-design

现在 Hermes 访问 frontend-design 这个 Skill,实际上读的是 ~/my-skills/frontend-design 里的内容。ChatGPT 也一样:

Bash
rm -rf ~/.codex/skills/frontend-design
ln -s ~/my-skills/frontend-design ~/.codex/skills/frontend-design

两个 Agent 共用同一份 Skill。你在集中目录里改了任何内容,两个 Agent 立刻同步生效,因为软链接指向的就是同一个地方。

📌软链接 vs 复制

如果你用 cp 复制一份过去,那就是两个独立的副本,改一个不影响另一个。软链接不同,它只是一个「指向」。无论多少个 Agent 链接过来,底层只有一份真实文件。改一处,所有地方同步。

1.3 用 Git 托管你的 Skill 库

集中管理的好处不止于消除重复。你还可以把整个 ~/my-skills/ 目录用 Git 管理,推送到 GitHub:

Bash
cd ~/my-skills
git init
git add .
git commit -m "初始版本"
git remote add origin git@github.com:你的用户名/my-skills.git
git push -u origin main

这样你的 Skill 库就有了版本控制。改了提示词觉得不好用,可以回滚。换了电脑,git clone 一下就恢复了。团队成员之间也可以共享 Skill。

配合软链接的工作流就变成了:

code
GitHub 仓库 → 你在本地 clone 到 ~/my-skills/ → 软链接到各 Agent 目录

换电脑的时候,只需要 clone 仓库再建一遍链接,几分钟就恢复全部环境。

❗关于 git 命令的执行

上面的 git clone、git push 等命令涉及你的个人认证信息,必须由你自己在终端里手动执行,不要让 Agent 代劳。Agent 的对话记录里不应出现你的 Token 或密码。这是安全底线。

1.4 只链接你需要的,不要偷懒

看过《程序员的 AI 编程绿皮书》的同学都知道,有些同学偷懒,把所有 Skill 都原封不动地全部软链接到一个 Agent 下面去。这个做法千万不要做。

Skill 拷贝得越多,Agent 的负担就越大。 每个 Agent 启动时会加载它 skills 目录下的所有 Skill 的 Description 作为上下文参考,链接了一百个 Skill,Agent 每次对话都要从这一百个里面做选择,响应质量反而会下降。

正确的做法是:你需要什么 Skill,就软链接什么 Skill。 给 Hermes 链接 5 个它常用的,给 ChatGPT 链接 3 个它常用的,而不是把整个库都链过去。

1.5 ■ 学点英语

中文 English 音标 说明
符号链接 Symbolic Link /sɪmˈbɑːlɪk lɪŋk/ 指向另一个文件或目录的特殊链接
集中存储 Centralized Storage /ˈsentrəlaɪzd ˈstɔːrɪdʒ/ 把分散资源统一放到固定位置管理
目录约定 Directory Convention /dəˈrektəri kənˈvenʃən/ 项目中约定资源放置位置的规则
可复用资产 Reusable Asset /ˌriːˈjuːzəbl ˈæset/ 可以在多个项目或输出中重复使用的素材