mcpField
C
create-pr

create-pr

github.com/sjunepark开发167 次安装1 天前更新
代码仓库

关于 create-pr

create-pr 是用于准备并发布 GitHub 可审查拉取请求的工作流技能。它指导开发者检查仓库状态、依据验证证据撰写说明、处理评审机器人策略,并通过 GitHub CLI 核验结果。

主要功能

  1. 01检查分支、改动和现有 PR
  2. 02依据仓库证据起草 PR 内容
  3. 03使用 gh 创建或更新 PR
  4. 04处理 CodeRabbit 与 Greptile 策略
  5. 05核验已发布的 PR 信息

适用场景

  1. 01根据预期差异准备 PR
  2. 02更新分支已有的 PR
  3. 03确认堆叠顺序后发布 PR

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/sjunepark/agent-scripts --skill create-pr

安装后在 Claude Code 中输入/create-pr确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
review-bots/
coderabbit.md
greptile.md
workflows/
stacked-prs.md

详细介绍

创建 PR

根据预期差异和验证证据创建可供审查的 PR。需要 Git 和经过身份验证的 GitHub CLI 访问权限。

工作流

  1. 打开 PR 前,先检查 PR 涉及的内容。

    • 检查当前分支、上游、未提交的更改、现有 PR 状态、基分支证据、相关差异、提交和验证输出。
    • 创建或更新 PR 的请求,即授权提交并推送相关更改,以发布预期内容,除非用户将任务限定为起草或检查。复用先前授权,并保留无关更改。如果预期差异或发布目标存在实质性不明确之处,请先检查并验证候选差异,准备好 PR 草稿,再询问相关边界。
    • 如果该分支已有 PR,请更新现有 PR,而不是创建重复 PR。
    • 对于堆叠式 PR,在创建或重定向分支或 PR 前,请阅读 workflows/stacked-prs.md。根据仓库证据和现有说明,确认集成分支、父级顺序和合并顺序; 只有在仍有实质性选择无法确定时才询问。
  2. 根据证据起草 PR。

    • 如果仓库中有 PR 模板,请使用该模板,但移除不相关的提示。
    • 标题应具体明确,并便于保留合并历史。
    • 说明具体问题、产生的行为、验证情况和重大风险。仅在有助于审查者理解时使用章节。
    • 明确说明跳过的验证。不要因为代码看起来合理就暗示测试已通过。
    • 只有在用户明确希望合并时关闭关联问题时,才使用关闭问题的关键词。
  3. 使用 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>' 发布。

评论

支持 Markdown