Rebuttal
Workflow 4: Submission rebuttal pipeline. Parses external reviews, enforces coverage and grounding, drafts a safe text-only rebuttal under venue limits, and manages follow-up rounds. Use when user says \"rebuttal\", \"reply to reviewers\", \"ICML rebuttal\", \"OpenReview response\", or wants to answer external reviews safely.
- Skill ID
- wanshuiyin/auto-claude-code-research-in-sleep/rebuttal
- Publisher
- wanshuiyin
- Repository
- auto-claude-code-research-in-sleep
- Installs
- 0
- Files
- 1
- Synced
- Sep 23, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
wanshuiyin/auto-claude-code-research-in-sleep/rebuttalInstalls these files- SKILL.md
What this skill tells the agent
Workflow 4: Rebuttal
Prepare and maintain a grounded, venue-compliant rebuttal for: $ARGUMENTS
Scope
This skill is optimized for:
- text-only rebuttal under strict character/word limits (e.g. ICML single-document)
- per-reviewer thread responses where each reviewer renders independently (e.g. OpenReview-style)
- multiple reviewers with shared and reviewer-specific concerns
- 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-6-astra` — Default model for the Codex backend. Used for internal stress-testing. Manual backend uses a model the user chooses — it must be a recognized model from a different family (OpenAI, Anthropic, Google, DeepSeek, Moonshot/Kimi, Qwen).
- REVIEWER_BACKEND = `codex` — Default: Codex MCP (xhigh). Override with
— reviewer: oracle-profor Oracle MCP, or— reviewer: manualfor Manual Review MCP. If manual-review MCP is unavailable, stop and print the install command; do not fall back to Codex. Seeshared-references/reviewer-routing.md. - MAX_INTERNAL_DRAFT_ROUNDS = 2 — draft → lint → revise.
- VENUE_MODE = `single_document` —
single_documentfor one shared author response, orper_reviewer_threadwhen each reviewer thread renders independently. Confirm the venue/interface before drafting if unclear. Affects Phase 4/7 output shape. - STRESS_TEST_ROUNDS_BASE = 1 — One external reviewer critique round on the full response set. Add focused rounds for
reviewer_priority: pivotalresponses, terminating when the reviewer returns no new substantive issues. Hard cap at 5. - 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.md(the detailed reviewer-facing draft) to HTML after Phase 6 / Phase 8 finalization. Uses full Codex review gate (final pre-submission deliverable — reviewer-facing content, render fidelity matters). The plain-textPASTE_READY.txtis NOT rendered (it's character-counted plain text by design). Setfalseto skip, or pass— render html: false.
Override: /rebuttal "paper/" — venue: NeurIPS, character limit: 5000Reviewer Calling Convention
When calling the reviewer for stress-testing, branch on REVIEWER_BACKEND:
If REVIEWER_BACKEND = `codex`: Use mcp__codex__codex for new review threads. Use mcp__codex__codex-reply for follow-up rounds (reuse threadId).
If REVIEWER_BACKEND = `manual`: Use mcp__manual_review__review for new review threads with: prompt: [exact same prompt that would go to Codex] config: {"model_reasoning_effort": "xhigh", "executor_model": "<actual executor model>", "require_reviewer_model": true} Save the returned threadId. Use mcp__manual_review__review_reply for follow-up rounds with: threadId: [saved manual-review threadId] prompt: [follow-up prompt] config: {"model_reasoning_effort": "xhigh", "executor_model": "<actual executor model>", "require_reviewer_model": true}
Prompt fidelity: the manual prompt must be exactly the same text that Codex would receive. Review tracing applies equally to both backends.
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, rendering mode (one shared response or independent reviewer threads)
- Current stage — initial rebuttal or follow-up round
If venue rules, limit, or rendering mode 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 / unknownreviewer_priority: standard / pivotalpivotal— a reviewer whose response is likely to affect the decision if addressed well: low or borderline rating, addressable concerns, and enough confidence/influence to matter. Phase 3 allocates extra drafting and stress-test budget here.response_mode: direct_clarification / grounded_evidence / nearest_work_delta / assumption_hierarchy / narrow_concession / future_work_boundary / structural_distinctionstructural_distinction— for "your method reduces to X / is just generic Y / is subsumed by Z" attacks. Pattern: agree on the local reduction; show the structural feature your parameterization preserves that X/Y/Z does not capture, backed by a concrete mechanism (theorem dependency, derivation step, or empirical consequence). Never use rhetorically without the supporting mechanism.status: 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) — applies in
single_documentmode; inper_reviewer_threadmode, set per-thread word/char targets instead
More from wanshuiyin
Use this skill in a project
Open any RiverX project, search the Skills panel for wanshuiyin/auto-claude-code-research-in-sleep/rebuttal, and install it in one click.
