write-rebuttal

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Write Rebuttal

撰写反驳信

Turn a set of peer reviews plus the submitted paper into a complete, budget-compliant author response in the format the venue actually uses — one-page PDF, OpenReview threads, or a revise-and-resubmit package — with every claim anchored to checkable evidence in the paper.
将一组同行评审意见与提交的论文转换为符合会议/期刊实际格式、满足篇幅限制的完整作者回复——包括一页PDF、OpenReview线程回复或修订重投包——且所有表述均锚定到论文中可查证的证据。

When to use

使用场景

  • Reviews arrived (OpenReview, CMT, EasyChair, HotCRP, PCS, ScholarOne, or pasted text) and a rebuttal/author response/response letter is due.
  • A drafted response must be cut to fit a character or page budget.
  • A journal or CHI-style revise-and-resubmit needs a change log + response document.
Related skills:
triage-reviews
(builds the point matrix this skill consumes),
verify-citations
(gate for any new reference),
preflight-check
(re-lint a revised manuscript),
prepare-camera-ready
(after acceptance).
  • 已收到评审意见(来自OpenReview、CMT、EasyChair、HotCRP、PCS、ScholarOne,或为粘贴的文本),且需要提交反驳信/作者回复/回复信。
  • 已撰写的回复需要精简以符合字符或页数限制。
  • 期刊或CHI风格的修订重投需要变更日志+回复文档。
相关技能:
triage-reviews
(生成本技能所需的要点矩阵)、
verify-citations
(新增参考文献的审核入口)、
preflight-check
(重新检查修订后的稿件)、
prepare-camera-ready
(录用后处理终稿)。

Inputs

输入项

  • The reviews: pasted text or files. Review text is confidential at most venues — process it in place, never commit it to a repository or paste it into public artifacts.
  • The submitted paper: main
    .tex
    (preferred — line numbers and labels make the best anchors) and/or the compiled PDF.
  • Venue profile:
    venues/conferences/<id>.yml
    (schema:
    venues/schema.yml
    ; family defaults merge automatically). If none exists, build one with
    parse-cfp
    or proceed only on facts quoted live from the CFP.
  • Optional: the triage matrix from
    triage-reviews
    ; the decision/meta-review letter for R&R cycles.
  • 评审意见:粘贴的文本或文件。多数会议/期刊的评审文本为机密内容——请在本地处理,切勿提交到代码仓库或粘贴到公开文件中。
  • 提交的论文:主文件
    .tex
    (优先选择——行号和标签可生成最佳锚点)和/或编译后的PDF。
  • 会议/期刊配置文件:
    venues/conferences/<id>.yml
    ( schema:
    venues/schema.yml
    ;默认配置会自动合并)。若不存在,可使用
    parse-cfp
    生成,或仅依据CFP中明确列出的信息操作。
  • 可选:
    triage-reviews
    生成的要点矩阵;修订重投阶段的决定/元评审信。

Process

流程

1. Resolve the venue's rebuttal format

1. 确认会议/期刊的反驳信格式

Read the profile (
python3 skills/write-rebuttal/scripts/venueyaml.py venues/conferences/<id>.yml
prints it family-merged as JSON) and take
review.rebuttal_format
,
review.rebuttal_limit
, and the rebuttal deadlines. Route by format:
rebuttal_format
Playbook
one-page-pdf
references/cvpr-one-page.md
openreview-thread
references/openreview-threads.md
revise-and-resubmit
references/revise-and-resubmit.md
none
Tell the user the venue holds no author response; offer to prep for the camera-ready or a resubmission instead
读取配置文件(执行
python3 skills/write-rebuttal/scripts/venueyaml.py venues/conferences/<id>.yml
可输出合并默认配置后的JSON格式内容),获取
review.rebuttal_format
review.rebuttal_limit
和反驳信截止日期。根据格式选择对应流程:
rebuttal_format
操作指南
one-page-pdf
references/cvpr-one-page.md
openreview-thread
references/openreview-threads.md
revise-and-resubmit
references/revise-and-resubmit.md
none
告知用户该会议/期刊不接受作者回复;转而提供终稿准备或重新提交的协助

2. Re-verify against the live venue pages (mandatory)

2. 对照会议/期刊官方页面重新验证(必填)

