💡阅读指南

你可能已经在多个 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 clonegit 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/ 可以在多个项目或输出中重复使用的素材