Files
frontend_v2/.codebuddy/skills/subagent-driven-development/re-review-prompt.md
toom1996 4b409b5a29 update
2026-09-20 00:44:14 +08:00

105 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 定向复审提示词模板
在一轮修复之后分派复审时使用此模板。复审者核实那些发现是否已被解决,
并检查修复 diff 有没有引入新的破坏。这**不是**一次全新审查——完整审查
早已做过了。
**目的:** 核实上一次审查的每一条发现都已解决,且修复本身没有破坏任何东西。
```
Subagent (general-purpose):
description: "复审任务 N 第 R 轮修复"
model: [模型 —— 必填:按 SKILL.md 的"模型选择"来选;省略模型会默默
继承会话里最贵的那个]
prompt: |
你正在复审一个任务的一轮修复。之前的审查产生了一批发现,
一个实现者已经尝试修复它们。你的工作是给每条发现下结论、
并检查这次修复的 diff——仅此而已。
## 任务
读取任务简报:[BRIEF_FILE]
## 待核实的发现
[FINDINGS]
## 修复
读取实现者的报告(修复报告追加在文件末尾):
[REPORT_FILE]
**修复基线:** [FIX_BASE_SHA](上一次审查所看到的那个 head)
**Head:** [HEAD_SHA]
**diff 文件:** [DIFF_FILE]
把 diff 文件一次读完——它包含修复的提交、stat 摘要,以及带上下文的
修复 diff。不要重新跑 git 命令。如果 diff 文件不存在,自己取 diff:
`git diff --stat [FIX_BASE_SHA]..[HEAD_SHA]` 和
`git diff [FIX_BASE_SHA]..[HEAD_SHA]`。
你的审查对这个 checkout 是只读的。不要以任何方式改动工作树、索引、
HEAD 或分支状态。
## 你不派发子代理
这次审查全部由你自己做完。绝不为了审查 diff 的一部分而派生子代理,也绝不为了「再要一个意见」而派生另一个审查者。这套流程已经给了这份工作应有的每一个审查席位;你派生出来的审查者只是按全价重复其中一个,而它的结论不作数。如果 diff 大到一遍看不完,就自己分几遍看,并在报告里说明。
## 范围
你的范围就是那份发现清单和这次修复的 diff。**每一条发现都要给结论。**
检查修复 diff 里有没有修复本身引入的新问题。**不要**去复审这次修复
没有碰过的代码:如果你注意到一个完全在修复 diff 之外的问题,
把它写进"范围外的观察"——它不阻塞本任务,也不会延长修复循环。
覆盖整个分支的宽范围审查会在所有任务完成后另行进行。
## 测试
实现者已经重跑了覆盖被改动代码的那些测试,并把结果追加到了报告文件里。
把报告当作**未经核实的声明**来对待:确认修复报告点名了覆盖用的测试
并给出了它们的输出,再拿这些声明去对照 diff 核验。不要为了确认它的报告
而重跑整个测试套件。只有当读代码引出了某个现有运行结果无法回答的
具体疑问时才跑测试——而且只跑一个聚焦的测试,绝不跑整包套件。
## 输出格式
你的最终消息就是报告本身:直接从第一条发现的结论开始。每一行都应该是
一个结论、一条带 file:line 的发现,或者一项你实际做过的检查——
不要开场白,不要过程旁白。
### 各条发现的结论
按"待核实的发现"里的顺序,逐条给出:
- **[发现的一句话概括]** —— ADDRESSED(已解决)| NOT ADDRESSED(未解决),
附 file:line 证据。"尝试过了"不算已解决:那个具体缺陷必须已经不存在。
### 修复 diff 里的新破坏
修复本身破坏或引入的任何东西,附严重度(Critical/Important/Minor)
和 file:line。干净就写"无"。
### 范围外的观察
你注意到的、完全位于修复 diff 之外的问题。不阻塞;控制者会把这些
记进账本留给最终审查。没有就写"无"。
### 结论
**本轮修复:** [所有发现均已解决,无新的 Critical/Important 破坏 |
仍有发现未解决] —— 把未解决的那些列出来。
```
**占位符:**
- `[MODEL]` —— 必填:审查者模型,按 SKILL.md 的"模型选择"来选;小修复 diff
的定向复审用便宜到中档的层级即可
- `[BRIEF_FILE]` —— 任务简报文件(与实现者所依据的是同一个文件)
- `[FINDINGS]` —— 上一次审查里的 Critical/Important 发现和规格差距,
逐字抄下来,每条一个 bullet
- `[REPORT_FILE]` —— 实现者的报告文件(修复报告追加在其末尾)
- `[FIX_BASE_SHA]` —— 上一次审查所看到的那个 head
- `[HEAD_SHA]` —— 当前提交
- `[DIFF_FILE]` —— `scripts/review-package PLAN_FILE FIX_BASE HEAD` 打印出的那个路径
**复审者返回:** 逐条发现的结论(ADDRESSED / NOT ADDRESSED)、
修复 diff 里的新破坏、范围外的观察,以及一个本轮结论。