pr 是什么?
pr 不是单一工具,而是一类 Agent Skill 的统称。不同来源的 pr Skill 在功能侧重上差异明显,但共同目标是:让 AI 编码助手在创建或更新 Pull Request 时,产出比手写更一致、更可评审的描述。
目前主流的 pr Skill 可以分为几个方向:创建型(生成 PR 描述并推送)、评审型(自动化 PR code review)、整理型(把杂乱提交整理成逻辑清晰的 PR)、以及全流程型(从 issue 到 merge 的完整管线)。
值得注意的是,pr 也被用作教学示例——Claude 官方 Academy 的“创建你的第一个 Skill”课程中,就是用 pr-description 来演示 Skill 的 frontmatter 结构和匹配机制。
pr 的主要功能
PR 描述自动生成。读取 git diff main...HEAD,按照团队既定格式输出描述。常见结构包括 What/Why/Changes、Conventional PR(Intent/Summary/Rationale/Test plan)、以及带表格和文件级拆解的深度模板。
Conventional PR 格式。以 Conventional Commits 为参照,标准化 PR 描述结构:Summary、Changes、Rationale、Test plan。这种格式既方便人类评审,也方便 AI 在后续 code review 中读取“作者意图”。
多平台支持。自动检测 GitHub 或 GitLab,通过 gh 或 glab CLI 创建 PR/MR,处理分支检测、重复 PR 检查、目标分支定位等。
PR 评审循环。部分 pr Skill 专注评审端:并行运行安全审查、可维护性审查、代码质量审查,或逐条处理 PR 评论直到阻塞项清除。
提交历史整理。把当前未提交的 diff 转化为逻辑自洽的 Conventional Commits,便于评审者按提交粒度理解改动。
pr 的核心特色
证据驱动,而非“编造”描述。一个值得注意的设计方向是 write-pr 提出的 3 层证据栈:从 diff 中提取具体文件引用、运行验证命令、用 file:line 标注来源。它强制 AI 基于实际改动写描述,而不是生成看起来合理但未经核实的概括。
模板可校准。pr-perfect 的做法是:让你把团队最近 3 个已合并 PR 的格式喂给 Skill,之后它生成的描述会“像你们团队的”而不是通用模板。Conventional PR 格式则是另一种可复用标准。
草稿优先,人工确认。多数 pr Skill 不会直接推送或创建 PR,而是先展示生成的内容供你调整。openclaw-pr-workflow 甚至要求 PR 以 draft 状态创建,二次确认后才标记 ready。
“不在实现对话里写 PR 描述是浪费。”optimus:pr 的核心理念:PR 描述应该在同一场实现对话中生成,因为那场对话包含了设计决策、非目标、权衡取舍——这些信息是事后单独写描述无法复原的。
pr 可以用来做什么?
快速把功能分支变成可评审的 PR。实现完成后运行 /pr,AI 读取 diff、生成描述、推送并创建 PR。适合日常功能开发收尾。
统一团队 PR 格式。如果你厌倦了每次手动调整标题、摘要、测试计划,pr Skill 可以固化格式,让每个 PR 形状一致。
整理混乱的提交历史。把“wip”“fix typo”“actually fix”这类提交重组为逻辑清晰的 Conventional Commits,再生成 PR。
自动化 PR 评审。不写 PR 而是审 PR:并行运行多个审查视角,输出结构化反馈。
不适合的场景:需要复杂人工判断的架构评审、需要跨仓库协调的发布 PR、以及对 PR 创建有严格合规要求的企业环境。
pr 适合哪些人?
- 频繁创建 PR 的开发者:把“写描述”这件事从手动切换到自动化。
- 团队协作中格式不统一的团队:用 Skill 固化 PR 模板,减少评审时的格式摩擦。
- 使用 AI 编码助手并希望减少上下文切换的人:实现完成后直接说“create a PR”,不用停下来想怎么写。
- 需要 AI 辅助 PR 评审的维护者:用评审型 Skill 做第一轮自动化筛选。
不太适合:从不写 PR 描述的个人项目、需要高度定制 PR 流程的 monorepo、以及不信任 AI 处理 git 操作的场景。
pr 如何安装?
pr 没有统一的“官方安装入口”,不同来源的安装方式不同:
方式一:通过 skills CLI 安装(通用)
npx skills add <owner>/<repo> --skill <pr-skill-name>
例如从 xpepper/pr-review-agent-skill 安装:
npx skills add xpepper/pr-review-agent-skill/pr-review-loop
方式二:通过 CLI 包安装(pr-skills)
npm install -g pr-skills
pr-skills add --all --global --yes
pr-skills 支持 Cursor、Claude Code、Codex、OpenCode 的目录结构。
方式三:手动复制
多数 pr Skill 是纯 Markdown 文件。按 Agent 的 skills 目录手动复制即可,例如 Claude Code 的 ~/.claude/skills/。
pr 怎么使用?
基本流程(创建型):
- 在功能分支上完成实现和提交。
- 对 AI 说 “create a PR” 或运行
/pr。 - AI 读取
git diff main...HEAD,生成描述预览。 - 确认或调整后,AI 推送分支并调用
gh pr create。 - 返回 PR URL。
optimus:pr 的推荐工作流:
在实现对话中运行 /optimus:commit,然后立即运行 /optimus:pr。PR 描述会自动填充 Intent(Problem/Scope/Non-goals/Key decisions),这些内容来自实现对话的上下文。之后切换到新对话运行 code review,让评审方读取 PR 描述作为“作者意图”。
pr-perfect 的自定义方式:
把团队已合并 PR 的格式导出到 Skill 的 references 目录,之后生成的描述会模仿你们团队的风格。
pr 使用技巧
在实现对话中写 PR,而不是另起对话。这是 optimus:pr 强调的核心技巧。实现过程中的决策上下文是 PR 描述中最有价值的部分,离开那场对话后就很难复原。
用 PR 描述“喂”给 code review。结构化的 PR 描述不仅方便人类评审,也是 AI code review 的重要输入。Conventional PR 的 Intent 部分直接告诉评审方“这个 PR 想做什么”,让评审聚焦于“是否做到了”。
先整理提交,再写 PR。如果提交历史混乱,先用 prepare-review-commits 之类的 Skill 把 diff 整理成逻辑自洽的提交序列,再生成 PR 描述。评审者可以按提交粒度理解改动,而不是面对一个巨大的混合 diff。
把 PR 创建设为“draft 优先”。openclaw-pr-workflow 的实践:默认以 draft 创建 PR,人工确认后才标记 ready。适合对 PR 质量有较高要求、不希望半成品被误合并的场景。
pr 收费吗?
Skill 本身免费。搜索到的 pr 相关 Skill 均以开源形式发布(MIT 或其他开源许可证),不收取费用。你只需要为使用的 AI 编码助手(Claude Code、Cursor 等)支付订阅费用。
pr 的优点与缺点
| 维度 | 优点 | 缺点 |
|---|---|---|
| 一致性 | 固化的模板让每个 PR 形状统一,减少格式返工 | 模板不匹配团队习惯时需要额外校准 |
| 上下文利用 | 在实现对话中生成描述,保留设计决策和权衡 | 如果实现和 PR 生成分离,描述质量下降 |
| 自动化程度 | 从 diff 到 PR URL 一条命令完成 | 对 git 操作的自动化需要信任,部分场景需人工确认 |
| 生态多样性 | 创建、评审、整理、全流程均有对应 Skill | 同名 Skill 来源众多,选择时需要甄别质量 |
| 评审友好 | 结构化描述为人类和 AI 评审提供作者意图 | 过度模板化可能产生“填表式”描述,丧失重点 |
pr 与同类工具对比
vs 手动写 PR 描述。手动描述依赖你对 diff 的记忆和概括能力。pr Skill 直接读取 diff,且可以利用实现对话的上下文。对于改动复杂或时间间隔较久的 PR,Skill 的优势更明显。
vs GitHub PR 模板。模板是静态的,你需要自己填写。pr Skill 是动态的:它读取实际 diff,按模板结构填充内容,甚至根据改动类型调整 sections。
vs Copilot 的 PR 摘要。GitHub Copilot 可以生成 PR 摘要,但通常是通用格式。pr Skill 的可定制性更强:你可以用团队已合并 PR 校准输出风格,或要求特定的章节结构(如文件级拆解、验证清单)。
vs 纯 git 工作流 Skill。一些 Skill 只负责 commit message(如 Conventional Commits)。pr Skill 覆盖更完整的链:从 diff 分析到 PR 创建,commit message 只是其中一环。
pr 常见问题 FAQ
Q:pr Skill 会自动推送代码或创建 PR 吗?
取决于具体 Skill。多数创建型 Skill 会先展示生成内容,确认后才推送。openclaw-pr-workflow 默认以 draft 创建,需要二次确认才标记 ready。评审型 Skill 通常只读,不修改 PR。
Q:pr 和 code review Skill 是什么关系?
互补。pr Skill 负责“把改动说清楚”,code review Skill 负责“检查改动是否正确”。Conventional PR 格式的设计初衷之一,就是让 code review Skill 能读取 PR 描述中的作者意图,从而做更有针对性的评审。
Q:我用的不是 GitHub,pr 能用吗?
部分可以。optimus:pr 同时支持 GitHub(gh)和 GitLab(glab),自动从 remote URL 检测平台。其他 Skill 可能只支持 GitHub。
Q:pr 会修改我的 git 历史吗?
大多数不会。prepare-review-commits 明确标注“Never rewrites history or pushes”。创建型 Skill 通常只是 push 新分支和创建 PR,不 rebase 或 squash 已有提交。
Q:为什么有这么多同名 pr Skill?
因为“PR 工作流”是 AI 编码助手的核心场景之一,不同开发者和团队根据自己的痛点做了不同侧重。选择时看它解决的具体问题:是创建描述、评审、整理提交,还是全流程自动化。
pr 综合评价
pr Skill 解决的是一个真实但常被低估的摩擦:代码写完了,但把它变成“可评审的 PR”还需要额外的心智切换。这个切换包括:回忆改了什么、组织成描述、检查格式是否符合团队规范、然后执行 git/gh 命令。
pr Skill 的价值不在于“AI 替你写 PR”,而在于把 PR 描述还原为它本来的样子:一份从代码改动直接推导出的结构化文档。当描述由 diff 和实现上下文生成时,它更接近事实,而不是事后回忆。
它的门槛在于选择。pr 不是单一产品,而是一类工具的统称。你需要先明确自己的痛点:是描述写得太慢、格式不统一、提交历史混乱,还是评审反馈处理不过来。然后选择对应方向的 Skill。
对于日常在功能分支上工作的开发者,一个创建型 pr Skill(如 optimus:pr 或 pr-perfect)能消除每天多次的小摩擦。对于维护者,评审型 Skill 能做第一轮自动化筛选。两者结合使用时,PR 描述的格式化输出会成为 code review 的“作者意图输入”,形成从创建到评审的闭环。

◯ 评论 0