关于 review-code-publish
review-code-publish 是一项 Agent 技能,在运行 review-code 并校验其产物后,将完整代码审查发布到拉取请求。它负责确认审查者身份、提交审查和更新讨论串,但不修改代码或执行合并。
主要功能
- 01执行一次性代码审查
- 02发布前校验审查产物
- 03确定审查者身份和发布路径
- 04提交审查并更新讨论串
- 05不负责修改代码或合并
适用场景
- 01向开放的拉取请求发布完整审查
- 02报告已合并拉取请求的回顾性审查
- 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。