Response Tone Polisher
by @ewankeynes
Polishes response letters by transforming defensive or harsh language into professional, courteous academic prose. Converts phrases like "I will not correct...
clawhub install response-tone-polisherπ About This Skill
name: response-tone-polisher description: Polishes response letters by transforming defensive or harsh language into professional, courteous academic prose. Converts phrases like "I will not correct this" into "We respectfully believe the original data sufficiently supports..." to avoid reviewer conflict. version: 1.0.0 category: Writing tags:
Response Tone Polisher
Polishes response letters to peer reviewers by softening harsh or defensive language while preserving the author's position and scientific integrity.
Overview
This skill analyzes author draft responses to reviewer comments and transforms confrontational or defensive phrasing into professional, diplomatic academic language. It helps researchers maintain positive relationships with reviewers while standing firm on scientifically justified positions.
Key Features
When to Use
Usage Examples
Basic Usage
Input:
Reviewer: The sample size is too small for meaningful conclusions.
Draft Response: I disagree. Our sample size is standard in this field.Output:
We appreciate the reviewer's concern regarding sample size. While we acknowledge
that larger samples provide greater statistical power, our sample size is consistent
with established conventions in this field and meets the requirements for adequate
power analysis (as detailed in the Methods section).
Defensive Language Transformation
| Original (Defensive) | Polished (Professional) | |---------------------|------------------------| | "I will not change this." | "We have carefully considered this suggestion and respectfully maintain our original approach because..." | | "The reviewer is wrong." | "We respectfully offer a different interpretation..." | | "This is unnecessary." | "We appreciate this suggestion; however, we believe the current presentation adequately addresses this point." | | "We already explained this." | "We have expanded our explanation to enhance clarity (Page X, Lines Y-Z)." | | "That's not our fault." | "We acknowledge this limitation and have added appropriate caveats to the Discussion." |
Input Parameters
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| reviewer_comment | str | Yes | The reviewer's original comment or criticism |
| draft_response | str | Yes | Author's initial draft response (may contain harsh/defensive language) |
| response_type | str | No | One of: accept, partial, decline (default: auto-detect) |
| polish_level | str | No | light, moderate, heavy (default: moderate) |
| preserve_meaning | bool | No | Ensure scientific position is preserved (default: true) |
Output Format
{
"polished_response": "string",
"original_tone_score": "float (0-1, higher = more defensive)",
"improvements": [
{
"original_phrase": "string",
"polished_phrase": "string",
"issue_type": "string"
}
],
"suggestions": ["string"],
"politeness_score": "float (0-1)"
}
Tone Patterns Detected
The skill identifies and transforms:
1. Direct Refusals
2. Defensive Statements
3. Blame Shifting
4. Emotional Language
Polite Academic Expressions
Acknowledging Reviewers
Expressing Disagreement Diplomatically
Explaining Limitations
Describing Changes
Workflow
1. Input Analysis: Parse reviewer comment and draft response 2. Tone Assessment: Score defensiveness and identify problematic phrases 3. Pattern Matching: Find harsh expressions in the transformation library 4. Reconstruction: Rewrite maintaining scientific accuracy 5. Quality Check: Verify politeness and clarity
Command Line Usage
# Interactive mode
python scripts/main.py --interactiveFile-based
python scripts/main.py \
--reviewer-comment "comment.txt" \
--draft-response "draft.txt" \
--output "polished.txt"Direct input
python scripts/main.py \
--reviewer "The data is insufficient." \
--draft "You are wrong. We have enough data." \
--polish-level heavy
Python API
from scripts.main import TonePolisherpolisher = TonePolisher()
result = polisher.polish(
reviewer_comment="The methodology is flawed.",
draft_response="No it's not. We did it right.",
response_type="decline",
polish_level="moderate"
)
print(result["polished_response"])
References
references/polite_expressions.json - Curated library of academic polite expressionsreferences/tone_patterns.md - Common defensive patterns and their transformationsreferences/examples/ - Before/after polishing examplesLimitations
Quality Checklist
After polishing, verify:
Risk Assessment
| Risk Indicator | Assessment | Level | |----------------|------------|-------| | Code Execution | Python/R scripts executed locally | Medium | | Network Access | No external API calls | Low | | File System Access | Read input files, write output files | Medium | | Instruction Tampering | Standard prompt guidelines | Low | | Data Exposure | Output files saved to workspace | Low |
Security Checklist
Prerequisites
# Python dependencies
pip install -r requirements.txt
Evaluation Criteria
Success Metrics
Test Cases
1. Basic Functionality: Standard input β Expected output 2. Edge Case: Invalid input β Graceful error handling 3. Performance: Large dataset β Acceptable processing timeLifecycle Status
β‘ When to Use
βοΈ Configuration
# Python dependencies
pip install -r requirements.txt