一套Skills如何打包适配多个AI工具
作者以11个营销Skill的分发经历,说明不同工具的目录约定与安装包结构差异。通过单一源码生成三种ZIP,并用静态检查和无界面测试验证打包结果及Skill触发情况。
原文暂未完整获取,基于公开信息的快读
同一套 Skills,换个 AI 工具就可能装不上,或者装进去却没被使用。dev.to 作者分享了分发 11 个营销 Skill 的经历:面向 Claude、ChatGPT 和 Codex,从一份源码生成三类 ZIP,让读者无需打开终端即可安装,并通过静态检查和无界面测试验证结果。
目前能确认什么
作者只维护 src/skills/<name>/SKILL.md,再用构建脚本生成插件包、单 Skill 包和项目文件夹包。三类包服务于不同安装入口,目录结构不能随意混用。
例如,作者遇到过将整个仓库 ZIP 上传为单个 Skill 时,被其中的插件清单拒绝的问题。因此,单 Skill 包只保留该 Skill 自己的文件夹。
目录也是兼容边界。按作者的测试,Claude 读取 .claude/skills,Codex 读取 .agents/skills,两者不会读取对方的目录。项目包因此放入两份 Skills,但都从同一源码生成。
作者还检查名称、描述长度和包内文件,并在回答首行加入「已调用+Skill 名称」,辅助观察触发情况。摘要提到无界面测试,但节选在讨论调用标记的局限时中断,完整验证方法尚不清楚。
我的判断
跨工具维护 Skills,应该把差异放进构建脚本,避免靠人工同步多份文件。
对程序员而言,这更像软件分发问题:源码一致,不代表安装入口、目录约定和加载规则一致。检查 ZIP 内部路径,应该成为发布前的固定步骤。
验证还要分层。静态检查可以发现结构错误,却不能证明模型执行了 Skill;回答出现「已调用」,也只能作为线索,模型可能自行生成这行文字。
我更关注作者如何证明规则实际生效:是否检查了任务结果、如何排除模型自行完成的情况,这些要等完整测试代码确认。目录适配解决的是加载入口,行为一致性仍需单独验证。