多Agent时代的Skill管理方案

多Agent时代的Skill管理方案

最近处理了一些 AI 能力的需求,常用的方案就是浏览器自动化,借助张铁蕾老师团队的 bridgic-browser skill,这个 skill 的详情可以看这篇 【开源】专为「探路+编码」范式设计的全新浏览器工具集+Skills ,很强大的一个浏览器自动化工具。

在关于浏览器自动化的需求中,通常会对某个网站进行页面探索、网络请求捕获、数据爬虫,而网站中同一类型不同数据详情的结构也非常相似,将其以脚本方式实现是主流的方案。通过脚本实现爬虫,一方面具有一定的稳定性(模型在不同时间的能力有差距),另一方面也能节省 token 的消耗(在一个爬取每日 top 公告并生成日报总结的需求中,只有最后的生成日报消耗 token)。

所以:浏览器自动化通常会借助脚本实现,例如 python,而 python 的运行其实是需要一些环境支持的,像 venv、pyproject.toml 等,也就是说:调试生成 skill 的工程项目相比最终交付的 skill 是有不少冗余的。

接着回到文章的标题,我可能一直使用 claude 在工程目录不断调试,产生 task 需求文档、CLAUDE.md 项目记忆,而最终由于自动化需求,需要在 workbuddy 里运行。多数的 Agent 都会识别 ~/agents/skills 里的 skill,但也有 claude 这样只识别 ~/.claude/ 目录的 agent,所以汇总下来有两个问题:

  • 如何将工程项目转为 skill
  • 如何处理多 Agent 的 Skill 同步问题

project-to-skill

工程项目转为 skill 的本质是项目到交付物的转变,在传统的项目中,交付物一般是一个 image,即编写 dockerfile,项目编译后通过 dockerfile 生成镜像。

在这里,同样可以借鉴这样的思路,我的项目是这么组织的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
project
├── CLAUDE.md
├── deploy-skill.sh
├── dist
│   ├── skill-name
│   │   ├── scripts
│   │   │   ├── process.py
│   │   └── SKILL.md
│   └── skill-name.zip
├── docs
│   ├── process.md
│   ├── project_source.md
│   └── tasks
│   └── task_process.md
└── scripts
├── __pycache__
├── process.py
└── SKILL.md
  • CLAUDE.md 放置项目记忆,参考 Best practices for Claude Code ,每次对话都要加载,所以100行附近最佳;
  • docs 放需求文档,用于审计或完成某项任务,process.md 就是提示 agent 生成 process.py 完成文档中需求的;
  • scripts 放项目需要用到的脚本,SKILL.md 不是脚本的内容,但也用于最终的 skill 构建,所以我一起放到了这个目录;
  • deploy-skill.sh 是实现 project-to-skill 的重点;
  • dist 存放 skill 交付物。

我把 deploy-skill.sh 分为两部分,使用 –stage 参数,支持 build、sync、all 选项

1
2
3
4
5
6
7
8
9
10
用法: ./deploy-skill.sh [选项]

选项:
--stage <stage> 执行阶段: build, sync, all (默认: all)
--help, -h 显示此帮助信息

示例:
./deploy-skill.sh --stage build # 只构建,生成 dist/ 目录
./deploy-skill.sh --stage sync # 只同步,从 dist/ 同步到 skill-sync
./deploy-skill.sh --stage all # 构建 + 同步

build 阶段会删除 dist/skill-name 目录,然后按照自定义逻辑执行:

  • 新建 dist/skill-name 目录;
  • 复制 scripts 文件夹下的脚本到 dist/skill-name/ 下;
  • 复制 skill.md 到 dist/skill-name/ 下;
  • 压缩 dist/skill-name 目录为 skill-name.zip。

sync 阶段会 dist/skill-name 目录按照自定义逻辑更新到某个位置,例如 ~/.claude/skills/

  • 在指定目录寻找是否有 skill-name 文件夹
    • 如果不存在直接复制 skill-name 文件夹到该目录
  • 删除 ~/.claude/skills/skill-name/ 目录下的 scripts 目录和 SKill.md 文件
  • 复制 dist/skill-name 里的文件到对应位置

这里的逻辑每个项目不同,有的还需要 referances 、asserts 目录等。

skill-sync

经历了 project-to-skill,skill 可以输出到某个指定位置了,skill-sync 解决的是不同的 Agent 之间如何同步最新 skill 的问题。

一个简单的方案是,所有其它地方的 agent 目录(如 .agents/skills、.workbuddy/skills)直接软链接到这个目录,实施起来需要管理链接信息,包括某个 skill 都被多少 agent 链接了,链接时如果本地已经存在 skill 了怎么解决冲突等等。

