已安装技能的来源
Agent 技能由 home-manager 安装到 ~/.claude/skills/、~/.agents/skills/ 和 ~/.codex/skills/ 目录下。这些受管理的路径会链接到源技能目录。请编辑所属仓库,而不是已安装的链接。
共享技能的源文件和资源位于工作空间的 agent-skills/skills/<名称>/ 目录下。Nix 目录 agent-skills/catalog.nix 负责选择要分发给消费者的共享技能。下游覆盖层可以通过各自的 machines.claude.skills 和 machines.codex.skills 配置添加本地技能路径;请将这些文件保存在下游仓库中。
编辑共享技能
- 编辑工作空间中
agent-skills仓库内的技能目录。 - 如果更改同时需要更新消费者,在两个仓库中使用相同的 feature 分支。如果工作空间中还没有
agent-skills,使用addsrc agent-skills [email protected]:goromal/agent-skills.git添加。 - 如有必要,使用临时本地 flake 输入测试 anixpkgs 集成。推送之前,恢复远程 feature 分支 URL 并使用
nix flake update agent-skills锁定。 - 创建
agent-skills的 PR 并从下游消费者 PR 中链接它。首先合并技能源 PR,然后将消费者重新固定到合并后的main版本。
创建共享技能
- 在
agent-skills中添加skills/<技能名称>/SKILL.md;将参考资料、示例、脚本和资产文件放在其旁边。 - 将
{ name = "<技能名称>"; file = ./skills/<技能名称>/SKILL.md; }添加到catalog.nix中。条目默认适用于 Claude 和 Codex;需要时设置frameworks。 - 相对于技能文件夹链接支持的资源,并更新下游锁定文件。
编辑下游本地技能
在拥有贡献技能路径的覆盖层或模块的仓库中更改它。保持目录自包含,包括所有参考资料。其配置可以为该框架的技能选项添加一个 { name, file } 条目。
删除或替换共享技能
从 catalog.nix 中移除其条目并删除其源文件夹,然后更新下游锁定文件。要在一台机器上替换共享技能,请在 machines.agents.excludedSkills 中列出其名称,并在下游模块中添加具有该名称的本地技能路径。