mcpField
C
code-review

code-review

github.com/jordyrock15测试与质量054 次安装12 周前更新
代码仓库

关于 code-review

code-review 是供编码 Agent 使用的技能,可在浏览器中打开 Git diff 审查会话。审查者能选中具体行并提交带处理意见的评论,技能引导 Agent 回复评论并刷新 diff。

主要功能

  1. 01在浏览器中审查 Git diff
  2. 02针对行提交带意见的评论
  3. 03轮询等待审查反馈
  4. 04回复评论并刷新 diff
  5. 05提供错误处理指引

适用场景

  1. 01与人工共同审查未提交的更改
  2. 02审查分支与基准分支的差异
  3. 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 绝不会修改正在评审的仓库。

工作流

  1. 使用 cr open 打开会话(见上文)。它会打印 URL 并打开一个标签页。
  2. 运行 cr wait,长轮询等待人工评论。首次等待时添加 --say "<what to look at first>",这样标签页打开时会显示上下文。 cr wait 会保持静默,直到人工点击 Send 或结束会话,所以让它继续运行,绝不要终止它。静默是正常状态,不代表程序卡住,也不是放弃轮询或去向人工报告的理由。 默认让 wait 在前台运行,并让它直接将评论返回给你。只有通过由运行框架原生支持、且能保证任务完成后恢复或通知同一 Agent 的后台作业机制,才可以在后台运行 wait。绝不要仅为保持轮询运行而使用 nohup、shell &、disown、重定向后不再跟进的进程或分离的终端:评论会返回给一个无人监听的进程,而人工会一直等待一个已经继续执行其他工作的 Agent。若你的运行框架没有能感知完成状态的后台机制,就在前台运行 wait。在这条路径就绪前,不要告诉人工你正在关注审查。 如果 wait 被终止或超时,只需重新运行。已发送的评论会留在队列中,绝不会丢失。
  3. 根据每条评论的判定采取行动:fix 修改代码,explain 撰写说明但不做任何更改,ignore 确认后忽略。
  4. 每条评论运行一次 cr reply,并设置与实际操作相符的状态。
  5. 回复完所有判定为 fix 的评论后,运行 cr refresh,将新差异推送到已打开的标签页。若这批评论中没有 fix,则跳过此步,因为 explain 或 ignore 回复不会更改代码。
  6. 不要停下来汇报,返回第 2 步。人工在标签页中,不在聊天里;轮次之间的总结会让他们多等一轮。
  7. 当载荷包含 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 设置。

语气

回复内容会在审查过程中直接呈现给人工。用英式英语说明更改内容及原因,并保持简洁。

评论

支持 Markdown