Commonly-used-high-value-skills gh-address-comments
Help address review/issue comments on the open GitHub PR for the current branch using gh CLI; verify gh auth first and prompt the user to authenticate if not logged in.
install
source · Clone the upstream repo
git clone https://github.com/seaworld008/Commonly-used-high-value-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/seaworld008/Commonly-used-high-value-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/openclaw-skills/gh-address-comments" ~/.claude/skills/seaworld008-commonly-used-high-value-skills-gh-address-comments && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/seaworld008/Commonly-used-high-value-skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/openclaw-skills/gh-address-comments" ~/.openclaw/skills/seaworld008-commonly-used-high-value-skills-gh-address-comments && rm -rf "$T"
manifest:
openclaw-skills/gh-address-comments/SKILL.mdsource content
PR Comment Handler (GitHub CLI)
用于快速定位当前分支对应的 GitHub Pull Request 并自动处理其中的 Review 意见或 Issue 评论。该技能通过
gh CLI 工具与 GitHub API 交互,能够读取评论、理解意图、提出修复建议并自动执行代码修改,从而显著加快代码评审的闭环速度。
安装与配置
# 确保已安装 GitHub CLI brew install gh # 登录并授权相关权限 (repo, read:org, workflow) gh auth login
触发条件 / When to Use
- PR 进入反馈阶段:在 CI/CD 完成后,评审人提出了若干修改建议。
- 批量处理琐碎反馈:如拼写错误、变量重命名、代码风格调整等无需深度逻辑讨论的评论。
- 远程协作同步:当多个团队成员在同一个 PR 下进行异步讨论,需要快速汇总并执行共识。
- 遗留 PR 清理:针对已经开启多日但未合入的 PR,自动检索所有未解决(Unresolved)的对话。
- 自动化测试失败复盘:如果评审人指出了测试用例的覆盖不足,Agent 自动根据评论补充测试代码。
核心能力 / Core Capabilities
1. 评论提取与语义分类 (Observation)
- 操作步骤:
- 验证当前分支:
。git branch --show-current - 获取 PR 编号:
。gh pr view --json number,url - 读取所有 Review 线程:
或运行自定义脚本gh pr view --json reviews
。fetch_comments.py
- 验证当前分支:
- 最佳实践:优先区分
(全局评论) 和General Comment
(代码行内评论),以便精准定位代码行。Inline Comment
2. 交互式任务确认 (Clarification)
- 操作步骤:
- 对所有评论进行编号。
- 针对每一条评论,评估修复难度和可能的变更方案。
- 输出清晰的列表:
。[编号] 评论内容 -> 拟修复逻辑 - 使用
工具等待用户确认:“请问需要处理哪些编号的评论?”question
- 最佳实践:对于不确定的评论,主动询问其语境,避免误改。
3. 自动代码修复 (Action)
- 操作步骤:
- 根据
和path
信息,使用line
工具定位本地源文件。read - 利用 LLM 生成修复后的代码块。
- 使用
或edit
进行局部替换。apply_patch
- 根据
- 最佳实践:在修改后立即运行本地单元测试
或npm test
以验证正确性。pytest
4. 状态闭环 (Response)
- 操作步骤:
- 提交修复代码:
。git commit -m "docs/refactor: address PR review comments" - 推送代码:
。git push origin HEAD - 自动回复评论并标记为
:Resolved
。gh pr review --comment "Fixed as per review" <pr_id>
- 提交修复代码:
- 最佳实践:在回复中引用具体的 Commit Hash,方便评审人追溯。
常用命令/模板 / Common Patterns
PR 反馈处理清单模板 (Feedback Checklist)
### PR 概览 - **PR 链接**: [https://github.com/org/repo/pull/123] - **当前状态**: `Changes Requested` ### 待处理评论汇总 (Pending Comments) 1. **[L154, auth.py]**: "Consider using a more secure hashing algorithm." - **拟修复**: 切换 `md5` 为 `sha256`。 2. **[L20, styles.css]**: "Hardcoded hex color should be a theme variable." - **拟修复**: 替换 `#FFF` 为 `var(--bg-primary)`。 ### 您的选择 - [ ] 全部处理 - [ ] 仅处理编号: [ ] - [ ] 仅生成修复草案,不要执行提交
GitHub CLI 常用操作示例
# 获取当前 PR 的所有未解决对话 (需配合 jq) gh pr view --json reviews | jq '.reviews[].comments[] | select(.state != "RESOLVED")' # 对特定 PR 提交修复后的 Review 回复 gh pr comment 123 --body "Addressing feedback in commit e5f2a1..."
进阶应用场景 / Advanced Use Cases
1. 自动重构评审
- 评审人提出“这段代码太复杂了,请尝试重构”。Agent 利用
结合gh-address-comments
逻辑,自动提取复杂函数并尝试多种解构方案。self-improving-agent
2. 多 PR 同步更新
- 在 Monorepo 环境中,一个变更可能涉及多个关联 PR。本技能可以跨仓库检索同名分支下的所有评审意见并一并处理。
边界与限制 / Boundaries
- 认证权限 (Auth Scopes):必须确保
具备gh
权限。如果遇到write
错误,需重新运行Forbidden
。gh auth login - 行号偏移 (Line Drift):如果本地代码在评论发出后已经发生了大幅改动,原始行号可能失效。此时需结合关键词模糊搜索定位。
- 逻辑冲突:Agent 可能无法完全理解评审人的真实意图(如过于抽象的架构建议),严禁执行任何“猜测性”的大规模重构。
- 网络访问限制:部分公司内网环境可能屏蔽 GitHub API。
- 并发冲突:在推送代码前,必须执行
以防止与他人的并行提交冲突。git pull --rebase
最佳实践总结
- 备份第一:在执行自动化修复前,确保本地
干净,方便一键回滚。git status - 渐进式提交:不要把所有修复塞进一个大 Commit。每一条(或每一组)评论对应一个清晰的 Commit。
- 人类审核 (Audit):推送前,Agent 必须通过
展示变更内容。diff - 礼貌回复:处理完评论后,自动感谢评审人的建议,保持良好的开源协作文化。
- CI/CD 联动:在推送后主动提醒用户关注 CI 构建状态,如果失败则自动通过
进行修复。gh-fix-ci