| name | dr-cook:rebuttal-writer |
| description | Draft professional peer review response letters and revision rebuttals. Use when writing a response to reviewers, rebuttal letter, point-by-point response, revision letter, or appeal of a rejection decision. Triggers on: rebuttal, response to reviewers, point-by-point response, reviewer comments, revision letter, appeal rejection, 回复审稿意见, 逐条回复, 修改说明, 审稿回复. Does NOT trigger on paper-reviewer (reviewing a paper for others) or citation-checker.
|
rebuttal-writer
1. Overview
rebuttal-writer helps authors craft professional, evidence-based responses to peer reviewer comments. Two modes: full rebuttal produces a complete point-by-point response letter covering all reviewer comments; single comment drafts a focused response to one specific comment. Tone is calibrated against the revision type and journal tier using references/tone-calibration.md, and letter structure follows references/response-templates.md. When upstream modules such as paper-reviewer have already run, rebuttal-writer inherits their raw_text as the reviewer comments source and their domain, target_journal, and language fields automatically.
2. Parameters
Required
| Parameter | Values | Description |
|---|
reviewer_comments | string (pasted text) | The raw reviewer comments. Paste directly or inherit from context_output.raw_text if an upstream module (e.g., paper-reviewer) has already produced them. |
manuscript_summary | string | A 2–3 sentence description of the study — its question, methods, and key finding. Grounds all responses in the actual work and prevents generic replies. |
Optional
| Parameter | Values | Description |
|---|
mode | full | single (default: full) | full = complete response letter addressing all reviewer comments; single = response to one specific comment. |
journal | string | Journal name. Affects formality level and the degree of assertiveness appropriate in responses. |
domain | tcm | bioinformatics | clinical | pharmacology | Research domain. Affects terminology used in responses. Inherited from upstream context if available. |
revision_type | minor | major | rejection_appeal | Affects tone depth and structure. If not provided, auto-detected in Step 3. |
language | en | zh (default: en) | Output language for the response letter. |
Parameter collection rule
Collect one at a time: reviewer_comments first, then manuscript_summary. Infer or auto-detect optional parameters per the workflow below.
3. Workflow
Step 1 — Check upstream context.
Inspect context_output before asking the user anything. If a prior module has run, extract without re-asking: domain, target_journal → journal, language, raw_text → reviewer_comments. If upstream status is failed, halt. If partial, proceed with a warning.
Step 2 — Collect missing required parameters.
If reviewer_comments is absent, ask the user to paste them. If manuscript_summary is absent, ask: "Please provide a 2–3 sentence summary of your study (research question, methods, and key finding)." Collect one at a time.
Step 3 — Detect revision_type.
If revision_type was not provided by the user and is not present in upstream context, analyze the reviewer comment text for tone signals:
- If comments include any of: "reject", "fundamental flaw", "cannot recommend", "not suitable", "major conceptual issues" → propose
rejection_appeal.
- If comments are brief (fewer than 300 words total) and consist mainly of small requests with no structural criticisms → propose
minor.
- Otherwise → default to
major.
Present the detected revision_type to the user (e.g., "Based on the comments, this appears to be a major revision. Does that sound right?") and wait for confirmation before proceeding.
Step 4 — Load tone calibration.
Read references/tone-calibration.md. Using the confirmed revision_type and, if known, the journal tier (top = Nature/Science/Cell/NEJM/Lancet; mid/general = all others), select the appropriate tone profile: Collegial, Respectful-assertive, or Measured-assertive. Apply the tone rules from that profile throughout drafting.
Step 5 — Load response templates.
Read references/response-templates.md. Override rule: When revision_type is rejection_appeal, Template 3 is always used regardless of mode. For all other revision types, select based on mode:
full mode → Template 1 (Full Rebuttal Letter Structure)
single mode → Template 2 (Single Comment Response)
rejection_appeal type → Template 3 (Rejection Appeal Letter)
Step 6 — Draft the response letter.
Compose the response following the selected template and tone profile.
- Full mode: Parse individual numbered or bulleted items; group by reviewer. For each comment, produce three labeled sub-sections:
Reviewer N, Comment M: (verbatim quote), Response: (2–8 sentences with evidence, data references, or literature), and Manuscript change: (location, or "No change required — see justification above").
- Single mode: Same three-part structure for the one comment provided.
- Rejection appeal: Open with a formal appeal request, summarize the study's contribution in 2 sentences, address each "fatal flaw" with direct evidence, close with a reconsideration request.
Apply domain terminology: TCM syndrome names for tcm; gene symbols in italics for bioinformatics; CONSORT/STROBE language for clinical; IUPHAR nomenclature for pharmacology. If language: zh, write in Chinese and keep reviewer comment quotes in their original language.
Step 7 — Present output and offer iteration.
Display the complete response letter. Then ask: "Would you like to adjust the tone (more assertive / more conciliatory), expand any specific response, or translate to Chinese?"
4. Output Format
[Rebuttal Letter — Mode: Full | Revision Type: Major]
Dear Editor [and Reviewers],
[Opening paragraph: 2–3 sentences of formal gratitude, noting all concerns have been
addressed and the manuscript is strengthened.]
---
REVIEWER 1
Reviewer 1, Comment 1: [Verbatim quote]
Response: [2–8 sentences. Lead with acknowledgment or respectful rebuttal. Cite
figures, tables, or literature as appropriate. State what was changed.]
Manuscript change: [Specific section and line/paragraph, or "No change required — see
justification above."]
Reviewer 1, Comment 2: [...]
Response: [...]
Manuscript change: [...]
---
REVIEWER 2
[...]
---
[Closing paragraph: 1–2 sentences expressing commitment to quality and, for rejection
appeals, a reconsideration request.]
Sincerely,
[Author names]
Header format: [Rebuttal Letter — Mode: Full | Single] [Revision Type: Minor | Major | Rejection Appeal]
If language: zh: write the entire letter in Chinese. Reviewer comment quotes remain in the original language (typically English). Use "感谢审稿人的宝贵意见" as the standard opener for each reviewer section.
5. context_output
Reads from upstream
| Field | Source | Usage |
|---|
raw_text | paper-reviewer, any upstream module | Used as reviewer_comments if not pasted directly by the user |
domain | any upstream module | Terminology standard for domain-specific drafting |
target_journal | any upstream module | Maps to journal parameter; informs journal tier detection |
language | any upstream module | Output language (en or zh) |
parameters.* | any upstream module | Prevents re-asking for already-collected values |
Writes to output
{
"module": "rebuttal-writer",
"summary": "Drafted full rebuttal addressing 12 reviewer comments across 2 reviewers",
"raw_text": "<complete response letter>",
"parameters": {
"mode": "full | single",
"revision_type": "minor | major | rejection_appeal",
"journal": "<journal name or null>",
"domain": "<domain or null>",
"language": "en | zh"
},
"status": "success | partial | failed",
"error_message": "string | null"
}
Downstream readers of raw_text: english-polisher, chinese-polisher.
6. References
See references/ for:
tone-calibration.md — Tone spectrum by revision type and journal tier; phrase-level rules for Collegial, Respectful-assertive, and Measured-assertive tones
response-templates.md — Full rebuttal letter, single comment, and rejection appeal templates; mini-guide for handling common reviewer request types