用途:将一个新建或更新过的 Agent Skill 发布到 nangongwentian-fe/jay-skills 仓库,并把发布后的版本重新安装到规范全局技能目录(~/.agents/skills/<skill-name>)。
授权边界:技能创建或更新完成后,先询问用户一次是否要同步、发布并重新安装。确认内容需包含仓库、技能名、发布分支、Git push 与全局安装;一次肯定答复即授权执行整个流程(含受限的一次性 SSH 回退)。出现冲突、意外脏工作区、身份不匹配、新凭据需求、校验失败或范围扩大时需重新确认。不得据此推断可发布其他技能、改写 Git 历史、force-push、修改 remote 或暴露私有技能。
来源解析:定位本地 jay-skills 检出,确认其 remote 指向 nangongwentian-fe/jay-skills;目标为 skills/<skill-name>,并证明其在仓库 skills/ 目录内。已有技能直接编辑并校验仓库目标;外部新建技能仅在仓库目标不存在时导入完整目录。已存在目标与外部或已安装副本不一致时,不覆盖目标,只展示差异并移植预期改动,不因发布成功而移动、删除或改写项目源或已安装副本。
仓库更新:编辑前检查 git status --short --branch、当前分支、近期提交、remote 与远程默认分支。安装命令读取默认分支,因此发布分支须为远程默认分支(nangongwentian-fe/jay-skills 为 main),且当前分支与 upstream 一致,否则在提交前停止并取得明确切换或合并方向。只更新该技能相关产物:完整 skills/<skill-name> 目录、其已有定向文档或 evals、描述或用法变化时对应根 README 表格行与详情段、仅当 CLI 契约变化时的共享安装示例。
校验:对仓库技能运行 Skill Creator 的 scripts/quick_validate.py;用原生解析器或定向检查校验变更的 JSON、脚本等资源;运行 git diff --check 并检查完整 diff 是否含密钥、生成产物、误删与无关文件。重大流程变更需补充真实 eval 用例,考查决策与可观察结果。校验通过前不得发布。
提交与推送:同一技能成果合并为一个提交,否则按主题拆分,只暂存已审查文件;使用 feat、fix、docs、chore 等 Conventional Commit 类型;主题与 2–5 条结果导向正文用中文(用户另行要求除外);未经明确要求不加 Co-Authored-By;不得 amend、rebase、force-push 或切换分支。推送授权远程默认分支并验证 remote-tracking 分支指向新提交。仅因凭据不可用导致 HTTPS 推送失败时,可验证已有 GitHub SSH 身份并通过等价 SSH URL 推送一次且不改 origin,随后 fetch 刷新跟踪引用;身份不匹配、需新凭据或改 remote、非认证失败时停止询问。
安装:仅在远程提交验证后,按已授权非交互安装:npx skills add nangongwentian-fe/jay-skills --skill <skill-name> --global --yes。不要传 --agent。成功目标为 ~/.agents/skills/<skill-name>,Codex 可直接发现,无需创建 ~/.codex/skills 或 ~/.claude/skills 链接。比对已安装 SKILL.md、完整文件集与内容是否与已推送版本一致,忽略仅行尾差异;不能只信安装器退出码。发布成功但安装或校验失败时保留已发布提交、报告安装状态并停止,不回滚或改写远程历史。
完成报告:变更的技能与文档路径、校验与 eval 结果、提交哈希/主题/分支/推送结果、规范安装路径与内容校验结果、剩余警告、冲突或无关工作区改动。