用途:把本地改动整理成针对上游仓库(非本人所有)的规范 PR,处理 fork → 分支 → 提交 → 推送 → 开 PR 的完整链路;当改动涉及不相关主题时,拆分为多个 PR。适用于向无写权限的开源项目贡献、已有本地编辑需上游提交、被要求“fork 该仓库并发 PR”,以及混合改动(如文档+功能+重构)需合理拆分的情况。
主要能力:识别目标仓库(上游 owner/repo、默认分支、用户登录名);读取上游 CONTRIBUTING.md、CODE_OF_CONDUCT.md 与 PR 模板,遵循提交信息格式、DCO/CLA、分支命名等约束;用 git status/diff 梳理改动并按关注点、子系统、依赖关系分组;提出 PR 计划并让用户确认(单个 PR、拆分为 N 个 PR、或中止);幂等地 fork 并配置 fork remote;按 PR 分别创建分支与提交(支持 git commit -s 签名);推送至 fork;用 gh pr create 开 PR,并在多 PR 时互相交叉链接;最后输出简洁结果摘要。
使用方式:依赖 gh CLI 与 git,无 Python 依赖。安装 gh 可用 brew install gh(macOS),首次执行 gh auth login。核心命令包括 gh repo view、gh api、git fetch/checkout/commit/push、gh pr create 等,均按资料原样保留。运行前读取 Skill 包的 skill.yaml,由宿主提供 skill-runtime/v1 上下文,字段解析顺序为当前请求、项目上下文、个人 Preferences、品牌 Profile、通用默认值。
限制:不编写代码改动,假定用户或前序步骤已在工作区准备好修改;不审查项目自身的 PR;仅支持 GitHub,不支持 GitLab/Gitea 镜像。禁止直接编辑上游默认分支、禁止推送到上游(只推 fork)、禁止在已有评审意见的 PR 分支上强制推送、禁止绕过钩子或跳过签名(除非 CONTRIBUTING.md 要求或用户明确同意)、禁止把不相关改动塞进同一 PR、禁止编造 PR 正文。拆分建议:改动服务同一用户可见结果、总 diff 约 300 行以内且不超过 5 个文件时优先单个 PR;文档与代码并存、重构+功能、涉及不相关子系统、或一项改动简单另一项需讨论时优先拆分。
反馈闭环:用户提出修改意见时,先判断是仅本次任务还是可复用;可复用规则需先更新对应规范并完成版本、lint 与分发核验,再应用到当前任务,且此前确认失效,需停下等待用户下一步指示。