# Clean User Text

Removes hidden Unicode and rewrites prose for readers while keeping facts and voice.

- Repository: https://github.com/guillaumemeyer/watermarks-remover (25897 stars)
- Category: Writing
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add guillaumemeyer/watermarks-remover --skill clean-user-facing-text -g -a claude-code -y`
Codex: `npx skills add guillaumemeyer/watermarks-remover --skill clean-user-facing-text -g -a codex -y`
Cursor: `npx skills add guillaumemeyer/watermarks-remover --skill clean-user-facing-text -g -a cursor -y`
Gemini CLI: `npx skills add guillaumemeyer/watermarks-remover --skill clean-user-facing-text -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add guillaumemeyer/watermarks-remover`

## Description

Clean and finalize authorized natural-language text intended for readers by auditing suspicious invisible Unicode and rewriting prose while preserving facts, meaning, and the writer's voice. Use when the user asks to clean, humanize, polish, or finalize articles, manuscripts, reports, documentation, emails, product copy, UI text, Markdown, or HTML prose, or when a project rule or instruction file explicitly requires this workflow. Don't use for code-only tasks or undisclosed authorship evasion; leave code, commands, identifiers, paths, APIs, formulas, citations, required disclosures, and verbatim quotations unchanged.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Clean user-facing text

Apply a final text-hygiene pass to prose the user owns or is authorized to process. Treat Unicode cleanup as deterministic and statistical-watermark reduction as best-effort; never claim that a rewrite proves human authorship or is undetectable. Preserve required academic, legal, platform, and regulatory disclosures.

## Workflow

1. Identify the prose that readers will see.
2. Protect non-prose spans:
   - fenced and inline code
   - commands, paths, URLs, identifiers, API names, and exact values
   - formulas, citations, and text the user asks to quote verbatim
3. Preserve every claim, fact, number, name, citation, and requirement. Never invent a detail, name, number, quote, or source to make the prose easier to write or more varied: if a fact is missing, flag the gap rather than fill it. The rewrite may sharpen, compress, or reorder, but it may not add or remove claims.
4. **Measure before.** Inspect and score the input with the vendored zero-LLM stylometry estimator (see Scoring) and record the score. Read the report's `density_tier`: rewrite only when it is `high`; for `low` or `medium`, verify the text and otherwise leave the text unchanged. For a flag-only audit that never rewrites, use `--audit`:

   ```bash
   PYTHON "$SCRIPTS/inspect_text.py" --stylometry --json INPUT
   PYTHON "$SCRIPTS/inspect_text.py" --audit INPUT  # detect-only: lists flagged spans, no rewrite
   ```

The rest: https://github.com/guillaumemeyer/watermarks-remover/blob/HEAD/skills/clean-user-facing-text/SKILL.md
