From light
Simulates rigorous peer review before submission and crafts response letters for real reviewer comments. Covers ML/AI conferences, systematic reviews, and general journals with rubric-based evaluation.
How this skill is triggered — by the user, by Claude, or both
Slash command
/light:light-review-rebuttalThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**先按论文类型择一套 rubric,不叠加**(三套各有适用面,混用既冗余又自相矛盾):
先按论文类型择一套 rubric,不叠加(三套各有适用面,混用既冗余又自相矛盾):
| 论文类型 | 选用 rubric | 理由 |
|---|---|---|
| ML/AI 会议投稿(NeurIPS/ICLR/CVPR…) | NeurIPS 官方评审表(Summary/Strengths/Weaknesses/Soundness·Presentation·Contribution 1–4 + Overall 1–10) | 直接对齐目标会审稿表字段,预演即真实评审 |
| 系统综述 / 临床或循证类 | GRADE + Cochrane ROB | 证据强度分级与偏倚评估是这类工作的录用命脉 |
| 通用 / 期刊 / 跨学科 | ScholarEval 8 维(每维 1–5) | 维度全面、不绑定特定会,适合无官方表的场景 |
择定后用该套打分;攻击方法学时无论哪套都过下方 GRADE/Cochrane 偏倚清单(作为子检查,不是第二套打分)。
扮演 3–4 位独立审稿人(非重叠视角),按目标 venue 标准出具评审。建议审稿人画像:
每位审稿人按官方评审表字段出具(对齐 NeurIPS/ICLR):
攻击方法学时按清单扫(GRADE+Cochrane ROB 思路):四种效度(内部/外部/构念/统计结论);偏倚五类(认知含 HARKing/挑樱桃、选择、测量、分析含 p-hacking/结局切换、混杂);统计 8 点(功效与先验样本量、检验假设、多重比较校正、p 值≠重要性、效应量+CI、缺失数据机制、过拟合、回归均值/Simpson 悖论);逐条断言查"证据强度是否匹配论断强度、是否过度概化、相关是否被当因果"。标谬误须命名+解释缺陷+指出"何种证据才能有效推断"。永远区分"数据(观察到什么)"与"解释(意味什么)"。
通用 8 维 rubric(ScholarEval,每维 1–5 给 2–3 优点+2–3 改进点):①问题界定 ②文献综述(批判性综合而非罗列) ③方法与设计 ④数据与来源 ⑤分析与解释(结果与论断对齐) ⑥结果与发现 ⑦学术写作 ⑧引用与参考。理论论文跳过"数据收集",非所有维度适用所有 work 类型。
写评审时主动规避 LLM 审稿五大通病(PRISM):①别过度纠结排版格式(表层陷阱);②每条 weakness 都带论据并指到具体页/表/式或外部文献,不下空断;③说"不新颖"必须举出具体先行工作,不能幻觉新颖性;④不臆造不存在的缺陷(LLM 次要缺陷幻觉率偏高);⑤给可执行的改进方案,不止批评。
抗谄媚/防倒推(Sprint Contract 两段式)——四步不可跳过,逐步留痕:
第 2 步 paper-blind 预期不写就直接打分 = 退化成"看结论找理由"的伪评审;这一步的留痕是模式一的命门,别省。 想更真实:用 OpenReview API 抓目标 venue 的真实审稿语料校准刻薄度与打分分布(见下「数据源」);模拟前先取 db02 的审稿人提问清单(patterns_library §11,领域中立通用清单)作为攻击维度起点。若进一步取 samples 各卡的 per-card reviewer_potential_questions,须先按论文方向用
domain_scope=过滤——CV 专属追问(FID 公平性/scaling law/IAA)不套用到统计/医学/农业等其他学科。模拟要真实、刻薄、具体,不和稀泥。
模板直接用(同目录 templates/):
templates/response_letter_template.md——会议+期刊双模。期刊段含 Manuscript Info / Summary of Changes(300–500字) / 逐 Reviewer 的 R→A→C 点(P<审>.<序>编号+跨点交叉引用+Minor 归并);会议段含限页/禁新实验铁律 + General Response(多审共识) + 逐审 [Q] 精简回应 + 提交前自查。选对应区块,删另一个。templates/rereview_checklist.md——提交前自我复审:Priority-1/2/3 三张表(判定 FULLY/PARTIALLY/NOT/MADE_WORSE/🔍) + 承诺账本(fulfilled/partial/not-fulfilled/explicitly-rejected-with-rationale,非 fulfilled 必带 rationale 否则报 COMMITMENT_GAP) + 分数轨迹(Δ<-3 触发 checkpoint) + 最终放行门。对审稿人每条质疑/追问,先给一个 1–5 的"是否该让步"评分再决定回应姿态——把"被说服"变成有证据门槛的决策,避免软骨头式有求必应、也避免无脑硬刚:
先定语境:会议 rebuttal 与期刊 response letter 规则相反,按目标 venue 的征稿/返修说明走。
python scripts/rebuttal_budget.py letter.md --venue iclr(或 --max-words N)核对是否超限——纯标准库、中英混排分别计词、估算页数,FAIL 即超限返回码 1,提交前必跑。步骤:
> 引用审稿意见(Reviewer Comment) → Author Response(感谢+回应) → Changes Made(具体修改+标明页/行/图表号)。
reviewer/point 双计数器自动编号,xr+\externaldocument{manuscript} 直接引用正文式号/节号。Minor 子节归并错别字等小问题。直接用脚本 scripts/fetch_openreview.py(仅标准库,无需 key;2026-06 实测对 ICLR/NeurIPS 2024 HTTP 200 通过):
python fetch_openreview.py --venue ICLR.cc/2024/Conference --max-subs 20 --out corpus.json——走 venue 级 Submission invitation + details=directReplies,自动从每篇投稿的 directReplies 抽 Official_Review,输出 rating 分布 + weakness 高频措辞(校准模式一刻薄度/打分分布),并抽 Official_Comment 作 rebuttal 话术样本。python fetch_openreview.py --forum <forum_id>——取整条讨论树。python fetch_openreview.py --selftest(合成 directReplies 跑全管线,不联网)。get_venue_names()(查 venue group 拿真实段名,不硬编码 invitation)、per-submission 规避 venue 级审稿 invitation 永远空的坑、offset/limit 分页、legacy v1 开关。校准方法与 API 细节如下。
模拟要像、rebuttal 要会说话,就拉真实公开评审对标。Base URL https://api2.openreview.net(2024 前老会议用 legacy v1 https://api.openreview.net,JSON 结构不同)。一切提交物都是 Note,端点 GET /notes。
⚠️ 关键坑(2026-06 实测,照抄会拿到空结果):审稿不是 venue 级 invitation,而是 per-submission。
?invitation=ICLR.cc/2024/Conference/-/Official_Review → HTTP 200 但 {"notes":[]}(venue 级 review invitation 不存在,永远空,别照抄)。ICLR.cc/2024/Conference/Submission9504/-/Official_Review(中间多一段 Submission<编号>),rebuttal 同理是 .../Submission9504/-/Official_Comment、meta 是 .../Submission9504/-/Meta_Review、决定是 .../Submission9504/-/Decision。?invitation=ICLR.cc/2024/Conference/-/Submission 实测返回全部投稿(带 id/number/forum)。取审稿的两条实测可用路径:
details=directReplies,每篇投稿的 details.directReplies 里就直接挂着它的 Official_Review/Official_Comment/Meta_Review/Decision——一次调用拿全 venue 的审稿。
GET /notes?invitation=ICLR.cc/2024/Conference/-/Submission&details=directReplies&limit=1000&offset=0forum(=投稿 id) 或 number,再按论文取整条讨论树:
GET /notes?forum=<forum_id>&details=directReplies,或精确取审稿 GET /notes?invitation=ICLR.cc/2024/Conference/Submission<number>/-/Official_Review。invitation 因会议而异,别硬编码:先查 venue group 拿真实命名——GET /groups?id=ICLR.cc/2024/Conference,其 content.submission_name.value(如 Submission)、content.review_name.value(如 Official_Review)、meta_review_name/decision_name 给出该会的真实段名,拼成 <venueid>/Submission<n>/-/<review_name>。
offset(默认0)+limit(上限约1000);python 用 openreview.api.OpenReviewClient(baseurl=...) 的 get_all_notes(invitation=...) 自动翻页(它内部已处理 per-submission 展开)。审稿字段在 note.content[field].value(实测 ICLR 2024 有 summary/soundness/presentation/contribution/strengths/weaknesses/questions/rating/confidence)。模拟评审报告 / 完整 response letter + 标注修改版论文 + 待补实验清单。标准工件:逐条意见↔回应↔改动落盘为 response_matrix.md(用模板 templates/response_matrix.md:每条意见挂分类/concession分/回应/改动位置/re-review判定/承诺状态;全量台账,提交前由 templates/rereview_checklist.md 抽查闭环放行。交 m12/提交的交接工件,命名见 CONVENTIONS §6.1)。
python scripts/rebuttal_budget.py --venue iclr|neurips|cvpr|generic-1page <file>,超 venue 上限退出码 1(venue 预设为工程近似,以目标会当年征稿框为准)。verify_refs.py 核 DOI 真实性 + citekey_audit.py 对账 \cite↔.bib——rebuttal 阶段临时加的引用最易出幻觉/张冠李戴,这是本技能对 m10 的硬依赖,不可跳过。模拟审稿前,若 m08 paper-polishing 已对稿件跑过 polish.py/mechanical_check.py,直接读其结构化发现(schema 见 light-paper-polishing/references/findings_schema.md)当预审输入,省去重复扫表层问题、把火力集中到方法学。字段映射:
category=overclaim(裸夸大论断)→ 进 Weaknesses 的 Soundness/Significance 子维:作为"结论强度超出证据"的具体证据,按 major 处理(可能影响录用)。category=ai_tone / hedge_stacking / punctuation → 进 Presentation/Clarity 子维的 Minor:归并为表述层意见,不稀释主火力(对齐 PRISM 通病①别纠结表层)。category=passive_overuse → Clarity Minor;单条 passive_voice 仅在影响可读性时提。line/col/context 直接填进审稿意见的"指到具体页/行"要求(PRISM 通病②),不下空断。response_matrix.md 落盘交 m07/m08 改稿。模拟结果回 m07/m08/m09 改进;真实返修联动 m05/m06/m10/m12;全过程记入 db09(审稿意见、修改历史)。
工具核查笔记(真实端点/评审 rubric/rebuttal 规则)见同目录
references.md。脚本:scripts/fetch_openreview.py(OpenReview 真实评审语料校准,离线自检)、scripts/rebuttal_budget.py(会议 rebuttal 字数/页数预算检查,纯 stdlib 离线)。
npx claudepluginhub light0305/light-skillsAnalyzes reviewer comments on academic papers, classifies issues, recommends response strategies, and drafts professional rebuttals with tone optimization.
Systematic workflow for analyzing reviewer comments and writing professional academic rebuttals. Parses comments, develops response strategies, and generates structured rebuttal documents.
Simulates fair peer review for academic papers (NeurIPS/ICLR/ACL). Use to red-team your own draft before submission or to write a rigorous review of a colleague's paper.