ship-it
Code commit, PR creation, merge, and issue closure workflow via GitHub CLI (gh). Triggers after a goal (GitHub Issue) implementation is complete — commit code, push branch, create PR, merge, then close the issue. Use when the user says "提交代码", "commit and merge", "创建PR", "合入", "关闭issue", "ship-it",
By smallnest · 414 installs
npx skills add smallnest/goal-workflow --skill ship-it
Source repository · Upstream listing
After Goal: 代码提交、PR 合入、Issue 关闭工作流(GitHub)
完成 GitHub Issue 实现后的标准收尾流程:提交代码 → 推送分支 → 创建 PR → 合入 → 关闭 Issue。
前置条件
当前 git 仓库有已实现的代码变更
已知 Issue 编号(如 42 )
gh CLI 已登录( gh auth status 可验证)
工作流
Step 1: 提交代码
关键规则:
commit message 中包含 issue number 以关联 Issue
只暂存当前 Issue 相关的文件,不要混入其他变更
Step 2: 推送分支
分支命名建议: feat/issue 42 short desc 或 fix/issue 42 short desc
Step 3: 创建 PR
关键规则:
PR body 中写 Closes N 或 Fixes N ,合入后 GitHub 自动关闭 Issue
title 简洁,不超过 70 字符
Step 4: 合入 PR
参数说明:
squash : 压缩为单个 commit 合入(推荐)
rebase : rebase 合入
merge : 普通 merge commit
delete branch : 合入后删除远程分支
Step 5: 添加实现总结评论
PR 合入 / Issue 关闭时,始终在 Issue 上添加实现总结评论,方便后续直接从 Issue 回溯设计决策与代码变更。
参考 note it 的四类结构组织总结内容: Design Decisions(设计决策) 、 Deviations(偏离) 、 Tradeoffs(权衡) 、 Open Questions(待确认) 。某一类无内容时写 None 并简要说明。
关键规则:
无论是 auto close 还是手动 close,都必须添加此评论
参考 note it 的四类结构(设计决策 / 偏离 / 权衡 / 待确认);某类无内容写 None
「实现亮点」提炼本次实现最值得关注的技术点(性能、设计、复用、测试等),无则写 None
核心变更从 PR body 的 Summary 部分提取,保持简洁(3 5 条 bullet)
附加 PR 编号和 commit hash,方便直接跳转
若已通过 /note it 生成 docs/issue XXXX.html ,可直接复用其四类内容,并在末尾附上该文件链接
Step 6: 手动关闭 Issue(仅当未自动关闭时)
如果 PR body 中已写 Closes N ,合入后 Issue 会自动关闭,跳过此步。否则手动关闭:
错误处理
场景 处理方式
gh pr checks 有失败项 查看失败原因,修复后追加 commit 推送
PR 有 merge conflict git fetch origin main && git rebase origin/main ,解决冲突后 force push
gh pr merge 被 branch protection 阻止 确认 required reviews 已满足,或请 reviewer approve
Issue 合入后未自动关闭 确认 PR body 包含 Closes N ,或执行 Step 6 手动 gh issue close
完整示例