Appearance
knowledge-base skill 多工具分发与一键安装工作流
归类:开发工具 / AI 技能分发 / 自动化 发生时间:2026-03-27 状态:✅ 已落地基础实现
一、问题现象 / 背景
当一个技能需要同时服务多个支持 skills 的 IDE 和 AI 工具时,最容易遇到三个问题:
- 技能源文件在多个目录各改各的,逐渐失去一致性
- 本地明明更新了 skill,但其他工具目录里的副本还是旧版本
- 想做成“一键安装”时,不清楚应该从哪个目录同步、如何扩展新工具、以及后续怎么演进到
npx或自动化工作流
knowledge-base 仓库本身就踩过这个坑,因此更适合把这套分发流程沉淀成可复用方法。
二、排查过程
1. 先确定唯一事实来源
最重要的一步,是先明确 skill 只能有一个可编辑源目录:
text
skills/knowledge-base/其他工具目录下的 skill 都应该视为“可覆盖副本”,而不是新的编辑入口。
2. 再把分发过程脚本化
如果只靠人工复制目录,很快就会出现:
- Codex 已更新,但 Gemini / OpenClaw / Cursor 还是旧副本
- 新增文件同步过去了,删除的陈旧文件却残留
- 每次都要手动判断本机哪些工具安装了 skills 功能
所以更稳妥的做法是把同步做成脚本,并用 rsync --delete 处理陈旧文件。
三、根本原因 / 设计思路
这类问题的根因,不是“忘了同步”,而是“缺少一个明确的 skill 分发边界”。
一个更稳的设计通常包含三层:
- 仓库内单一源
- 只改
skills/knowledge-base/
- 只改
- 本机一键同步
- 自动探测默认技能目录
- 支持自定义扩展目录
- 未来一键安装入口
- bootstrap 脚本
- 进一步演进到
curl | bash或npx
四、解决方案 / 推荐做法
1. 当前一键同步命令
bash
npm run skill:install当前默认会探测并同步到这些目录:
~/.codex/skills/knowledge-base~/.gemini/antigravity/skills/knowledge-base~/.openclaw/skills/knowledge-base~/.cursor/skills-cursor/knowledge-base
2. 查看或定向同步
bash
# 查看目标目录
npm run skill:install:list-targets
# 预演
npm run skill:install:dry-run
# 只同步指定工具
bash ./scripts/install-knowledge-base-skill.sh --target codex,openclaw3. 扩展其他支持 skills 的工具目录
推荐不要把个人本机路径直接写进公共脚本,而是通过本地配置扩展:
text
continue|Continue|/Users/you/.continue/skills/knowledge-base
roo|Roo Code|/Users/you/.roo/skills/knowledge-base然后执行:
bash
bash ./scripts/install-knowledge-base-skill.sh --extra-target-file ./skill-targets.conf也可以用环境变量做临时扩展:
bash
export KNOWLEDGE_BASE_SKILL_EXTRA_TARGETS="continue|Continue|$HOME/.continue/skills/knowledge-base"
npm run skill:install4. 一键 bootstrap
如果目标机器还没有本地工作区,可以先走 bootstrap:
bash
npm run skill:bootstrap它会自动:
- 克隆或更新仓库
- 回到指定分支
- 调用仓库里的安装脚本把最新 skill 分发到本机工具目录
五、未来如何扩展到 npx 或自动化工作流
1. curl | bash
适合需要极简安装入口的场景。思路是把 bootstrap 脚本暴露为一个可直接下载执行的入口。
2. npx
如果希望支持:
bash
npx knowledge-base-skill-install建议拆出一个独立 npm 包,仅负责:
- 下载或更新
knowledge-base仓库 - 调用安装脚本
- 转发
--target、--extra-target-file等参数
3. 自动化同步
如果希望 skill 改完后自动刷新各工具目录,可以增加:
- 文件监听:
fswatch、watchexec - 定时任务:
cron、launchd - IDE / AI 工具内的本地自动化任务
六、注意事项
- 不要把目标工具目录当成 skill 源目录直接修改。
- 自定义路径尽量放在本地配置文件或环境变量中,避免把个人路径提交到公共仓库。
skill:install只能同步本机副本,不负责远端发布;如果 skill 源本身有变更,仍需正常提交仓库。- Cursor 一类工具的 skills 目录可能属于兼容方案,正式能力边界应以该工具的当前官方机制为准。