其他
需要为 GitHub PR…
适用于用仓库 PR 模板和 gh CLI 为指定 PR 生成、更新、校验并写回完整描述的场景。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 35/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 38/100 ×0.15
适用场景
需要为 GitHub PR 生成符合仓库特定
解决思路
- 检查 `thoughts/shared/pr_description.md` 是否存在;若不存在,告知用户需要在该路径创建 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。
- 检查 `thoughts/shared/prs/{number}_description.md` 是否已存在。
- 如果已存在,读取它并告知用户将更新该描述。
- 思考自上次描述写入以来发生了什么变化。
- 获取完整 PR diff:运行 `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`。
- 检查推理文件是否存在:运行 `ls .git/claude/commits/*/reasoning.md 2>/dev/null`。
- 如果存在,聚合它们:运行 `bash "$CLAUDE_PROJECT_DIR/.claude/scripts/aggregate-reasoning.sh" main`。
- 用聚合结果展示最终方案前尝试过哪些方法。
- 保存该输出,以便纳入 PR 描述。
- 深入分析变更(ultrathink 代码变更、架构影响和潜在影响)。
- 仔细通读整个 diff。
- 为获取上下文,阅读 diff 中引用但未显示的任何文件。
- 理解每项变更的目的和影响。
- 区分用户可见变更与内部实现细节。
- 查找破坏性变更或迁移要求。
- 在模板的 “How to verify it” 章节中查找任何 checklist 项。
- 对每个验证步骤:如果是可运行命令(如 `make check test`、`npm test` 等),运行它。
- 如果通过,将复选框标记为已勾选:`- [x]`。
- 如果失败,保持未勾选并记录失败内容:`- [ ]` 并附解释。
- 如果需要手动测试(UI 交互、外部服务),保持未勾选并给用户备注。
- 记录任何无法完成的验证步骤。
- 根据模板彻底填写每个章节:根据分析回答每个问题/章节。
- 具体说明解决的问题和所做的变更。
- 在相关处关注用户影响。
- 在适当章节包含技术细节。
- 写一条简洁的 changelog 条目。
- 如果找到推理文件(来自步骤 4b):在 “## How to verify it” 之前添加 “## Approaches Tried” 章节。
- 纳入聚合推理,展示失败尝试和学到的东西。
- 帮助评审者理解过程,而不仅是结果。
- 确保所有 checklist 项都得到处理(勾选或解释)。
- 将完成的描述写入 `thoughts/shared/prs/{number}_description.md`。
- 向用户展示生成的描述。
- 直接更新 PR 描述:运行 `gh pr edit {number} --body-file thoughts/shared/prs/{number}_description.md`。
- 确认更新成功。
- 如果有任何验证步骤仍未勾选,提醒用户在合并前完成。
- 该命令跨不同仓库工作——始终阅读本地模板。
- 要全面但简洁——描述应便于扫读。
- 尽可能关注 “why” 和 “what”。
- 显著包含任何破坏性变更或迁移说明。
- 如果 PR 涉及多个组件,相应组织描述。
- 尽可能始终尝试运行验证命令。
- 清楚说明哪些验证步骤需要手动测试。
适用边界 · 注意事项
- 仓库没有 `thoughts/shared/pr_description.md` 模板且用户不打算创建时。
- 没有安装/认证 GitHub CLI `gh`,或 PR 不在 GitHub 上时。
- 验证步骤依赖 UI 交互、外部服务或其他无法自动执行的手动测试时,不能完整完成自动验证。