PR描述生成器Skill describe-pr

PR描述生成器是一个自动化工具,用于根据仓库模板生成全面的拉取请求描述。它分析代码更改、收集PR信息、执行验证步骤,并更新PR描述,提高代码审查效率和协作质量。关键词:拉取请求、PR描述、自动化、代码审查、GitHub、DevOps、软件协作。

DevOps 0 次安装 0 次浏览 更新于 3/14/2026

name: describe-pr description: 根据仓库模板生成全面的PR描述

生成PR描述

您被任务根据仓库的标准模板生成全面的拉取请求描述。

步骤遵循:

  1. 读取PR描述模板:

    • 首先,检查thoughts/shared/pr_description.md是否存在
    • 如果不存在,通知用户需要在thoughts/shared/pr_description.md创建PR描述模板
    • 仔细阅读模板以理解所有部分和要求
  2. 识别要描述的PR:

    • 检查当前分支是否有相关的PR:gh pr view --json url,number,title,state 2>/dev/null
    • 如果当前分支没有PR,或者如果在main/master分支上,列出打开的PR:gh pr list --limit 10 --json number,title,headRefName,author
    • 询问用户想要描述哪个PR
  3. 检查现有描述:

    • 检查thoughts/shared/prs/{number}_description.md是否已存在
    • 如果存在,读取它并通知用户将更新它
    • 考虑自上次描述写入以来发生了什么变化
  4. 收集全面的PR信息:

    • 获取完整的PR差异:gh pr diff {number}
    • 如果收到没有默认远程仓库的错误,指示用户运行gh repo set-default并选择适当的仓库
    • 获取提交历史:gh pr view {number} --json commits
    • 审查基础分支:gh pr view {number} --json baseRefName
    • 获取PR元数据:gh pr view {number} --json url,title,number,state

4b. 收集推理历史(如果可用):

  • 检查推理文件是否存在:ls .git/claude/commits/*/reasoning.md 2>/dev/null
  • 如果存在,聚合它们:bash "$CLAUDE_PROJECT_DIR/.claude/scripts/aggregate-reasoning.sh" main
  • 这显示了在最终解决方案之前尝试了哪些方法
  • 保存输出以便包含在PR描述中
  1. 彻底分析更改:(深入思考代码更改、其架构含义和潜在影响)

    • 仔细阅读整个差异
    • 对于上下文,读取任何在差异中未显示但被引用的文件
    • 理解每个更改的目的和影响
    • 识别面向用户的更改与内部实现细节
    • 寻找破坏性更改或迁移要求
  2. 处理验证要求:

    • 查找模板中“如何验证”部分的任何清单项
    • 对于每个验证步骤:
      • 如果是可以运行的命令(如make check testnpm test等),运行它
      • 如果通过,将复选框标记为已勾选:- [x]
      • 如果失败,保持未勾选并记录失败原因:- [ ]并说明
      • 如果需要手动测试(UI交互、外部服务),保持未勾选并通知用户
    • 记录任何无法完成的验证步骤
  3. 生成描述:

    • 彻底填写模板中的每个部分:
      • 基于分析回答每个问题/部分
      • 具体说明解决的问题和所做的更改
      • 在相关处关注用户影响
      • 在适当部分包含技术细节
      • 编写简洁的变更日志条目
    • 如果找到推理文件(来自步骤4b):
      • 在“## How to verify it”之前添加“## Approaches Tried”部分
      • 包含聚合的推理,显示失败的尝试和学到的内容
      • 这有助于审阅者理解过程,而不仅仅是结果
    • 确保所有清单项都被处理(勾选或解释)
  4. 保存描述:

    • 将完成的描述写入thoughts/shared/prs/{number}_description.md
    • 向用户显示生成的描述
  5. 更新PR:

    • 直接更新PR描述:gh pr edit {number} --body-file thoughts/shared/prs/{number}_description.md
    • 确认更新成功
    • 如果任何验证步骤保持未勾选,提醒用户在合并前完成它们

重要注意事项:

  • 此命令适用于不同的仓库 - 始终读取本地模板
  • 要彻底但简洁 - 描述应易于扫描
  • 关注“为什么”和“什么”一样重要
  • 突出显示任何破坏性更改或迁移说明
  • 如果PR涉及多个组件,相应组织描述
  • 尽可能尝试运行验证命令
  • 明确沟通哪些验证步骤需要手动测试