PR操作技能Skill pr-operations

PR操作技能是一种用于GitHub Pull Request管理的工具技能,专注于使用erk exec命令高效处理评论和线程,支持批量解析、评论分类和去重,提升代码审查效率。关键词:PR管理、代码审查、线程解析、批处理、评论去重。

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

name: pr-operations description: 用于处理PR审查评论、解决线程或回复讨论评论时。对于理解PR线程操作的正确erk exec命令至关重要。

PR操作技能

核心规则

关键:仅使用erk exec命令进行PR线程操作

  • ❌ 不要使用原始gh api调用进行线程操作
  • ❌ 不要直接使用gh pr命令进行线程解析
  • ✅ 仅使用下面列出的erk exec命令

erk exec命令正确处理线程解析。原始API调用只会回复而不解析。

快速参考

命令 目的 关键点
get-pr-review-comments 获取未解决的审查线程 返回带行信息的线程
get-pr-discussion-comments 获取PR讨论评论 返回顶级评论
resolve-review-thread 回复并解析单个线程 在一次操作中完成两者
resolve-review-threads 批量解析多个线程 JSON标准输入,一次调用处理N个线程
reply-to-discussion-comment 回复讨论评论 用于非代码反馈
post-pr-inline-comment 发布新的内联评论 创建新的审查线程

何时使用每个命令

获取评论

# 获取所有未解决的审查线程(代码评论)
erk exec get-pr-review-comments

# 获取所有讨论评论(顶级PR评论)
erk exec get-pr-discussion-comments

# 包括已解析的线程(用于参考)
erk exec get-pr-review-comments --all

解析审查线程

# 解析单个线程
erk exec resolve-review-thread --thread-id "PRRT_abc123" --comment "Fixed in commit abc1234"

# 批量解析多个线程(推荐用于pr-address批次)
echo '[{"thread_id": "PRRT_abc", "comment": "Fixed"}, {"thread_id": "PRRT_def", "comment": "Applied"}]' | erk exec resolve-review-threads

回复讨论评论

# 用于PR讨论评论(非代码审查线程)
erk exec reply-to-discussion-comment --comment-id 12345 --reply "**已采取行动:**按要求更新了文档。"

常见错误

错误 为什么错误 正确方法
使用gh api repos/.../comments/{id}/replies 只回复,不解析 使用erk exec resolve-review-thread
使用gh pr comment 不解析线程 使用erk exec resolve-review-thread
跳过过时线程的解析 线程在PR中保持开放 总是解析,即使已修复
通用回复如"已注意" 对PR历史无益 包括调查发现

回复 vs 解析

重要:回复 ≠ 解析

  • 回复(通过原始gh api .../replies):添加评论但线程保持开放
  • 解析(通过erk exec resolve-review-thread):添加评论并标记线程为已解析

始终使用erk exec resolve-review-thread(单个)或erk exec resolve-review-threads(批量)- 它们在一次操作中完成两者。

评论分类模型

分析PR反馈时,按复杂性对评论进行分类并分组处理批次。

复杂性类别

  • 本地修复:单个评论 → 单个位置更改(例如,“修复拼写错误”、“添加类型注释”)
  • 多位置:单个评论 → 一个文件中多个位置更改
  • 跨领域:单个评论 → 跨多个文件更改
  • 相关:多个评论告知单个统一更改

批次顺序

从最简单到最复杂处理批次:

批次 复杂性 描述 示例
1 本地修复 一个文件,每个评论一个位置 “在行42使用LBYL模式”
2 单文件多位置 一个文件,多个位置 “重命名此变量在此文件中的每个出现”
3 跨领域 多个文件受影响 “更新此函数的所有调用者”
4 复杂/相关 多个评论告知一个更改 “将validate折叠到prepare中” + “为此使用联合类型”

注意:需要文档更新的讨论评论归入批次3(跨领域)。

批次确认流程

  • 批次1-2(简单):自动进行,无需确认
  • 批次3-4(复杂):显示计划并等待用户批准

内联评论去重

发布内联审查评论时,始终去重以防止重新发布现有评论:

  1. 构建去重键(file_path, line_number, body_prefix) 其中前缀是评论正文的前80个字符
  2. 检查邻近性:在2行容差内匹配(行42匹配行40–44的现有评论)
  3. 跳过重复项:如果存在匹配键,则不发布评论

这防止相同反馈在审查迭代中多次出现。查看内联评论去重获取完整算法详情。

详细文档

完整命令文档包括JSON输出格式、选项和示例:

@references/commands.md