pr-comment-fix

by autoxj

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

3.8k平台与服务未扫描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

MCP构建

by anthropics

Universal
热门

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

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

平台与服务
未扫描111.1k

Slack动图

by anthropics

Universal
热门

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

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

平台与服务
未扫描111.1k

MCP服务构建器

by alirezarezvani

Universal
热门

从 OpenAPI 一键生成 Python/TypeScript MCP server 脚手架,并校验 tool schema、命名规范与版本兼容性,适合把现有 REST API 快速发布成可生产演进的 MCP 服务。

帮你快速搭建 MCP 服务与后端 API,脚手架完善、扩展顺手,尤其适合想高效验证服务能力的开发者。

平台与服务
未扫描9.6k

相关 MCP 服务

Slack 消息

编辑精选

by Anthropic

热门

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

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

平台与服务
83.0k

by netdata

热门

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

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

平台与服务
78.3k

by d4vinci

热门

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

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

平台与服务
34.8k

评论