Awesome-Agent-Skills-for-Empirical-Research response-to-reviewers
Write effective point-by-point responses to peer reviewer comments for revisions
install
source · Clone the upstream repo
git clone https://github.com/brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/43-wentorai-research-plugins/skills/writing/composition/response-to-reviewers" ~/.claude/skills/brycewang-stanford-awesome-agent-skills-for-empirical-research-response-to-revie && rm -rf "$T"
manifest:
skills/43-wentorai-research-plugins/skills/writing/composition/response-to-reviewers/SKILL.mdsource content
Response to Reviewers Guide
A skill for crafting professional, thorough responses to peer reviewer comments during manuscript revision. Covers structure, tone, strategies for handling difficult comments, and templates for common revision scenarios.
Response Document Structure
Standard Format
Dear Editor, Thank you for the opportunity to revise our manuscript entitled "[Title]" (Manuscript ID: [ID]). We appreciate the constructive feedback from the reviewers and have carefully addressed all comments. Below, we provide a point-by-point response to each comment. Major changes include: 1. [Summary of major change 1] 2. [Summary of major change 2] 3. [Summary of major change 3] All changes in the revised manuscript are highlighted in blue. --- REVIEWER 1 Comment 1.1: [Quote or paraphrase the reviewer's comment] Response: [Your response] [Reference to specific changes: "We have revised Section 3.2, paragraph 2 (lines 145-158) to address this concern."] Comment 1.2: ... --- REVIEWER 2 Comment 2.1: ... --- We believe these revisions have substantially strengthened the manuscript and hope you find it suitable for publication in [Journal Name]. Sincerely, [Authors]
Response Strategy Framework
def classify_reviewer_comment(comment: str) -> dict: """ Classify a reviewer comment to determine the appropriate response strategy. Returns strategy recommendation for each comment type. """ strategies = { 'factual_error': { 'description': 'Reviewer points out a genuine error', 'strategy': 'Acknowledge, correct, and thank the reviewer', 'template': 'We thank the reviewer for identifying this error. ' 'We have corrected [specific change] in [location].', 'tone': 'grateful' }, 'clarification_needed': { 'description': 'Reviewer misunderstood due to unclear writing', 'strategy': 'Rewrite the unclear section; do not blame the reviewer', 'template': 'We appreciate this comment and recognize that our original ' 'wording was unclear. We have revised [section] to clarify that...', 'tone': 'constructive' }, 'additional_analysis': { 'description': 'Reviewer requests new analyses or experiments', 'strategy': 'Perform if feasible; explain limitations if not', 'template': 'We have performed the requested analysis. [Results]. ' 'These results are now presented in [Figure/Table X].', 'tone': 'responsive' }, 'methodological_concern': { 'description': 'Reviewer questions methodology', 'strategy': 'Provide justification with references; add robustness checks', 'template': 'This is an excellent point. Our methodological choice was based on ' '[rationale + citation]. As a robustness check, we have also...', 'tone': 'scholarly' }, 'scope_expansion': { 'description': 'Reviewer asks to expand beyond paper scope', 'strategy': 'Acknowledge value; explain scope boundaries respectfully', 'template': 'We agree this is an interesting direction. However, this analysis ' 'is beyond the scope of the current study because [reason]. ' 'We have added this as a direction for future research in the Discussion.', 'tone': 'respectful_boundary' }, 'disagreement': { 'description': 'You disagree with the reviewer substantively', 'strategy': 'Present evidence-based counter-argument respectfully', 'template': 'We appreciate this perspective. After careful consideration, ' 'we respectfully maintain our original interpretation because [evidence]. ' 'However, we have added a discussion of this alternative view in [section].', 'tone': 'diplomatic' } } # Simple keyword-based classification comment_lower = comment.lower() if any(w in comment_lower for w in ['error', 'mistake', 'incorrect', 'wrong']): return strategies['factual_error'] elif any(w in comment_lower for w in ['unclear', 'confusing', 'what do you mean']): return strategies['clarification_needed'] elif any(w in comment_lower for w in ['additional', 'also analyze', 'please include']): return strategies['additional_analysis'] elif any(w in comment_lower for w in ['method', 'approach', 'why did you']): return strategies['methodological_concern'] elif any(w in comment_lower for w in ['beyond', 'also consider', 'broader']): return strategies['scope_expansion'] else: return strategies['clarification_needed'] # default safe strategy
Handling Difficult Situations
When You Disagree with a Reviewer
Never dismiss a reviewer's concern outright. The formula:
1. Acknowledge the reviewer's point "We appreciate this thoughtful observation." 2. Present your reasoning with evidence "Our approach is supported by [Author, Year] who demonstrated..." 3. Show you have considered the alternative "We have added a paragraph discussing this alternative interpretation (Section 4.3, lines 312-325)." 4. Offer a compromise when possible "As a compromise, we have added a sensitivity analysis using the reviewer's suggested approach, which yields consistent results (Supplementary Table S3)."
When a Requested Analysis is Infeasible
Structure: 1. Explain why it cannot be done "Unfortunately, [specific reason] prevents us from performing this analysis. [Data was not collected / sample size is insufficient / IRB protocol does not cover this]." 2. Offer the closest feasible alternative "As an alternative, we have conducted [alternative analysis], which addresses the same underlying concern." 3. Acknowledge the limitation "We have added this as a limitation in Section 5.2."
Cover Letter for Revision
def generate_cover_letter(journal: str, manuscript_id: str, title: str, major_changes: list[str], editor_name: str = "Editor") -> str: """Generate a revision cover letter template.""" changes_list = '\n'.join(f' {i+1}. {c}' for i, c in enumerate(major_changes)) return f"""Dear {editor_name}, We are pleased to submit our revised manuscript entitled "{title}" (Manuscript ID: {manuscript_id}) for consideration in {journal}. We thank you and the reviewers for the constructive and insightful comments, which have significantly improved the quality of our work. We have carefully addressed all reviewer comments in the attached point-by-point response document. The major revisions include: {changes_list} All changes are highlighted in blue in the revised manuscript. A clean version is also provided. We believe the revised manuscript now fully addresses the reviewers' concerns and is suitable for publication in {journal}. Sincerely, [Corresponding Author Name] [Affiliation] [Email]"""
Revision Tracking Best Practices
- Use track changes or highlight all modified text in the revised manuscript
- Provide both a marked-up version and a clean version
- Reference specific line numbers, figure numbers, or section numbers
- If the revision substantially changes a figure or table, include the old and new versions side by side in the response document
- Submit the revision within the editor's requested timeline (typically 30-90 days)