更新现有拉取请求
同步分支、检查代码并将新变更推送到现有拉取请求。
技能明确要求拉取传入变更、解决冲突、提交并推送到现有 PR,具有明显外部状态变更;但未要求逐步用户确认、说明认证凭据和数据流、提供回滚方案或限定权限范围,因此扣分。未见提示中的红线风险。
步骤顺序基本一致,仓库存在 compile、hygiene 和 /commit 相关上下文;但未指定实际命令、冲突处理策略、失败诊断或异常输入反馈,且本次仅静态审查,按校准限制不超过10分。
名称和描述清楚指向当前会话中已有 PR 的更新场景;但未说明无现有 PR、无传入变更、冲突无法解决、非 GitHub 环境等不适用边界,也未声明输入输出格式、中文支持或网络环境要求,因此扣分。
具备简短名称、触发描述和线性步骤,仓库还提供 MIT 许可及微软官方来源;但技能本身缺少安装与依赖说明、参数约定、示例、FAQ、已知限制、版本变更和明确维护路径,因此扣分。
目标流程覆盖同步变更、编译检查、提交和 PR 更新,理论上能完成核心任务;但“compile and hygiene tasks”“significant changes”等关键判断未定义,结果格式和完成验证不足,静态证据不能证明直接可用,因此扣分。
技能文本可审计,package.json 提供 compile、hygiene 等脚本,部分 CI 提供仓库级执行证据;但给定 CI 未覆盖该技能的关键路径,缺少专门测试、示例输出和独立复现证据,因此扣分。
- 执行前应明确获得用户对拉取、合并、提交和推送等外部变更的确认,并保留可恢复的分支或提交点。
- 应补充具体命令、冲突无法自动解决时的停止条件、失败诊断和凭据/敏感数据处理说明。
- 应说明无现有 PR、无传入变更、非 GitHub 环境及无法访问远程仓库时的行为。
它能做什么 & 适用场景
此技能用于更新当前会话对应的现有拉取请求。它会检查拉取请求是否包含当前分支尚未拥有的提交,并在需要时拉取这些变更及处理合并冲突。随后运行编译和代码卫生任务,提交未提交的变更,并在改动较大时更新拉取请求标题和描述。最后,它会用新的提交和相关信息更新拉取请求。
读取提示中附加的拉取请求信息;检查是否存在当前分支缺少的提交;拉取传入变更并处理合并冲突;运行编译和代码卫生任务并修复错误;对未提交变更调用“/commit”技能进行提交;在重大变更时更新拉取请求标题和描述;将新提交及信息更新到拉取请求。
- 维护者在已有拉取请求上继续开发,需要先同步远端传入提交时。
- 开发者完成后续代码修改,需要运行编译和卫生检查并提交结果时。
- 拉取请求的改动范围明显扩大,需要同步更新标题和描述时。
优缺点一览
- 覆盖同步传入提交、冲突处理、编译检查、卫生检查、提交和拉取请求信息更新的完整流程。
- 明确针对当前会话的现有拉取请求,适合增量开发。
- 技能文件结构简洁,仅使用标准 name 和 description 前置字段。
- 来源没有列出具体编译命令、卫生任务或冲突处理步骤。
- 依赖名为“/commit”的外部技能,但来源没有提供其实现或安装方式。
- 没有提供测试套件、支持平台或失败恢复细节。
如何安装
该源码位于 microsoft/vscode 仓库的 src/vs/sessions/skills/update-pr/SKILL.md。提供的 README 说明了整个技能集合和仓库开发方式,但没有说明单独安装此技能的命令;因此只能确认其仓库路径,不能据此给出额外安装步骤。
如何使用
在支持该技能的会话中提出类似“更新当前会话的现有拉取请求,并推送我的新变更”的请求。提示中需要包含当前会话对应的拉取请求信息;具体触发语法未在来源中说明。