用途:当某个技能需要在多个本地 Agent 技能目录中可用时使用,例如用户要求把技能同步或分发到其他 Agent。该技能基于 4 个规范位置:Codex/OpenAI Agents 使用 ~/.agents/skills/(主副本,先在此编写),Claude Code 使用 ~/.claude/skills/,Pi Agent 使用 ~/.pi/agent/skills/,Hermes Agent 使用 ~/.hermes/skills/;其中 .claude 和 .pi 通常是指向 ~/.agents/skills/ 的符号链接,只有 Hermes 是独立副本。
主要能力:在 ~/.agents/skills/<skill-name>/SKILL.md 编写技能后,检查 .claude 符号链接是否完好(ls -la ~/.claude/skills,期望输出 ~/.claude/skills -> ~/.agents/skills;若是真实目录则视为副本已分叉,需先询问用户)。随后只需复制到 Hermes:SKILL=<skill-name>,cp -r ~/.agents/skills/$SKILL ~/.hermes/skills/;并校验 4 个位置的 SKILL.md 字节数一致,使用 for 循环遍历 ~/.agents/skills/$SKILL、~/.claude/skills/$SKILL、~/.pi/agent/skills/$SKILL、~/.hermes/skills/$SKILL 执行 wc -c。更新已分发技能时重复同样流程,.claude 与 .pi 会自动更新,若目录含嵌套文件可用 rsync -a --delete ~/.agents/skills/$SKILL/ ~/.hermes/skills/$SKILL/。
限制与注意事项:~/.pi/skills/ 是错误位置,Pi Agent 只从 ~/.pi/agent/skills/ 加载,放错会不可见且可能成为孤儿文件,删除前需与用户确认;~/.claude/skills 是符号链接而非目录,向其 cp 会报 are identical;项目本地技能(如仓库内 ./.pi/agent/skills/ 或 .pi/skills/)会覆盖全局技能,此技能只处理全局分发;Hermes 在会话开始时快照技能,新分发的技能需重启会话才可见,其余 3 个 Agent 立即生效;文件名大小写敏感,SKILL.md 必须大写。若技能仅属于某个项目,应放入仓库本地目录而非全局;删除全局技能具有破坏性,须先展示将被删除的目录并征得用户同意。执行命令、远程访问或改文件流程前应取得用户明确批准并确认目标环境。