/rebuttal
SkillDocs & knowledgeParse reviewer comments → atomize concerns (Rvx-Cy) → map to wiki claims → check evidence → Review LLM stress-test → generate rebuttal
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the /rebuttal skill
What this skill tells your AI
The instructions your AI receives, as published by lambenthan/empiricalwiki in .claude/skills/rebuttal/SKILL.md and read by ahel’s review.
解析审稿意见,将每条 concern 原子化(Rvx-Cy 编号)并映射到 wiki claim, 检查 evidence 是否充分(追溯到 wiki experiments), 用 Review LLM 模拟审稿人追问(stress-test,评分 1-5),生成正式版(纯文本)和富文本版 rebuttal。 安全检查确保 no fabrication, no overpromise, full coverage。
Inputs
review:审稿意见来源,以下之一:- 文件路径(如
raw/reviews/reviewer1.txt、raw/reviews/meta-review.md) - 多个文件路径(逗号分隔:
raw/reviews/R1.txt,raw/reviews/R2.txt,raw/reviews/R3.txt) - 直接粘贴的审稿文本
- 文件路径(如
--paper-slug(可选):关联论文在 wiki/outputs/ 中的 slug,用于定位 PAPER_PLAN--venue(可选):目标会议/期刊(ICLR / NeurIPS / ICML / ACL / CVPR),影响 rebuttal 格式和字数限制--stress-test(可选,默认开启):Review LLM 模拟审稿人追问,关闭用--no-stress-test--format(可选,默认formal):输出格式formal:正式 rebuttal 纯文本版(适合直接粘贴到 submission system)rich:富文本版(含 wiki [[links]]、详细分析、改进计划)
Outputs
- wiki/outputs/rebuttal-{slug}.md — 富文本版 rebuttal(含 [[wikilinks]]、evidence 追溯、分析表格)
- wiki/outputs/rebuttal-{slug}.txt — 正式版 rebuttal(plain text,适合 submission system 粘贴)
- wiki/claims/*.md — 若 concern 暴露 evidence gap,在
## Open questions追加建议 - wiki/log.md — 追加日志
Wiki Interaction
Reads
wiki/claims/*.md— 映射 concerns 到 claims,检查 evidence 充分性wiki/experiments/*.md— 查找支持 claim 的实验 resultwiki/papers/*.md— 查找引用的论文上下文wiki/concepts/*.md— 理解 method 相关 concerns 的概念背景wiki/ideas/*.md— 查找 idea 的 motivation 和 pilot resultswiki/outputs/PAPER_PLAN.md— 了解论文结构(来自 /paper-plan,若有 --paper-slug)wiki/graph/context_brief.md— 全局上下文wiki/graph/edges.jsonl— claim-experiment-paper 关系.claude/skills/shared-references/cross-model-review.md— Review LLM stress-test 独立性
Writes
wiki/outputs/rebuttal-{slug}.md— 富文本版wiki/outputs/rebuttal-{slug}.txt— formal 纯文本版wiki/claims/*.md— 在## Open questions追加 reviewer 发现的 gap(不直接修改 confidence/status,仅建议)wiki/log.md— 追加日志
Graph edges created
- 无新 edges(rebuttal 是查询操作,不修改知识图谱)
Workflow
前置:
- 确认工作目录为 wiki 项目根(包含
wiki/、raw/、tools/的目录) - 读取
cross-model-review.md确认 stress-test 独立性原则 - 生成 slug:
python3 tools/research_wiki.py slug "{paper-slug}-rebuttal"
Step 1: 解析审稿意见
-
读取审稿文本:
- 若为文件路径:读取所有指定文件
- 若为直接文本:直接使用
- 合并多个 reviewer 的意见,标注来源(Reviewer 1/2/3/Meta)
-
识别结构:
- 提取每个 reviewer 的:overall score(Accept/Reject/Borderline)、confidence、summary、Strengths、Weaknesses、questions
- 若格式不标准(纯文本),用 LLM 解析为结构化格式
-
输出:每个 reviewer 的结构化意见
Step 2: 原子化 Concerns
将每条 weakness 和 question 拆分为独立的 atomic concern:
-
拆分规则:
- 一个 weakness 可能是复合句,包含多个独立 concern("方法缺少消融实验,且没有与 X 比较" → 拆分为 2 个 concerns)
- 每个 atomic concern 分配 ID:
Rvx-Cy格式(Rv1-C1 = Reviewer 1, Concern 1;Rv1-C2 = Reviewer 1, Concern 2) - 保留 reviewer 编号,确保追溯到原始意见
-
分类每个 concern:
- evidence:关于实验数据、result 解读的事实性质疑
- method:关于方法设计、算法正确性的方法论问题
- missing:缺少某些实验/分析/比较/引用
- clarity:表达不清、符号混乱、图表问题
- scope:贡献不够显著、适用范围质疑
- novelty:与已有工作重叠、创新性不足
- minor:格式、typo 等小问题
-
评估严重性:critical / major / minor
-
输出:原子化 concern 列表,每个包含 {id (Rvx-Cy), reviewer, type, severity, text}
Step 3: 映射 Concerns 到 Wiki Claims
对每个 concern:
-
查找关联 claim:
- 从 concern 文本提取关键词
- 在
wiki/claims/*.md中搜索匹配的 claim - 读取
wiki/graph/edges.jsonl查找 claim-experiment 关系 - 若找不到直接匹配:标注 "unmapped"(无直接 claim 对应)
-
检查 Evidence Status:
- 读取 claim 的 evidence 列表
- 统计 strong/moderate/weak evidence 数量
- 查找关联 experiments 的 results
- 判断:
- 充分(sufficient):strong >= 1 或 moderate >= 2
- 部分充分(partial):有 evidence 但强度不够
- 不足(insufficient):无 evidence 或只有 weak
- 矛盾:有 invalidates 类型 evidence
-
输出:
| Concern ID | Reviewer | Type | Severity | Claim mapped | Evidence Status | Strategy |
|---|---|---|---|---|---|---|
| Rv1-C1 | R1 | method | critical | [[claim-slug]] | sufficient | A |
| Rv1-C2 | R1 | missing | major | [[claim-slug]] | insufficient | B |
| Rv2-C1 | R2 | novelty | major | unmapped | — | D |
Step 4: 起草 Rebuttal 回应
对每个 concern 按 strategy 起草回应:
Strategy A — Evidence 充分(直接回应):
- 引用具体实验 result 和数据(标注来源,确保追溯到 wiki/experiments/)
- 指向 wiki 中的 evidence(转化为论文引用)
- 若 concern 基于误解:礼貌澄清,指出论文中相关 Section
Strategy B — Evidence 不足(承认 + 具体计划):
- 诚实承认当前 evidence 不够充分
- 提出具体的补充实验计划(可链接到 /exp-design)
- 说明具体时间线和资源需求
- 不使用模糊承诺,只承诺具体可执行的补充实验
Strategy C — Clarity 问题(修改承诺):
- 承认表达不清
- 提供改进后的描述(直接在 rebuttal 中展示修改后的文本)
- 列出具体的 Paper Edit 计划
Strategy D — Scope/Novelty 质疑(论证):
- 强调与现有工作的本质区别
- 引用 novelty-check 结果(若有)
- 指出 reviewer 可能遗漏的差异点
每条回应的格式:
**[Rvx-Cy]** {concern summary}
{response text, 2-5 sentences,标注来源确保可追溯}
安全检查(每条回应):
- No fabrication:不伪造数据或实验结果
- No overpromise:只承诺具体可执行的补充实验
- 引用的数据在 wiki/experiments/ 中有记录
- 若 claim 已 challenged/deprecated,不假装它是 supported
Step 5: Review LLM Stress-Test
遵循 cross-model-review.md:不向 Review LLM 发送 Claude 的 rebuttal 策略分析。
若 --stress-test 开启(默认):
mcp__llm-review__chat:
system: "You are a critical reviewer who has just read a rebuttal to your review
comments. You are skeptical and will push back on weak responses.
For each rebuttal response, assess on a scale of 1-5:
1 = unconvincing (deflection or fabrication suspected)
2 = weak (vague, no concrete evidence)
3 = acceptable (addresses concern but could be stronger)
4 = strong (concrete evidence, clear reasoning)
5 = fully convincing (compelling evidence, thorough response)
Also check for overpromise: are commitments specific and feasible?
Provide a follow-up question for any response scoring <= 3."
message: |
## Original Review Concerns
{atomic concerns list with Rvx-Cy IDs}
## Author Rebuttal
{drafted rebuttal responses}
## Please assess each response (score 1-5) and provide follow-up questions.
处理 Review LLM 反馈:
- score 4-5(convincing):保持原回应
- score 3(acceptable):加强回应,补充 Review LLM 建议的细节
- score 1-2(unconvincing/weak):重写回应,考虑是否需要更换 strategy(A→B,承认不足)
第二轮(若有 score <= 2 的回应):
mcp__llm-review__chat-reply:
threadId: {previous thread}
message: |
We've revised the following responses:
{revised responses}
Please re-assess (score 1-5).
最多 2 轮 stress-test。处理 follow-up 追问并更新回应。
Step 6: 格式化输出 + 安全检查
6a. 格式化正式版 rebuttal-{slug}.txt(plain text,适合 submission system):
We thank the reviewers for their constructive feedback. We address each concern below.
Reviewer 1:
[Rv1-C1] {concern summary}
{response}
[Rv1-C2] {concern summary}
{response}
Reviewer 2:
...
Summary of Revisions:
- {bulleted list of planned changes}
Additional Experiments (if applicable):
- {new experiments committed to, with timeline}
6b. 格式化富文本版 rebuttal-{slug}.md:
# Rebuttal Analysis: {paper title}
## Coverage Summary
| Concern ID | Type | Severity | Claim | Evidence Status | Review LLM Score | Strategy |
|------------|------|----------|-------|-----------------|------------|----------|
| Rv1-C1 | method | critical | [[claim-slug]] | sufficient | 4/5 | A |
| Rv1-C2 | missing | major | [[claim-slug]] | insufficient | 3/5 | B |
## Responses
### Reviewer 1
**[Rv1-C1]** ...
**[Rv1-C2]** ...
## Evidence Gap Analysis
| Claim | Confidence | Gap | Needed |
|-------|-----------|-----|--------|
| [[claim-slug]] | 0.5 | No ablation on dataset X | Run ablation experiment |
## Action Items
### Paper Edits
| Section | Change | Reason |
|---------|--------|--------|
| Section 3.2 | Clarify notation | Rv1-C3 clarity concern |
### Wiki Updates
| Page | Update | Reason |
|------|--------|--------|
| claims/{slug} | Add open question | Rv2-C1 evidence gap |
### Suggested Experiments
| Experiment | Target Claim | Suggested by |
|-----------|-------------|--------------|
| ablation-dataset-x | [[claim-slug]] | Rv1-C2 |
→ Run `/exp-design ablation-dataset-x` to design follow-up
## Review LLM Stress-Test Summary
- Average score: {N}/5
- Scores 4-5: {N}/{total}
- Scores 1-3: {N}/{total} (all revised)
## Safety Checklist
- [x] No fabrication: all cited data exists in wiki/experiments
- [x] No overpromise: all committed experiments are specific and feasible
- [x] Full coverage: {N}/{N} concerns addressed (no omissions)
- [x] Challenged claims not presented as supported
6c. 最终安全检查:
- Full coverage:确认每个 concern 都有回应(无遗漏)
- No fabrication:每个引用的数据点在 wiki/experiments/ 中有记录(可追溯)
- No overpromise:补充实验的承诺是具体可行的
- Honesty on weak claims:若 claim confidence < 0.4,不假装 evidence 充分
6d. 更新 wiki:
- 若有 evidence gap 的 claims:在
wiki/claims/{slug}.md的## Open questions追加 reviewer 指出的 gap - 追加日志:
python3 tools/research_wiki.py log wiki/ \ "rebuttal | {N} concerns addressed | {M} evidence gaps | stress-test avg: {score}/5"
Constraints
- No fabrication:绝不编造实验数据或 result。每个引用的数字必须可追溯到 wiki/experiments/,标注来源
- No overpromise:只承诺具体可执行的补充实验。用 "we will run ablation on X with setup Y" 而非 "we will investigate"
- Full coverage:每个 reviewer concern (Rvx-Cy) 必须有回应,不得遗漏。coverage 不足时阻止输出
- Evidence 追溯:每条回应引用的 evidence 必须可追溯到 wiki 页面,标注来源 slug
- 不直接修改 wiki claims:rebuttal 只在 claims 的 Open questions 追加建议,不修改 confidence/status
- Review LLM 独立性:stress-test 时遵循 cross-model-review.md,不向 Review LLM 透露回应策略
- Concern ID 格式:严格使用 Rvx-Cy 格式(Rv1-C1, Rv1-C2, Rv2-C1),确保可追溯
- 具体承诺:所有修改承诺和实验计划必须具体(specific Section、具体 dataset、明确 metric)
- 输出到 wiki/outputs/:rebuttal 文件统一存放在 wiki/outputs/ 目录
Error Handling
- 审稿文件找不到:报错,列出 raw/reviews/ 下可用文件
- 审稿格式无法解析:降级为纯文本处理,由 LLM 提取 concerns,在报告中标注
- concern 映射不到 claim(unmapped):标注 "unmapped",仍然回应(基于论文内容而非 wiki claim)
- Review LLM stress-test 不可用:跳过 Step 5,在报告中标注 "stress-test skipped: Review LLM unavailable"
- evidence 严重不足:若 >50% concerns 的 evidence 为 insufficient,警告用户并建议先补充实验
- wiki 为空:警告 wiki 知识库为空,建议先运行 /ingest 填充 claims 和 experiments
- 所有回应被 Review LLM 评为 1-2 分:终止输出,报告需要重新分析,建议先补充实验
Dependencies
Tools(via Bash)
python3 tools/research_wiki.py slug "{title}"— 生成 rebuttal slugpython3 tools/research_wiki.py log wiki/ "<message>"— 追加日志
MCP Servers
mcp__llm-review__chat— Step 5 stress-test 首轮mcp__llm-review__chat-reply— Step 5 stress-test 后续轮
Claude Code Native
Read— 读取审稿意见、wiki 页面、shared referencesWrite— 写入 rebuttal-{slug}.md、rebuttal-{slug}.txtGlob— 查找 claims、experimentsGrep— 在 wiki 中搜索 concern 关键词
Shared References
.claude/skills/shared-references/cross-model-review.md— Review LLM stress-test 独立性原则
Suggested follow-up skills
/exp-design— 为 evidence 不足的 concerns 设计补充实验/paper-draft— 准备修订版论文(基于 Paper Edits 清单)
Signals
- GitHub stars
- 83
- Forks
- 17
- Last commit
- Jun 2026
Advanced
- Catalog kind
- skill
- Gateway key
rebuttal- Source
- github.com/lambenthan/empiricalwiki