用 Skills Manager 管理多个 Skill:统一管理、跨 Agent 分发与 GitHub 多设备同步
- Published on
- /18 mins read/---
随着 AI 编程工具越来越多,我的开发环境中逐渐积累了不少 Skill。
例如:
- Claude Code:日常 AI 编程助手
- Codex:代码开发、重构与自动化任务
- Cursor:AI 辅助代码编辑
- 其他支持 Agent Skills 的 AI 工具
不同工具都有自己的 Skill 存储目录。如果每个工具单独维护一份 Skill,就会产生一些问题:
- 重复维护:同一个 Skill 需要在多个目录中分别修改。
- 版本不一致:不同 Agent 使用的 Skill 可能不是同一个版本。
- 管理混乱:Skill 越来越多,很难快速找到需要的能力。
- 跨设备困难:换一台电脑后,需要重新安装和配置所有 Skill。
- 缺少版本管理:修改 Skill 后,如果效果不好,很难恢复之前的版本。
有没有一种方式,可以把所有 Skill 集中管理,再统一分发给不同的 AI Agent,同时支持 GitHub 备份和多设备同步?
这就是我使用 Skills Manager 的原因。
项目地址:
https://github.com/xingkongliang/skills-manager
官网:
https://skillsmanager.dev/
一、为什么需要 Skills Manager?
上面列的五个问题,本质上都是同一个根因:Skill 的存放位置和它的维护者不是同一个人。
Agent 工具的目录结构是被工具决定的,而 Skill 的内容是被人决定的。这两件事本来不该耦合,但一旦每个工具都自带一个目录,耦合就发生了 —— 于是「改一个 Skill 要动三个地方」。
Skills Manager 的做法是在中间加一层:不让任何 Agent 目录成为事实上的源头,而是把「谁在维护」和「谁在消费」这两件事分开。
| 角色 | 传统做法 | Skills Manager |
|---|---|---|
| 事实源头 | 每个 Agent 目录各一份 | ~/.skills-manager/skills/ 唯一一份 |
| 分发方式 | 手动复制 | Symlink 或 Copy 部署 |
| 备份 | 无,或靠系统备份 | GitHub 私有仓库自动提交 |
| 多设备 | 重新装一遍 | 连远程库,恢复即可 |
| 版本回退 | 没有 | Git 提交历史 + 冲突前快照 |
二、Skills Manager 的核心设计
Skills Manager 的核心思路是:
建立一个统一的中央 Skill 仓库,由它负责管理所有 Skill,再根据需要分发到不同的 AI Agent。
整体架构可以理解为:
Skills Manager
|
|
Central Skill Library
~/.skills-manager
|
+-----------+-----------+
| | |
Claude Code Codex Cursor
| | |
Skills Skills Skills
| | |
+-----------+-----------+
|
GitHub
|
Remote Backup
|
+---------------+
| |
MacBook PC
| |
Local Library Local Library这里有三个重要概念。
1. Central Skill Library:中央技能库
Skills Manager 会将从本地目录、Git 仓库、压缩包或 Skills Marketplace 导入的 Skill,统一管理在中央仓库中。
默认目录:
~/.skills-manager/其中主要的 Skill 文件集中在:
~/.skills-manager/skills/例如:
~/.skills-manager/
└── skills/
├── frontend-design/
│ ├── SKILL.md
│ ├── references/
│ └── assets/
│
├── code-review/
│ └── SKILL.md
│
├── git-workflow/
│ └── SKILL.md
│
└── database-design/
└── SKILL.md这样就不需要在 Claude Code、Codex 和 Cursor 中分别维护同一份 Skill。
2. Agent Workspace:Agent 工作区
中央仓库负责管理 Skill,而 Agent 工作区负责将 Skill 部署到具体工具。
Skills Manager 支持通过两种方式同步:
- Symlink:符号链接
- Copy:文件复制
如果使用 Symlink,Agent 目录中的 Skill 会指向中央仓库中的对应文件,修改中央仓库后,链接目标的内容也会随之变化。
如果使用 Copy,则会产生独立副本,中央仓库修改后,需要重新部署或同步。
因此,如果希望尽可能减少重复维护,可以优先考虑 Symlink,但需要注意不同操作系统和目录权限的差异。
3. GitHub Backup:远程备份
Skills Manager 还支持通过 GitHub 或其他 Git Remote 进行备份和多设备同步。
这样,中央仓库不再只是本地的 Skill 管理目录,也可以成为跨设备共享的技能库。
三、如何将已有 Skill 导入 Skills Manager?
如果之前已经积累了一些 Skill,不需要重新创建,可以直接导入。
例如,原来的 Skill 目录:
~/my-skills/
├── frontend-design/
│ └── SKILL.md
│
├── code-review/
│ └── SKILL.md
│
└── git-workflow/
└── SKILL.md打开 Skills Manager,选择从本地目录导入 Skill。
导入后,Skill 会进入中央技能库。
例如:
~/.skills-manager/
└── skills/
├── frontend-design/
├── code-review/
└── git-workflow/这里需要特别注意:
导入后,不要想当然地认为原始目录和中央仓库始终是实时同步的。
对于本地导入的 Skill,Skills Manager 提供重新导入功能来更新中央库内容。因此,建议以中央仓库中的版本作为后续维护的主要版本。
我的习惯是:
- 原始目录:保留为备份。
- 中央仓库:作为日常维护入口。
- Agent 目录:作为实际使用和部署的位置。
这样可以避免同时维护多份文件造成混乱。
四、如何统一管理多个 Skill?
当 Skill 数量增加后,仅仅集中存储还不够,还需要分类和组织。
Skills Manager 提供了几种实用功能。
1. Skill 标签管理
可以根据 Skill 的用途添加标签,例如:
| 标签 | Skill 类型 |
|---|---|
| frontend | 前端开发 |
| backend | 后端开发 |
| database | 数据库 |
| devops | 运维和部署 |
| workflow | 开发工作流 |
| testing | 测试和质量保证 |
这样可以根据标签快速筛选需要的 Skill。
2. Preset:技能预设
这是一个非常实用的功能。
不同 Agent 或开发场景需要的 Skill 并不完全相同。
例如,可以建立以下预设:
Frontend Development
frontend-design
react-best-practices
ui-ux-guidelines
accessibilityBackend Development
api-design
database-design
code-review
testingFull Stack Development
frontend-design
react-best-practices
api-design
database-design
git-workflow之后可以通过 Preset 快速激活或停用一组 Skill。
需要注意:Preset 的应用是一次性部署,不是实时同步。中央库中后续修改 Skill,仍然需要按照部署方式更新对应 Agent。
3. 批量操作
当 Skill 数量较多时,可以通过批量操作:
- 批量启用或停用。
- 批量导出。
- 批量删除。
- 批量部署到 Agent。
对于需要同时管理多个 AI 编程工具的开发环境,这些功能可以减少大量重复操作。
五、最重要的问题:Skill 修改哪个目录?
这是我实际使用时特别关注的问题。
当我们将本地 Skill 导入 Skills Manager 后,通常会看到两个甚至多个相同名称的目录:
原始目录:
~/my-skills/frontend-design/
中央仓库:
~/.skills-manager/skills/frontend-design/
Agent 目录:
~/.claude/skills/frontend-design/那么,后续应该修改哪一个?
我的建议是:
以 Skills Manager 中央仓库为主要维护入口。
例如:
code ~/.skills-manager/skills/frontend-design修改:
SKILL.md
references/
scripts/
assets/保存后,再根据 Agent 的部署方式决定是否需要重新同步。
| 目录 | 定位 | 建议 |
|---|---|---|
| 原始导入目录 | 初始来源或备份 | 不作为日常维护入口 |
~/.skills-manager/skills | 中央技能库 | 日常编辑 |
~/.claude/skills | Claude Code 使用目录 | 尽量不直接修改 |
~/.codex/skills | Codex 使用目录 | 尽量不直接修改 |
| Cursor Skill 目录 | Cursor 使用目录 | 尽量不直接修改 |
这里有一个重要细节:
如果部署方式是 Symlink,修改中央仓库就可以让 Agent 读取到更新后的内容。
如果部署方式是 Copy,中央仓库修改后,还需要重新部署或同步。
另外,如果已经直接修改了 Agent 目录中的复制版本,不能默认这些修改会自动反向同步到中央仓库。
因此,最好建立统一的编辑习惯:中央仓库负责维护,Agent 目录负责使用。
六、使用 GitHub 实现 Skill 备份和多设备同步
这是 Skills Manager 最值得使用的功能之一。
以前更换电脑时,需要重新安装所有 Skill,逐个配置 Agent。
现在可以通过 GitHub 备份,将技能库放到远程 Git 仓库中。
1. 连接 GitHub
打开 Skills Manager 左侧的 Backup 页面。
选择:
Sign in with GitHub按照提示完成授权。
根据项目文档,Skills Manager 可以自动创建一个私有仓库:
skills-manager-backup也可以在设置中配置其他 Git Remote,例如:
- GitHub 私有仓库
- HTTPS + Personal Access Token
- SSH Git 仓库
- 自建 Git 服务
建议使用私有仓库,避免公开自己的定制 Skill。
2. 本地修改后自动同步
连接成功后,Skills Manager 会自动监测本地技能库变化。
整体流程:
修改本地 Skill
|
v
检测到文件变化
|
v
自动生成 Git 提交
|
v
Push 到 GitHub
|
v
远程仓库更新根据项目 README,停止编辑约两分钟后,通常会在后台自动提交并推送。
如果希望立即备份,也可以在 Backup 页面使用 Back Up Now。
所以日常情况下,不需要手动执行 Git 命令。
3. 另一台电脑同步 Skill
假设现在有两台电脑:
MacBook
Windows PCMacBook 已经安装 Skills Manager,并完成 GitHub 备份配置。
在 Windows PC 上:
- 安装 Skills Manager。
- 打开 Backup 页面。
- 连接同一个 GitHub 账号或 Git Remote。
- 如果本地技能库为空,选择从远程备份恢复。
- 等待技能库同步完成。
之后两台设备就可以共享同一套 Skill。
例如:
MacBook 修改 frontend-design
|
v
GitHub
|
v
Windows PC
|
v
获取最新 frontend-design反过来也一样。
在 Windows PC 上修改 Skill,同样可以同步到 GitHub,再由 MacBook 获取更新。
4. 多设备同时修改怎么办?
多设备同步最需要关注的就是冲突。
例如:
MacBook 修改:
frontend-design/SKILL.mdWindows PC 同时修改:
frontend-design/SKILL.md两台电脑都产生了不同的修改。
Skills Manager 支持按 Skill 进行合并。
如果两个设备修改了不同的 Skill,通常可以自动合并。
如果两个设备修改了同一个 Skill,发生真正的冲突,则会出现在 Needs attention 中。
可以选择:
- Keep mine:保留当前设备版本。
- Use remote:使用远程版本。
- Keep both:保留两份版本。
在处理冲突之前,Skills Manager 还会创建安全快照,方便后续恢复。
因此,不建议在多台设备上同时修改同一个 Skill。
更好的习惯是:
一台设备负责主要修改,完成后等待同步,再在另一台设备上继续工作。
七、哪些内容会同步到 GitHub?
并不是所有 Skills Manager 的配置都会上传。
根据项目文档,备份内容主要包括:
| 内容 | 是否备份 |
|---|---|
| Skill 文件 | 是 |
| Skill 标签 | 是 |
| Preset | 是 |
| Agent Skill 启用状态 | 是 |
| API Key | 否 |
| Token | 否 |
| Proxy 配置 | 否 |
| 机器相关配置 | 否 |
| SQLite 数据库 | 否 |
这意味着 GitHub 保存的是技能库和相关管理数据,而不是整台电脑的完整 Skills Manager 配置。
另外,超过 100 MB 的 Skill 会保留在本地,不会自动进入备份。
对于包含敏感信息的 Skill,也建议在提交之前检查是否存在 API Key、访问令牌或其他个人凭据。
八、第三方 Skill 如何更新?
除了自己编写的 Skill,我们还会从 GitHub 或 Skills Marketplace 安装第三方 Skill。
这时需要区分两种情况。
1. 自己维护的 Skill
例如:
my-frontend-design/
my-code-review/
my-git-workflow/这些 Skill 以中央仓库为准。
修改后通过 GitHub 备份同步即可。
2. 第三方 Skill
例如从某个 GitHub 项目安装的 Skill:
vercel-labs/
└── react-best-practices/这种 Skill 需要关注上游更新。
Skills Manager 支持检查 Git 类 Skill 的上游更新,也支持对本地来源的 Skill 重新导入。
推荐的维护流程:
检查上游是否有更新
|
v
查看上游修改内容
|
v
与自己的定制内容进行比较
|
v
合并需要的更新
|
v
更新中央技能库
|
v
同步到 GitHub不要直接用第三方最新版覆盖自己已经修改过的 Skill,否则可能丢失自己的定制规则。
九、我的最终管理方案
综合以上功能,我更倾向于建立以下管理模式:
GitHub Private Repository
|
|
Skills Manager
|
Central Library
|
+------------+------------+
| | |
Claude Codex Cursor
| | |
+------------+------------+
|
Daily Usage实际维护时遵循几个原则。
原则一:中央仓库作为唯一主要编辑入口。
所有自定义 Skill 都在中央仓库维护,避免不同 Agent 的目录出现多个不一致版本。
原则二:GitHub 作为远程备份和同步中心。
不需要手动复制 Skill 到其他电脑,统一通过 GitHub 进行同步。
原则三:第三方 Skill 与自定义 Skill 分开管理。
第三方 Skill 需要关注上游更新,自定义 Skill 则以自己的维护版本为准。
原则四:尽可能使用 Symlink。
在支持的环境中,优先采用符号链接部署,减少多份文件带来的维护成本。
原则五:多设备避免同时修改同一个 Skill。
先完成修改并同步,再切换到其他设备继续工作。
十、总结
Skills Manager 解决的不仅仅是 Skill 文件存放的问题,而是 AI Agent 技能的统一管理问题。
以前,每个 AI 编程工具都有自己的 Skill 目录,需要重复安装、重复修改和重复维护。
现在可以通过 Skills Manager 建立统一的中央技能库,再将 Skill 按需分发到 Claude Code、Codex、Cursor 等不同工具。
再结合 GitHub Backup,就可以进一步实现:
- 多 Skill 统一管理。
- 多 Agent 统一部署。
- Skill 标签和 Preset 管理。
- 自定义 Skill 统一维护。
- GitHub 版本备份。
- 多设备自动同步。
- 冲突处理与历史版本恢复。
对经常使用多个 AI 编程工具的开发者来说,这种方式能够让 Skill 从零散的配置文件,逐渐变成一套可以长期维护、持续迭代和跨设备复用的个人 AI 开发能力库。
一句话总结:本地中央仓库负责维护,Skills Manager 负责分发,GitHub 负责备份和多设备同步。
项目地址:https://github.com/xingkongliang/skills-manager
官方网站:https://skillsmanager.dev/
文章大纲
- 一、为什么需要 Skills Manager?
- 二、Skills Manager 的核心设计
- 1. Central Skill Library:中央技能库
- 2. Agent Workspace:Agent 工作区
- 3. GitHub Backup:远程备份
- 三、如何将已有 Skill 导入 Skills Manager?
- 四、如何统一管理多个 Skill?
- 1. Skill 标签管理
- 2. Preset:技能预设
- 3. 批量操作
- 五、最重要的问题:Skill 修改哪个目录?
- 六、使用 GitHub 实现 Skill 备份和多设备同步
- 1. 连接 GitHub
- 2. 本地修改后自动同步
- 3. 另一台电脑同步 Skill
- 4. 多设备同时修改怎么办?
- 七、哪些内容会同步到 GitHub?
- 八、第三方 Skill 如何更新?
- 1. 自己维护的 Skill
- 2. 第三方 Skill
- 九、我的最终管理方案
- 十、总结
评论区未配置
在 .env 中填入NEXT_PUBLIC_GISCUS_REPO/NEXT_PUBLIC_GISCUS_REPOSITORY_ID/NEXT_PUBLIC_GISCUS_CATEGORY/NEXT_PUBLIC_GISCUS_CATEGORY_ID 后重新构建站点即可启用评论。
