关于 adversarial-review
adversarial-review 是用于审视工作的评审技能,要求通过相反模型的 CLI 启动评审者。它汇总评审结果并给出结论,不修改工作内容。
主要功能
- 01通过相反模型的 CLI 运行评审者
- 02按变更规模选择评审视角
- 03依据原则编写评审提示词
- 04汇总结论并给出主审判断
适用场景
- 01发布前质疑代码变更
- 02检查工作是否达成既定意图
- 03从不同评审视角汇总问题
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ pedronauck/ skills --skill adversarial-review安装后在 Claude Code 中输入/adversarial-review确认已加载。
附带文件references/reviewer-lenses.md
详细介绍
对抗性审查
在相反的模型上启动审查者,对工作提出质疑。审查者从基于大脑原则的不同视角进行审查。交付内容是一份综合裁决——不要进行修改。
**硬性约束:**审查者必须通过相反模型的 CLI(codex exec 或
claude -p)运行。不得使用子 Agent、Agent 工具或任何内部委派机制充当审查者——这些机制运行在_你自己的_模型上,会违背审查的目的。
步骤 1 — 加载原则
阅读 brain/principles.md。跟随其中的每个 [[wikilink]],并阅读每个链接指向的原则文件。
这些原则是审查者判断的依据。
步骤 2 — 确定范围和意图
根据上下文(近期差异、引用的计划、用户消息)确定审查对象。
确定意图——作者试图实现什么。这一点至关重要:审查者要质疑的是这项工作是否_很好地实现了意图_,而不是意图本身是否正确。继续之前,明确陈述意图。
评估变更规模:
| 大小 | 阈值 | 审查者 |
|---|---|---|
| 小 | < 50 行,1–2 个文件 | 1 个(怀疑者) |
| 中 | 50–200 行,3–5 个文件 | 2 个(怀疑者 + 架构师) |
| 大 | 200 行以上或 5 个以上文件 | 3 个(怀疑者 + 架构师 + 极简主义者) |
阅读 references/reviewer-lenses.md,了解各视角的定义。
步骤 3 — 检测模型并启动审查者
创建一个用于存放审查者输出的临时目录:
REVIEW_DIR=$(mktemp -d /tmp/adversarial-review.XXXXXX)
确定你使用的模型,然后在相反模型上启动审查者:
如果你使用 Claude → 通过 codex exec 启动 Codex 审查者:
codex exec --skip-git-repo-check -o "$REVIEW_DIR/skeptic.md" "prompt" 2>/dev/null
只有在审查者需要运行测试时才使用 --profile edit。默认采用只读模式。
设置 run_in_background: true 运行,并通过 TaskOutput 监控,参数为 block: true, timeout: 600000。
如果你使用 Codex → 通过 claude CLI 启动 Claude 审查者:
claude -p "prompt" > "$REVIEW_DIR/skeptic.md" 2>/dev/null
设置 run_in_background: true 运行。
将每个输出文件按视角命名:skeptic.md、architect.md、minimalist.md。
审查者提示词模板
每位审查者收到一条提示词,其中包含:
- 陈述的意图(来自步骤 2)
- 分配给他们的视角(来自
references/reviewer-lenses.md的完整文本) - 与其视角相关的原则(文件内容,不是摘要)
- 要审查的代码或差异
- 说明:“你是一名对抗性审查者。你的任务是发现真实问题,而不是肯定这项工作。请具体说明——引用文件、行号和明确的失败场景。为每项发现评级:高(阻止发布)、中(应该修复)、低(值得注意)。将发现写成编号的 Markdown 列表,保存到你的输出文件中。”
并行启动所有审查者。
步骤 4 — 验证并综合裁决
阅读审查者输出之前,记录使用了哪个 CLI,并确认输出文件存在:
echo "reviewer_cli=codex|claude"
ls "$REVIEW_DIR"/*.md
如果任何输出文件缺失或为空,请在裁决中注明该失败——不要悄悄跳过审查者。
从 $REVIEW_DIR/ 读取每位审查者的输出文件。合并重复的发现。
生成一份统一裁决:
## Intent
<what the author is trying to achieve>
## Verdict: PASS | CONTESTED | REJECT
<one-line summary>
## Findings
<numbered list, ordered by severity (high → medium → low)>
For each finding:
- **[severity]** Description with file:line references
- Lens: which reviewer raised it
- Principle: which brain principle it maps to
- Recommendation: concrete action, not vague advice
## What Went Well
<1–3 things the reviewers found no issue with — acknowledge good work>
裁决规则:
- PASS — 没有高严重性发现
- CONTESTED — 存在高严重性发现,但审查者对此意见不一
- REJECT — 存在高严重性发现,且审查者意见一致
步骤 5 — 作出判断
综合审查者的意见后,应用你自己的判断。以陈述的意图和大脑原则为依据,说明你接受哪些发现、拒绝哪些发现,以及原因。审查者的设计初衷就是进行对抗性审查;并非每项发现都值得采取行动。指出误报、过度解读,以及将风格问题误当作实质问题的发现。
将以下内容附加到裁决中:
## Lead Judgment
<for each finding: accept or reject with a one-line rationale>