关于 create-pr
create-pr 是用于准备并发布 GitHub 可审查拉取请求的工作流技能。它指导开发者检查仓库状态、依据验证证据撰写说明、处理评审机器人策略,并通过 GitHub CLI 核验结果。
主要功能
- 01检查分支、改动和现有 PR
- 02依据仓库证据起草 PR 内容
- 03使用 gh 创建或更新 PR
- 04处理 CodeRabbit 与 Greptile 策略
- 05核验已发布的 PR 信息
适用场景
- 01根据预期差异准备 PR
- 02更新分支已有的 PR
- 03确认堆叠顺序后发布 PR
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ sjunepark/ agent-scripts --skill create-pr安装后在 Claude Code 中输入/create-pr确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlreview-bots/coderabbit.mdgreptile.mdworkflows/stacked-prs.md详细介绍
创建 PR
根据预期差异和验证证据创建可供审查的 PR。需要 Git 和经过身份验证的 GitHub CLI 访问权限。
工作流
-
打开 PR 前,先检查 PR 涉及的内容。
- 检查当前分支、上游、未提交的更改、现有 PR 状态、基分支证据、相关差异、提交和验证输出。
- 创建或更新 PR 的请求,即授权提交并推送相关更改,以发布预期内容,除非用户将任务限定为起草或检查。复用先前授权,并保留无关更改。如果预期差异或发布目标存在实质性不明确之处,请先检查并验证候选差异,准备好 PR 草稿,再询问相关边界。
- 如果该分支已有 PR,请更新现有 PR,而不是创建重复 PR。
- 对于堆叠式 PR,在创建或重定向分支或 PR 前,请阅读 workflows/stacked-prs.md。根据仓库证据和现有说明,确认集成分支、父级顺序和合并顺序; 只有在仍有实质性选择无法确定时才询问。
-
根据证据起草 PR。
- 如果仓库中有 PR 模板,请使用该模板,但移除不相关的提示。
- 标题应具体明确,并便于保留合并历史。
- 说明具体问题、产生的行为、验证情况和重大风险。仅在有助于审查者理解时使用章节。
- 明确说明跳过的验证。不要因为代码看起来合理就暗示测试已通过。
- 只有在用户明确希望合并时关闭关联问题时,才使用关闭问题的关键词。
-
使用
gh创建或更新。- 创建 PR 前,根据下文解决 AI 审查决策,并加载适用的机器人控制指南;某些控制必须包含在初始正文或标签中。
- 优先使用
gh pr create --base <base> --head <branch> --title <title> --body-file <file>,以便多行正文和机器人命令能原样保留。 - 默认创建可供审查的 PR。仅当用户要求创建草稿、用户将工作称为 WIP、仓库说明要求此类情况创建草稿,或 PR 明确用于提前公开而非审查时,才添加
--draft。验证未完成本身不足以成为创建草稿的理由。 - 仅在用户提出要求或仓库惯例明确支持时,才使用其他审查者、标签、指派人和里程碑标志。
- 创建或编辑后,使用
gh pr view --json url,number,title,state,baseRefName,headRefName,isDraft,labels进行验证。
AI 评审决策
创建 PR 前,检查 .coderabbit.yaml、.coderabbit.yml 和
greptile.json(如果存在)。遵循用户和仓库现有的评审策略。如果没有更具体的策略,则使用 coderabbit-review 请求 CodeRabbit 进行初次评审,其余评审遵循配置或服务默认设置。只有在所选策略要求抑制评审时才抑制;仅处于草稿状态或验证尚未完成,不足以推翻该策略。
除非用户要求更改配置,或没有 PR 级别的方式实现所需行为,否则不要仅为创建 PR 而修改评审机器人配置;如果需要修改配置,请在修改前说明。
如果 CodeRabbit 可能运行、被抑制或被手动触发,或者需要解读现有的 CodeRabbit 配置,请在最终确定 PR 正文和标签前阅读 review-bots/coderabbit.md。
如果用户要求控制 Greptile、存在 greptile.json,或仓库证据表明 Greptile 会评审 PR,请在允许、抑制或手动触发 Greptile 前阅读
review-bots/greptile.md。
只有当现有说明未能解决问题时,才在准备好 PR 和适用的控制措施后,解决实质性的评审策略缺口。遵循相关指南处理抑制评审或仅手动评审的请求;不要把默认策略变成必须由用户选择的选项。
创建后
创建或更新 PR 后:
- 报告 PR URL、基础分支/头部分支、草稿状态,以及任何评审者/标签分配情况。
- 对于堆叠 PR,报告其位置、依赖项、集成分支以及下一步合并操作。
- 准确说明 CodeRabbit 和 Greptile 的处理情况:采用默认设置、已禁用、使用了选择加入标签/正文关键词、已发布手动触发评论,或需要更改配置但未更改。
- 如果用户要求发布机器人评论,仅在 PR 创建后使用
gh pr comment <number-or-url> --body '<command>'发布。