PR评论修复

pr-comment-fix

by autoxj

按 GitCode PR 检视意见修改代码。需 GITCODE_TOKEN。Use when 用户要修改 PR 检视意见。

4.5k平台与服务未扫描2026年4月6日

安装

claude skill add --url https://github.com/openclaw/skills

文档

GitCode PR 检视意见修复

执行顺序fetch 写出 JSON → 按模板汇总并请用户选范围 → 确认后再改代码 → 本地验证并输出修复总结表 → 用户需要时再 reply / resolve

何时使用

  • 用户希望 根据 PR 上的代码检视意见改本地代码(不是「检视 PR 出报告」一类只读检视)。
  • 须由用户提供 GitCode PR 页面链接--pr-url);不支持仅填 owner/repo/编号,不做基于 git 的自动匹配。

认证

  • TokenGITCODE_TOKEN 环境变量,或用户消息中提供;也可用脚本参数 --token
  • 请求头:PRIVATE-TOKEN(与现有 GitCode skills 一致)。
  • 未配置时提示前往 GitCode 个人访问令牌 创建并设置变量。

依赖

  • Python 3.7+,仅标准库(脚本 scripts/pr_comment_fix_tool.py)。
  • 工作区应能打开 待修改的仓库(与 PR 变更一致)。

流程(严格顺序)

1. 拉取上下文 JSON(必须先做)

SKILL_ROOT:本 SKILL.md 所在目录。

bash
python <SKILL_ROOT>/scripts/pr_comment_fix_tool.py fetch -o "<路径>/pr_comment_fix_context.json" --pr-url "<GitCode PR 完整 URL>"
  • fetch 仅接受 --pr-url:URL 路径含 /pull//pulls/merge_requests/ 均可解析。请从浏览器复制 PR 所在仓库 的页面链接(fork 场景下一般打开上游仓库里的 PR)。

