Polishes response letters by transforming defensive or harsh language.
46
33%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./scientific-skills/Academic Writing/response-tone-polisher/SKILL.mdPolishes response letters to peer reviewers by softening harsh or defensive language while preserving the author's position and scientific integrity.
See ## Prerequisites above for related details.
Python: 3.10+. Repository baseline for current packaged skills.dataclasses: unspecified. Declared in requirements.txt.enum: unspecified. Declared in requirements.txt.cd "20260318/scientific-skills/Academic Writing/response-tone-polisher"
python -m py_compile scripts/main.py
python scripts/main.py --helpExample run plan:
CONFIG block or documented parameters if the script uses fixed settings.python scripts/main.py with the validated inputs.See ## Overview above for related details.
scripts/main.py.references/ contains supporting rules, prompts, or checklists.Use this command to verify that the packaged script entry point can be parsed before deeper execution.
python -m py_compile scripts/main.pyUse these concrete commands for validation. They are intentionally self-contained and avoid placeholder paths.
python -m py_compile scripts/main.py
python scripts/main.py --helpThis 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.
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).| 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." |
| 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) |
{
"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)"
}The skill identifies and transforms:
# Interactive mode
python scripts/main.py --interactive
# File-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 heavyfrom scripts.main import TonePolisher
polisher = 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/polite_expressions.json - Curated library of academic polite expressionsreferences/tone_patterns.md - Common defensive patterns and their transformationsreferences/examples/ - Before/after polishing examplesAfter polishing, verify:
| 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 |
# Python dependencies
pip install -r requirements.txtEvery final response should make these items explicit when they are relevant:
scripts/main.py fails, report the failure point, summarize what still can be completed safely, and provide a manual fallback.This skill accepts requests that match the documented purpose of response-tone-polisher and include enough context to complete the workflow safely.
Do not continue the workflow when the request is out of scope, missing a critical input, or would require unsupported assumptions. Instead respond:
response-tone-polisheronly handles its documented workflow. Please provide the missing required inputs or switch to a more suitable skill.
Use the following fixed structure for non-trivial requests:
If the request is simple, you may compress the structure, but still keep assumptions and limits explicit when they affect correctness.
4a48721
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.