在 6.24 日,阿里云云原生微信公众号发布了一篇文章:别再手动复制 Skill 了:多 Agent 时代的 Skill 管理方案,提出了关于 Nacos Skill Sync 的两种模式解决方案:

  • 本地模式,其本质是在 ~/.nacos-cli/skill-sync/profiles/{profile}/skill-repo 目录下存所有需要同步的 skill,nacos-cli 会维护其它 agent 到这个 skill 的软链接,确保内容一致;
  • nacos 模式,该模式需要配合 nacos 服务使用。在早期,nacos 用作微服务里的注册中心、配置中心,如今也可以用作 skill 仓库。用户生成 skill 后推送至 nacos 的 skill 仓库,本地 nacos 守护进程会定期(默认30s)同步 skill。

image-20260626131700965

该模式不仅是简单的固定 agents 同步,还可以自定义路径,目前默认会扫描的 agents 不包括 workbuddy,可以通过相关指令将 .workbuddy/skills/ 也加入到需要同步的 agents 里。

如果只是个人开发者为了方便管理 skill,使用本地模式即可,如果需要团队协作、skill 复用,则推荐 Nacos 模式。以下是部分操作手册:

安装 nacos-cli

Linux / macOS 安装:

1
curl -fsSL https://nacos.io/nacos-installer.sh | bash -s -- --cli

Windows PowerShell 安装:

1
iwr -UseBasicParsing https://nacos.io/nacos-installer.ps1 -OutFile $env:TEMP\nacos-installer.ps1; & $env:TEMP\nacos-installer.ps1 -cli; Remove-Item $env:TEMP\nacos-installer.ps1

命令速查表

本地模式

操作 命令
检查同步状态 nacos-cli skill-sync status
添加技能(自动选择) nacos-cli skill-sync add <skill> --non-interactive
添加技能(指定源) nacos-cli skill-sync add <skill> --from <agent> --non-interactive
添加所有技能 nacos-cli skill-sync add --all --non-interactive
启动同步 nacos-cli skill-sync start --non-interactive
解决冲突(使用仓库) nacos-cli skill-sync resolve <skill> --use-repo --non-interactive
解决冲突(使用代理) nacos-cli skill-sync resolve <skill> --use-agent <agent> --non-interactive
停止同步 nacos-cli skill-sync stop
移除技能 nacos-cli skill-sync remove <skill>

Nacos 模式

操作 命令
检查状态 nacos-cli skill-sync status --profile <profile>
添加技能(使用 Nacos) nacos-cli skill-sync add <skill> --profile <profile> --non-interactive
添加技能(使用代理) nacos-cli skill-sync add <skill> --profile <profile> --from <agent> --non-interactive
添加所有技能 nacos-cli skill-sync add --all --profile <profile> --non-interactive
启动守护进程 nacos-cli skill-sync start --profile <profile> --non-interactive
启动(禁用自动上传) nacos-cli skill-sync start --profile <profile> --non-interactive --no-auto-upload
解决冲突(使用 Nacos) nacos-cli skill-sync resolve <skill> --use-nacos --non-interactive
解决冲突(使用代理) nacos-cli skill-sync resolve <skill> --use-agent <agent> --non-interactive
停止守护进程 nacos-cli skill-sync stop
手动上传 nacos-cli skill-upload ~/.nacos-cli/skill-sync/profiles/<profile>/skill-repo/<skill> --profile <profile>
设置标签 nacos-cli skill-sync set-label <label> --profile <profile>

配置文件管理

操作 命令
列出配置文件 nacos-cli profile list
显示配置文件 nacos-cli profile show <profile>
设置配置文件 nacos-cli profile set <profile> host=<host> port=<port> namespace=<namespace> auth-type=<auth-type>
设置认证(用户名/密码) nacos-cli profile set <profile> username=<username> password=<password>
设置认证(密钥) nacos-cli profile set <profile> access-key=<access-key> secret-key=<secret-key>
切换默认配置文件 nacos-cli profile switch <profile>

代理管理

操作 命令
添加自定义代理 nacos-cli skill-sync agent add <agent-name> <absolute-skill-dir>
列出代理 nacos-cli skill-sync agent list

更详细的内容可以访问 Nacos Skill Sync 官方指南 和公众号原文查看~


多Agent时代的Skill管理方案
https://zhuwenjie0716.github.io/2026/06/25/多Agent时代的Skill管理方案/
作者
Wenjie Zhu
发布于
2026年6月25日
许可协议