Guide · Agent skill
How to use the Clean User-Facing Text agent skill
Updated · written with AI from the project's own documentation and checked against our catalogue data
The clean-user-facing-text skill gives an AI agent a final text-hygiene pass for prose you own or are authorized to process, such as articles, reports, documentation, emails, product copy and UI text. It removes invisible Unicode characters and lookalike symbols, and it can rewrite prose for flow while keeping facts, numbers, citations and required disclosures unchanged. This guide explains what an agent skill is, how to install this one, how to ask for it in plain language, and where its limits are.
Quick start
- 1Download the ZIP. Get the clean-user-facing-text ZIP from the directory page.
- 2Unzip into a skills folder. Unzip it into ~/.claude/skills/ for personal use or into .claude/skills/ inside a project.
- 3Or upload in the Claude apps. Open Settings, go to Capabilities, then Skills, and upload the skill.
- 4Confirm Python 3. Make sure a Python 3 command runs on your machine, such as python3 or py.
- 5Ask in plain language. Request a cleanup of your text, for example polishing an article while keeping figures unchanged.
- 6Review the before and after scores. Check the stylometry report and the flagged changes, and confirm that facts, numbers and disclosures are intact.
What is an agent skill and what does this one do?
An agent skill is a folder of instructions and bundled files that an AI agent loads when a request matches the skill's description. This skill is described as a way to clean and finalize natural-language text meant for readers. It runs in two layers: a deterministic Unicode cleanup done by bundled Python scripts, and a single careful rewrite of the remaining prose by the agent.
The skill is designed to leave code, commands, identifiers, paths, APIs, formulas, citations, required disclosures and verbatim quotations unchanged. It is also not meant for code-only tasks or for hiding authorship from disclosure rules.
- Removes invisible Unicode characters and lookalike (homoglyph) symbols that can slip into text copied from chat tools or web pages
- Rewrites prose for flow while keeping every fact, number, citation and required disclosure
- Includes scripts that score how 'AI-cadenced' a text looks using simple statistics, reported as a rough gauge
Install the Clean User-Facing Text skill
Download the ZIP for this skill from the directory page and unzip it. You can install it for yourself or for a single project. For a personal install, unzip it into ~/.claude/skills/. For a project install, put it in the project's .claude/skills/ folder.
If you use the Claude apps instead, open Settings, go to Capabilities, then Skills, and upload the skill there. No API keys or accounts are needed for the bundled scripts.
- Personal: ~/.claude/skills/
- Project: .claude/skills/ inside your project folder
- Claude apps: Settings → Capabilities → Skills, then upload
Check that Python 3 is available
The bundled scripts need Python 3 on the command line. On most macOS and Linux systems the launcher is python3; on Windows it is usually py. Use whichever Python 3 command works on your machine. In the commands below, PYTHON stands for that launcher and SCRIPTS stands for the skill's scripts/ folder, which the agent resolves for you.
The skill runs its scripts locally and does not use the network, so the scripts do not send your text anywhere.
- Requires: Python 3 on the command line
- Runs scripts: yes (bundled scripts only)
- Uses network: no
How to trigger the skill with natural requests
You do not need special syntax. Ask for the outcome in ordinary words. The skill's description lists the triggers: clean, humanize, polish or finalize articles, manuscripts, reports, documentation, emails, product copy, UI text, Markdown or HTML prose. It also triggers when a project rule or instruction file requires this workflow.
Give the agent the text or file, and say what you want back. If you want a report of the scores or a flag-only check, say so, because the skill can audit without rewriting.
- 'Polish this newsletter draft for publishing and keep all the figures as they are.'
- 'Clean the invisible characters out of this text I copied from a web page.'
- 'Finalize this product description and tell me the before and after scores.'
- 'Audit this report for hidden characters but don't rewrite anything.'
Run the scripts yourself
The agent normally runs these commands for you. You can run them too to see what changes. The inspect script scores text with the stylometry estimator, and the --audit flag lists flagged spans without rewriting anything. The clean script writes a new output file and prints counts with --stats.
Use --no-normalize-spaces by default so non-breaking and other special spaces keep their layout meaning. Prefer a new output file over editing the original in place.
- Score before and after: inspect_text.py --stylometry --json INPUT
- Detect only: inspect_text.py --audit INPUT
- Clean to a new file: clean_text.py INPUT -o OUTPUT --stats --no-normalize-spaces
PYTHON "$SCRIPTS/inspect_text.py" --stylometry --json INPUT
PYTHON "$SCRIPTS/inspect_text.py" --audit INPUT
PYTHON "$SCRIPTS/clean_text.py" INPUT -o OUTPUT --stats --no-normalize-spacesRead the scores as a rough gauge
The stylometry estimator reports sentence-length variation, AI-cadence phrase density, lexical diversity and a composite score from 0 to 1. The report also includes a density_tier of low, medium or high. The skill rewrites only when the tier is high. Text under 30 words gets status insufficient_length instead of a score.
The estimator is not a trained classifier and is not a verdict. A lower score only means the measured signals moved. It does not prove that text is human-written or that any specific detector will accept it.
- Score is a gauge, not proof of authorship
- Under 30 words: status insufficient_length
- Exit code 1 means the score is at or above the threshold (default 0.65)
Tips for good results
Give the agent a voice sample only if you wrote it or are authorized to use it. The skill will not imitate a named person, and it will not add a fake first-person experience, invented specifics or extra opinions. It keeps your deliberate rough edges and domain terms.
Protect anything exact before you start. Mark quotations, identifiers and required disclosures, and ask the agent to leave them alone. Check the output against the original for numbers and names, because a rewrite can change meaning if the agent makes mistakes.
- Say which parts must stay verbatim
- Use the audit option first if you only want to check for hidden characters
- For mixed Markdown or HTML, the skill cleans only prose segments and leaves code and attributes alone
What people use it for
- Polishing your own article or newsletter before publishing, with figures and citations kept exact
- Removing invisible or lookalike characters from text copied out of chat tools or web pages
- Adding a final text-hygiene pass to documentation when a team style rule requires one
- Tidying product copy or UI text while leaving commands, paths and identifiers unchanged
Frequently asked questions
Is the Clean User-Facing Text skill free to use?
The skill is published under the MIT licence, which is stated on the directory page. It needs Python 3 on your machine and no API keys or accounts for the bundled scripts.
What do I need to install and run this skill?
You need Python 3 available on the command line and the skill's ZIP file. The bundled scripts run locally, and the skill does not use the network.
Where do I install the skill?
Unzip it into ~/.claude/skills/ for personal use or into .claude/skills/ in a project. In the Claude apps, you can upload it under Settings, then Capabilities, then Skills.
Does this skill make AI text undetectable?
No. The skill says it cannot prove human authorship or guarantee that text is undetectable. The stylometry score is a rough gauge that is not a trained classifier, so a lower score only shows that the measured signals moved.
Can I use it to hide AI use from a publisher, school or regulator?
No. The skill is meant for content you own or are authorized to process, and it says not to use it for undisclosed authorship evasion. It keeps required academic, legal, platform and regulatory disclosures unchanged.
How is this different from a plain find-and-replace or a grammar checker?
The cleanup script removes known invisible and lookalike characters and reports exact counts, which a find-and-replace will not do reliably. The agent can also rewrite prose for flow, with instructions to keep facts and meaning, and it reports scores before and after.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Use this skill if you are a writer, marketer or team that needs a careful final pass on text you own, especially to remove hidden characters copied from chat tools or web pages. Pick something else if your task is code-only, if exact wording must stay verbatim, or if you want the score to prove that text is human or passes a particular detector.
Download the skill