pr-comment-fix
按 GitCode PR 检视意见修改代码。需 GITCODE_TOKEN。Use when 用户要修改 PR 检视意见。
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/autoxj/pr-comment-fixGitCode PR 检视意见修复
执行顺序:fetch 写出 JSON → 按模板汇总并请用户选范围 → 确认后再改代码 → 本地验证并输出修复总结表 → 用户需要时再 reply / resolve。
何时使用
- 用户希望 根据 PR 上的代码检视意见改本地代码(不是「检视 PR 出报告」一类只读检视)。
- 须由用户提供 GitCode PR 页面链接(
--pr-url);不支持仅填 owner/repo/编号,不做基于 git 的自动匹配。
认证
- Token:
GITCODE_TOKEN环境变量,或用户消息中提供;也可用脚本参数--token。 - 请求头:
PRIVATE-TOKEN(与现有 GitCode skills 一致)。 - 未配置时提示前往 GitCode 个人访问令牌 创建并设置变量。
依赖
- Python 3.7+,仅标准库(脚本
scripts/pr_comment_fix_tool.py)。 - 工作区应能打开 待修改的仓库(与 PR 变更一致)。
流程(严格顺序)
1. 拉取上下文 JSON(必须先做)
SKILL_ROOT:本 SKILL.md 所在目录。
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),其中包含:
owner、repo、pr_number、pr_html_urlunresolved_diff_comments:每条含seq、discussion_id、body、diff_file、resolved等 API 原始字段(须保留discussion_id供后续回复/改状态)by_file:按文件分组,同一文件内评论已按 行号相关字段从大到小 排序(便于从文件末尾往前改)
筛选规则:仅包含 未解决 行评(resolved 不为真;缺省视为未解决)。
若 JSON 含 warnings(如缺少 discussion_id),须告知用户:对应条目 无法 使用脚本的 reply / resolve。
- 停步点:
fetch成功并已有pr_comment_fix_context.json后,下一步只能是步骤 2(汇总并按模板输出、再询问用户)。不得直接进入读文件、打补丁或「顺手改一处」。
2. 汇总并按模板输出、再确认范围(未收到明确答复前不得改代码)
-
读取 JSON:以
unresolved_diff_comments为准(可与by_file对照),统计条数 N。 -
必须先用下面表格向用户展示全部待处理项(序号与 JSON 中
seq一致;行号取自接口字段,如line/original_line/position等,无则写「见讨论/无行号」;问题用body的简要概括或首行,勿整段粘贴):序号 文件 行号 问题 1 diff_file… … … … … … -
询问用户处理范围:
全部/是、部分序号如1,3、不修/跳过。 -
用户回复可解析后再进入步骤 3;不明则再问。发出表格与询问后须等待用户下一条消息,在此之前不得编辑代码。
-
「不修」→ 结束,不改代码。
3. 按文件修复(仅在步骤 2 确认后执行)
依据 pr_comment_fix_context.json 中的 by_file 与 unresolved_diff_comments 修复:
- 顺序:以
by_file为准;同一文件内 按数组顺序(已 从后往前)逐条处理,减少行号漂移。 - 定位:以 API 行号相关字段与
diff_file为准;修改前 先读当前文件对应行,勿盲信过时行号。 - 路径:
diff_file相对仓库根解析;若找不到,再尝试去前缀或让用户确认根目录。 - 大改:单条预估改动 >20 行、或 改签名/结构、或 跨 ≥2 个文件 → 先给 修改方案,用户确认后再动代码。
- 合并同一次修改:同一文件、同一意图的多条意见尽量合并为一次编辑。
4. 本地验证与修复总结
每批或全部修改完成后:
- 语法/解析:对改动过的文件做可行检查(如
python -m py_compile)。 - 导入与符号:无未定义引用。
- 范围:仅动用户确认范围内的代码。
- 若项目有固定检查命令(
ruff/eslint/make test等),在可行时执行。
必须先输出「修复总结表」(与步骤 2 中条目对应;处理方式写本次实际做了什么;未动的项不要编造):
| 序号 | 文件 | 行号 | 问题 | 处理方式 |
|---|---|---|---|---|
| 1 | … | … | (与步骤 2 对应) | (简述:如何改、是否仅说明未改) |
| … | … | … | … | … |
5. 修后闭环(仅当用户需要时)
顺序固定为:
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-autoxj-pr-comment-fix": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
deepwiki-ask
通过 DeepWiki MCP 查询仓库信息。支持提问、获取结构、获取文档内容。Query a repository via DeepWiki MCP: ask questions, get structure, get documentation. 用户提供 owner/repo 时触发。
gitcode-release-notes
Generate release notes for GitCode repositories from commits (by tag range or since-date), grouped as feat/fix/docs/other, output Markdown for Release pages. 按 tag 区间或日期拉取提交并生成版本发布公告 Markdown。Python 3.7+ standard library only.
skill-everyday
每天抓取 Clawhub 热门技能,深入分析并生成报告。每次执行获取一个未分析过的热门技能,避免重复。
gitcode-pr-audit
Quality audit for merged GitCode PRs: sample by time range or repo list, check compliance (labels, comments, tests, size, etc.), output table. Use when user asks to 抽检/质量检查 已合入的 PR 规范性、多仓库 PR、或 将结果整理成表格. Multi-repo (owner/repo). Python 3.7+ stdlib only.
gitcode
Fetch and query data from GitCode platform via its REST API: repositories, branches, issues, pull requests, commits, tags, users, organizations, search, webhooks, members, releases and more. 查询 GitCode 上的仓库、分支、议题、PR、提交、标签、用户、组织等数据。Python 3.7+ standard library only.