在多个项目中复用 Skills
代码审查、文档写作和测试约定等 Skills 可以在多个项目中复用。将它们集中保存在一个仓库,通过 Preset 选取目录,可以减少逐个复制文件的操作。
示例仓库 team-resources 的 skills 目录包含三个 Skill。两份配置分别用于引入全部 Skills,以及通过 exclude 排除 testing 目录。
示例说明
skills/code-review/SKILL.md
---
name: code-review
description: Review code changes for correctness and edge cases.
---
Read the diff. Report concrete problems with file references.
创建命令
pnpm create preset init .agents/skills --from ./presets/skills.json目标目录
示例命令从项目根目录运行,目标是新建或空的 .agents/skills 目录。例如,仓库里的 skills/code-review/SKILL.md 会放到 .agents/skills/code-review/SKILL.md。
目标路径需要与所用 agent 的 Skills 目录一致,可以在命令中修改。同一个仓库可以供多个项目使用,不必为了分发再发布 npm 包。
已有 Skills 的处理
使用 apply 追加需要的 Skills,保留目录中的现有内容:
pnpm create preset apply .agents/skills --from ./presets/skills.json --include code-review --include writing多个 --include 参数会整体覆盖配置中的选择清单,配置中的 exclude 继续生效。省略 --include 时使用配置清单;配置也没有清单时,选择全部源文件。
添加 --dry-run,可以先在临时目录生成文件并比较。相同文件会跳过,内容、文件类型或 Unix 可执行权限不同则在写入前报告冲突。冲突需要手动处理,apply 不覆盖或删除已有文件。init 仍然会在确认后替换整个非空目标目录。
Create Preset 不会自动同步更新,也不会把 Skills 链接到其他 agent 的目录。选择规则和回滚边界见 Preset 配置。
一份 Preset 只读取一个源仓库。如果常用 Skills 分散在多个仓库,需要先整理到同一个仓库,再用这份配置分发。