Community编程与开发github.com

agent-skills 技能仓库管理

将所有技能统一管理在 ~/Dev/agent-skills 仓库中,通过符号链接同步到 ~/.agents/skills 和 ~/.claude/skills,适用于创建、编辑或删除任何技能前使用。

agent-skills 技能仓库管理 是什么?

该技能(agent-skills)是一个集中化、版本化的技能仓库管理方案,旨在帮助 AI 开发者和代理工具用户高效地组织、创建、编辑和移除技能。它将所有自有技能与上游技能(如 pstack、Matt Pocock's 技能)集中存储在 `~/Dev/agent-skills` 仓库中,并通过 `agent-skills link` 命令创建符号链接,同步到 Claude Code 的 `~/.claude/skills` 和 Codex 的 `~/.agents/skills`。当用户在任一工具文件夹中编辑技能时,修改实际上写回仓库,从而支持 Git 版本控制和提交。该技能支持项目级技能保留在原项目目录下,区分自有技能(skills/)和上游技能(vendor/),并通过 `upstreams.ts` 控制上游技能的链接规则。此外,它强调编写公开文本、避免暴露项目私有信息,并维护了清晰的冲突处理与提交规范,是构建可靠、可复用的代理技能生态的核心基础设施。

兼容平台✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/serge-the-hedge/agent-skills/tree/HEAD/skills/agent-skills

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

agent-skills

~/Dev/agent-skills 存放了我在所有项目中使用的每个技能:包括我自己开发的以及上游的那些我在此基础上构建的技能。agent-skills link 命令会向 ~/.claude/skills(Claude Code)和 ~/.agents/skills(Codex)填充指向该仓库的符号链接,因此通过任一文件夹编辑技能时,实际上就是在仓库中编辑。

技能的归属位置

  • 项目技能(仓库自身的 .agents/skills/ 目录,例如 verify-*):保留在该项目中。本文档其余部分是关于此仓库中的技能。
  • 我的技能:位于 skills/<name>/ 下。
  • 上游技能:位于 vendor/<upstream>/ 下,通过 agent-skills update 从 pstack、Matt Pocock 的技能以及 good-css 拉取。upstreams.ts 文件中指定了哪些上游技能会被链接。
  • 代理文件夹中任何不是指向此仓库的符号链接(如 blabla-*、Claude 的 synced/、Codex 的 .system/)归属于安装它的工具,该工具也会负责更新。

运行 realpath ~/.agents/skills/<name> 可以告诉你某个技能属于哪个来源。

创建

在 ~/Dev/agent-skills/skills/<name>/SKILL.md 路径下创建技能;该路径优先级高于 skill-creator 和 /automate-me 中的默认值。然后运行 agent-skills link。如果报告冲突,请另选名称。

编辑

根据变更类型选择路由:

  • 偏好性修改(我个人的风格、默认值、工作习惯)应放入我自己的技能中:扩展现有 skills/ 下的技能,或创建一个新的。我的文件永远不会与上游更新冲突。
  • 修复 上游技能的错误或不适合我的地方:直接编辑 vendor/ 下的文件。提交到上游的编辑会在 agent-skills update 后保留,但若上游同时修改了同一行代码,每个编辑都可能产生冲突,因此请保持修改量小。编辑 pstack 后,运行 node ~/Dev/agent-skills/vendor/pstack/scripts/check-t3-native.mjs <name> 直到其退出码为 0。

移除

删除 skills/<name>/ 目录以移除我自己的某个技能。对于上游技能,请先询问我:移除意味着需要修改 upstreams.ts。

完成

当 agent-skills link 执行成功,并且每个变更在 ~/Dev/agent-skills 仓库中都有独立的提交,且已推送:

  • 仅暂存你修改过的文件(git add <paths>);其他代理可能正在仓库中有未完成的工作。
  • 编写提交信息说明技能变更的原因。
  • 提交后立即推送。

编写规范

  • 该仓库是公开的,因此每个技能都应作为公开文本编写:使用通用示例,避免包含我项目中的名称、路径和密钥。
  • 引用其他技能时使用其完整路径 ~/.agents/skills/<name>/SKILL.md。相对路径 ../<name> 在此仓库中会失效,因为我的技能和每个上游技能位于不同的文件夹中。
  • 关于编写本身,请遵循 ~/.agents/skills/writing-for-agents/SKILL.md 的指导。

运行不带参数的 agent-skills 命令可查看其可用命令列表。

相关技能