Workflow 4: Rebuttal
Prepare and maintain a grounded, venue-compliant rebuttal for: $ARGUMENTS
Scope
This skill is optimized for:
- ICML-style text-only rebuttal
- strict character limits
- multiple reviewers
- follow-up rounds after the initial rebuttal
- safe drafting with no fabrication, no overpromise, and full issue coverage
This skill does not:
- run new experiments automatically
- generate new theorem claims automatically
- edit or upload a revised PDF
- submit to OpenReview / CMT / HotCRP
If the user already has new results, derivations, or approved commitments, the skill can incorporate them as user-confirmed evidence.
Lifecycle Position
Workflow 1: idea-discovery
Workflow 1.5: experiment-bridge
Workflow 2: auto-review-loop (pre-submission)
Workflow 3: paper-writing
Workflow 4: rebuttal (post-submission external reviews)
Constants
- VENUE =
ICML— Default venue. Override if needed. - RESPONSE_MODE =
TEXT_ONLY— v1 default. - REVIEWER_MODEL =
gpt-5.5— Used via Codex MCP for internal stress-testing. - REVIEWER_BACKEND =
codex— Default: Codex xhigh stress tester. Use--reviewer: oracle-proonly when explicitly requested; if Oracle is unavailable, warn and fall back to Codex xhigh. See../shared-references/reviewer-routing.md. - MAX_INTERNAL_DRAFT_ROUNDS = 2 — draft → lint → revise.
- MAX_STRESS_TEST_ROUNDS = 1 — One Codex MCP critique round.
- MAX_FOLLOWUP_ROUNDS = 3 — per reviewer thread.
- AUTO_EXPERIMENT = false — When
true, automatically invoke/experiment-bridgeto run supplementary experiments when the strategy plan identifies reviewer concerns that require new empirical evidence. Whenfalse(default), pause and present the evidence gap to the user for manual handling. - QUICK_MODE = false — When
true, only run Phase 0-3 (parse reviews, atomize concerns, build strategy). OutputsISSUE_BOARD.md+STRATEGY_PLAN.mdand stops — no drafting, no stress test. Useful for quickly understanding what reviewers want before deciding how to respond. - REBUTTAL_DIR =
rebuttal/ - RENDER_HTML = true — When
true(default), auto-renderrebuttal/REBUTTAL_DRAFT_rich.mdto HTML after Phase 6 / Phase 8 finalization via/render-html. Uses full review gate (reviewer-facing pre-submission deliverable). The plain-textPASTE_READY.txtis NOT rendered (it's character-counted plain text by design). Setfalseto skip, or pass— render html: false. Non-blocking: failures don't invalidate the rebuttal.
Override:
/rebuttal "paper/" — venue: NeurIPS, character limit: 5000
Required Inputs
- Paper source — PDF, LaTeX directory, or narrative summary
- Raw reviews — pasted text, markdown, or PDF with reviewer IDs
- Venue rules — venue name, character/word limit, text-only or revised PDF allowed
- Current stage — initial rebuttal or follow-up round
If venue rules or limit are missing, stop and ask before drafting.
Safety Model
Three hard gates — if any fails, do NOT finalize:
- Provenance gate — every factual statement maps to:
paper,review,user_confirmed_result,user_confirmed_derivation, orfuture_work. No source = blocked. - Commitment gate — every promise maps to:
already_done,approved_for_rebuttal, orfuture_work_only. Not approved = blocked. - Coverage gate — every reviewer concern ends in:
answered,deferred_intentionally, orneeds_user_input. No issue disappears.
Workflow
Phase 0: Resume or Initialize
- If
rebuttal/REBUTTAL_STATE.mdexists → resume from recorded phase - Otherwise → create
rebuttal/, initialize all output documents - Load paper, reviews, venue rules, any user-confirmed evidence
Phase 1: Validate Inputs and Normalize Reviews
- Validate venue rules are explicit
- Normalize all reviewer text into
rebuttal/REVIEWS_RAW.md(verbatim) - Record metadata in
rebuttal/REBUTTAL_STATE.md - If ambiguous, pause and ask
Phase 2: Atomize and Classify Reviewer Concerns
Create rebuttal/ISSUE_BOARD.md.
For each atomic concern:
issue_id(e.g., R1-C2)reviewer,round,raw_anchor(short quote)issue_type: assumptions / theorem_rigor / novelty / empirical_support / baseline_comparison / complexity / practical_significance / clarity / reproducibility / otherseverity: critical / major / minorreviewer_stance: positive / swing / negative / unknownresponse_mode: direct_clarification / grounded_evidence / nearest_work_delta / assumption_hierarchy / narrow_concession / future_work_boundarystatus: open / answered / deferred / needs_user_input
Phase 3: Build Strategy Plan
Create rebuttal/STRATEGY_PLAN.md.
- Identify 2-4 global themes resolving shared concerns
- Choose response mode per issue
- Build character budget (10-15% opener, 75-80% per-reviewer, 5-10% closing)
- Identify blocked claims (ungrounded or unapproved)
- If unresolved blockers → pause and present to user
QUICK_MODE exit: If QUICK_MODE = true, stop here. Present ISSUE_BOARD.md + STRATEGY_PLAN.md to the user and summarize: how many issues per reviewer, shared vs unique concerns, recommended priorities, and evidence gaps. The user can then decide to continue with full rebuttal (/rebuttal — quick mode: false) or write manually.
Phase 3.5: Evidence Sprint (when AUTO_EXPERIMENT = true)
Skip entirely if AUTO_EXPERIMENT is false — instead, pause and present the evidence gaps to the user.
If the strategy plan identifies issues that require new empirical evidence (tagged response_mode: grounded_evidence with evidence_source: needs_experiment):
-
Generate a mini experiment plan from the reviewer concerns:
- What to run (ablation, baseline comparison, scale-up, condition check)
- Success criterion (what result would satisfy the reviewer)
- Estimated GPU-hours
-
Invoke
/experiment-bridgewith the mini plan:/experiment-bridge "rebuttal/REBUTTAL_EXPERIMENT_PLAN.md" -
Wait for results, then update
ISSUE_BOARD.md:- Tag completed experiments as
user_confirmed_result - Update evidence source for relevant issue cards
- Tag completed experiments as
-
If experiments fail or are inconclusive:
- Switch response mode to
narrow_concessionorfuture_work_boundary - Do NOT fabricate positive results
- Switch response mode to
-
Save experiment results to
rebuttal/REBUTTAL_EXPERIMENTS.mdfor provenance tracking.
Time guard: If estimated GPU-hours exceed rebuttal deadline, skip and flag for manual handling.
Phase 4: Draft Initial Rebuttal
Create rebuttal/REBUTTAL_DRAFT_v1.md.
Structure:
- Short opener — thank reviewers + 2-4 global resolutions
- Per-reviewer numbered responses — answer → evidence → implication
- Short closing — resolved / remaining / acceptance case
Default reply pattern per issue:
- Sentence 1: direct answer
- Sentence 2-4: grounded evidence
- Last sentence: implication for the paper
Heuristics from 5 successful rebuttals:
- Evidence > assertion
- Global narrative first, per-reviewer detail second
- Concrete numbers for counter-intuitive points
- Name closest prior work + exact delta for novelty disputes
- Concede narrowly when reviewer is right
- For theory: separate core vs technical assumptions
- Answer friendly reviewers too
Hard rules:
- NEVER invent experiments, numbers, derivations, citations, or links
- NEVER promise what user hasn't approved
- If no strong evidence exists, say less not more
Also generate rebuttal/PASTE_READY.txt (plain text, exact character count).
Also generate rebuttal/REVISION_PLAN.md — the overall revision checklist.
This document is the single source of truth for every paper revision promised (explicitly or implicitly) in the rebuttal draft. It exists so the author can track follow-through after the rebuttal is submitted, and so the commitment gate in Phase 5 has a conc