polish-language
Use when a manuscript needs a copy-edit for consistency and non-native English clarity. Flags abbreviation, US/UK spelling, en-dash range, P/p, hyphenation, number-style and unit-spacing issues, then polishes style only. AI-tell removal is /humanize.
How do I install this agent skill?
npx skills add https://github.com/aperivue/medsci-skills --skill polish-languageIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The polish-language skill is a stylistic and consistency linter for medical manuscripts. It uses deterministic Python scripts to identify issues like US/UK spelling drifts and abbreviation errors. The skill operates locally, does not perform network operations, and requires explicit user approval for any edits, making it a secure tool for manuscript refinement.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
Polish-Language Skill
Tighten a manuscript's mechanical language consistency and clarity before circulation or submission — the copy-editor pass content-focused skills skip. The author is often a non-native (ESL) English writer, so clarity edits keep the formal academic register and never touch facts. Manuscript edits are in English.
This skill never rewrites scientific claims, changes numeric values, edits citations, or
judges study quality; it standardizes house style and improves sentence-level clarity, with
explicit user approval for every edit. Out of scope: AI-tell removal (humanize, which does not
do general copy-editing), drafting or restructuring (write-paper), reporting-guideline items
(check-reporting), AI-search optimization (academic-aio), reference formatting and citation
integrity (manage-refs, verify-refs), and translation.
Input: a manuscript or section (Markdown / plain text). Output: (1) the deterministic consistency report, and (2) — only after a user gate — a clarity-polished revision with a change log limited to style.
Workflow
Phase 1: Deterministic consistency lint (no LLM judgement)
Run the bundled linter — it reports, never edits:
python3 "${CLAUDE_SKILL_DIR}/scripts/lint_consistency.py" path/to/manuscript.md
# add --strict to exit non-zero when any issue is found (CI / pre-submission gate)
It flags eight families, each with line numbers and a per-category + total count:
- Abbreviations — used-before-defined, defined-but-unused, defined-twice, used-but-never-defined (define-once discipline).
- Spelling — mixed US/UK variants (analyze/analyse, tumor/tumour, …); reports the minority side against the document's dominant variant.
- Numeric ranges — hyphen between numbers where an en-dash belongs (
5-10→5–10). - p-values — mixed
P/pcase; impossibleP = 0.000. - Hyphenation / terminology — variant forms of one term (follow-up / followup / "follow up").
- Small numbers — single digits 1–9 written as digits in prose.
- Units — missing space between value and unit (
5mg→5 mg). - Thousands separator (title vs body) — a float title writes a number with a period
separator (
3.681) that the body writes with a comma (3,681).
Present the report to the user. The linter output is the source of truth for what is mechanically wrong: do not invent further "issues" from memory, and label anything else you notice as an editorial suggestion, not a linter finding. The fixed rules do not settle every grammar or journal preference, so triage flags in context.
Phase 1b: Figure-SOURCE locale drift
Text baked into a figure never reaches Phase 1, so a UK word typed into a PowerPoint panel or plotting script ships in a US manuscript unseen. Scan the figure sources (no OCR):
python3 "${CLAUDE_SKILL_DIR}/scripts/lint_figure_locale.py" --manuscript path/to/manuscript.md --figures-dir figures/
# --spelling us|uk forces the target; otherwise it reads a `spelling:` front-matter field,
# then falls back to the body's own US/UK majority. --strict exits non-zero on any drift.
It reads <a:t> runs inside *.pptx slide XML and the text of *.py / *.R plotting scripts,
with the same US↔UK families as Phase 1. FIGURE_LOCALE_DRIFT is Minor — copy-edit the
source before the raster is re-exported. A missing figures directory is not an error; it exits 0
with nothing judged.
Phase 2: Triage with the user (gate)
Walk the user through the report. Some flags are author choices (a journal may mandate UK spelling, or digits for all numbers). User approval is required before any edit — confirm per category which to apply and which to keep. Record the decisions; do not auto-apply.
Phase 3: Apply mechanical fixes (style-only)
For each approved category, apply the deterministic fix with Edit:
- standardize spelling to the chosen variant,
- replace numeric-range hyphens with en-dashes,
- normalize
P/pand fixP = 0.000to the reported inequality, - unify hyphenation, spell out small numbers, add value/unit spaces,
- define each abbreviation once at first use; remove redundant redefinitions.
Re-run lint_consistency.py after editing — the count should drop to the issues the user chose
to keep. This re-run is the verification gate; never claim a fix without it.
Phase 4: ESL clarity polish (optional, gated, style-only)
If the user requests a clarity pass, improve readability sentence by sentence while preserving meaning, register, numbers, and citations:
- split run-on sentences; fix article (a/an/the) and preposition usage;
- correct subject–verb agreement and awkward non-native phrasings;
- prefer active voice only where it does not change emphasis or claims.
Show each proposed change as a before/after diff and get user review before writing. Numbers, p-values, effect sizes, units, citations, and claims are copied verbatim; an edit that would change any of them is out of scope — skip it. Never merge, add, or drop a scientific claim, number, or reference. If a sentence's meaning is even slightly uncertain, leave it and ask; do not invent domain facts to smooth a sentence. Every applied change must trace to a linter flag or a user-approved clarity suggestion in the change log.
Reproducible challenge card
Deterministic and network-free (synthetic manuscript with seeded defects +
expected/report.txt):
bash "${CLAUDE_SKILL_DIR}/scripts/lint_challenge/verify.sh" # PASS = 11 seeded issues across 8 categories + 2 clean controls
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/aperivue/medsci-skills/polish-language">View polish-language on skillZs</a>