用途
sync-melech-skills 是 AdirD/agent-shell-hamelech 的元技能(meta-skill),用于将该仓库中的每一个技能同步到用户全局的 ~/.agents/skills 锁文件,并分发到所有编码智能体。它由 Vercel 的 Skills CLI(vercel-labs/skills)管理。
旧技能名为 melech,当前技能名为 sync-melech-skills。如果全局锁中仍存在 melech,在安装本技能后应移除:npx skills remove melech -g -y。
主要能力
根据用户指令执行不同操作:
- 用户说 sync-melech-skills、sync melech skills、melech sync、keep skills up to date:执行应用(Apply),安装缺失技能并更新过期技能。
- 用户说 sync-melech-skills list、melech list、melech status:仅输出干目录(Dry catalog),不安装。
- 用户说 sync-melech-skills sync-local:执行创作仓库零偏差复制(本检出 → 本地安装)。
使用方式
应用(Apply)
解析本技能目录后运行:
python3 <skill-dir>/scripts/sync.py
该脚本会:
- 通过
status.py --json读取远程目录。 - 对远程技能中属于 new、outdated、untracked、broken-source 或缺少
~/.agents/skills/<name>/SKILL.md的项规划工作。 - 对每个技能:过期时先执行
skills update <name> -g -y,然后执行skills add AdirD/agent-shell-hamelech --skill <name> -g -y -a '*'。 - 保留远程已删除的技能,不卸载。
- 如果缺少 npm,停止并提示用户安装 Node.js。
应用后打印同步摘要(planned / applied / failed)。如有失败,显示该技能及 CLI 错误,不得假装库已是最新。
如需完整目录卡片,可重新运行:
python3 <skill-dir>/scripts/status.py
干目录(Dry catalog)
python3 <skill-dir>/scripts/status.py
python3 <skill-dir>/scripts/status.py --json
仓库检出方式:
python3 skills/sync-melech-skills/scripts/status.py
需要 gh 认证(首选)或 GITHUB_TOKEN / GH_TOKEN。
远程优先。GitHub 上的每个技能为一行。版本是 ~/.agents/.skill-lock.json 中的技能文件夹树 SHA,而非 semver。
状态含义与 Apply 动作:
- new:远程存在,全局锁中无 →
add -g -y -a '*' - outdated:锁 SHA 与远程不同 →
update -g -y,然后add -g -y -a '*' - current:锁与远程匹配且
~/.agents/skills/<name>存在 → 跳过 - broken-source:锁使用拼写错误 AdirD/agent-shel-hamelech → 用规范 slug 重新添加
- untracked:已安装,无本地哈希 → 重新添加
- remote-gone:仅本地存在,上游已删除 → 跳过(不删除)
创作检出专用(sync-local)
在本仓库的 skills/ 编辑并推送后,复制到同级 ~/Dev 检出和全局智能体目录:
python3 scripts/sync-local-skills.py --apply
这不是 sync-melech-skills 的替代品。sync.py 从 GitHub 拉取到全局锁;sync-local-skills.py 从本检出复制到其他本地树。
硬性规则
- 仅全局。每次 npx skills / npm exec 调用都使用 -g。绝不安装到仓库、./.agents、./.cursor 或任何项目锁。
- 面向所有智能体。添加时使用
-a '*'。除非用户指定某个智能体,否则不针对 Cursor-only 或 Claude-only。 - 非交互式。始终使用 -y。绝不运行可提示的 skills 命令。
- 绝不运行
npx skills check。它会别名到 update,可能改动非 Melech 技能。状态用捆绑的 status.py,应用用捆绑的 sync.py。 - 仅 Melech 技能。不要不带名称运行
skills update -g,那会升级无关的全局技能。 - CLI 调用以用户主目录为 cwd(脚本已处理),以免随机 git 仓库将范围切换为项目。
适用场景
- 需要将 AdirD/agent-shell-hamelech 的全部技能同步到全局环境并分发给所有编码智能体时。
- 需要查看远程技能目录状态(new、outdated、current 等)而不安装时。
- 在创作仓库中编辑并推送技能后,需要复制到其他本地检出和全局智能体目录时。
限制
- 仅处理 AdirD/agent-shell-hamelech 的技能,不影响其他全局技能。
- 需要 Node.js 和 npm;缺少时无法应用。
- 干目录需要 gh 认证或 GITHUB_TOKEN / GH_TOKEN。
- 不卸载远程已删除的技能。
- 版本基于技能文件夹树 SHA,而非 semver。
- 其他功能、收费、价格、平台、效果或使用步骤暂未提供。