关于 roast
roast 是用于批判性审查文件、计划、设计或系统行为的技能,面向希望发现实际缺陷的用户。它要求依据目标和具体证据指出问题,不负责润色或改写。
主要功能
- 01依据目标设定审查标准
- 02按优先级查找问题
- 03引用具体位置或复现行为
- 04按影响程度整理发现
- 05只提供批评,不提供改写
适用场景
- 01检查计划是否违背自身目标
- 02定位文档或设计中的具体缺陷
- 03依据复现结果评估系统行为
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ petr-korobeinikov/ skills --skill roast安装后在 Claude Code 中输入/roast确认已加载。
详细介绍
roast
找出产物真正的问题, 而不是它哪里还能更漂亮。 以它自己的目标为标准, 并指出它具体在哪些地方未达标。
不适用场景
- 润色或校对。
- “这样看起来对吗?”之类的验证请求—— 这类请求属于评审,而不是 roast。
- 改写—— roast 负责批评, 不负责产出新版本。
输入
开始前先确定目标:
- 文件或文件中的某个章节 → 通读全文。
- 对话中粘贴的片段 → 引用时把片段原文贴出来。
- 计划、想法或设计 → 梳理用户陈述的主张和 范围。
- 图表、截图或视觉产物 → 描述你所指的视觉区域 (例如“右上方的面板”、 “图表中的第三个步骤”), 而不是行号。
- 正在运行的系统或行为 → 通过复现来引用—— 运行的命令、 输入、 观察到的输出。
如果目标跨越多个产物 (整个仓库、多个文件、含糊的“我们的流程”), 请先让用户缩小范围。
什么算作问题
一个问题由三部分组成:
- 位置 — 指向具体的行、 章节、 主张或行为。
- 问题所在 — 引用或转述相关内容,然后明确指出问题。
- 影响 — 用一句话说明后果: “缺少这个,X 就会出错”, “这会导致 Y 得出错误结果”。
如果无法清楚说明这三点, 就不算问题—— 删除它。 这能避免生造问题。
流程
-
通读产物全文,明确评判标准。 按以下顺序:
- 明确标准 — 产物本身明示的目标、 规则、 范围和示例。 若有,则照此采用。
- 隐含标准 — 若没有明示标准,则根据产物内容 和上下文,推断它显然试图实现的目标。 在 roast 开头用一句话说明推断出的标准, 以便用户纠正。
- 询问 — 如果标准确实含糊不清, 开始前先问用户一个问题: “它想实现什么目标?”
-
按以下优先顺序查找问题。 完成当前层级后,再检查下一个:
- 自相矛盾 — 产物在哪些地方违反了自己的规则?
- 空洞主张 — 没有提供实现机制的指令或规则 (“确认 X”,却没有方法; “始终执行 Y”,却没有步骤)。
- 违反所示规则的示例。
- 产物自身范围内未处理的边缘情况。
- 错误的环境假设 — 假设用户有 Git 仓库、 网络访问、 特定操作系统、 特定工具,却没有明说。
- 原则隐含要求但缺失的功能 — 产物明示的立场在逻辑上要求具备, 却没有提供的内容。
- 风格和冗余 — 优先级最低, 只有在实质性问题都检查完后才纳入。
-
按影响对问题分类,而不是按查找类别分类。
- 实质性 — 产物未能实现其明确承诺的内容, 或关键机制失效。
- 功能缺口 — 规则不明确、 脆弱, 或只有靠猜测才能执行。
- 次要 — 冗余、 味道不佳, 或不影响正确性的清理事项。
第 2 步中的查找类别只是搜索辅助, 并非严重程度标签。 自相矛盾(类别 1)带来的影响可能只是表面问题, 因此可以归为次要; 冗余(类别 7)如果会积极误导用户, 也可能是实质性问题。
-
引用具体内容。 对于每个问题, 指出相关行、章节或段落。 如果问题出在原文措辞上,就引用产物原文。
-
只列出问题。 不要在 roast 中提出修复方案。 最后用一行文字询问用户要处理哪些问题, 只有在范围确实不清楚时—— 才提出一个澄清问题。
规则
- 直截了当。 不要用“这很不错,但是”之类的铺垫。 不要用委婉的限定语。 如果有问题, 就直说。
- 按照产物自身的标准来评判。 不要引入外部偏好或风格标准; 应根据产物自身陈述或暗示的目标、 范围 和规则来评判。 **例外:**事实错误—— 语法错误、 虚构的命令或 API、 对工具 / 规范 / 系统实际运作方式的错误描述—— 无论产物是否对此表明立场, 都应指出。 事实本身就是评判标准。 对某项说法存疑时, 先核实再指出 (或决定不指出)。
- **引用原文,不要改述,**尤其是措辞存在问题时。
- 不要把批评和实现混在一起。 先批评,修复另开一轮。
- 如果没有实质问题,就直说。 不要为了显得全面而杜撰问题。
- 有问题时,不要在批评之后附带一段安慰式总结。
如果指出了问题,
不要以“但总体而言,这很不错”收尾。
如果产物完全没有问题,
可以用一句中性的话说明这一点——
参见
Reporting。 - 自我批评:提高审视力度。 如果产物是你(助手)在本轮对话中写的, 就当作是陌生人写的来审视。 本轮对话中的推理已经替你的选择辩护, 这会让你不自觉地放宽标准。
- 根据产物规模调整。 短产物就简短批评。 对于长产物, 按严重程度列出最重要的问题, 不要逐一罗列所有情况。 每项问题控制在 2–3 句话; 用户可以在后续询问更多细节。
报告格式
输出结构:
- (可选)用一行说明你审阅的内容及审阅范围。
- 实质性问题——编号列出,每项附上引用。
- 功能缺陷——编号列出,每项附上引用。
- 轻微问题——编号列出,每项附上引用。
- 用一行收尾——询问用户希望处理哪些问题,或提出一个澄清问题。
没有问题的严重程度类别应省略。 如果产物完全没有实质性问题,用一行说明,然后结束。
问题示例格式
问题的格式如下:
- 示例违反了自身规则。 产物将 aqua-first 列为硬性规则 (
Hard rules,规则 3), 但第 122–124 行的示例代码块却展示了一个属于 aqua 注册表的工具的cargo:条目—— 这会让读者学到错误的做法。
以下三点缺一不可:
- 引用依据——
Hard rules,规则 3,第 122–124 行; - 证据—— 规则与示例之间存在明确矛盾;
- 影响—— 读者会学到错误的做法。
如果缺少其中任何一点, 就回去补上, 或者删掉该问题。
评论
支持 Markdown