乐于分享
好东西不私藏

同时用 5 个 AI 编程助手后,我受够了到处复制 Skill

同时用 5 个 AI 编程助手后,我受够了到处复制 Skill

QUOTE

工具可以换,Skill 不该跟着散

—— 格物致知札记

最近半年,我的编程工具箱一直在“换岗“。Cursor 写业务代码顺手,Claude Code 查日志和重构更稳,Codex 处理大文件批改效率高,新出的工具又总忍不住想尝鲜。多 Agent 并行,本来是为了不把鸡蛋放在一个篮子里。

但有个东西一直没跟上——Skill

碎片化:同一份 Skill 散落在多个 Agent 目录

一、碎片化,是从”多开“开始的

在 Codex 里调好的一个周报 Skill,切到 Claude Code 还是旧的;Cursor 目录下甚至躺着一份同名、但内容迥异的副本。一开始手动复制还能忍,时间一长就乱了:哪份才是最新?该用谁覆盖谁?每接一个新工具,又要重复搬一遍。

这种”碎片化“最磨人的,不是效率低,而是在反复确认里被悄悄消耗的心力

二、现成方案,都只解决了一半

社区不是没解法。我试了一圈,结论是:它们要么解决了”存”,没解决“自动分发“;要么解决了”共享”,没解决“多目录实时同步与冲突感知“。

Git submodule / Monorepo:改个 prompt 还要 commit/push/pull,对日常 Coding 太重;

Syncthing 这类同步工具:只懂文件,不懂 Skill 语义,双向改极易覆盖;

LangSmith 等 Prompt 平台:给 LLM 应用开发设计的,根本不管本地 Agent 的配置文件。

当几个 Agent 同时开着,我要的其实很简单:改一处全部生效,随时知道哪份最新。这个”最后一公里“的闭环,现成轮子补不上。

三、我的解法:一个中心仓库,按需分发

于是我认准一条原则——Skill 必须收敛到一个中心仓库,再按需分发给各个 Agent

1. 只维护一份中心仓库,统一存 Skill 和同步状态;

2. 默认用软链接让各 Agent 目录指向中心仓库——改一处,全部生效(环境不支持软链就切复制模式,由 CLI 同步);

3. 同步状态随时可查:远端有没有更新、本地有没有改动、有没有冲突,一眼就知道下一步干嘛。

一个中心仓库,软链接分发到所有 Agent

四、两种模式,从轻到重

它提供两种模式,按需选:

Local mode

本地中心仓库 + 软链接/复制,零服务依赖。适合只想先把本机多个 Agent 的 Skill 统一起来的人。会自动发现 Codex、Claude、Cursor、Kiro、Lingma 等目录,也能手动加。

Registry mode

把 Skill 放进远端 Registry,带可视化、版本治理、跨设备同步。适合 Skill 多到要迭代、或团队共用的场景。

我的建议:先从 Local mode 用起,本机收拢;等需要跨设备、团队协作或版本治理,再切 Registry mode,不用重新整理。

Local(本机)与 Registry(远端)两种模式

五、快速上手:两条路,挑一条走

路一:让 Agent 自己干(推荐)

官方给了一份标准 SKILL.md,把 nacos-skill-sync 的规范和交互流程都写清楚了。你只要给任意 Agent(Cursor、Claude Code、Codex 都行)发一句话,它就会自己读这份 Skill、检查本机环境、执行同步;遇到要选模式、有内容冲突这类需要你拍板的地方,它会主动停下来问你。

阅读下面的 Skill,使用它来同步我本地的 Skill:https://nacos.io/skill-sync/SKILL.md

路二:自己敲 CLI

想完全自己控流程,就用命令行。先装 CLI(二选一):

# 方式 A:官方安装脚本

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

# 方式 B:不想装,直接 npx 跑

npx @nacos-group/cli@latest skill-sync --help

Registry mode(跨设备 / 团队协作)

先建一个 profile,再 add / start / status:

npx @nacos-group/cli@latest profile edit test

npx @nacos-group/cli@latest --profile test skill-sync add pdf

npx @nacos-group/cli@latest --profile test skill-sync start

npx @nacos-group/cli@latest --profile test skill-sync status

Local mode(单机轻量,不用 profile)

npx @nacos-group/cli skill-sync add pdf

npx @nacos-group/cli skill-sync start

npx @nacos-group/cli skill-sync status

add 后面那个 pdf 只是举例(比如你有个处理 PDF 的 Skill),换成你自己的 Skill 名就行。add 会扫一遍各 Agent 目录里的同名内容,有差异就让你选以哪份为准;想批量收编,加 --all 先扫描全部已有 Skill,确认范围后再统一。

六、两个我亲历的场景

个人:工作记录 & 周报

以前每天在多个 Agent 里干活,记录散在不同对话,周五整理周报像考古。现在把它沉淀成一个 Skill 放 Local mode 共用:任务结束记结果,同主题合并,生成周报保留进展和风险。最关键是——这不是复制一次就完:在 Codex 里改了周报字段,Claude 和 Cursor 看到的也是更新后的。

团队:文档统一格式

接口文档、技术方案、故障复盘由不同人、不同设备生成,格式各写各的。这类规范适合放 Registry mode,统一入口 + 版本记录,公司电脑、家里电脑、新设备同步后都用同一套。

七、日常维护,只看一个命令

用起来后,日常只看 skill-sync status:每个 Skill 的状态、覆盖哪些 Agent、下一步干嘛,一目了然。

Synced:一切正常,不用管;

Local changes:本地有改动,可自动上传或保留;

Conflict:本地和远端都改了,需要你选一个版本(默认保守,不擅自替你做选择)。

一个 status 命令,看清每个 Skill 的状态

八、让 Skill 有一份可信来源

多 Agent 并行会越来越常见。真正要管理的,不只是”用哪个 Agent”,而是这些 Agent 共同依赖的 Skill

更理想的状态,是让 Skill 有一份可信来源。Agent 可以换,Skill 不该跟着散。