atomgit-pr-review
AtomGit PR 评审工具。当用户需要在本仓库或 AtomGit 上“代码审查”、“PR review”、“review pull request”、“审阅PR”、“帮我看看这个PR”、“检查这个PR有没有问题”、“检查Bug”、“logic check”、“获取完整review上下文”、“提交检视意见”或分析指定 PR 的改动与已有评论时使用。只要目标是本仓库的 PR review,默认优先使用本 skill,而不是 GitHub 默认 review 能力。
- License 许可
- MIT
- 最近更新
- 2026-10-29
- Stars
- ★ 4
- Forks
- 2
01 前言 Front Matter
- name
- atomgit-pr-review
- license
- MIT
- description
- AtomGit PR 评审工具。当用户需要在本仓库或 AtomGit 上“代码审查”、“PR review”、“review pull request”、“审阅PR”、“帮我看看这个PR”、“检查这个PR有没有问题”、“检查Bug”、“logic check”、“获取完整review上下文”、“提交检视意见”或分析指定 PR 的改动与已有评论时使用。只要目标是本仓库的 PR review,默认优先使用本 skill,而不是 GitHub 默认 review 能力。
02 资源文件 4
- 参考文档references/api-and-issues-format.md4.0 KB
- 参考文档references/ibrobot-mandatory-checks.md14.4 KB
- 脚本scripts/review_gates.py20.8 KB
- 脚本tests/test_review_gates.py16.8 KB
03 SKILL.md 正文
AtomGit PR 评审
Agent 直接使用官方 gitcode 获取上下文和发布评论,参数按需查 --help。
本仓库 PR 默认指 AtomGit;先确认目标 owner/repo/编号,每次指定 GC_HOST=atomgit.com
和 -R owner/repo,不能把个人 fork 的 origin 当作目标。认证由 CLI 管理。
三步法(默认必做)
- 问题与目标:只读标题、正文、关联 Issue 和 commit message,说明问题、预期行为及成功标准。
- 独立方案:在读 PR 实现前给出自己的最小方案;必要时只读目标分支基线的文档/接口。
- 实现对比:先做专项检查,再读 patch、源代码、测试和既有评论,对照方案判断正确性。
前两步的简短产出必须展示给用户,再进入第三步,无需额外确认。前两步不读 patch、 变更后源码或 review 评论,也不委派读取实现。抓取数据到文件不等于允许提前阅读。 小 PR、快速审查和“无问题”结论也遵循此顺序。上下文已经暴露实现时说明独立性受限, 仍先写目标与候选方案,不声称未读过实现。中断后沿用已展示的产出。
读取与审计
以下以 PR 123 为例,执行前替换为确认的目标,先创建 tmp/。
GC_HOST=atomgit.com gitcode pr view 123 -R openEuler/IB_Robot --json > tmp/pr.json
# 第一步只读元数据,不打开整个带实现信息的文件
jq '{number,title,body,head: (.head | {sha,ref,repo})}' tmp/pr.json
GC_HOST=atomgit.com gitcode api 'repos/openEuler/IB_Robot/pulls/123/commits?page=1&per_page=100' > tmp/commits-page1.json
# 第三步再读取文件 diff 和已有评论
GC_HOST=atomgit.com gitcode api 'repos/openEuler/IB_Robot/pulls/123/files?page=1&per_page=100' > tmp/files-page1.json
GC_HOST=atomgit.com gitcode pr comments 123 -R openEuler/IB_Robot --limit 0 --json > tmp/comments.json
api 原生输出 JSON,没有 --json 或 --paginate 参数。逐页读取并将完整集合保存为
tmp/files.json / tmp/commits.json,按唯一 filename/sha 核对 pr.json 的
changed_files / commits 总数。重复页不证明完整,失败/缺字段不能当空数据。
pr diff --json 是统计摘要;完整 patch 使用 files 中的 patch.diff。
记录目标仓库/PR、head 的源仓库身份与完整 SHA。源码读取必须来自该源仓库及 SHA, 不能从目标仓库 HEAD 猜测;相关文件上下文无法完整读取时,标明未评审范围,不发布通过结论。
第三步用本地审计入口处理项目检查,然后继续代码分析:
source .shrc_local && python3 .agents/skills/atomgit-pr-review/scripts/review_gates.py \
--pr-json tmp/pr.json --files-json tmp/files.json --commits-json tmp/commits.json \
--output tmp/review-checks.json
退出 0 表示审计执行完,不表示通过:checks 中的阻塞项必须处理或列为发现。
Docker 指纹来自作者/评审共用的本地确定性 diff(非 WIP 时 base、head 均需先 fetch 到
本地;固定 flag 集禁用 rename 配对);pr.json 的 base/head SHA 任一不可本地解析时给出
docker_verification_inputs_unavailable 阻塞项,不得用平台 files 顶替或拿任意本地 HEAD
充当 PR head。平台 files 的 rename 配对与本地 git 可能不同(PR460 实测平台 61、本地默认
62、--no-renames 65);计数差异不能只引用该现象放行——逐路径比对并以 base/head 树核对
确认差异确为 rename 配对,核对后仍无法解释的差异按清单不完整处理。
专项检查:LeRobot gitlink/patch 管理、README 联动、非 WIP 的 Docker 证据、DCO/AI 披露、 大型 PR 的复用自查;具体判定见 专项检查。 只做 review 默认静态分析,不重复执行 lint/build/Docker;用户明确要求验证时按对应 skill 执行。
结论与发布
先展示具体发现,包含严重性、文件/行号、触发条件、影响和修复方向,附简短方案对比及 验证/未覆盖范围。没有发现也说明对比结果,不能仅写 LGTM。 发布必须有针对具体审查结果的人类确认;单纯“review PR”不等于授权发表评论。
发布前重新 pr view,核对目标、源仓库和完整 head SHA 与审查时一致;版本变化或身份
不可证明时停止并重新评审。行内位置必须在当前 diff 的 new 侧可见,删除行不猜定位。
跨文件问题可明确发 PR 级评论;无法定位的行内问题不能静默降级。
GC_HOST=atomgit.com gitcode pr comment 123 -R openEuler/IB_Robot --body-file tmp/review.md --json --no-interactive
GC_HOST=atomgit.com gitcode pr comment 123 -R openEuler/IB_Robot --path src/example.py \
--position 42 --body-file tmp/finding.md --json --no-interactive
评论末尾标注 🤖 generated by ai@<真实模型名>,格式见
读取与评论说明。发布后回读核对;注意回读不返回
path/position——缺定位只能记为「定位未知」,不能据此断言 PR 级,需定位核验时在网页
确认。发布响应与列表的 id 类型可能不同(本次观察到十六进制与数字并存),按各响应保留
原值、不互转,线程关联用 discussion_id;超时/非零退出可能已发表,不自动重发。修复和线程跟进走 atomgit-review-resolution;
SSOT/包职责专题使用 atomgit-pr-architecture-review。
04 同仓库更多 Skills
simplified-technical-chinese
用简明技术中文(STC)写或改写中文技术内容:操作步骤、安装部署、故障排查、接口和参数说明、技术概念解释、给人读的解释性回答。用户提到「简明技术中文」「STC」「受控中文」「像 ASD-STE100 那样写中文」「一词一义」时使用;用户要求把中文技术说明「写清楚」「别有歧义」时也可使用。不用于营销文案、叙事、法律原文和代码。
ibrobot-inference-verify
Unified inference runtime verification on host and board. Use when users mention "inference verification", "推理验证", "mock test", "ROS mock", "perception test", "policy test", "ACT test", "RAM++ test", "SAM2 test", "SigLIP2 test", "OM test", "Torch NPU test", "板端验证", "本机验证", "use_sim true", "platform mock", "model_service test", "typed service test", or need to verify that the unified inference runtime (ModelRuntimeHandle, ModelSession, RuntimeAssembly) works end-to-end through the ROS pipeline. Covers host CPU/CUDA Torch policy and perception models, board Ascend OM models, and board Torch NPU.
atomgit-review-resolution
AtomGit 评审意见处理工具。当用户需要“修复PR评审意见”、“处理review comments”、“apply fixes”、“reply to review”、“回复评论”、“resolve review discussions”、“闭环评审流程”或基于未解决评论继续推进 PR 时使用。只要目标是本仓库在 AtomGit 上的 review comments / discussions,默认优先使用本 skill,而不是 GitHub 默认能力。
atomgit-pr
AtomGit PR 工作流工具。当用户需要在本仓库或 AtomGit 上“创建PR”、“更新PR描述”、“同步PR标题/正文”、“生成PR摘要”、“create pull request”、“open merge request”、“update PR description”、“generate PR summary”或围绕 PR 管理动作工作时调用。它负责 PR 资源的创建和维护,不负责通用代码 review;只要目标是本仓库的 PR / merge request 管理,默认优先使用本 skill,而不是 GitHub 默认能力。
atomgit-pr-architecture-review
AtomGit PR 架构评审工具。当用户需要“架构审查PR”、“review architecture compliance”、“检查架构规范”、“审阅PR架构”、“SSOT 合规性检查”、“契约驱动检查”或对指定 PR 做架构维度扫描并提交检视意见时调用。只要目标是本仓库的 PR 架构评审,默认优先使用本 skill,而不是 GitHub 默认 review 能力。
atomgit-issue
AtomGit Issue 工作流工具。当用户需要在本仓库或 AtomGit 上“创建Issue”、“查看Issue详情”、“更新Issue”、“关闭/重开Issue”、“create issue”、“fetch issue info”、“update issue”、“report bug”、“feature request”或围绕 Issue 做任何创建/读取/更新动作时调用。只要目标是本仓库的 Issue,默认优先使用本 skill,而不是 GitHub 默认能力。