关于 codex-pr-body
用于更新拉取请求标题和正文的 Codex 技能,着重说明改动动机、内容与验证方式,并保留现有正文中的重要信息。
主要功能
- 01根据分支或提交识别 PR
- 02使用 gh 编辑标题和正文
- 03保留现有正文中的关键信息
- 04说明动机、改动与验证方式
- 05处理堆叠式 PR 和 Sapling
适用场景
- 01为当前分支的改动撰写 PR 描述
- 02按净改动修订堆叠式 PR 正文
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ openai/ codex --skill codex-pr-body安装后在 Claude Code 中输入/codex-pr-body确认已加载。
详细介绍
确定 PR
调用此技能时,可能会明确指定要更新的 PR;但通常会根据用户当前正在使用的分支 / 提交来推断要更新的 PR。对于常规 Git 用法(即下文讨论的 Sapling 以外的情况),你可能需要结合使用 git branch 和 gh pr view <branch> --repo openai/codex --json number --jq '.number',以确定与当前分支 / 提交关联的 PR。
PR 正文内容
调用时,使用 gh 编辑 PR 正文和标题,使其反映指定 PR 的内容。请务必检查现有的 PR 正文,看看是否有应保留的关键信息。例如,绝不要删除现有 PR 正文中的图片,因为作者可能无法恢复被删除的图片。
务必说明进行此次更改的_原因_。如果调用此技能的当前对话中讨论了更改动机,请务必将其写入 PR 正文。
正文还应说明_更改内容_,但这部分应放在_原因_之后。
讨论范围应限于提交的_净更改_。通常不应提及 PR 开发过程中曾尝试但后来撤销的更改。重写 PR 正文时,可能需要删除这类已不再适用或与未来读者无关的细节。
避免提及本地磁盘上的绝对路径。提及仓库内的路径时,只需使用相对于仓库根目录的路径。
避免提及机密信息,包括但不限于代号或 OpenAI 内部 URL。
通常最好说明如何验证了更改。不过,无需提及 CI 会自动检查的内容,例如,不要将“运行了 just fmt”写入测试计划。若 PR 专门引入了用于验证新行为的新测试,通常适合说明这些测试。
使用 Markdown 对 PR 进行专业排版。行内提及“代码内容”时,请用一对反引号括起来。引用代码或展示 shell 会话记录时,使用围栏代码块会很有帮助。此外,引用与更改相关的现有代码时,也请使用 GitHub 永久链接。
请务必引用相关的 PR 或问题,但无需在 PR 正文中引用该 PR 本身。
如果此次更改需要更新 https://developers.openai.com/codex 上的文档,请在 PR 正文接近末尾的位置单独设一节说明。如果无需更新文档,则省略此节。
使用提交栈
有时,PR 由一系列相互构建的提交组成。在这种情况下,PR 正文应反映整个提交栈带来的_净更改_,而非构成该提交栈的单个提交。
类似地,有时用户会使用 Sapling 之类的工具创建_堆叠式 PR_。此时,PR 的 base 可能是提交栈中另一个 PR 的 head 分支,而不是 main。这种情况下,请确保只讨论针对该堆叠式基分支所打开的 PR 中 base 与 head 之间的净更改,而不是相对于 main 的更改。
Sapling
如果存在 .git/sl/store,则此 Git 仓库由 Sapling SCM(https://sapling-scm.com)管理。
在 Sapling 中,运行以下命令,查看当前修订版本是否关联了 GitHub 拉取请求:
sl log --template '{github_pull_request_url}' -r .
或者,你可以运行 sl sl,查看当前开发分支,以及当前提交是否关联了 GitHub 拉取请求。例如,如果输出如下:
@ cb032b31cf 72 minutes ago mbolin #11412
╭─╯ tui: show non-file layer content in /debug-config
│
o fdd0cd1de9 Today at 20:09 origin/main
│
~
@表示当前提交是cb032b31cf- 这是一个开发分支,包含单个提交,基于
origin/main创建 - 它关联了 GitHub 拉取请求 #11412