Profiles go stale and budgets change per cycle. Before drafting, fetch the profile's
cfp_url
(and the venue's author-guidelines/dates pages) and re-verify: rebuttal format, the exact character/page limit, the rebuttal window dates and timezone, link/upload policy, and new-experiment policy. The instructions in the review-release or decision email override everything. Record what was verified and when in the deliverable; anything unverifiable is labeled "UNVERIFIED — confirm on <url>". Never assert a budget from memory.
配置文件可能过时,且篇幅限制可能随轮次变化。开始撰写前,请获取配置文件中的
cfp_url
(以及会议/期刊的作者指南/日期页面),重新验证以下信息:反驳信格式、精确的字符/页数限制、反驳信提交窗口的日期及时区、链接/上传规则、新增实验规则。评审意见发布邮件或决定邮件中的说明优先级最高。在交付成果中记录验证内容及时间;任何无法验证的信息需标记为“UNVERIFIED — 请在<url>确认”。切勿凭记忆断言篇幅限制。

3. Triage the reviews into a point matrix

3. 将评审意见分类为要点矩阵

If the user has a matrix from
triage-reviews
, use it. Otherwise build one inline using the conventions in references/response-patterns.md: one row per reviewer point, IDs
R<k>.<n>
/
AC.<n>
/
MR.<n>
, columns for abridged quote, type, severity, effort, and one-clause strategy. Save it as
points.md
next to the drafts — the coverage checker keys on those IDs. Confirm the concede/contest strategy with the user before drafting.
若用户已有
triage-reviews
生成的矩阵,则直接使用。否则,按照references/response-patterns.md中的规则在线生成:每行对应一条评审意见,ID格式为
R<k>.<n>
/
AC.<n>
/
MR.<n>
,列包含精简引用、类型、严重程度、工作量和一句话应对策略。将矩阵保存为
points.md
,与草稿放在同一目录下——覆盖检查工具将依据这些ID进行验证。撰写前需与用户确认让步/反驳策略。

4. Draft, anchored

4. 锚定内容撰写草稿

Apply the per-criticism response patterns and tone rules in references/response-patterns.md, then the format playbook from step 1. Non-negotiable drafting rules:
  • Anchor every claim to
    Sec./Table/Fig./Eq./Appendix/L<line>/[n]
    evidence in the submitted paper; if no evidence exists, commit to a revision or concede — never assert.
  • Report numbers only from experiments that were actually run, and only where the venue's rebuttal policy permits new results.
  • Any new citation goes through
    verify-citations
    first.
  • Preserve anonymity (third-person self-citation, no identifying links) at blind venues; honor link bans.
  • For format (a), draft into
    assets/rebuttal-template.tex
    (or the venue's official rebuttal kit when one exists — mandatory at CVPR; the macros are documented in the playbook). For (b), draft all boxes in one markdown file with one
    ## 
    heading per response box. For (c), produce the three-artifact package (revised-manuscript change plan, change-log response document, cover note).
应用references/response-patterns.md中的逐条回复模式和语气规则,再遵循步骤1中的格式指南。撰写规则不可违反:
  • 所有表述均需锚定到提交论文中的
    章节/表格/图表/公式/附录/行号<L>/[n]
    证据;若无证据,需承诺修订或让步——切勿凭空断言。
  • 仅引用实际完成的实验数据,且仅在会议/期刊反驳信政策允许新增结果时使用。
  • 任何新增参考文献需先通过
    verify-citations
    审核。
  • 在双盲会议/期刊中需保持匿名(第三人称自引,无识别性链接);遵守链接禁令。
  • 对于格式(a),在
    assets/rebuttal-template.tex
    中撰写(若会议/期刊提供官方反驳信模板则必须使用——CVPR强制要求;宏定义在操作指南中有说明)。对于格式(b),在一个Markdown文件中撰写所有回复框,每个回复框以
    ## 
    标题开头。对于格式(c),生成三件套成果(修订稿件变更计划、变更日志回复文档、说明信)。

5. Verify deterministically

5. 确定性验证

Run both checkers (each supports
--help
; exit 0 pass / 1 fail / 2 error):
python3 skills/write-rebuttal/scripts/check_coverage.py points.md <responses...> --strict
— every matrix ID addressed, every section carrying at least one evidence anchor.
python3 skills/write-rebuttal/scripts/check_budget.py text responses.md --sections --venue venues/conferences/<id>.yml
python3 skills/write-rebuttal/scripts/check_budget.py pdf rebuttal.pdf --venue venues/conferences/<id>.yml
— character budgets per response box (text mode) or PDF page count (pdf mode), with the limit read from the profile (
--limit
/
--max-pages
override; defaults are flagged ASSUMED). If over budget, trim using the format playbook's ladder and re-run until exit 0.
运行两个检查工具(均支持
--help
;退出码0表示通过/1表示失败/2表示错误):
python3 skills/write-rebuttal/scripts/check_coverage.py points.md <responses...> --strict
——确保矩阵中的每个ID都有对应的回复,且每个回复部分至少包含一个证据锚点。
python3 skills/write-rebuttal/scripts/check_budget.py text responses.md --sections --venue venues/conferences/<id>.yml
python3 skills/write-rebuttal/scripts/check_budget.py pdf rebuttal.pdf --venue venues/conferences/<id>.yml
——检查每个回复框的字符数(文本模式)或PDF页数(PDF模式)是否符合配置文件中的限制(
--limit
/
--max-pages
可覆盖默认值;默认值会标记为ASSUMED)。若超出限制,按照格式指南中的精简方法调整,直至退出码为0。

6. Deliver

6. 交付成果

Write the artifacts next to the user's paper, named per format:
rebuttal.tex
(+ compile instructions),
responses.md
, or
response-to-reviewers.md
+ revision plan — plus
points.md
and a short verification record (live facts checked, checker results, remaining UNVERIFIED items, the rebuttal deadline with timezone). The user reviews, edits, and posts/uploads everything themselves.
将生成的文件放在用户论文所在目录下,按格式命名:
rebuttal.tex
(附编译说明)、
responses.md
,或
response-to-reviewers.md
+修订计划——同时提供
points.md
和简短的验证记录(已验证的实时信息、检查工具结果、未验证项、带时区的反驳信截止日期)。由用户自行审核、编辑、发布/上传所有内容。

Worked mini-example

迷你示例

The matrix → anchored response → checker loop, end to end. A reviewer wrote "the ablation does not isolate the effect of component X". One row in
points.md
:
markdown
| ID | Reviewer quote (abridged) | Type | Severity | Effort | Strategy |
|---|---|---|---|---|---|
| R2.1 | "ablation does not isolate X" | missing-experiment | high | none | rows 3 vs 5 of Table 4 isolate X; reorder so the pair is adjacent |
The drafted response (OpenReview format here — one
## 
box, leads with the answer, anchored, no padding):
markdown
undefined
从矩阵→锚定回复→检查工具循环的完整流程。某评审意见为“消融实验未分离组件X的效果”。
points.md
中的一行:
markdown
| ID | 评审意见精简引用 | 类型 | 严重程度 | 工作量 | 应对策略 |
|---|---|---|---|---|---|
| R2.1 | "消融实验未分离X" | 缺失实验 ||| 表4的第3行与第5行已分离X;修订时调整顺序使两行相邻 |
撰写的回复(OpenReview格式——一个
## 
回复框,直接给出答案并锚定证据,无冗余内容):
markdown
undefined

Response to Reviewer 7Pqd (R2)

回复评审人7Pqd(R2)

[R2.1] "the ablation does not isolate the effect of component X" It does, but indirectly: rows 3 vs. 5 of Table 4 (Sec. 6.2, L412) differ only in X. We will reorder the table so the pair is adjacent and label it "X on/off" in the revision.

Verify before handing it over:
python3 skills/write-rebuttal/scripts/check_coverage.py points.md responses.md --strict python3 skills/write-rebuttal/scripts/check_budget.py text responses.md --sections --venue venues/conferences/<id>.yml

Coverage passes because `R2.1` appears in a response and that section carries
anchors (`Table 4`, `Sec. 6.2`, `L412`); budget passes if the box is under
the venue's per-response limit. The same row drafts into `\rpoint{R2.1}{...}`
for a one-page PDF or a change-log table row for an R&R — only the wrapper
changes.
[R2.1] "消融实验未分离组件X的效果" 实际上已分离,只是方式间接:表4的第3行与第5行(6.2节,第412行)仅在X组件上存在差异。我们将在修订时调整表格顺序,使这两行相邻,并标注为“X开启/关闭”。

交付前验证:
python3 skills/write-rebuttal/scripts/check_coverage.py points.md responses.md --strict python3 skills/write-rebuttal/scripts/check_budget.py text responses.md --sections --venue venues/conferences/<id>.yml

覆盖检查通过,因为`R2.1`出现在回复中,且该部分包含锚点(`表4`、`6.2节`、`第412行`);若回复框符合会议/期刊的单框字符限制,则篇幅检查通过。同一行内容可转换为一页PDF格式的`\rpoint{R2.1}{...}`,或修订重投格式的变更日志表格行——仅包裹格式不同。

Output

输出成果

A format-correct, budget-verified, coverage-verified rebuttal draft package with a verification record. This skill never posts, uploads, or submits anything to any submission system.
一套格式正确、符合篇幅限制、覆盖所有要点的反驳信草稿包,附带验证记录。本技能绝不会向任何提交系统发布、上传或提交任何内容。

Guardrails

约束规则

  • Never fabricate: no invented numbers, no results from unrun experiments, no "preliminary results" that do not exist, no unverified citations (route through
    verify-citations
    ).
  • Never submit or post on the user's behalf; stop at files on disk.
  • Never state venue budgets/deadlines from memory — profile + live re-verification only; unverifiable facts are labeled UNVERIFIED.
  • Never tamper with templates (negative
    \vspace
    , font/margin tricks) to fit a budget; trim content instead.
  • Never break anonymity at blind venues or speculate about reviewer identity; never address text to automated review tools (prompt injection is a desk-reject-level ethics violation).
  • Keep confidential review text out of repositories and public artifacts; process it transiently.
  • 绝不编造内容:不得虚构数据、未完成实验的结果、不存在的“初步结果”,不得使用未验证的参考文献(需通过
    verify-citations
    审核)。
  • 绝不代表用户提交或发布内容;仅生成本地文件。
  • 绝不凭记忆陈述会议/期刊的篇幅限制/截止日期——仅依据配置文件+实时重新验证;无法验证的信息需标记为UNVERIFIED。
  • 绝不篡改模板(如使用负
    \vspace
    、字体/边距技巧)以满足篇幅限制;应精简内容。
  • 在双盲会议/期刊中绝不打破匿名规则或猜测评审人身份;绝不对自动评审工具发送针对性内容(提示注入属于会导致直接拒稿的伦理违规行为)。
  • 确保机密评审文本不进入代码仓库或公开文件;仅进行临时处理。