# Dr Cook:english Polisher

> Polish and refine academic English writing. Use when improving grammar, word choice, sentence structure, or discipline-specific terminology in English manuscripts, abstracts, or grant sections. Triggers on: polish English, improve writing, refine language, proofread, academic English, 英文润色, 语言修改, 英文修改, 改善英文, 润色.

- Skill: `wen-chen/dr-cook-english-polisher` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add wen-chen/dr-cook-english-polisher`
- Raw SKILL.md: https://api.skillmd.com/api/skills/wen-chen/dr-cook-english-polisher/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: wen-chen (https://skillmd.com/u/wen-chen)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/wen-chen/dr-cook-english-polisher

---


# english-polisher

## 1. Overview

english-polisher refines academic English writing at four levels: grammar correctness, word choice precision, sentence structure clarity, and domain-specific terminology accuracy. It adapts its output to the research domain — TCM, bioinformatics, clinical, or pharmacology — applying the appropriate terminology standards for each. When a target journal is specified, english-polisher cross-references journal house style preferences for active vs. passive voice and formality level. Three polish levels are available: light (grammar and obvious errors only), standard (grammar, word choice, and structure), and deep (full academic style overhaul). The module can work on any text type: manuscript sections, abstracts, grant sections, or cover letters. It accepts text either from upstream modules via `context_output.raw_text` (paper-writer, grant-writer, rebuttal-writer) or directly from user-pasted input.

## 2. Parameters

### Required

| Parameter | Values | Description |
|---|---|---|
| `domain` | `tcm` \| `bioinformatics` \| `clinical` \| `pharmacology` | Determines which domain-specific terminology rules to apply during Pass 2 and Step 4. |

### Optional

| Parameter | Values | Description |
|---|---|---|
| `target_journal` | string | If provided, adapts polishing to the journal's house style preferences (voice, formality, section-specific conventions). |
| `polish_level` | `light` \| `standard` \| `deep` (default: `standard`) | Depth of revision applied. `light` corrects grammar and obvious errors only. `standard` adds word choice and structure improvements. `deep` performs a full academic style overhaul across all dimensions. |
| `language` | string (always `en`) | This module operates on English text only. If user input is in Chinese or another language, note this and ask whether they want the zh-to-en module first. |

### Parameter collection rule

If `domain` is not available from upstream context and has not been stated by the user, ask once before proceeding. Do not ask for optional parameters unless the user has explicitly mentioned a specific journal name or polish depth in their request.

## 3. Workflow

**Step 1 — Check upstream context.**
Inspect `context_output` before asking the user for anything. If a prior module has written a `raw_text` field, use it as the input to polish. Inherit `target_journal`, `domain`, and `language` from upstream without re-asking. If no `raw_text` exists in context, ask the user to paste the text.

**Step 2 — Collect domain if still missing.**
If `domain` is absent from upstream context and the user's message, ask once: "Which research domain? (tcm / bioinformatics / clinical / pharmacology)." Wait for the answer before proceeding.

**Step 3 — Load academic style guide.**
Read `references/academic-style-guide.md` for universal grammar rules, word choice principles, sentence structure norms, and punctuation standards. Keep these active for all three passes.

**Step 4 — Load domain terminology.**
Read `references/discipline-terminology.md` and extract the section matching `domain`. Apply rules for domain-specific errors: gene name formatting (bioinformatics), TCM term usage (tcm), participant labeling (clinical), and dose unit notation (pharmacology).

**Step 5 — Cross-reference journal style (conditional).**
If `target_journal` is specified, apply journal-level voice and formality preferences. High-impact journals (NEJM, Lancet) prefer active voice in Results and Discussion; Methods accepts passive across all families. `light` skips style preferences; `standard` applies voice guidance where clearly beneficial; `deep` enforces all preferences throughout.

**Step 6 — Apply polishing in three passes.**

- **Pass 1 — Grammar:** Check and correct subject-verb agreement in complex noun phrases, tense consistency (past in Methods and Results, present in Introduction for established facts and in Discussion for implications), article usage (definite vs. indefinite), and parallelism in lists and compound predicates. Correct misplaced modifiers. For `polish_level: light`, stop after this pass.
- **Pass 2 — Word choice:** Replace hedging language ("it seems that" → "the data suggest"; "it could be argued" → "evidence supports"); replace colloquialisms ("a lot of" → "numerous"; "showed up" → "was observed"); sharpen imprecise verbs ("did" → "performed"; "got" → "obtained"; "looked at" → "examined"). Apply domain terminology corrections from Step 4. For `polish_level: light`, this pass is skipped.
- **Pass 3 — Sentence structure:** Break sentences exceeding 35 words into two or more sentences. Vary sentence length to improve reading rhythm — alternate shorter declarative sentences (10–15 words) with longer complex ones. Eliminate consecutive sentences beginning with "The." Ensure each paragraph has a clear topic sentence and supporting evidence following it. For `polish_level: light`, this pass is skipped. For `polish_level: standard`, apply only clear structural improvements. For `polish_level: deep`, enforce all norms systematically, including paragraph-level coherence review.

**Step 7 — Present output.**
Return the polished text in a clearly demarcated block, followed by a structured change summary. The change summary lists the most significant changes by category with a before/after example for each, and an approximate count per category. See Section 4 for the exact template.

**Step 8 — Offer targeted follow-up.**
Ask whether the user wants to focus on a specific paragraph or section for a second pass. If the user is satisfied, confirm the output is ready for the next pipeline stage (e.g., citation-checker, cover-letter-writer) and write the result to `context_output`.

## 4. Output Format

```
## Polished Text

