mcpField
R
review-code-publish

review-code-publish

github.com/kamui测试与质量1330 次安装1 周前更新
代码仓库

关于 review-code-publish

review-code-publish 是一项 Agent 技能,在运行 review-code 并校验其产物后,将完整代码审查发布到拉取请求。它负责确认审查者身份、提交审查和更新讨论串,但不修改代码或执行合并。

主要功能

  1. 01执行一次性代码审查
  2. 02发布前校验审查产物
  3. 03确定审查者身份和发布路径
  4. 04提交审查并更新讨论串
  5. 05不负责修改代码或合并

适用场景

  1. 01向开放的拉取请求发布完整审查
  2. 02报告已合并拉取请求的回顾性审查
  3. 03提交获授权的门禁审查

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/kamui/skills --skill review-code-publish

安装后在 Claude Code 中输入/review-code-publish确认已加载。

附带文件agents/openai.yamlreferences/publication.md

详细介绍

发布代码审查

边界

调用此技能即授权向已确定的拉取请求发布审查。 对已合并拉取请求进行回顾性审查不属于发布操作,除非另行授权。 此操作不授权修改代码、编辑拉取请求或议题、添加标签或合并。 只有当用户或仓库工作流另行授权此身份把关合并时,才使用把关事件。 如果调用方确定的审查应用与拉取请求作者不同,其数据包中会包含明确的把关授权;这项授权即为在此使用把关事件的依据;以审查应用身份发布的审查不属于自我审查。 自我审查始终使用 COMMENT。

此工作流只运行一次:结束前不要暂停询问审查者偏好。 如果已安装的技能中没有 review-code,则停止并报告:missing-dependency: review-code。 review-bot 为可选项。若缺少该技能,则回退到已验证身份的用户,在报告中记录原因,并禁止把关;绝不会因此报告缺少依赖而停止。

检查

调用 review-code,设置 mode: one-shot,提供明确的拉取请求目标(坐标、URL 或当前分支的开放拉取请求)、用户提供的任何问题或规范,并开启重复审查快捷选项。 如果提供了第 1 阶段数据包、审查者身份、聚焦测试策略和检查证据,请根据 review-code 的 Inputs 表传递。 如果提供了审查令牌命令,不要随它们传递:references/publication.md 会在以下写入操作中使用该命令,而 review-code 绝不会发布内容。 如果未提供审查者身份,请按 references/publication.md 中的说明,在审查运行前确定身份。跟踪器文档会声明审查应用和客户端 ID,或给出需要原样使用的审查令牌命令。对于没有明确命令的应用,如果已安装 review-bot,则调用它并使用其返回的登录名和命令。任何 unavailable 结果都回退到已验证身份的用户,在报告中记录原因,并禁止把关。身份解析不会导致运行停止;如果发布时令牌被拒绝,则停止写入。 review-code 的 one-shot 模式(见其 Modes 部分)不会提出任何问题,并会在记录中报告所有已路由的项目。 遇到具名停止条件时,结束本次运行并附上报告。 否则,在记录所指定的技能根目录下运行 python3 <skill root>/scripts/render_review.py --check <private-dir>;退出码为 0 表示返回的产物已涵盖以下所有内容,其他任何退出码都表示审查未完成:报告其输出并停止,不要发布。 对于未获单独发布授权的已合并目标,将返回的 report.md 作为完整的拟议审查报告并结束;是否发布已合并目标仅由此技能决定。

发布

现在阅读 references/publication.md,并遵循其中的不变量、事件表、批次格式和线程操作。 对于常见的 COMMENT 路径,请使用返回的 batch.json。 路由为 issue-required 的条目会在评审正文中显示为 [Question];Issue fit 表示台账来自拉取请求文本。在覆盖完整且没有尚未解决的必须修复项时,仅因这个原因,状态应为 Needs Information,而非 Incomplete。 对于已授权的门禁,通过 <skill root>/scripts/render_review.py 在技能根目录下的 review-code 记录中使用 --emit-batch --event 重新生成;后缀变更由脚本负责。 切勿通过相邻目录的相对路径定位脚本。

重新获取拉取请求的最新提交,检查后,在一次 shell 调用中,使用参考文档中的新鲜度检查和提交代码块,通过 forge 原生评审调用发布批次。 如果退出码为 3,且发生在该代码块的 preflight failed 路径,或线程写入循环的写入前退出路径,则表示未写入任何内容:报告其打印的信息——最新提交已过期或无法读取、评审令牌命令未生成可用令牌,或 writes.jsonl 被拒绝——然后停止。 如果该代码块在其 write attempted 行之后打印退出码 3,则表示评审 POST 失败,而非预检失败;此时应遵循下方的修复、重试和回退规则。 评审发布后,为每个先前条目写入 writes.jsonl,并按参考文档运行一次线程写入循环,处理回复和线程解决操作。

遇到格式错误的评论被拒绝、写入结果不明确或评审被拒绝时,请遵循参考文档中的修复、重试和回退规则,并使用技能根目录下 review-code 记录中的脚本;如果上下文压缩导致渲染说明丢失,请从该根目录重新阅读 references/output.md。

报告

重新读取已发布的评审。 报告已发布的状态、评审的提交、覆盖范围、评审 URL、发现项 URL、未解决的问题、有争议的发现项,以及任何未能发布的内容。 门禁生成后,请使用 batch.json 中已发布的格式,而非建议用的 payload.json 正文。 每个文件坐标都必须是与摘要中相同的、由脚本渲染且固定到提交的链接。 对于未发布的回顾运行,请用 report.md 中完整的拟发布评审替代评审 URL。

评论

支持 Markdown