脚本写出 pr_comment_fix_context.json(或打印到 stdout),其中包含:

  • ownerrepopr_numberpr_html_url
  • unresolved_diff_comments:每条含 seqdiscussion_idbodydiff_fileresolved 等 API 原始字段(须保留 discussion_id 供后续回复/改状态
  • by_file:按文件分组,同一文件内评论已按 行号相关字段从大到小 排序(便于从文件末尾往前改)

筛选规则:仅包含 未解决 行评(resolved 不为真;缺省视为未解决)。

若 JSON 含 warnings(如缺少 discussion_id),须告知用户:对应条目 无法 使用脚本的 reply / resolve

  • 停步点fetch 成功并已有 pr_comment_fix_context.json 后,下一步只能是步骤 2(汇总并按模板输出、再询问用户)。不得直接进入读文件、打补丁或「顺手改一处」。

2. 汇总并按模板输出、再确认范围(未收到明确答复前不得改代码)

  1. 读取 JSON:以 unresolved_diff_comments 为准(可与 by_file 对照),统计条数 N

  2. 必须先用下面表格向用户展示全部待处理项(序号与 JSON 中 seq 一致;行号取自接口字段,如 line / original_line / position 等,无则写「见讨论/无行号」;问题body 的简要概括或首行,勿整段粘贴):

    序号文件行号问题
    1diff_file
  3. 询问用户处理范围:全部/、部分序号如 1,3不修/跳过

  4. 用户回复可解析后再进入步骤 3;不明则再问。发出表格与询问后须等待用户下一条消息,在此之前不得编辑代码。

  5. 「不修」→ 结束,不改代码。


3. 按文件修复(仅在步骤 2 确认后执行)

依据 pr_comment_fix_context.json 中的 by_fileunresolved_diff_comments 修复:

  1. 顺序:以 by_file 为准;同一文件内 按数组顺序(已 从后往前)逐条处理,减少行号漂移。
  2. 定位:以 API 行号相关字段与 diff_file 为准;修改前 先读当前文件对应行,勿盲信过时行号。
  3. 路径diff_file 相对仓库根解析;若找不到,再尝试去前缀或让用户确认根目录。
  4. 大改:单条预估改动 >20 行、或 改签名/结构、或 跨 ≥2 个文件 → 先给 修改方案,用户确认后再动代码。
  5. 合并同一次修改:同一文件、同一意图的多条意见尽量合并为一次编辑。

4. 本地验证与修复总结

每批或全部修改完成后:

  • 语法/解析:对改动过的文件做可行检查(如 python -m py_compile)。
  • 导入与符号:无未定义引用。
  • 范围:仅动用户确认范围内的代码。
  • 若项目有固定检查命令(ruff / eslint / make test 等),在可行时执行。

必须先输出「修复总结表」(与步骤 2 中条目对应;处理方式写本次实际做了什么;未动的项不要编造):

序号文件行号问题处理方式
1(与步骤 2 对应)(简述:如何改、是否仅说明未改)

5. 修后闭环(仅当用户需要时)

顺序固定为:

  1. 修改与验证完成后,询问是否 生成回复草稿(针对已处理的条目)。
  2. 若需要 → 生成草稿 → 用户确认 → 询问是否 发送
  3. 若发送 → 使用脚本 reply(见下)调用官方接口:回复 Pull Request 评论
  4. 发送完成后,询问是否 修改检视解决状态;若需要 → 使用 resolve 子命令:修改检视意见解决状态

不得在未获用户确认时代为发送评论或修改远端状态。

回复单条讨论

bash
python <SKILL_ROOT>/scripts/pr_comment_fix_tool.py reply -c "<pr_comment_fix_context.json>" --seq <seq> --body "<正文>"
# 或 --discussion-id <id> --body "..."

将讨论标为已解决

bash
python <SKILL_ROOT>/scripts/pr_comment_fix_tool.py resolve -c "<pr_comment_fix_context.json>" --seq <seq> --resolved 1

resolve 报错,对照官方文档核对请求体。


脚本子命令一览

子命令作用
fetch拉取未解决 diff_comment,写上下文 JSON
replyPOST .../pulls/{n}/discussions/{discussion_id}/comments
resolvePUT .../pulls/{n}/comments/discussions/{id}

完整参数见:python scripts/pr_comment_fix_tool.py --help

相关 Skills

Slack动图

by anthropics

Universal
热门

面向Slack的动图制作Skill,内置emoji/消息GIF的尺寸、帧率和色彩约束、校验与优化流程,适合把创意或上传图片快速做成可直接发送的Slack动画。

帮你快速做出适配 Slack 的动图,内置约束规则和校验工具,少踩上传与播放坑,做表情包和演示都更省心。

平台与服务
未扫描158.5k

MCP构建

by anthropics

Universal
热门

聚焦高质量 MCP Server 开发,覆盖协议研究、工具设计、错误处理与传输选型,适合用 FastMCP 或 MCP SDK 对接外部 API、封装服务能力。

想让 LLM 稳定调用外部 API,就用 MCP构建:从 Python 到 Node 都有成熟指引,帮你更快做出高质量 MCP 服务器。

平台与服务
未扫描158.5k

接口测试套件

by alirezarezvani

Universal
热门

扫描 Next.js、Express、FastAPI、Django REST 的 API 路由,自动生成覆盖鉴权、参数校验、错误码、分页、上传与限流场景的 Vitest 或 Pytest 测试套件。

帮你把API与集成测试自动化跑顺,减少回归漏测;能力全面,尤其适合复杂接口场景的QA团队。

平台与服务
未扫描20.8k

相关 MCP 服务

Slack 消息

编辑精选

by Anthropic

热门

Slack 是让 AI 助手直接读写你的 Slack 频道和消息的 MCP 服务器。

这个服务器解决了团队协作中需要 AI 实时获取 Slack 信息的痛点,特别适合开发团队让 Claude 帮忙汇总频道讨论或发送通知。不过,它目前只是参考实现,文档有限,不建议在生产环境直接使用——更适合开发者学习 MCP 如何集成第三方服务。

平台与服务
88.1k

by netdata

热门

io.github.netdata/mcp-server 是让 AI 助手实时监控服务器指标和日志的 MCP 服务器。

这个工具解决了运维人员需要手动检查系统状态的痛点,最适合 DevOps 团队让 Claude 自动分析性能数据。不过,它依赖 NetData 的现有部署,如果你没用过这个监控平台,得先花时间配置。

平台与服务
79.5k

by d4vinci

热门

Scrapling MCP Server 是专为现代网页设计的智能爬虫工具,支持绕过 Cloudflare 等反爬机制。

这个工具解决了爬取动态网页和反爬网站时的头疼问题,特别适合需要批量采集电商价格或新闻数据的开发者。不过,它依赖外部浏览器引擎,资源消耗较大,不适合轻量级任务。

平台与服务
68.3k

评论