[full polished text]

---
## Changes Made

**Grammar:** [N changes]
- [example: "The expressions of these genes were assessed" → "The expression of these genes was assessed" — subject-verb agreement]

**Word choice:** [N changes]
- [example: "it seems that the pathway is activated" → "the data suggest the pathway is activated"]
- [example: "a lot of studies" → "numerous studies"]

**Sentence structure:** [N changes]
- [example: 42-word sentence split into two sentences for clarity]

**Terminology corrections:** [N changes — only if domain issues found]
- [example: "acupuncture point ST36" → "acupoint ST36" — tcm convention]
```

If no changes were made in a category, omit that category header from the summary. Always include an approximate total: "~N changes across all categories."

## 5. context_output

### Reads from upstream

| Field | Source | Usage |
|---|---|---|
| `raw_text` | paper-writer, grant-writer, rebuttal-writer, paper-reviewer | Primary input text for polishing; used without asking the user to paste |
| `target_journal` | any upstream module | Triggers journal style cross-referencing in Step 5 |
| `language` | any upstream module | Verified to be `en`; if `zh`, redirect user to chinese-polisher |
| `domain` | any upstream module | Loads the correct section of `references/discipline-terminology.md` |
| `parameters.*` | any upstream module | Inherits `domain`, `target_journal`, and `polish_level` if previously set |

### Writes to output

```json
{
  "module": "english-polisher",
  "domain": "<inherited or collected>",
  "target_journal": "<inherited or null>",
  "language": "en",
  "raw_text": "<polished text — overwrites upstream raw_text>",
  "summary": "<brief description of changes: N grammar, N word choice, N structure corrections>",
  "status": "success",
  "error_message": "string | null",
  "parameters": {
    "polish_level": "<collected or default: standard>"
  }
}
```

Downstream readers of `raw_text`: citation-checker, cover-letter-writer. Downstream readers of `summary`: cover-letter-writer (for context on the manuscript's current state).

## 6. References

See `references/` for:
- `academic-style-guide.md` — Grammar rules, word choice principles, sentence structure norms, and punctuation standards applicable to all academic English
- `discipline-terminology.md` — Domain-specific terminology requirements and common errors for tcm, bioinformatics, clinical, and pharmacology

