关于 code-review
code-review 是供编码 Agent 使用的技能,可在浏览器中打开 Git diff 审查会话。审查者能选中具体行并提交带处理意见的评论,技能引导 Agent 回复评论并刷新 diff。
主要功能
- 01在浏览器中审查 Git diff
- 02针对行提交带意见的评论
- 03轮询等待审查反馈
- 04回复评论并刷新 diff
- 05提供错误处理指引
适用场景
- 01与人工共同审查未提交的更改
- 02审查分支与基准分支的差异
- 03处理 Pull Request 评论
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ jordyrock15/ codereview-axi --skill code-review安装后在 Claude Code 中输入/code-review确认已加载。
详细介绍
codereview-axi
cr 会基于 git diff 打开浏览器评审会话。人类会查看真实的 diff、选择行,并附上意图(fix、explain、ignore)评论。这些评论会返回给你,你根据它们采取行动,并在讨论串中回复。你进行修改时,diff 会原地刷新。
只要人类需要指出具体行,就用它来代替把 diff 粘贴到对话中。
无需全局安装:npx -y codereview-axi open。如果工具自己的输出建议执行以 cr 开头的后续命令,请改为运行 npx -y codereview-axi ...。在受限沙盒或 Agent 执行环境中,如果 npx -y 退出时没有明确提示,请直接使用已安装的副本:本地安装时运行 node "$(npm root)/codereview-axi/bin/cr.js",全局安装时运行 node "$(npm root -g)/codereview-axi/bin/cr.js",或者在安装后直接使用 cr 可执行文件。
请求
$ARGUMENTS
如果上方的请求非空,说明用户明确发起了此操作:现在就开始评审所描述的内容。单独的引用名称表示 --base <ref>;数字表示 --pr <number>。如果为空,请根据对话推断评审范围,默认为工作区 diff。
开始评审
选择评审范围,然后打开:
| 评审对象 | 命令 |
|---|---|
| 未提交的工作(默认) | cr open |
| 与分叉点所在分支进行比较 | cr open --base main |
| 拉取请求 | cr open --pr 123 |
添加 --note "<what you changed>",让标签页标题显示本次评审的内容。open 会输出一个 URL 并打开标签页;如果没有打开,请将 URL 提供给人类。
--pr 会通过 gh 解析 base 和 head;如果本地分支不是该 PR 的 head,它会拒绝操作,而不会切换分支。转达它打印的命令;除非收到请求,否则不要自行运行。cr 绝不会修改正在评审的仓库。
工作流
- 使用
cr open打开会话(见上文)。它会打印 URL 并打开一个标签页。 - 运行
cr wait,长轮询等待人工评论。首次等待时添加--say "<what to look at first>",这样标签页打开时会显示上下文。cr wait会保持静默,直到人工点击 Send 或结束会话,所以让它继续运行,绝不要终止它。静默是正常状态,不代表程序卡住,也不是放弃轮询或去向人工报告的理由。 默认让 wait 在前台运行,并让它直接将评论返回给你。只有通过由运行框架原生支持、且能保证任务完成后恢复或通知同一 Agent 的后台作业机制,才可以在后台运行 wait。绝不要仅为保持轮询运行而使用nohup、shell&、disown、重定向后不再跟进的进程或分离的终端:评论会返回给一个无人监听的进程,而人工会一直等待一个已经继续执行其他工作的 Agent。若你的运行框架没有能感知完成状态的后台机制,就在前台运行 wait。在这条路径就绪前,不要告诉人工你正在关注审查。 如果 wait 被终止或超时,只需重新运行。已发送的评论会留在队列中,绝不会丢失。 - 根据每条评论的判定采取行动:
fix修改代码,explain撰写说明但不做任何更改,ignore确认后忽略。 - 每条评论运行一次
cr reply,并设置与实际操作相符的状态。 - 回复完所有判定为
fix的评论后,运行cr refresh,将新差异推送到已打开的标签页。若这批评论中没有fix,则跳过此步,因为explain或ignore回复不会更改代码。 - 不要停下来汇报,返回第 2 步。人工在标签页中,不在聊天里;轮次之间的总结会让他们多等一轮。
- 当载荷包含
closed: true时,审查已结束。向人工总结情况,不要擅自重新打开会话。
**每个载荷还会以 next_step 结尾:其中包含一条要求你立即执行的指令。**它了解会话的实际状态;若它与本文档不一致,请遵循它。
以下三种错误会悄无声息地发生,因此必须明确说明:
- **根据评论的
quote定位代码,绝不要根据行号定位。**随着代码变动,评论会重新锚定到引用的源文本,因此引用内容才是依据,行号可能已因你之前的修改而过时。如果某段引用在文件中出现多次,请匹配完整的引用块,而不是其中一部分。 - **遵从判定。**人工要求你说明时,不要去修复。
- **回复每条评论。**未回复的评论会让人工一直等待,却看不到任何反馈。
阅读错误
错误采用结构化格式:{error: {code, message}}。根据 code 标识符分支处理,绝不要根据退出码处理;退出码仅表示 0 成功、1 错误、2 未知标志。agent-waiting 可重试。session-closed 为终止状态,不要重新打开。nothing-to-review 表示没有差异,应告知人工,而不是重试。如果标识符有特定事项要处理,它们会附带自己的 next_step。
环境上下文
cr setup 会安装 Claude Code SessionStart 钩子,让之后的会话一开始就知道有审查正在等待。建议人工使用一次;未经人工明确同意,绝不要运行它,因为它会写入对方的 Claude Code 设置。
语气
回复内容会在审查过程中直接呈现给人工。用英式英语说明更改内容及原因,并保持简洁。