关于 describe-pr
describe-pr 是用于生成符合仓库规范的 Pull Request 描述的技能。它读取本地模板、收集 PR 变更与元数据、处理验证清单,并保存和更新描述。
主要功能
- 01读取仓库的 PR 模板
- 02查找并检查 Pull Request
- 03审阅差异、提交和推理记录
- 04执行模板中的验证步骤
- 05保存并更新 PR 描述
适用场景
- 01为待处理的 PR 编写描述
- 02变更后更新现有 PR 描述
- 03更新 PR 前检查验证步骤
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ parcadei/ continuous-claude-v3 --skill describe-pr安装后在 Claude Code 中输入/describe-pr确认已加载。
详细介绍
生成 PR 描述
你的任务是按照仓库的标准模板生成全面的拉取请求描述。
操作步骤:
-
阅读 PR 描述模板:
- 首先,检查
thoughts/shared/pr_description.md是否存在 - 如果不存在,告知用户需要在
thoughts/shared/pr_description.md创建 PR 描述模板 - 仔细阅读模板,了解所有章节和要求
- 首先,检查
-
确定要描述的 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
- 检查当前分支是否关联了 PR:
-
检查是否已有描述:
- 检查
thoughts/shared/prs/{number}_description.md是否已存在 - 如果存在,阅读该文件,并告知用户你将对其进行更新
- 考虑自上次撰写描述以来发生了哪些变化
- 检查
-
全面收集 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
- 获取完整的 PR 差异:
4b. 收集推理历史(如果有):
- 检查推理文件是否存在:
ls .git/claude/commits/*/reasoning.md 2>/dev/null - 如果存在,汇总这些文件:
bash "$CLAUDE_PROJECT_DIR/.claude/scripts/aggregate-reasoning.sh" main - 这会展示最终方案确定前尝试过的方法
- 保存输出,以便纳入 PR 描述
-
全面分析更改:(深入思考代码更改、其架构影响及潜在影响)
- 仔细阅读完整的差异
- 为了解上下文,阅读差异中提及但未显示的文件
- 理解每项更改的目的和影响
- 区分面向用户的更改与内部实现细节
- 查找破坏性更改或迁移要求
-
处理验证要求:
- 查找模板「如何验证」部分中的所有检查项
- 对于每个验证步骤:
- 如果是可以运行的命令(例如
make check test、npm test等),则运行该命令 - 如果通过,将复选框标记为已选中:
- [x] - 如果失败,保持未选中,并注明失败内容:
- [ ],附上说明 - 如果需要手动测试(UI 交互、外部服务),则保持未选中,并注明需由用户执行
- 如果是可以运行的命令(例如
- 记录所有无法完成的验证步骤
-
生成描述:
- 根据模板填写每个部分:
- 根据分析回答每个问题或填写每个章节
- 具体说明解决的问题和所做的更改
- 在相关处重点说明对用户的影响
- 在适当的章节中加入技术细节
- 撰写简洁的变更日志条目
- 如果找到了推理文件(来自步骤 4b):
- 在「如何验证」之前添加一个「## 尝试过的方法」章节
- 纳入汇总后的推理内容,展示失败的尝试及从中获得的经验
- 这有助于审核者了解整个过程,而不仅仅是最终结果
- 确保处理所有检查项(标记为已完成或说明原因)
- 根据模板填写每个部分:
-
保存描述:
- 将完成的描述写入
thoughts/shared/prs/{number}_description.md - 向用户展示生成的描述
- 将完成的描述写入
-
更新 PR:
- 直接更新 PR 描述:
gh pr edit {number} --body-file thoughts/shared/prs/{number}_description.md - 确认更新成功
- 如果仍有未选中的验证步骤,提醒用户在合并前完成这些步骤
- 直接更新 PR 描述:
重要说明:
- 此命令适用于不同的仓库——始终阅读本地模板
- 内容要详尽但简洁,便于快速浏览
- 说明「为什么」和「是什么」同样重要
- 突出说明任何不兼容变更或迁移注意事项
- 如果 PR 涉及多个组件,请按组件组织说明
- 始终尽可能尝试运行验证命令
- 明确说明哪些验证步骤需要手动测试
评论
支持 Markdown