Peer Review 是一个通过 Codex 执行独立同行评审的技能,来源于 tobihagemann/turbo,地址为 https://www.skills.sh/tobihagemann/turbo/peer-review。其核心作用是把一段自然语言的评审请求翻译成 Codex 专用的提示词,让调用方式不依赖具体实现。
用途 当用户提出「peer review」「peer review my code」「peer review my plan」「get a second opinion」或类似诉求时使用本技能。它面向需要获取独立第二意见的评审场景,评审对象可以是代码、计划或其他材料。
工作流程 第一步是理解请求。需要从调用提示词或对话上下文中识别:材料(被评审的代码范围、制品文本、反馈项或其他内容)、标准(Codex 应直接读取的参考文件路径、内联的标准文本,或材料自身领域的惯例)、维度(单一评审关注点即单次执行,或多个独立关注点即按维度扇出、每个维度一次)、怀疑性引导(针对具体材料的、用于突破表层发现的指令,可选)、既往裁定(已经判断过的发现,每条一行,含裁定与记录原因,可选)、输出格式(发现的结构、优先级尺度或裁定标签,可选)。如果没有可评审的材料,应停止并说明必须提供材料。
第二步是构建 Codex 提示词。按 Codex 的 XML 标签约定组织提示词,主要包含三部分。
<task> 部分承载范围或材料、标准指引(Codex 应读取的文件路径或内联标准)以及必要的上下文。当材料是 git diff 或工作区范围时,把 diff 写入 .turbo/ 下的文件并以该文件作为评审批次对象,同时把该 diff 固定为唯一对象,声明只有该 diff 在评审范围内,任何涉及其他文件、语言或主题的输出都属于跑题,并列出改动文件路径以强化固定。当评审是对早前轮次已覆盖材料的复查时,基于材料当前内容重建评审对象,并声明其更早版本已被取代。当第一步识别出既往裁定时,将其带入 <task> 并标注为对已提议变更已经达成的决定,而不是材料的既定属性,同时声明只有当某条记录的发现再次被提出时,其证据才不被已有的记录原因所涵盖。当指定多个独立维度时,用明确的并行扇出指令包裹维度列表,使 Codex 将每个维度委派给各自的子代理并在汇总前等待全部完成。当请求明确要求单次执行覆盖全部维度时,保持一轮执行,让每个维度位于各自标注的章节中而不扇出,并对每个维度给出明确结论,包括没有合格发现的维度。并行执行的提示词范式可参考 /codex-exec references/parallel-execution.md。
<dig_deeper_nudge> 部分使用请求中提供的怀疑性引导;若未提供,则使用默认内容:不要停留在表层发现,检查二阶失败、转换链绕过,以及材料依赖未声明假设的情况。
<structured_output_contract> 部分使用请求中提供的输出格式;若未提供,则使用默认格式,该格式与内部评审产出的发现结构一致,以便发现结果可以不经转换直接拼接:标题为 ### [P<N>] <title>,标题使用祈使句且不超过 80 字符;随后是 File: <file path>(行 <start>-<end>)或 Section: <location>,以及 Reviewer: peer (<dimension>);再用一段话说明问题及其影响。行号槽位为可选,评审代码时包含,引用章节时省略。当请求指定了维度标签时,需包含 (<dimension>) 括注,覆盖单维度与多维度两种情况;仅在没有命名维度的未区分评审中省略。默认优先级尺度为 P0(根本性缺陷或阻塞)、P1(重大缺口或紧急)、P2(中等问题)、P3(轻微改进)。结尾包含 Overall Verdict 段落,给出 1 至 3 句评估。若没有发现问题,应说明材料看起来可靠。
此外,需指示 Codex 将其阅读范围限定在被评审材料、验证相关主张所需的来源,以及第一步识别的标准之内,排除与这三者无关的文档。还需包含一条明确指令,要求 Codex 自行执行评审,而不是委派给另一个同行评审技能或转回 Claude,因为提示词已经跨越了工具边界,继续转发会造成循环。
第三步是以只读模式通过 Skill 工具调用 /codex-exec,并传入组装好的提示词。
第四步是整理响应。将 Codex 的输出与被评审材料以及第二步请求的维度与结构进行比对,然后归入以下三种分支之一。
其一,Codex 返回了所请求的发现,则原样输出。
其二,输出不完整(任何原因皆可,例如扇出不完整导致维度缺失、运行中途截断、章节被切断、子代理失败、单维度评审在发现中途结束等),则原样输出已返回的内容,指出相对于第二步请求所缺失的部分,然后追加:「Action required: Peer review returned partial output. Use the AskUserQuestion tool to ask the user whether to retry peer review now (transient codex errors like usage limits often clear within minutes) or proceed with the partial findings. State what is missing so the user can decide.」
其三,没有输出或 Codex 失败(返回空、报错、触发使用限制,或返回跑题输出,即针对被评审材料之外的代码、文件或主题而非所请求的发现),则不得把跑题内容当作发现输出,而是输出一条说明原因的提示,然后追加:「Action required: Peer review failed. Use the AskUserQuestion tool to ask the user whether to retry peer review now (transient codex errors like usage limits often clear within minutes) or proceed without peer review.」
在任何分支之后,使用 TaskList 工具并继续处理其余任务。
重要约束 不得在本地合成同行发现来填补空白。同行评审的价值在于独立性,把本地撰写的发现标注为「peer」会误导使用者。
作为子代理时 如果当前是子代理,应遵循 references/subagent-wrapping.md 中的护栏;否则 Codex 事件可能在输出最终文本后丢失,产生虚假的空返回,从而静默绕过第四步的 AskUserQuestion 关卡。